Add popup to "(Dis-)Connect from/to IRC" to prevent unwanted action
authorromibi <romibi@bluewin.ch>
Sun, 28 Aug 2016 12:05:38 +0000 (14:05 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Wed, 14 Sep 2016 20:29:37 +0000 (22:29 +0200)
Resolves GH-160.

src/uisupport/networkmodelcontroller.cpp

index ca00c49..aaccc05 100644 (file)
@@ -237,6 +237,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)