--- /dev/null
+#include <QtCore>
+
+#include "log.hpp"
+
+
+// --------------------------------------------------
+// Log
+// --------------------------------------------------
+static Log *_log;
+
+
+Log* Log::instance ()
+{
+ if (!_log)
+ _log = new Log;
+
+ return _log;
+}
+
+
+Log::Log ()
+ : f (0)
+{
+ enable ();
+}
+
+
+void Log::initFile ()
+{
+ f = new QFile ("/tmp/yandex-traffic-widget.log");
+
+ if (!f->open (QIODevice::Text | QIODevice::Truncate | QIODevice::WriteOnly)) {
+ delete f;
+ f = NULL;
+ }
+}
+
+
+void Log::enable ()
+{
+ if (f)
+ return;
+
+ initFile ();
+}
+
+
+void Log::disable ()
+{
+ f->close ();
+ delete f;
+ f = NULL;
+}
+
+
+void Log::add (const QString &line)
+{
+ if (!f)
+ return;
+
+ // Build timestamp
+ QString ts = QDateTime::currentDateTime ().toString ("dd:MM:yy hh.mm.ss.zzz: ");
+
+ f->write (ts.toUtf8 ());
+ f->write (line.toUtf8 ());
+ f->write ("\n");
+ f->flush ();
+}
#include "connection.hpp"
#include "devstate.hpp"
#include "settings.hpp"
+#include "log.hpp"
// --------------------------------------------------
}
-
void MainWidget::trafficUpdated ()
{
ExtendedTrafficInfo info = _traffic->lookup_ext (_settings->regionID ());
{
bool update = true;
+ Log::instance ()->add ("updateData called");
+
#if CHECK_FOR_CONNECTION
update = ConnectionChecker::instance ()->checkConnection (_settings->check (Settings::C_UpdateOnGSM),
_settings->check (Settings::C_UpdateOnWiFi));
- if (!_settings->check (Settings::C_UpdateWhenLocked))
+ Log::instance ()->add (QString ("checkConnection returned %1").arg (update ? "true" : "false"));
+ if (!_settings->check (Settings::C_UpdateWhenLocked)) {
+ Log::instance ()->add ("Check for device state");
update &= !DeviceState::instance ()->locked ();
+ }
#endif
- if (update)
+ if (update) {
+ Log::instance ()->add ("Perform update");
_traffic->update ();
+ }
+ else
+ Log::instance ()->add ("Update not performed");
}
updateSize ();
- if (_settings->updateInterval () < 0)
+ Log::instance ()->add (QString ("applySettings: updateInterval is %1").arg (_settings->updateInterval ()));
+
+ if (_settings->updateInterval () < 0) {
_timer->stop ();
- else
+ Log::instance ()->add ("Timer disabled");
+ }
+ else {
_timer->setInterval (1000 * 60 * _settings->updateInterval ());
+ _timer->start ();
+ Log::instance ()->add (QString ("Timer interval set to %1 ms").arg (1000 * 60 * _settings->updateInterval ()));
+ }
}
QMenu menu;
QAction *settingsAction, *updateAction, *todo;
+ Log::instance ()->add (QString ("mousePressEvent at %1,%2").arg (event->pos ().x ()).arg (event->pos ().y ()));
+
settingsAction = menu.addAction (tr ("Settings"));
updateAction = menu.addAction (tr ("Update"));
-HEADERS += $$PWD/regions.hpp $$PWD/settings.hpp $$PWD/traffic.hpp $$PWD/http_fetcher.hpp $$PWD/connection.hpp $$PWD/devstate.hpp
-SOURCES += $$PWD/regions.cpp $$PWD/settings.cpp $$PWD/traffic.cpp $$PWD/http_fetcher.cpp $$PWD/connection.cpp $$PWD/devstate.cpp
+HEADERS += $$PWD/regions.hpp $$PWD/settings.hpp $$PWD/traffic.hpp $$PWD/http_fetcher.hpp $$PWD/connection.hpp $$PWD/devstate.hpp $$PWD/log.hpp
+SOURCES += $$PWD/regions.cpp $$PWD/settings.cpp $$PWD/traffic.cpp $$PWD/http_fetcher.cpp $$PWD/connection.cpp $$PWD/devstate.cpp $$PWD/log.cpp
HEADERS += $$PWD/icd2_light.h $$PWD/globals.hpp