modernize: Replace most remaining old-style connects by PMF ones
[quassel.git] / src / uisupport / toolbaractionprovider.cpp
index 3c92cf1..b444deb 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2014 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.         *
  ***************************************************************************/
 
+#include "toolbaractionprovider.h"
+
 #include <QMenu>
 #include <QToolBar>
 
-#include "toolbaractionprovider.h"
-
-#include "iconloader.h"
+#include "icon.h"
 
 ToolBarActionProvider::ToolBarActionProvider(QObject *parent)
     : NetworkModelController(parent)
 {
-    registerAction(NetworkConnectAll, DesktopIcon("network-connect"), tr("Connect"))->setToolTip(tr("Connect to IRC"));
-    registerAction(NetworkDisconnectAll, DesktopIcon("network-disconnect"), tr("Disconnect"))->setToolTip(tr("Disconnect from IRC"));
+    registerAction(NetworkConnectAllWithDropdown, icon::get("network-connect"), tr("Connect"))->setToolTip(tr("Connect to IRC"));
+    registerAction(NetworkDisconnectAllWithDropdown, icon::get("network-disconnect"), tr("Disconnect"))->setToolTip(tr("Disconnect from IRC"));
+    registerAction(NetworkConnectAll, tr("Connect to all"));
+    registerAction(NetworkDisconnectAll, tr("Disconnect from all"));
 
-    registerAction(BufferPart, DesktopIcon("irc-close-channel"), tr("Part"))->setToolTip(tr("Leave currently selected channel"));
-    registerAction(JoinChannel, DesktopIcon("irc-join-channel"), tr("Join"))->setToolTip(tr("Join a channel"));
+    registerAction(BufferPart, icon::get("irc-close-channel"), tr("Part"))->setToolTip(tr("Leave currently selected channel"));
+    registerAction(JoinChannel, icon::get("irc-join-channel"), tr("Join"))->setToolTip(tr("Join a channel"));
 
-    registerAction(NickQuery, DesktopIcon("mail-message-new"), tr("Query"))->setToolTip(tr("Start a private conversation")); // fix icon
-    registerAction(NickWhois, DesktopIcon("im-user"), tr("Whois"))->setToolTip(tr("Request user information")); // fix icon
+    registerAction(NickQuery, icon::get("mail-message-new"), tr("Query"))->setToolTip(tr("Start a private conversation")); // fix icon
+    registerAction(NickWhois, icon::get("im-user"), tr("Whois"))->setToolTip(tr("Request user information")); // fix icon
 
-    registerAction(NickOp, DesktopIcon("irc-operator"), tr("Op"))->setToolTip(tr("Give operator privileges to user"));
-    registerAction(NickDeop, DesktopIcon("irc-remove-operator"), tr("Deop"))->setToolTip(tr("Take operator privileges from user"));
-    registerAction(NickVoice, DesktopIcon("irc-voice"), tr("Voice"))->setToolTip(tr("Give voice to user"));
-    registerAction(NickDevoice, DesktopIcon("irc-unvoice"), tr("Devoice"))->setToolTip(tr("Take voice from user"));
-    registerAction(NickKick, DesktopIcon("im-kick-user"), tr("Kick"))->setToolTip(tr("Remove user from channel"));
-    registerAction(NickBan, DesktopIcon("im-ban-user"), tr("Ban"))->setToolTip(tr("Ban user from channel"));
-    registerAction(NickKickBan, DesktopIcon("im-ban-kick-user"), tr("Kick/Ban"))->setToolTip(tr("Remove and ban user from channel"));
+    registerAction(NickOp, icon::get("irc-operator"), tr("Op"))->setToolTip(tr("Give operator privileges to user"));
+    registerAction(NickDeop, icon::get("irc-remove-operator"), tr("Deop"))->setToolTip(tr("Take operator privileges from user"));
+    registerAction(NickVoice, icon::get("irc-voice"), tr("Voice"))->setToolTip(tr("Give voice to user"));
+    registerAction(NickDevoice, icon::get("irc-unvoice"), tr("Devoice"))->setToolTip(tr("Take voice from user"));
+    registerAction(NickKick, icon::get("im-kick-user"), tr("Kick"))->setToolTip(tr("Remove user from channel"));
+    registerAction(NickBan, icon::get("im-ban-user"), tr("Ban"))->setToolTip(tr("Ban user from channel"));
+    registerAction(NickKickBan, icon::get("im-ban-kick-user"), tr("Kick/Ban"))->setToolTip(tr("Remove and ban user from channel"));
 
     _networksConnectMenu = new QMenu();
     _networksConnectMenu->setSeparatorsCollapsible(false);
     _networksConnectMenu->addSeparator();
-    _networksConnectMenu->addAction(tr("Connect to all"));
-    action(NetworkConnectAll)->setMenu(_networksConnectMenu);
-    action(NetworkConnectAll)->setEnabled(false);
+    _networksConnectMenu->addAction(action(NetworkConnectAll));
+    action(NetworkConnectAllWithDropdown)->setMenu(_networksConnectMenu);
+    action(NetworkConnectAllWithDropdown)->setEnabled(false);
 
     _networksDisconnectMenu = new QMenu();
     _networksDisconnectMenu->setSeparatorsCollapsible(false);
     _networksDisconnectMenu->addSeparator();
-    _networksDisconnectMenu->addAction(tr("Disconnect from all"));
-    action(NetworkDisconnectAll)->setMenu(_networksDisconnectMenu);
-    action(NetworkDisconnectAll)->setEnabled(false);
+    _networksDisconnectMenu->addAction(action(NetworkDisconnectAll));
+    action(NetworkDisconnectAllWithDropdown)->setMenu(_networksDisconnectMenu);
+    action(NetworkDisconnectAllWithDropdown)->setEnabled(false);
 
-    connect(Client::instance(), SIGNAL(networkCreated(NetworkId)), SLOT(networkCreated(NetworkId)));
-    connect(Client::instance(), SIGNAL(networkRemoved(NetworkId)), SLOT(networkRemoved(NetworkId)));
+    connect(Client::instance(), &Client::networkCreated, this, &ToolBarActionProvider::networkCreated);
+    connect(Client::instance(), &Client::networkRemoved, this, &ToolBarActionProvider::networkRemoved);
 
     updateStates();
 }
 
 
-ToolBarActionProvider::~ToolBarActionProvider()
-{
-}
-
-
 void ToolBarActionProvider::disconnectedFromCore()
 {
     _currentBuffer = QModelIndex();
@@ -91,8 +88,8 @@ void ToolBarActionProvider::addActions(QToolBar *bar, ToolBarType type)
 {
     switch (type) {
     case MainToolBar:
-        bar->addAction(action(NetworkConnectAll));
-        bar->addAction(action(NetworkDisconnectAll));
+        bar->addAction(action(NetworkConnectAllWithDropdown));
+        bar->addAction(action(NetworkDisconnectAllWithDropdown));
         bar->addAction(action(JoinChannel));
         bar->addAction(action(BufferPart));
         break;
@@ -114,14 +111,14 @@ void ToolBarActionProvider::addActions(QToolBar *bar, ToolBarType type)
 }
 
 
-void ToolBarActionProvider::currentBufferChanged(const QModelIndex &index)
+void ToolBarActionProvider::onCurrentBufferChanged(const QModelIndex &index)
 {
     _currentBuffer = index;
     updateStates();
 }
 
 
-void ToolBarActionProvider::nickSelectionChanged(const QModelIndexList &indexList)
+void ToolBarActionProvider::onNickSelectionChanged(const QModelIndexList &indexList)
 {
     _selectedNicks = indexList;
     updateStates();
@@ -164,8 +161,8 @@ void ToolBarActionProvider::networkCreated(NetworkId id)
     _networkActions[id] = act;
     act->setObjectName(QString("NetworkAction-%1").arg(id.toInt()));
     act->setData(QVariant::fromValue<NetworkId>(id));
-    connect(net, SIGNAL(updatedRemotely()), SLOT(networkUpdated()));
-    connect(act, SIGNAL(triggered()), SLOT(connectOrDisconnectNet()));
+    connect(net, &Network::updatedRemotely, this, [this]() { networkUpdated(); });
+    connect(act, &QAction::triggered, this, &ToolBarActionProvider::connectOrDisconnectNet);
     networkUpdated(net);
 }
 
@@ -205,15 +202,15 @@ void ToolBarActionProvider::networkUpdated(const Network *net)
     }
     newMenu->insertAction(beforeAction, act);
 
-    action(NetworkConnectAll)->setEnabled(_networksConnectMenu->actions().count() > 2);
-    action(NetworkDisconnectAll)->setEnabled(_networksDisconnectMenu->actions().count() > 2);
+    action(NetworkConnectAllWithDropdown)->setEnabled(_networksConnectMenu->actions().count() > 2);
+    action(NetworkDisconnectAllWithDropdown)->setEnabled(_networksDisconnectMenu->actions().count() > 2);
     action(JoinChannel)->setEnabled(_networksDisconnectMenu->actions().count() > 2);
 }
 
 
 void ToolBarActionProvider::connectOrDisconnectNet()
 {
-    QAction *act = qobject_cast<QAction *>(sender());
+    auto *act = qobject_cast<QAction *>(sender());
     if (!act)
         return;
     const Network *net = Client::network(act->data().value<NetworkId>());