#include <QtGui>
+#include "globals.hpp"
#include "mainwidget.hpp"
#include "settingsDialog.hpp"
#include "connection.hpp"
#include "devstate.hpp"
#include "settings.hpp"
#include "log.hpp"
+#include "menudialog.hpp"
// --------------------------------------------------
if (info.valid ()) {
QString data;
bool first = true;
+ Log::instance ()->add ("trafficUpdated, info valid");
+ info.dump ();
_light->setColor (info.color ());
if (_settings->check (Settings::C_ShowRank)) {
_label->setText (data);
}
else {
+ Log::instance ()->add ("trafficUpdated, but info not valid");
_light->setColor (ExtendedTrafficInfo::Unknown);
_label->setText (tr ("No data"));
}
}
-void MainWidget::mousePressEvent (QMouseEvent *event)
+bool MainWidget::event (QEvent *event)
{
- QMenu menu;
- QAction *settingsAction, *updateAction, *todo;
+ if (event->type () != QEvent::WindowActivate)
+ return QWidget::event (event);
- Log::instance ()->add (QString ("mousePressEvent at %1,%2").arg (event->pos ().x ()).arg (event->pos ().y ()));
+ MenuDialog menu (tr ("Yandex.Traffic"));
- settingsAction = menu.addAction (tr ("Settings"));
- updateAction = menu.addAction (tr ("Update"));
+ menu.addEntry (tr ("Settings")).addEntry (tr ("Update"));
- todo = menu.exec (event->pos ());
- if (!todo)
- return;
+ switch (menu.run ()) {
+ case 0:
+ settingsDialog ();
+ break;
+ case 1:
+ _traffic->update ();
+ break;
+ }
- if (todo == settingsAction)
- settingsDialog ();
- if (todo == updateAction)
- _traffic->update ();
+ return QWidget::event (event);
}