/***************************************************************************
- * Copyright (C) 2005-09 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 *
* 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 <QDialog>
-#include "clientcoreinfo.h"
+#include "coreinfo.h"
+#include "coresessionwidget.h"
+
+#include "ui_coreinfodlg.h"
class CoreInfoDlg : public QDialog
{
Q_OBJECT
public:
- CoreInfoDlg(QWidget *parent = 0);
+ explicit CoreInfoDlg(QWidget* parent = nullptr);
public slots:
- void coreInfoAvailable();
+ void coreInfoChanged(const QVariantMap&);
protected:
- virtual void timerEvent(QTimerEvent *) { updateUptime(); }
+ 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;
+ QMap<int, CoreSessionWidget*> _widgets;
};
-
-
-#endif //COREINFODLG_H