+ inline SystemTray *systemTray() const;
+
+ bool event(QEvent *event);
+
+ static void flagRemoteCoreOnly(QObject *object) { object->setProperty("REMOTE_CORE_ONLY", true); }
+ static bool isRemoteCoreOnly(QObject *object) { return object->property("REMOTE_CORE_ONLY").toBool(); }
+
+ void saveStateToSettings(UiSettings &);
+ void restoreStateFromSettings(UiSettings &);
+
+ public slots:
+ void showStatusBarMessage(const QString &message);
+
+ void toggleMinimizedToTray();
+
+ //! Bring window to front and focus it
+ void forceActivated();
+
+ //! Quit application
+ void quit();
+
+ protected:
+ void closeEvent(QCloseEvent *event);
+ void changeEvent(QEvent *event);
+ void moveEvent(QMoveEvent *event);
+ void resizeEvent(QResizeEvent *event);
+
+ protected slots:
+ void connectedToCore();
+ void setConnectedState();
+ void disconnectedFromCore();
+ void setDisconnectedState();
+
+ private slots:
+ void addBufferView(int bufferViewConfigId);
+ void awayLogDestroyed();
+ void removeBufferView(int bufferViewConfigId);
+ void currentBufferChanged(BufferId);
+ void messagesInserted(const QModelIndex &parent, int start, int end);
+ void showAboutDlg();
+ void showChannelList(NetworkId netId = NetworkId());
+ void showCoreConnectionDlg();
+ void showCoreConfigWizard(const QVariantList &);
+ void showCoreInfoDlg();
+ void showAwayLog();
+ void showSettingsDlg();
+ void showNotificationsDlg();
+ void showIgnoreList(QString newRule = QString());
+#ifdef HAVE_KDE
+ void showShortcutsDlg();
+#endif
+ void handleCoreConnectionError(const QString &errorMsg);
+ void userAuthenticationRequired(CoreAccount *, bool *valid, const QString &errorMessage);
+ void handleNoSslInClient(bool *accepted);
+ void handleNoSslInCore(bool *accepted);
+#ifdef HAVE_SSL
+ void handleSslErrors(const QSslSocket *socket, bool *accepted, bool *permanently);