/***************************************************************************
- * Copyright (C) 2005-2013 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 *
* 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 "ui_coreinfodlg.h"
+#include "coreinfo.h"
+#include "coresessionwidget.h"
-class CoreInfoDlg : public QDialog
-{
- Q_OBJECT
+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