diff options
Diffstat (limited to 'Swift/QtUI/QtUIFactory.h')
-rw-r--r-- | Swift/QtUI/QtUIFactory.h | 127 |
1 files changed, 68 insertions, 59 deletions
diff --git a/Swift/QtUI/QtUIFactory.h b/Swift/QtUI/QtUIFactory.h index 662c78e..04836fe 100644 --- a/Swift/QtUI/QtUIFactory.h +++ b/Swift/QtUI/QtUIFactory.h @@ -1,11 +1,13 @@ /* - * Copyright (c) 2010-2012 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2010-2018 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #pragma once +#include <vector> + #include <QObject> #include <QPointer> @@ -14,64 +16,71 @@ class QSplitter; namespace Swift { - class QtSettingsProvider; - class SettingsProviderHierachy; - class QtChatTabs; - class QtSystemTray; - class QtLoginWindow; - class QtMainWindow; - class QtChatTheme; - class QtChatWindowFactory; - class QtChatWindow; - class TimerFactory; - class historyWindow_; - class WhiteboardSession; - class StatusCache; - class QtSingleWindow; + class AutoUpdater; + class Chattables; + class FdpFormSubmitWindow; + class QtChatTabs; + class QtChatTheme; + class QtChatWindow; + class QtChatWindowFactory; + class QtLoginWindow; + class QtMainWindow; + class QtSettingsProvider; + class QtSingleWindow; + class QtSystemTray; + class SettingsProviderHierachy; + class StatusCache; + class TimerFactory; + class WhiteboardSession; - class QtUIFactory : public QObject, public UIFactory { - Q_OBJECT - public: - QtUIFactory(SettingsProviderHierachy* settings, QtSettingsProvider* qtOnlySettings, QtChatTabs* tabs, QtSingleWindow* netbookSplitter, QtSystemTray* systemTray, QtChatWindowFactory* chatWindowFactory, TimerFactory* timerFactory, StatusCache* statusCache, bool startMinimized, bool emoticonsExist); + class QtUIFactory : public QObject, public UIFactory { + Q_OBJECT + public: + QtUIFactory(SettingsProviderHierachy* settings, QtSettingsProvider* qtOnlySettings, QtChatTabs* tabs, QtSingleWindow* netbookSplitter, QtSystemTray* systemTray, TimerFactory* timerFactory, StatusCache* statusCache, AutoUpdater* autoUpdater, std::map<std::string, std::string>& emoticons, bool enableAdHocCommandOnJID); + ~QtUIFactory(); + virtual XMLConsoleWidget* createXMLConsoleWidget(); + virtual HistoryWindow* createHistoryWindow(UIEventStream*); + virtual MainWindow* createMainWindow(Chattables& chattables, UIEventStream* eventStream); + virtual LoginWindow* createLoginWindow(UIEventStream* eventStream); + virtual EventWindow* createEventWindow(); + virtual ChatListWindow* createChatListWindow(UIEventStream*); + virtual MUCSearchWindow* createMUCSearchWindow(); + virtual ChatWindow* createChatWindow(const JID &contact, UIEventStream* eventStream); + virtual UserSearchWindow* createUserSearchWindow(UserSearchWindow::Type type, UIEventStream* eventStream, const std::set<std::string>& groups); + virtual JoinMUCWindow* createJoinMUCWindow(UIEventStream* uiEventStream); + virtual ProfileWindow* createProfileWindow(); + virtual ContactEditWindow* createContactEditWindow(); + virtual FileTransferListWidget* createFileTransferListWidget(); + virtual WhiteboardWindow* createWhiteboardWindow(std::shared_ptr<WhiteboardSession> whiteboardSession); + virtual HighlightEditorWindow* createHighlightEditorWindow(); + virtual BlockListEditorWidget* createBlockListEditorWidget(); + virtual AdHocCommandWindow* createAdHocCommandWindow(std::shared_ptr<OutgoingAdHocCommandSession> command); + virtual std::unique_ptr<FdpFormSubmitWindow> createFdpFormSubmitWindow(); - virtual XMLConsoleWidget* createXMLConsoleWidget(); - virtual HistoryWindow* createHistoryWindow(UIEventStream*); - virtual MainWindow* createMainWindow(UIEventStream* eventStream); - virtual LoginWindow* createLoginWindow(UIEventStream* eventStream); - virtual EventWindow* createEventWindow(); - virtual ChatListWindow* createChatListWindow(UIEventStream*); - virtual MUCSearchWindow* createMUCSearchWindow(); - virtual ChatWindow* createChatWindow(const JID &contact, UIEventStream* eventStream); - virtual UserSearchWindow* createUserSearchWindow(UserSearchWindow::Type type, UIEventStream* eventStream, const std::set<std::string>& groups); - virtual JoinMUCWindow* createJoinMUCWindow(UIEventStream* uiEventStream); - virtual ProfileWindow* createProfileWindow(); - virtual ContactEditWindow* createContactEditWindow(); - virtual FileTransferListWidget* createFileTransferListWidget(); - virtual WhiteboardWindow* createWhiteboardWindow(boost::shared_ptr<WhiteboardSession> whiteboardSession); - virtual HighlightEditorWidget* createHighlightEditorWidget(); - virtual BlockListEditorWidget* createBlockListEditorWidget(); - virtual void createAdHocCommandWindow(boost::shared_ptr<OutgoingAdHocCommandSession> command); + private slots: + void handleChatWindowFontResized(int); + void handleHistoryWindowFontResized(int); - private slots: - void handleLoginWindowGeometryChanged(); - void handleChatWindowFontResized(int); - void handleHistoryWindowFontResized(int); + private: + void showTabs(); - private: - SettingsProviderHierachy* settings; - QtSettingsProvider* qtOnlySettings; - QtChatTabs* tabs; - QtSingleWindow* netbookSplitter; - QtSystemTray* systemTray; - QtChatWindowFactory* chatWindowFactory; - TimerFactory* timerFactory_; - QtMainWindow* lastMainWindow; - QtLoginWindow* loginWindow; - StatusCache* statusCache; - std::vector<QPointer<QtChatWindow> > chatWindows; - bool startMinimized; - int chatFontSize; - int historyFontSize_; - bool emoticonsExist_; - }; + private: + SettingsProviderHierachy* settings_; + QtSettingsProvider* qtOnlySettings_; + QtChatTabs* tabs_; + QtSingleWindow* netbookSplitter_; + QtSystemTray* systemTray_; + QtChatWindowFactory* chatWindowFactory_; + TimerFactory* timerFactory_; + QtMainWindow* lastMainWindow_; + QtLoginWindow* loginWindow_; + StatusCache* statusCache_; + AutoUpdater* autoUpdater_; + std::vector<QPointer<QtChatWindow> > chatWindows_; + int chatFontSize_; + int historyFontSize_; + bool emoticonsExist_; + std::map<std::string, std::string>& emoticons_; + bool enableAdHocCommandOnJID_; + }; } |