/***************************************************************************
- * Copyright (C) 2005-2012 by the Quassel Project *
+ * Copyright (C) 2005-2016 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 <QIcon>
#include <QMenu>
#include <QToolBar>
#include "toolbaractionprovider.h"
-#include "iconloader.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, QIcon::fromTheme("network-connect"), tr("Connect"))->setToolTip(tr("Connect to IRC"));
+ registerAction(NetworkDisconnectAllWithDropdown, QIcon::fromTheme("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, QIcon::fromTheme("irc-close-channel"), tr("Part"))->setToolTip(tr("Leave currently selected channel"));
+ registerAction(JoinChannel, QIcon::fromTheme("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, QIcon::fromTheme("mail-message-new"), tr("Query"))->setToolTip(tr("Start a private conversation")); // fix icon
+ registerAction(NickWhois, QIcon::fromTheme("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, QIcon::fromTheme("irc-operator"), tr("Op"))->setToolTip(tr("Give operator privileges to user"));
+ registerAction(NickDeop, QIcon::fromTheme("irc-remove-operator"), tr("Deop"))->setToolTip(tr("Take operator privileges from user"));
+ registerAction(NickVoice, QIcon::fromTheme("irc-voice"), tr("Voice"))->setToolTip(tr("Give voice to user"));
+ registerAction(NickDevoice, QIcon::fromTheme("irc-unvoice"), tr("Devoice"))->setToolTip(tr("Take voice from user"));
+ registerAction(NickKick, QIcon::fromTheme("im-kick-user"), tr("Kick"))->setToolTip(tr("Remove user from channel"));
+ registerAction(NickBan, QIcon::fromTheme("im-ban-user"), tr("Ban"))->setToolTip(tr("Ban user from channel"));
+ registerAction(NickKickBan, QIcon::fromTheme("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)));
{
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;
}
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);
}