+UiStyle *GraphicalUi::_uiStyle = 0;
+
+
+GraphicalUi::GraphicalUi(QObject *parent) : AbstractUi(parent), Singleton<GraphicalUi>(this)
+{
+#ifdef Q_OS_WIN
+ _dwTickCount = 0;
+#endif
+#ifdef Q_OS_MAC
+ GetFrontProcess(&_procNum);
+#endif
+}
+
+
+void GraphicalUi::init()
+{
+#ifdef Q_OS_WIN
+ mainWidget()->installEventFilter(this);
+#endif
+}
+
+
+ActionCollection *GraphicalUi::actionCollection(const QString &category, const QString &translatedCategory)
+{
+ if (_actionCollections.contains(category))
+ return _actionCollections.value(category);
+ ActionCollection *coll = new ActionCollection(_mainWidget);
+
+ if (!translatedCategory.isEmpty())
+ coll->setProperty("Category", translatedCategory);
+ else
+ coll->setProperty("Category", category);
+
+ if (_mainWidget)
+ coll->addAssociatedWidget(_mainWidget);
+ _actionCollections.insert(category, coll);
+ return coll;
+}
+
+
+QHash<QString, ActionCollection *> GraphicalUi::actionCollections()
+{
+ return _actionCollections;
+}
+
+
+void GraphicalUi::loadShortcuts()
+{
+ foreach(ActionCollection *coll, actionCollections())
+ coll->readSettings();
+}
+
+
+void GraphicalUi::saveShortcuts()
+{
+ ShortcutSettings s;
+ s.clear();
+ foreach(ActionCollection *coll, actionCollections())
+ coll->writeSettings();
+}
+
+
+void GraphicalUi::setMainWidget(QWidget *widget)
+{
+ _mainWidget = widget;
+}
+
+
+void GraphicalUi::setContextMenuActionProvider(ContextMenuActionProvider *provider)
+{
+ _contextMenuActionProvider = provider;
+}