modernize: Reformat ALL the source... again!
[quassel.git] / src / qtui / coreinfodlg.h
index 1c3ee37..6eaa32f 100644 (file)
@@ -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  *
  *   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
+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:
-  void on_closeButton_clicked() { reject(); }
-  void updateUptime();
+    /**
+     * 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<int, CoreSessionWidget*> _widgets;
 };
-
-#endif //COREINFODLG_H