From 8f9c35aefb50a0e1626907e19da87bdb107123b4 Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Mon, 3 Aug 2009 19:32:29 +0200 Subject: [PATCH] Make UiStyle accessible from the uisupport module This provides GraphicalUi::uiStyle() to access UiStyle from widgets in uisupport. --- src/qtui/qtui.cpp | 4 +--- src/qtui/qtui.h | 5 ++--- src/uisupport/graphicalui.cpp | 5 +++++ src/uisupport/graphicalui.h | 9 ++++++++- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/qtui/qtui.cpp b/src/qtui/qtui.cpp index 22973215..7be5bd4d 100644 --- a/src/qtui/qtui.cpp +++ b/src/qtui/qtui.cpp @@ -40,7 +40,6 @@ QPointer QtUi::_instance = 0; QPointer QtUi::_mainWin = 0; QList QtUi::_notificationBackends; QList QtUi::_notifications; -QtUiStyle *QtUi::_style = 0; QtUi::QtUi() : GraphicalUi() { if(_instance != 0) { @@ -55,7 +54,7 @@ QtUi::QtUi() : GraphicalUi() { QtUiSettings uiSettings; Quassel::loadTranslation(uiSettings.value("Locale", QLocale::system()).value()); - _style = new QtUiStyle; + setUiStyle(new QtUiStyle(this)); _mainWin = new MainWin(); setMainWidget(_mainWin); @@ -67,7 +66,6 @@ QtUi::QtUi() : GraphicalUi() { QtUi::~QtUi() { unregisterAllNotificationBackends(); delete _mainWin; - delete _style; } void QtUi::init() { diff --git a/src/qtui/qtui.h b/src/qtui/qtui.h index 7ef22e0d..8b223af0 100644 --- a/src/qtui/qtui.h +++ b/src/qtui/qtui.h @@ -25,11 +25,11 @@ #include "abstractnotificationbackend.h" #include "mainwin.h" +#include "qtuistyle.h" class MainWin; class MessageModel; class QtUiMessageProcessor; -class QtUiStyle; //! This class encapsulates Quassel's Qt-based GUI. /** This is basically a wrapper around MainWin, which is necessary because we cannot derive MainWin @@ -71,13 +71,12 @@ protected slots: private: static QPointer _instance; static QPointer _mainWin; - static QtUiStyle *_style; static QList _notificationBackends; static QList _notifications; }; QtUi *QtUi::instance() { return _instance ? _instance.data() : new QtUi(); } -QtUiStyle *QtUi::style() { return _style; } +QtUiStyle *QtUi::style() { return qobject_cast(uiStyle()); } MainWin *QtUi::mainWindow() { return _mainWin; } #endif diff --git a/src/uisupport/graphicalui.cpp b/src/uisupport/graphicalui.cpp index abd8cd17..53042b8e 100644 --- a/src/uisupport/graphicalui.cpp +++ b/src/uisupport/graphicalui.cpp @@ -27,6 +27,7 @@ QWidget *GraphicalUi::_mainWidget = 0; QHash GraphicalUi::_actionCollections; ContextMenuActionProvider *GraphicalUi::_contextMenuActionProvider = 0; ToolBarActionProvider *GraphicalUi::_toolBarActionProvider = 0; +UiStyle *GraphicalUi::_uiStyle = 0; GraphicalUi::GraphicalUi(QObject *parent) : AbstractUi(parent) { @@ -54,3 +55,7 @@ void GraphicalUi::setContextMenuActionProvider(ContextMenuActionProvider *provid void GraphicalUi::setToolBarActionProvider(ToolBarActionProvider *provider) { _toolBarActionProvider = provider; } + +void GraphicalUi::setUiStyle(UiStyle *style) { + _uiStyle = style; +} diff --git a/src/uisupport/graphicalui.h b/src/uisupport/graphicalui.h index 392075eb..f1fef7b3 100644 --- a/src/uisupport/graphicalui.h +++ b/src/uisupport/graphicalui.h @@ -26,6 +26,7 @@ class ActionCollection; class ContextMenuActionProvider; class ToolBarActionProvider; +class UiStyle; class GraphicalUi : public AbstractUi { Q_OBJECT @@ -43,6 +44,7 @@ public: inline static ContextMenuActionProvider *contextMenuActionProvider(); inline static ToolBarActionProvider *toolBarActionProvider(); + inline static UiStyle *uiStyle(); protected: //! This is the widget we associate global actions with, typically the main window @@ -50,13 +52,14 @@ protected: void setContextMenuActionProvider(ContextMenuActionProvider *); void setToolBarActionProvider(ToolBarActionProvider *); + void setUiStyle(UiStyle *); private: static QWidget *_mainWidget; static QHash _actionCollections; static ContextMenuActionProvider *_contextMenuActionProvider; static ToolBarActionProvider *_toolBarActionProvider; - + static UiStyle *_uiStyle; }; ContextMenuActionProvider *GraphicalUi::contextMenuActionProvider() { @@ -67,4 +70,8 @@ ToolBarActionProvider *GraphicalUi::toolBarActionProvider() { return _toolBarActionProvider; } +UiStyle *GraphicalUi::uiStyle() { + return _uiStyle; +} + #endif -- 2.20.1