X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fcoreinfodlg.h;h=458c6e0b5a4f89f9754315d1b1e2f8db03c38e62;hb=03f61d2ab68356bd74f6f014651c823e79678cbd;hp=f9698aaeafe43661f118355d694929e354c973aa;hpb=52df0969e22249e6758714eec9e5afd7d4fe9b83;p=quassel.git diff --git a/src/qtui/coreinfodlg.h b/src/qtui/coreinfodlg.h index f9698aae..458c6e0b 100644 --- a/src/qtui/coreinfodlg.h +++ b/src/qtui/coreinfodlg.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,29 +15,55 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef COREINFODLG_H -#define COREINFODLG_H +#pragma once -#include "ui_coreinfodlg.h" #include -#include "clientcoreinfo.h"; +#include "ui_coreinfodlg.h" +#include "coreinfo.h" +#include "coresessionwidget.h" class CoreInfoDlg : public QDialog { - Q_OBJECT +Q_OBJECT public: - CoreInfoDlg(QWidget *parent = 0); + explicit CoreInfoDlg(QWidget *parent = nullptr); public slots: - void coreInfoAvailable(); + void coreInfoChanged(const QVariantMap &); + +protected: + void timerEvent(QTimerEvent *) override { updateUptime(); } + +private slots: + /** + * Requests resynchronization of CoreInfo object for legacy (pre-0.13) cores + * + * This provides compatibility with updating core information for legacy cores, and can be + * removed after protocol break. + */ + void refreshLegacyCoreInfo(); + + /** + * Handler for recreation of CoreInfo object, including first-time setup + * + * Applies existing CoreInfo information to the dialog, too. + */ + void coreInfoResynchronized(); + + void on_closeButton_clicked() { reject(); } + void updateUptime(); + void disconnectClicked(int peerId); + + /** + * Event handler for core unspported Details button + */ + void on_coreUnsupportedDetails_clicked(); private: - Ui::CoreInfoDlg ui; - ClientCoreInfo _coreInfo; + Ui::CoreInfoDlg ui; + QMap _widgets; }; - -#endif //COREINFODLG_H