qa: Remove lots of superfluous semicolons
[quassel.git] / src / uisupport / networkmodelcontroller.cpp
index ca00c49..94dd8d9 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2016 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  *
@@ -18,6 +18,8 @@
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
+#include "networkmodelcontroller.h"
+
 #include <QComboBox>
 #include <QDialogButtonBox>
 #include <QGridLayout>
 #include <QMessageBox>
 #include <QPushButton>
 
-#include "networkmodelcontroller.h"
-
 #include "buffermodel.h"
 #include "buffersettings.h"
+#include "client.h"
 #include "clientidentity.h"
+#include "clientignorelistmanager.h"
+#include "icon.h"
 #include "network.h"
 #include "util.h"
-#include "clientignorelistmanager.h"
-#include "client.h"
 
 NetworkModelController::NetworkModelController(QObject *parent)
     : QObject(parent),
@@ -237,6 +238,10 @@ void NetworkModelController::actionTriggered(QAction *action)
 void NetworkModelController::handleNetworkAction(ActionType type, QAction *)
 {
     if (type == NetworkConnectAllWithDropdown || type == NetworkDisconnectAllWithDropdown || type == NetworkConnectAll || type == NetworkDisconnectAll) {
+        if (type == NetworkConnectAllWithDropdown && QMessageBox::question(0, tr("Question"), tr("Really Connect to all IRC Networks?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes) == QMessageBox::No)
+            return;
+        if (type == NetworkDisconnectAllWithDropdown && QMessageBox::question(0, tr("Question"), tr("Really disconnect from all IRC Networks?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::No) == QMessageBox::No)
+            return;
         foreach(NetworkId id, Client::networkIds()) {
             const Network *net = Client::network(id);
             if ((type == NetworkConnectAllWithDropdown || type == NetworkConnectAll) && net->connectionState() == Network::Disconnected)
@@ -358,6 +363,7 @@ void NetworkModelController::handleHideAction(ActionType type, QAction *action)
         return;
     case HideApplyToAll:
         BufferSettings().setMessageFilter(filter);
+        // fallthrough
     case HideUseDefaults:
         if (_messageFilter)
             BufferSettings(_messageFilter->idString()).removeFilter();
@@ -406,8 +412,14 @@ void NetworkModelController::handleGeneralAction(ActionType type, QAction *actio
         break;
     }
     case ShowChannelList:
+        if (networkId.isValid()) {
+            // Don't immediately list channels, allowing customization of filter first
+            emit showChannelList(networkId, {}, false);
+        }
+        break;
+    case ShowNetworkConfig:
         if (networkId.isValid())
-            emit showChannelList(networkId);
+            emit showNetworkConfig(networkId);
         break;
     case ShowIgnoreList:
         if (networkId.isValid())
@@ -540,7 +552,7 @@ void NetworkModelController::handleNickAction(ActionType type, QAction *action)
 
 NetworkModelController::JoinDlg::JoinDlg(const QModelIndex &index, QWidget *parent) : QDialog(parent)
 {
-    setWindowIcon(QIcon::fromTheme("irc-join-channel"));
+    setWindowIcon(icon::get("irc-join-channel"));
     setWindowTitle(tr("Join Channel"));
 
     QGridLayout *layout = new QGridLayout(this);