aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kvilib/CMakeLists.txt2
-rw-r--r--src/kvilib/tal/KviTalPopupMenu.cpp215
-rw-r--r--src/kvilib/tal/KviTalPopupMenu.h68
-rw-r--r--src/kvirc/kernel/KviAction.cpp11
-rw-r--r--src/kvirc/kernel/KviAction.h4
-rw-r--r--src/kvirc/kernel/KviApplication.cpp33
-rw-r--r--src/kvirc/kernel/KviApplication.h8
-rw-r--r--src/kvirc/kernel/KviCoreActions.cpp124
-rw-r--r--src/kvirc/kernel/KviCoreActions.h28
-rw-r--r--src/kvirc/kernel/KviFileTransfer.cpp2
-rw-r--r--src/kvirc/kernel/KviFileTransfer.h4
-rw-r--r--src/kvirc/kernel/KviIconManager.cpp2
-rw-r--r--src/kvirc/kvs/KviKvsPopupMenu.cpp51
-rw-r--r--src/kvirc/kvs/KviKvsPopupMenu.h8
-rw-r--r--src/kvirc/ui/KviChannelWindow.cpp2
-rw-r--r--src/kvirc/ui/KviConsoleWindow.cpp2
-rw-r--r--src/kvirc/ui/KviCustomToolBar.cpp2
-rw-r--r--src/kvirc/ui/KviImageDialog.cpp4
-rw-r--r--src/kvirc/ui/KviInput.cpp4
-rw-r--r--src/kvirc/ui/KviInput.h2
-rw-r--r--src/kvirc/ui/KviInputEditor.cpp63
-rw-r--r--src/kvirc/ui/KviInputEditor.h6
-rw-r--r--src/kvirc/ui/KviIrcToolBar.cpp2
-rw-r--r--src/kvirc/ui/KviIrcToolBar.h2
-rw-r--r--src/kvirc/ui/KviIrcView.cpp26
-rw-r--r--src/kvirc/ui/KviIrcView.h4
-rw-r--r--src/kvirc/ui/KviIrcView_tools.cpp6
-rw-r--r--src/kvirc/ui/KviMainWindow.cpp56
-rw-r--r--src/kvirc/ui/KviMainWindow.h8
-rw-r--r--src/kvirc/ui/KviMdiChild.cpp2
-rw-r--r--src/kvirc/ui/KviMdiManager.cpp114
-rw-r--r--src/kvirc/ui/KviMdiManager.h14
-rw-r--r--src/kvirc/ui/KviMenuBar.cpp214
-rw-r--r--src/kvirc/ui/KviMenuBar.h19
-rw-r--r--src/kvirc/ui/KviSelectors.cpp59
-rw-r--r--src/kvirc/ui/KviSelectors.h12
-rw-r--r--src/kvirc/ui/KviStatusBar.cpp37
-rw-r--r--src/kvirc/ui/KviStatusBar.h10
-rw-r--r--src/kvirc/ui/KviStatusBarApplet.cpp51
-rw-r--r--src/kvirc/ui/KviStatusBarApplet.h12
-rw-r--r--src/kvirc/ui/KviToolBar.cpp27
-rw-r--r--src/kvirc/ui/KviTopicWidget.cpp6
-rw-r--r--src/kvirc/ui/KviTopicWidget.h4
-rw-r--r--src/kvirc/ui/KviTreeWindowList.cpp8
-rw-r--r--src/kvirc/ui/KviWindow.cpp31
-rw-r--r--src/kvirc/ui/KviWindow.h2
-rw-r--r--src/modules/aliaseditor/AliasEditorWindow.cpp50
-rw-r--r--src/modules/aliaseditor/AliasEditorWindow.h4
-rw-r--r--src/modules/channelsjoin/ChannelsJoinDialog.cpp6
-rw-r--r--src/modules/channelsjoin/ChannelsJoinDialog.h4
-rw-r--r--src/modules/classeditor/ClassEditorWindow.cpp51
-rw-r--r--src/modules/classeditor/ClassEditorWindow.h4
-rw-r--r--src/modules/codetester/CodeTesterWindow.cpp2
-rw-r--r--src/modules/dcc/DccFileTransfer.cpp17
-rw-r--r--src/modules/dcc/DccFileTransfer.h6
-rw-r--r--src/modules/dcc/canvaswidget.cpp70
-rw-r--r--src/modules/editor/ScriptEditorImplementation.cpp10
-rw-r--r--src/modules/editor/ScriptEditorImplementation.h2
-rw-r--r--src/modules/eventeditor/EventEditorWindow.cpp14
-rw-r--r--src/modules/eventeditor/EventEditorWindow.h4
-rw-r--r--src/modules/filetransferwindow/FileTransferWindow.cpp65
-rw-r--r--src/modules/filetransferwindow/FileTransferWindow.h8
-rw-r--r--src/modules/http/HttpFileTransfer.cpp9
-rw-r--r--src/modules/http/HttpFileTransfer.h4
-rw-r--r--src/modules/links/LinksWindow.cpp52
-rw-r--r--src/modules/links/LinksWindow.h6
-rw-r--r--src/modules/list/ListWindow.h2
-rw-r--r--src/modules/logview/LogViewWindow.cpp22
-rw-r--r--src/modules/logview/LogViewWindow.h2
-rw-r--r--src/modules/notifier/NotifierWindow.cpp28
-rw-r--r--src/modules/notifier/NotifierWindow.h6
-rw-r--r--src/modules/objects/KvsObject_comboBox.cpp8
-rw-r--r--src/modules/objects/KvsObject_comboBox.h2
-rw-r--r--src/modules/objects/KvsObject_listWidget.cpp8
-rw-r--r--src/modules/objects/KvsObject_listWidget.h2
-rw-r--r--src/modules/objects/KvsObject_menuBar.cpp6
-rw-r--r--src/modules/objects/KvsObject_menuBar.h2
-rw-r--r--src/modules/objects/KvsObject_popupMenu.cpp28
-rw-r--r--src/modules/objects/KvsObject_popupMenu.h4
-rw-r--r--src/modules/objects/KvsObject_toolButton.cpp4
-rw-r--r--src/modules/objects/KvsObject_treeWidgeteItem.h2
-rw-r--r--src/modules/objects/KvsObject_webView.cpp4
-rw-r--r--src/modules/objects/KvsObject_widget.cpp8
-rw-r--r--src/modules/options/OptionsDialog.cpp2
-rw-r--r--src/modules/options/OptionsWidget_channel.cpp2
-rw-r--r--src/modules/options/OptionsWidget_identity.cpp2
-rw-r--r--src/modules/options/OptionsWidget_message.cpp5
-rw-r--r--src/modules/options/OptionsWidget_message.h4
-rw-r--r--src/modules/options/OptionsWidget_proxy.cpp9
-rw-r--r--src/modules/options/OptionsWidget_proxy.h4
-rw-r--r--src/modules/options/OptionsWidget_servers.cpp78
-rw-r--r--src/modules/options/OptionsWidget_servers.h12
-rw-r--r--src/modules/options/OptionsWidget_sound.cpp4
-rw-r--r--src/modules/options/OptionsWidget_textEncoding.cpp6
-rw-r--r--src/modules/options/OptionsWidget_textIcons.cpp7
-rw-r--r--src/modules/options/OptionsWidget_textIcons.h2
-rw-r--r--src/modules/popupeditor/PopupEditorWindow.cpp121
-rw-r--r--src/modules/popupeditor/PopupEditorWindow.h8
-rw-r--r--src/modules/raweditor/RawEditorWindow.cpp18
-rw-r--r--src/modules/raweditor/RawEditorWindow.h4
-rw-r--r--src/modules/reguser/RegisteredUserEntryDialog.h2
-rw-r--r--src/modules/reguser/RegisteredUsersDialog.cpp20
-rw-r--r--src/modules/reguser/RegisteredUsersDialog.h6
-rw-r--r--src/modules/setup/SetupWizard.cpp10
-rw-r--r--src/modules/sharedfileswindow/SharedFilesWindow.cpp36
-rw-r--r--src/modules/theme/ThemeManagementDialog.cpp8
-rw-r--r--src/modules/theme/ThemeManagementDialog.h4
-rw-r--r--src/modules/trayicon/libkvitrayicon.cpp13
-rw-r--r--src/modules/trayicon/libkvitrayicon.h6
-rw-r--r--src/modules/url/libkviurl.cpp36
-rw-r--r--src/modules/url/libkviurl.h2
111 files changed, 1076 insertions, 1252 deletions
diff --git a/src/kvilib/CMakeLists.txt b/src/kvilib/CMakeLists.txt
index 9afda7d44..63606393e 100644
--- a/src/kvilib/CMakeLists.txt
+++ b/src/kvilib/CMakeLists.txt
@@ -33,7 +33,6 @@ SET(
tal/KviTalListWidget.h
tal/KviTalMainWindow.h
tal/KviTalMenuBar.h
- tal/KviTalPopupMenu.h
tal/KviTalTabDialog.h
tal/KviTalTableWidget.h
tal/KviTalToolTip.h
@@ -133,7 +132,6 @@ SET(kvilib_SRCS
tal/KviTalListWidget.cpp
tal/KviTalMainWindow.cpp
tal/KviTalMenuBar.cpp
- tal/KviTalPopupMenu.cpp
tal/KviTalSplitter.cpp
tal/KviTalTabDialog.cpp
tal/KviTalTableWidget.cpp
diff --git a/src/kvilib/tal/KviTalPopupMenu.cpp b/src/kvilib/tal/KviTalPopupMenu.cpp
deleted file mode 100644
index ef7744dfe..000000000
--- a/src/kvilib/tal/KviTalPopupMenu.cpp
+++ /dev/null
@@ -1,215 +0,0 @@
-//=============================================================================
-//
-// File : KviTalPopupMenu.cpp
-// Creation date : Mon May 05 2008 11:25:08 by Alessandro Carbone
-//
-// This file is part of the KVIrc irc client distribution
-// Copyright (C) 2008 Alessandro Carbone (elfonol at gmail dot com)
-//
-// This program is FREE software. You can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your opinion) any later version.
-//
-// This program is distributed in the HOPE that it will be USEFUL,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-// See the GNU General Public License for more details.
-//
-// 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-//
-//=============================================================================
-
-#include "KviTalPopupMenu.h"
-
-#include <QMenu>
-#include <QHash>
-#include <QAction>
-#include <QWidgetAction>
-
-KviTalPopupMenu::KviTalPopupMenu(QWidget * pParent,const QString &szName)
-: QMenu(pParent)
-{
- connect(this,SIGNAL(triggered(QAction *)),this,SLOT(slottriggered(QAction *)));
- setObjectName(szName);
- identifier = 0;
-
-}
-
-KviTalPopupMenu::~KviTalPopupMenu()
-{
- clear();
-}
-
-QAction * KviTalPopupMenu::getAction(int id)
-{
- QAction * a = actionsDict.value(id);
- return a ? a : 0;
-}
-
-int KviTalPopupMenu::insertItem(const QString &szText)
-{
- QAction * a = addAction(szText);
- actionsDict[identifier++] = a;
- return identifier-1;
-}
-
-int KviTalPopupMenu::insertItem(const QPixmap &pix,const QString &szText)
-{
- QAction * a = addAction(QIcon(pix),szText);
- actionsDict[identifier++] = a;
- return identifier-1;
-}
-
-int KviTalPopupMenu::insertItem(const QString &szText,int id)
-{
- QAction * a = addAction(szText);
- actionsDict[id] = a;
- return id;
-}
-
-int KviTalPopupMenu::insertItem(const QPixmap &pix,const QString &szText,int id)
-{
- QAction * a = addAction(QIcon(pix),szText);
- actionsDict[id] = a;
- return id;
-}
-
-int KviTalPopupMenu::insertItem(const QString &szText,const QObject * pReceiver,const char * szSlot)
-{
- QAction * action = addAction(szText);
-
- // create a compatible slot
- signalMapper[action] = new QSignalMapper(this);
- signalMapper[action]->setMapping(action, identifier);
-
- connect(action, SIGNAL(triggered()), signalMapper[action], SLOT(map()));
- connect(signalMapper[action], SIGNAL(mapped(int)), pReceiver, szSlot);
-
- actionsDict[identifier++]=action;
- return identifier-1;
-}
-
-int KviTalPopupMenu::insertItem(const QPixmap &pix,const QString &szText,const QObject * pReceiver,const char * szSlot)
-{
- QAction * action = addAction(pix, szText);
-
- // create a compatible slot
- signalMapper[action] = new QSignalMapper(this);
- signalMapper[action]->setMapping(action, identifier);
-
- connect(action, SIGNAL(triggered()), signalMapper[action], SLOT(map()));
- connect(signalMapper[action], SIGNAL(mapped(int)), pReceiver, szSlot);
-
- actionsDict.insert(identifier, action);
- actionsDict[identifier++] = action;
- return identifier-1;
-}
-
-int KviTalPopupMenu::insertItem(const QPixmap &pix,const QString &szText,QMenu *pMenu)
-{
- QAction * a = addMenu(pMenu);
- a->setText(szText);
- a->setIcon(QIcon(pix));
- actionsDict[identifier++] = a;
- return identifier-1;
-}
-
-int KviTalPopupMenu::insertItem(const QString &szText,QMenu *pMenu)
-{
- QAction * a = addMenu(pMenu);
- a->setText(szText);
- actionsDict[identifier++] = a;
- return identifier-1;
-}
-
-int KviTalPopupMenu::insertItem(QWidget * pWidget)
-{
- QWidgetAction * pAct = new QWidgetAction(this);
- pAct->setDefaultWidget(pWidget);
- addAction(pAct);
- return 0;
-}
-
-void KviTalPopupMenu::setItemChecked(int id,bool check)
-{
- QAction * action = actionsDict.value(id);
- action->setCheckable(true);
- action->setChecked(check);
-}
-
-void KviTalPopupMenu::setItemParameter(int id, int param)
-{
- QAction * action = actionsDict.value(id);
-
- // take care of the slot
- if (signalMapper[action])
- {
- signalMapper[action]->removeMappings(action);
- signalMapper[action]->setMapping(action, param);
- }
-
- QVariant par(param);
- if (action) action->setData(par);
-}
-
-int KviTalPopupMenu::itemParameter(int id)
-{
- QAction * action = actionsDict.value(id);
- if (action)
- return action->data().toInt();
- else return 0;
-}
-
-void KviTalPopupMenu::clear()
-{
- QMenu::clear();
- identifier = 0;
- actionsDict.clear();
- signalMapper.clear();
-}
-
-QString KviTalPopupMenu::text(int id)
-{
- QAction * action = actionsDict.value(id);
- return action->text();
-}
-
-void KviTalPopupMenu::setItemEnabled(int id,bool bFlag)
-{
- QAction * action = actionsDict.value(id);
- action->setEnabled(bFlag);
-}
-
-int KviTalPopupMenu::insertSeparator()
-{
- QAction * a = addSeparator();
- actionsDict[identifier++] = a;
- return -1;
-}
-
-void KviTalPopupMenu::slottriggered(QAction * a)
-{
- if (signalMapper[a]) return; // When signalmapper is used we don't need this event
-
- int i = actionsDict.key(a, -1); // See if action exists and get ID
- if (i != -1)
- {
- emit activated(i);
- }
-
- return;
-}
-
-void KviTalPopupMenu::slotActionTriggered(bool)
-{
- QAction * action = (QAction *)sender();
- slottriggered(action);
-}
-
-#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES
- #include "KviTalPopupMenu.moc"
-#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES
-
diff --git a/src/kvilib/tal/KviTalPopupMenu.h b/src/kvilib/tal/KviTalPopupMenu.h
deleted file mode 100644
index 2a7361900..000000000
--- a/src/kvilib/tal/KviTalPopupMenu.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef _KVI_TAL_POPUPMENU_H_
-#define _KVI_TAL_POPUPMENU_H_
-
-//=============================================================================
-//
-// File : KviTalPopupMenu.h
-// Creation date : Mon May 05 2008 11:25:08 by Alessandro Carbone
-//
-// This file is part of the KVIrc irc client distribution
-// Copyright (C) 2008 Alessandro Carbone (elfonol at gmail dot com)
-//
-// This program is FREE software. You can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your opinion) any later version.
-//
-// This program is distributed in the HOPE that it will be USEFUL,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-// See the GNU General Public License for more details.
-//
-// 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-//
-//=============================================================================
-#include "kvi_settings.h"
-#include "KviQString.h"
-
-#include <QMenu>
-#include <QHash>
-#include <QSignalMapper>
-
-class KVILIB_API KviTalPopupMenu : public QMenu
-{
- Q_OBJECT
-protected:
- QHash<int, QAction*> actionsDict;
- // We need QSignalMapper to keep slot system for insertItem()
- QHash<QAction*, QSignalMapper*> signalMapper;
- int identifier;
-public:
- KviTalPopupMenu(QWidget * pParent=0,const QString &szName = KviQString::Empty);
- virtual ~KviTalPopupMenu() ;
- int insertItem(const QString &szText);
- int insertItem(const QPixmap &pix,const QString &szText);
- int insertItem(const QString &szText,int id);
- int insertItem(const QPixmap &pix,const QString &szText,int id);
- int insertItem(const QString &szText,const QObject * pReceiver,const char * szSlot);
- int insertItem(const QPixmap &pix,const QString &szText,const QObject * pReceiver,const char * szSlot);
- int insertItem(const QPixmap &pix,const QString &szText,QMenu *pMenu);
- int insertItem(const QString &szText,QMenu *pMenu);
- int insertItem(QWidget * pWidget);
- void setItemChecked(int id,bool check);
- void setItemEnabled(int id,bool bFlag);
- void setItemParameter(int id, int param);
- int itemParameter(int id);
- QAction * getAction(int id);
- void clear();
- QString text(int);
- int insertSeparator();
-protected slots:
- void slottriggered(QAction *);
- void slotActionTriggered(bool);
-signals:
- void activated(int);
-};
-#endif // _KVI_TAL_POPUPMENU_H_
diff --git a/src/kvirc/kernel/KviAction.cpp b/src/kvirc/kernel/KviAction.cpp
index d2480af37..385d4a78c 100644
--- a/src/kvirc/kernel/KviAction.cpp
+++ b/src/kvirc/kernel/KviAction.cpp
@@ -30,7 +30,7 @@
#include "KviWindow.h"
#include "KviChannelWindow.h"
#include "KviQueryWindow.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QAction>
@@ -448,7 +448,7 @@ void KviAction::activeContextStateChanged()
}
}
-bool KviAction::addToPopupMenu(KviTalPopupMenu * pMenu)
+bool KviAction::addToPopupMenu(QMenu * pMenu)
{
if(!setupDone())
setup();
@@ -459,13 +459,14 @@ bool KviAction::addToPopupMenu(KviTalPopupMenu * pMenu)
if(!m_szKeySequence.isEmpty())
szTmp += '\t' + m_szKeySequence;
+ QAction *pAction;
if(pPix)
- iId = pMenu->insertItem(*pPix,szTmp,this,SLOT(activate()));
+ pAction = pMenu->addAction(*pPix,szTmp,this,SLOT(activate()));
else
- iId = pMenu->insertItem(szTmp,this,SLOT(activate()));
+ pAction = pMenu->addAction(szTmp,this,SLOT(activate()));
if(!isEnabled())
- pMenu->setItemEnabled(iId,false);
+ pAction->setEnabled(false);
return true;
}
diff --git a/src/kvirc/kernel/KviAction.h b/src/kvirc/kernel/KviAction.h
index 4a0998f84..bc14ba9b7 100644
--- a/src/kvirc/kernel/KviAction.h
+++ b/src/kvirc/kernel/KviAction.h
@@ -40,7 +40,7 @@
class QShortcut;
class QPixmap;
-class KviTalPopupMenu;
+class QMenu;
class KviCustomToolBar;
#undef None
@@ -275,7 +275,7 @@ public:
* \param pMenu The menu where to add the action
* \return bool
*/
- virtual bool addToPopupMenu(KviTalPopupMenu * pMenu);
+ virtual bool addToPopupMenu(QMenu * pMenu);
/**
* \brief Adds the action to the given toolbar
diff --git a/src/kvirc/kernel/KviApplication.cpp b/src/kvirc/kernel/KviApplication.cpp
index 52146b7f8..bfae45675 100644
--- a/src/kvirc/kernel/KviApplication.cpp
+++ b/src/kvirc/kernel/KviApplication.cpp
@@ -83,7 +83,7 @@
#include "KviKvsEventTriggers.h"
#include "kvi_sourcesdate.h"
#include "KviPointerHashTable.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviQueryWindow.h"
@@ -149,7 +149,7 @@ KVIRC_API KviProxyDataBase * g_pProxyDataBase = 0;
// Global windows
KVIRC_API KviColorWindow * g_pColorWindow = 0;
KVIRC_API KviTextIconWindow * g_pTextIconWindow = 0;
-KVIRC_API KviTalPopupMenu * g_pInputPopup = 0;
+KVIRC_API QMenu * g_pInputPopup = 0;
KVIRC_API QStringList * g_pRecentTopicList = 0;
KVIRC_API KviPointerHashTable<QString,KviWindow> * g_pGlobalWindowDict = 0;
KVIRC_API KviMediaManager * g_pMediaManager = 0;
@@ -505,7 +505,7 @@ void KviApplication::setup()
//g_pGarbageCollector = new KviGarbageCollector();
// and the input popup
- g_pInputPopup = new KviTalPopupMenu();
+ g_pInputPopup = new QMenu();
// create the server parser
g_pServerParser = new KviIrcServerParser();
@@ -583,8 +583,6 @@ KviApplication::~KviApplication()
// Another critical phase.
// We shutdown our subsystems in the right order here.
- Q_ASSERT(g_pActiveWindow == 0);
-
m_bClosingDown = true;
#ifndef COMPILE_NO_IPC
@@ -2094,7 +2092,7 @@ void KviApplication::addRecentServer(const QString & szServer)
merge_to_stringlist_option(szServer,KviOption_stringlistRecentServers,KVI_MAX_RECENT_SERVERS);
}
-void KviApplication::fillRecentServersPopup(KviTalPopupMenu * pMenu)
+void KviApplication::fillRecentServersPopup(QMenu * pMenu)
{
// FIXME: #warning "MAYBE DISABLE THE SERVERS THAT WE ARE ALREADY CONNECTED TO ?"
pMenu->clear();
@@ -2102,27 +2100,27 @@ void KviApplication::fillRecentServersPopup(KviTalPopupMenu * pMenu)
{
if(*it == "")
continue;
- pMenu->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Server)),*it);
+ pMenu->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Server)),*it);
}
}
-void KviApplication::fillRecentNicknamesPopup(KviTalPopupMenu * pMenu, KviConsoleWindow * pConsole)
+void KviApplication::fillRecentNicknamesPopup(QMenu * pMenu, KviConsoleWindow * pConsole)
{
pMenu->clear();
- int iId;
+ QAction *pAction;
bool bAlreadyFound = false;
for(QStringList::Iterator it = KVI_OPTION_STRINGLIST(KviOption_stringlistRecentNicknames).begin(); it != KVI_OPTION_STRINGLIST(KviOption_stringlistRecentNicknames).end(); ++it)
{
if(*it == "")
continue;
- iId = pMenu->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Nick)),*it);
+ pAction= pMenu->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Nick)),*it);
if(!pConsole->isConnected())
- pMenu->setItemEnabled(iId,false);
+ pAction->setEnabled(false);
else {
if(!bAlreadyFound)
{
bool bIsCurrent = KviQString::equalCS(pConsole->connection()->currentNickName(),*it);
- pMenu->setItemEnabled(iId,!bIsCurrent);
+ pAction->setEnabled(!bIsCurrent);
if(bIsCurrent)
bAlreadyFound = true;
}
@@ -2130,9 +2128,10 @@ void KviApplication::fillRecentNicknamesPopup(KviTalPopupMenu * pMenu, KviConsol
}
}
-void KviApplication::fillRecentChannelsPopup(KviTalPopupMenu * pMenu, KviConsoleWindow * pConsole)
+void KviApplication::fillRecentChannelsPopup(QMenu * pMenu, KviConsoleWindow * pConsole)
{
pMenu->clear();
+ QAction *pAction;
QStringList * pList = recentChannelsForNetwork(pConsole->currentNetworkName());
if(pList)
{
@@ -2140,11 +2139,11 @@ void KviApplication::fillRecentChannelsPopup(KviTalPopupMenu * pMenu, KviConsole
{
if(*it == "")
continue; // ?
- int iId = pMenu->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Channel)),*it);
+ pAction = pMenu->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Channel)),*it);
if(!pConsole->isConnected())
- pMenu->setItemEnabled(iId,false);
+ pAction->setEnabled(false);
else
- pMenu->setItemEnabled(iId,!(pConsole->connection()->findChannel(*it)));
+ pAction->setEnabled(!(pConsole->connection()->findChannel(*it)));
}
}
}
@@ -2155,7 +2154,7 @@ void KviApplication::fillRecentServersListBox(KviTalListBox * l)
{
l->clear();
for(QStringList::Iterator it = KVI_OPTION_STRINGLIST(KviOption_stringlistRecentServers).begin(); it != KVI_OPTION_STRINGLIST(KviOption_stringlistRecentServers).end(); ++it)
- l->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),*it);
+ l->addAction(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),*it);
}
*/
diff --git a/src/kvirc/kernel/KviApplication.h b/src/kvirc/kernel/KviApplication.h
index fe632e843..4a4a5f69b 100644
--- a/src/kvirc/kernel/KviApplication.h
+++ b/src/kvirc/kernel/KviApplication.h
@@ -57,7 +57,7 @@
#include <QX11Info>
#endif
-class KviTalPopupMenu;
+class QMenu;
class KviTalListBox;
class KviConsoleWindow;
class KviConfigurationFile;
@@ -319,9 +319,9 @@ public:
void addRecentServer(const QString& server);
- void fillRecentServersPopup(KviTalPopupMenu * m);
- void fillRecentNicknamesPopup(KviTalPopupMenu * m,KviConsoleWindow * pConsole);
- void fillRecentChannelsPopup(KviTalPopupMenu * m,KviConsoleWindow * pConsole);
+ void fillRecentServersPopup(QMenu * m);
+ void fillRecentNicknamesPopup(QMenu * m,KviConsoleWindow * pConsole);
+ void fillRecentChannelsPopup(QMenu * m,KviConsoleWindow * pConsole);
//
void autoConnectToServers();
diff --git a/src/kvirc/kernel/KviCoreActions.cpp b/src/kvirc/kernel/KviCoreActions.cpp
index 133cb323a..bd71fee9a 100644
--- a/src/kvirc/kernel/KviCoreActions.cpp
+++ b/src/kvirc/kernel/KviCoreActions.cpp
@@ -44,7 +44,7 @@
#include "KviCoreActionNames.h"
#include "KviIrcConnectionServerInfo.h"
#include "KviKvsScript.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QObject>
@@ -449,7 +449,7 @@ void KviIrcContextDisplayAction::setup()
connect(g_pMainWindow,SIGNAL(activeConnectionLagChanged()),this,SLOT(activeContextStateChanged()));
}
-bool KviIrcContextDisplayAction::addToPopupMenu(KviTalPopupMenu *)
+bool KviIrcContextDisplayAction::addToPopupMenu(QMenu *)
{
// QT4SUX: Widgets can be no longer added to popup menus.. what about labels ?
return true;
@@ -521,10 +521,10 @@ KviSeparatorAction::KviSeparatorAction(QObject * pParent)
}
-bool KviSeparatorAction::addToPopupMenu(KviTalPopupMenu * p)
+bool KviSeparatorAction::addToPopupMenu(QMenu * p)
{
if(!setupDone()) setup();
- p->insertSeparator();
+ p->addSeparator();
return true;
}
@@ -629,13 +629,11 @@ void KviConnectAction::activate()
c->connectOrDisconnect();
}
-bool KviConnectAction::addToPopupMenu(KviTalPopupMenu *p)
+bool KviConnectAction::addToPopupMenu(QMenu *p)
{
if(!setupDone())setup();
KviIrcContext * c = g_pMainWindow->activeContext();
- int id;
-
-
+ QAction * pAction;
QString t;
if(c)
{
@@ -644,31 +642,31 @@ bool KviConnectAction::addToPopupMenu(KviTalPopupMenu *p)
case KviIrcContext::Idle:
t = m_szConnectString;
if(!m_szKeySequence.isEmpty())t += '\t' + m_szKeySequence;
- p->insertItem(t,this,SLOT(activate()));
+ p->addAction(t,this,SLOT(activate()));
break;
case KviIrcContext::Connecting:
case KviIrcContext::LoggingIn:
t = m_szAbortConnectionString;
if(!m_szKeySequence.isEmpty())t += '\t' + m_szKeySequence;
- p->insertItem(t,this,SLOT(activate()));
+ p->addAction(t,this,SLOT(activate()));
break;
case KviIrcContext::Connected:
t = m_szDisconnectString;
if(!m_szKeySequence.isEmpty())t += '\t' + m_szKeySequence;
- p->insertItem(t,this,SLOT(activate()));
+ p->addAction(t,this,SLOT(activate()));
break;
default:
t = m_szConnectString;
if(!m_szKeySequence.isEmpty())t += '\t' + m_szKeySequence;
- id = p->insertItem(t,this,SLOT(activate()));
- p->setItemEnabled(id,false);
+ pAction = p->addAction(t,this,SLOT(activate()));
+ pAction->setEnabled(false);
break;
}
} else {
t = m_szConnectString;
if(!m_szKeySequence.isEmpty())t += '\t' + m_szKeySequence;
- id = p->insertItem(t,this,SLOT(activate()));
- p->setItemEnabled(id,false);
+ pAction = p->addAction(t,this,SLOT(activate()));
+ pAction->setEnabled(false);
}
return true;
}
@@ -723,9 +721,9 @@ void KviSubmenuAction::setup()
KviKvsAction::setup();
if(!m_pPopup)
{
- m_pPopup = new KviTalPopupMenu();
+ m_pPopup = new QMenu();
connect(m_pPopup,SIGNAL(aboutToShow()),this,SLOT(popupAboutToShow()));
- connect(m_pPopup,SIGNAL(activated(int)),this,SLOT(popupActivated(int)));
+ connect(m_pPopup,SIGNAL(triggered(QAction *)),this,SLOT(popupActivated(QAction *)));
}
}
@@ -733,15 +731,17 @@ void KviSubmenuAction::popupAboutToShow()
{
}
-void KviSubmenuAction::popupActivated(int)
+void KviSubmenuAction::popupActivated(QAction *)
{
}
-bool KviSubmenuAction::addToPopupMenu(KviTalPopupMenu *p)
+bool KviSubmenuAction::addToPopupMenu(QMenu *p)
{
if(!setupDone()) setup();
- int id = p->insertItem(*(smallIcon()),visibleName(),m_pPopup);
- if(!isEnabled()) p->setItemEnabled(id,false);
+ QAction *pAction = p->addAction(*(smallIcon()),visibleName());
+ pAction->setMenu(m_pPopup);
+ if(!isEnabled())
+ pAction->setEnabled(false);
return true;
}
@@ -787,18 +787,18 @@ void KviJoinChannelAction::popupAboutToShow()
g_pApp->fillRecentChannelsPopup(m_pPopup,c);
- m_pPopup->insertSeparator();
- m_pPopup->insertItem(*(smallIcon()),__tr2qs("Other..."));
- m_pPopup->insertSeparator();
- m_pPopup->insertItem(__tr2qs("Clear Recent Channels List"));
+ m_pPopup->addSeparator();
+ m_pPopup->addAction(*(smallIcon()),__tr2qs("Other..."));
+ m_pPopup->addSeparator();
+ m_pPopup->addAction(__tr2qs("Clear Recent Channels List"));
}
-void KviJoinChannelAction::popupActivated(int id)
+void KviJoinChannelAction::popupActivated(QAction *pAction)
{
KviConsoleWindow * c = g_pActiveWindow->console();
if(!c)return;
- QString szItemText = m_pPopup->text(id);
+ QString szItemText = pAction->text();
if(!szItemText.isEmpty())
{
QString szText;
@@ -842,19 +842,19 @@ void KviChangeNickAction::popupAboutToShow()
g_pApp->fillRecentNicknamesPopup(m_pPopup,c);
- m_pPopup->insertSeparator();
- m_pPopup->insertItem(*(smallIcon()),__tr2qs("Other..."));
+ m_pPopup->addSeparator();
+ m_pPopup->addAction(*(smallIcon()),__tr2qs("Other..."));
- m_pPopup->insertSeparator();
- m_pPopup->insertItem(*(smallIcon()),__tr2qs("Clear Recent Nicks List"));
+ m_pPopup->addSeparator();
+ m_pPopup->addAction(*(smallIcon()),__tr2qs("Clear Recent Nicks List"));
}
-void KviChangeNickAction::popupActivated(int id)
+void KviChangeNickAction::popupActivated(QAction *pAction)
{
KviConsoleWindow * c = g_pActiveWindow->console();
if(!c)return;
- QString text = m_pPopup->text(id);
+ QString text = pAction->text();
if(!text.isEmpty())
{
QString szText;
@@ -890,18 +890,18 @@ KviConnectToServerAction::KviConnectToServerAction(QObject * pParent)
void KviConnectToServerAction::popupAboutToShow()
{
g_pApp->fillRecentServersPopup(m_pPopup);
- m_pPopup->insertSeparator();
- m_pPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Server)),__tr2qs("Other..."));
- m_pPopup->insertSeparator();
- m_pPopup->insertItem(__tr2qs("Clear Recent Servers List"));
+ m_pPopup->addSeparator();
+ m_pPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Server)),__tr2qs("Other..."));
+ m_pPopup->addSeparator();
+ m_pPopup->addAction(__tr2qs("Clear Recent Servers List"));
}
-void KviConnectToServerAction::popupActivated(int id)
+void KviConnectToServerAction::popupActivated(QAction *pAction)
{
KviConsoleWindow * c = g_pActiveWindow->console();
if(!c)return;
- QString szItemText = m_pPopup->text(id);
+ QString szItemText = pAction->text();
if(!szItemText.isEmpty())
{
if(szItemText == __tr2qs("Other..."))
@@ -942,15 +942,18 @@ void KviChangeUserModeAction::popupAboutToShow()
if(!c)return;
m_pPopup->clear();
- int id;
+ QAction *pAction;
QString szModes = g_pActiveWindow->connection()->serverInfo()->supportedUserModes();
- id = m_pPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::WallOps)),__tr2qs("Wallops (+w)"));
- m_pPopup->setItemChecked(id,c->connection()->userInfo()->hasUserMode('w'));
- id = m_pPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::ServerNotice)),__tr2qs("Server Notices (+s)"));
- m_pPopup->setItemChecked(id,c->connection()->userInfo()->hasUserMode('s'));
- id = m_pPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Invisible)),__tr2qs("Invisible (+i)"));
- m_pPopup->setItemChecked(id,c->connection()->userInfo()->hasUserMode('i'));
+ pAction = m_pPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::WallOps)),__tr2qs("Wallops (+w)"));
+ pAction->setCheckable(true);
+ pAction->setChecked(c->connection()->userInfo()->hasUserMode('w'));
+ pAction = m_pPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::ServerNotice)),__tr2qs("Server Notices (+s)"));
+ pAction->setCheckable(true);
+ pAction->setChecked(c->connection()->userInfo()->hasUserMode('s'));
+ pAction = m_pPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Invisible)),__tr2qs("Invisible (+i)"));
+ pAction->setCheckable(true);
+ pAction->setChecked(c->connection()->userInfo()->hasUserMode('i'));
szModes.replace("w","");
szModes.replace("s","");
@@ -959,17 +962,18 @@ void KviChangeUserModeAction::popupAboutToShow()
{
QChar ccc = szModes[0];
szModes.remove(0,1);
- id = m_pPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Mode)),QString("+%1 Mode").arg(ccc));
- m_pPopup->setItemChecked(id,c->connection()->userInfo()->hasUserMode(ccc.toLatin1()));
+ pAction = m_pPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Mode)),QString("+%1 Mode").arg(ccc));
+ pAction->setCheckable(true);
+ pAction->setChecked(c->connection()->userInfo()->hasUserMode(ccc.toLatin1()));
}
}
-void KviChangeUserModeAction::popupActivated(int id)
+void KviChangeUserModeAction::popupActivated(QAction *pAction)
{
KviConsoleWindow * c = g_pActiveWindow->console();
if(!c)return;
- QString text = m_pPopup->text(id);
+ QString text = pAction->text();
if(!c->isConnected())return;
if(!text.isEmpty())
{
@@ -1074,11 +1078,11 @@ void KviGoAwayAction::setup()
connect(g_pMainWindow,SIGNAL(activeConnectionAwayStateChanged()),this,SLOT(activeContextStateChanged()));
}
-bool KviGoAwayAction::addToPopupMenu(KviTalPopupMenu *p)
+bool KviGoAwayAction::addToPopupMenu(QMenu *p)
{
if(!setupDone())setup();
KviIrcContext * c = g_pMainWindow->activeContext();
- int id;
+ QAction *pAction;
QString t;
if(c)
{
@@ -1088,23 +1092,23 @@ bool KviGoAwayAction::addToPopupMenu(KviTalPopupMenu *p)
{
t = m_szBackString;
if(!m_szKeySequence.isEmpty())t += '\t' + m_szKeySequence;
- p->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Away)),t,this,SLOT(activate()));
+ p->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Away)),t,this,SLOT(activate()));
} else {
t = m_szAwayString;
if(!m_szKeySequence.isEmpty())t += '\t' + m_szKeySequence;
- p->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::NotAway)),t,this,SLOT(activate()));
+ p->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::NotAway)),t,this,SLOT(activate()));
}
} else {
t = m_szAwayString;
if(!m_szKeySequence.isEmpty())t += '\t' + m_szKeySequence;
- id = p->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::NotAway)),t,this,SLOT(activate()));
- p->setItemEnabled(id,false);
+ pAction = p->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::NotAway)),t,this,SLOT(activate()));
+ pAction->setEnabled(false);
}
} else {
t = m_szAwayString;
if(!m_szKeySequence.isEmpty())t += '\t' + m_szKeySequence;
- id = p->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::NotAway)),t,this,SLOT(activate()));
- p->setItemEnabled(id,false);
+ pAction = p->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::NotAway)),t,this,SLOT(activate()));
+ pAction->setEnabled(false);
}
return true;
}
@@ -1153,7 +1157,7 @@ void KviIrcToolsAction::popupAboutToShow()
if(a)a->addToPopupMenu(m_pPopup);
}
-void KviIrcToolsAction::popupActivated(int)
+void KviIrcToolsAction::popupActivated(QAction *)
{
}
@@ -1192,6 +1196,6 @@ void KviIrcOperationsAction::popupAboutToShow()
if(a)a->addToPopupMenu(m_pPopup);
}
-void KviIrcOperationsAction::popupActivated(int)
+void KviIrcOperationsAction::popupActivated(QAction *)
{
}
diff --git a/src/kvirc/kernel/KviCoreActions.h b/src/kvirc/kernel/KviCoreActions.h
index f62818261..f55d6b753 100644
--- a/src/kvirc/kernel/KviCoreActions.h
+++ b/src/kvirc/kernel/KviCoreActions.h
@@ -39,7 +39,7 @@ protected:
QString m_szAbortConnectionString;
QString m_szDisconnectString;
public:
- virtual bool addToPopupMenu(KviTalPopupMenu * pMenu);
+ virtual bool addToPopupMenu(QMenu * pMenu);
virtual QAction * addToCustomToolBar(KviCustomToolBar * pTool);
protected:
virtual void setup();
@@ -55,11 +55,11 @@ class KviSeparatorAction : public KviAction
public:
KviSeparatorAction(QObject * pParent);
public:
- virtual bool addToPopupMenu(KviTalPopupMenu * pMenu);
+ virtual bool addToPopupMenu(QMenu * pMenu);
virtual QAction * addToCustomToolBar(KviCustomToolBar * pTool);
};
-class KviTalPopupMenu;
+class QMenu;
class KviSubmenuAction : public KviKvsAction
{
@@ -78,15 +78,15 @@ public:
);
~KviSubmenuAction();
protected:
- KviTalPopupMenu * m_pPopup;
+ QMenu * m_pPopup;
protected:
virtual void setup();
public:
- virtual bool addToPopupMenu(KviTalPopupMenu * pMenu);
+ virtual bool addToPopupMenu(QMenu * pMenu);
virtual QAction * addToCustomToolBar(KviCustomToolBar * pTool);
protected slots:
virtual void popupAboutToShow();
- virtual void popupActivated(int iId);
+ virtual void popupActivated(QAction *pAction);
};
class KviJoinChannelAction : public KviSubmenuAction
@@ -96,7 +96,7 @@ public:
KviJoinChannelAction(QObject * pParent);
protected slots:
virtual void popupAboutToShow();
- virtual void popupActivated(int);
+ virtual void popupActivated(QAction *pAction);
};
class KviChangeNickAction : public KviSubmenuAction
@@ -106,7 +106,7 @@ public:
KviChangeNickAction(QObject * pParent);
protected slots:
void popupAboutToShow();
- void popupActivated(int);
+ void popupActivated(QAction *pAction);
};
class KviConnectToServerAction : public KviSubmenuAction
@@ -116,7 +116,7 @@ public:
KviConnectToServerAction(QObject * pParent);
protected slots:
void popupAboutToShow();
- void popupActivated(int);
+ void popupActivated(QAction *pAction);
};
class KviChangeUserModeAction : public KviSubmenuAction
@@ -126,7 +126,7 @@ public:
KviChangeUserModeAction(QObject * pParent);
protected slots:
void popupAboutToShow();
- void popupActivated(int);
+ void popupActivated(QAction *pAction);
};
class KviIrcToolsAction : public KviSubmenuAction
@@ -136,7 +136,7 @@ public:
KviIrcToolsAction(QObject * pParent);
protected slots:
void popupAboutToShow();
- void popupActivated(int);
+ void popupActivated(QAction *pAction);
};
@@ -147,7 +147,7 @@ public:
KviIrcOperationsAction(QObject * pParent);
protected slots:
void popupAboutToShow();
- void popupActivated(int);
+ void popupActivated(QAction *pAction);
};
#include "KviIrcToolBar.h"
@@ -158,7 +158,7 @@ class KviIrcContextDisplayAction : public KviAction
public:
KviIrcContextDisplayAction(QObject * pParent);
public:
- virtual bool addToPopupMenu(KviTalPopupMenu * pMenu);
+ virtual bool addToPopupMenu(QMenu * pMenu);
virtual QAction * addToCustomToolBar(KviCustomToolBar * pTool);
virtual void activeContextStateChanged();
virtual void activeContextChanged();
@@ -176,7 +176,7 @@ protected:
QString m_szAwayString;
QString m_szBackString;
public:
- virtual bool addToPopupMenu(KviTalPopupMenu * pMenu);
+ virtual bool addToPopupMenu(QMenu * pMenu);
virtual QAction * addToCustomToolBar(KviCustomToolBar * pTool);
protected:
virtual void setup();
diff --git a/src/kvirc/kernel/KviFileTransfer.cpp b/src/kvirc/kernel/KviFileTransfer.cpp
index ec36ac5db..4f6c18292 100644
--- a/src/kvirc/kernel/KviFileTransfer.cpp
+++ b/src/kvirc/kernel/KviFileTransfer.cpp
@@ -28,7 +28,7 @@
#include "KviApplication.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
static KviFileTransferManager * g_pFileTransferManager = 0;
diff --git a/src/kvirc/kernel/KviFileTransfer.h b/src/kvirc/kernel/KviFileTransfer.h
index ec260f195..4cb8ff201 100644
--- a/src/kvirc/kernel/KviFileTransfer.h
+++ b/src/kvirc/kernel/KviFileTransfer.h
@@ -33,7 +33,7 @@
class KviFileTransfer;
class KviWindow;
-class KviTalPopupMenu;
+class QMenu;
class QPainter;
// This is for the external extension
@@ -107,7 +107,7 @@ public:
virtual QString localFileName();
virtual QString retryCommand();
virtual int displayHeight(int iLineSpacing);
- virtual void fillContextPopup(KviTalPopupMenu * m) = 0;
+ virtual void fillContextPopup(QMenu * m) = 0;
virtual void die();
};
diff --git a/src/kvirc/kernel/KviIconManager.cpp b/src/kvirc/kernel/KviIconManager.cpp
index 084c8da43..e1e25bdd8 100644
--- a/src/kvirc/kernel/KviIconManager.cpp
+++ b/src/kvirc/kernel/KviIconManager.cpp
@@ -471,7 +471,7 @@ bool KviIconWidget::eventFilter(QObject * pObject, QEvent * pEvent)
if(bOk)
emit selected(eIcon);
- if(parentWidget() && isVisible() && parentWidget()->inherits("KviTalPopupMenu"))
+ if(parentWidget() && isVisible() && parentWidget()->inherits("QMenu"))
{
parentWidget()->close();
return true;
diff --git a/src/kvirc/kvs/KviKvsPopupMenu.cpp b/src/kvirc/kvs/KviKvsPopupMenu.cpp
index 9fed00ab1..5f8286b98 100644
--- a/src/kvirc/kvs/KviKvsPopupMenu.cpp
+++ b/src/kvirc/kvs/KviKvsPopupMenu.cpp
@@ -33,6 +33,7 @@
#include "KviCommandFormatter.h"
#include "KviOptions.h"
+#include <QWidgetAction>
// popup names
// rootname : the root popup
@@ -134,7 +135,7 @@ KviKvsPopupMenuItemSeparator::~KviKvsPopupMenuItemSeparator()
void KviKvsPopupMenuItemSeparator::fill(KviKvsPopupMenu * pMenu,KviKvsPopupMenuTopLevelData * pData,int)
{
if(!evaluateCondition(pData))return;
- pMenu->insertSeparator();
+ ((QMenu*)pMenu)->addSeparator();
}
KviKvsPopupMenuItem * KviKvsPopupMenuItemSeparator::clone() const
@@ -327,7 +328,7 @@ void KviKvsPopupMenuItemLabel::fill(KviKvsPopupMenu * pMenu,KviKvsPopupMenuTopLe
m_pLabel->setStyleSheet("background-color: " + p.color(QPalette::Normal, QPalette::Mid).name());
if(pPix)m_pLabel->setPixmap(*pPix);
- pMenu->insertItem(m_pLabel);
+ pMenu->addAction(new QWidgetAction(m_pLabel));
}
@@ -358,10 +359,12 @@ void KviKvsPopupMenuItemItem::fill(KviKvsPopupMenu * pMenu,KviKvsPopupMenuTopLev
if(!evaluateCondition(pData))return;
QString szText = evaluateText(pData);
QPixmap * pPix = evaluateIcon(pData);
- int id;
- if(pPix)id = pMenu->insertItem(*pPix,szText);
- else id = pMenu->insertItem(szText);
- pMenu->setItemParameter(id,iIdx);
+ QAction *pAction;
+ if(pPix)
+ pAction = pMenu->addAction(*pPix,szText);
+ else
+ pAction = pMenu->addAction(szText);
+ pAction->setData(iIdx);
}
KviKvsPopupMenuItem * KviKvsPopupMenuItemItem::clone() const
@@ -408,11 +411,14 @@ void KviKvsPopupMenuItemMenu::fill(KviKvsPopupMenu * pMenu,KviKvsPopupMenuTopLev
if(!evaluateCondition(pData))return;
QString szText = evaluateText(pData);
QPixmap * pPix = evaluateIcon(pData);
- int id;
+ QAction *pAction;
m_pMenu->setParentPopup(pMenu);
- if(pPix)id = pMenu->insertItem(*pPix,szText,m_pMenu);
- else id = pMenu->insertItem(szText,m_pMenu);
- pMenu->setItemParameter(id,iIdx);
+ if(pPix)
+ pAction = pMenu->addAction(*pPix,szText);
+ else
+ pAction = pMenu->addAction(szText);
+ pAction->setMenu(m_pMenu);
+ pAction->setData(iIdx);
}
void KviKvsPopupMenuItemMenu::clear()
@@ -489,10 +495,14 @@ void KviKvsPopupMenuItemExtMenu::fill(KviKvsPopupMenu * pMenu,KviKvsPopupMenuTop
m_pMenu = new KviKvsPopupMenu(tmp);
m_pMenu->copyFrom(source);
m_pMenu->setParentPopup(pMenu);
- int id;
- if(pPix)id = pMenu->insertItem(*pPix,szText,m_pMenu);
- else id = pMenu->insertItem(szText,m_pMenu);
- pMenu->setItemParameter(id,iIdx);
+
+ QAction *pAction;
+ if(pPix)
+ pAction = pMenu->addAction(*pPix,szText);
+ else
+ pAction = pMenu->addAction(szText);
+ pAction->setMenu(m_pMenu);
+ pAction->setData(iIdx);
} else {
pData->window()->output(KVI_OUT_PARSERWARNING,__tr2qs_ctx("Can't find the external popup '%Q': ignoring","kvs"),&m_szMenuName);
}
@@ -516,7 +526,7 @@ KviKvsPopupMenuTopLevelData::~KviKvsPopupMenuTopLevelData()
KviKvsPopupMenu::KviKvsPopupMenu(const QString &szName)
-:KviTalPopupMenu(0,szName)
+:QMenu(szName, 0)
{
m_szName = szName;
m_pItemList = new KviPointerList<KviKvsPopupMenuItem>;
@@ -529,7 +539,7 @@ KviKvsPopupMenu::KviKvsPopupMenu(const QString &szName)
m_pTopLevelData = 0;
m_pTempTopLevelData = 0;
m_bSetupDone = false;
- connect(this,SIGNAL(activated(int)),this,SLOT(itemClicked(int)));
+ connect(this,SIGNAL(triggered(QAction*)),this,SLOT(itemClicked(QAction *)));
connect(this,SIGNAL(aboutToShow()),this,SLOT(setupMenuContents()));
}
@@ -735,7 +745,7 @@ void KviKvsPopupMenu::doPopup(const QPoint & pnt,KviWindow * wnd,KviKvsVariantLi
clearMenuContents();
m_pTempTopLevelData = new KviKvsPopupMenuTopLevelData(pParams,wnd);
m_pTempTopLevelData->setTestMode(bTestMode);
- KviTalPopupMenu::popup(pnt);
+ QMenu::popup(pnt);
}
void KviKvsPopupMenu::clearMenuContents()
@@ -884,9 +894,12 @@ void KviKvsPopupMenu::executeEpilogues(KviKvsPopupMenuTopLevelData * pData)
}
-void KviKvsPopupMenu::itemClicked(int itemId)
+void KviKvsPopupMenu::itemClicked(QAction *pAction)
{
- int param = itemParameter(itemId);
+ bool bOk=false;
+ int param = pAction->data().toInt(&bOk);
+ if(!bOk)
+ return;
KviKvsPopupMenuItem * it = m_pItemList->at(param);
KviKvsPopupMenuTopLevelData * d = topLevelData();
if(it && d)
diff --git a/src/kvirc/kvs/KviKvsPopupMenu.h b/src/kvirc/kvs/KviKvsPopupMenu.h
index 4f40e0a49..2e117864f 100644
--- a/src/kvirc/kvs/KviKvsPopupMenu.h
+++ b/src/kvirc/kvs/KviKvsPopupMenu.h
@@ -32,7 +32,7 @@
#include "KviKvsScript.h"
#include "KviKvsRunTimeContext.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QLabel>
#include <QPixmap>
@@ -229,7 +229,7 @@ public:
};
-class KVIRC_API KviKvsPopupMenu : public KviTalPopupMenu
+class KVIRC_API KviKvsPopupMenu : public QMenu
{
friend class KviKvsPopupMenuItemMenu;
friend class KviKvsPopupManager;
@@ -260,7 +260,7 @@ public:
bool isHardLocked();
void lock(KviKvsPopupMenuTopLevelData::LockStatus eLock);
KviKvsPopupMenu * addPopup(const QString &szItemName,const QString &szText,const QString &szIcon,const QString &szCondition);
- void addSeparator(const QString &szItemName,const QString &szCondition);
+ void addSeparator(const QString &szItemName,const QString &szCondition);
void addLabel(const QString &szItemName,const QString &szText,const QString &szIcon,const QString &szCondition);
void addItem(const QString &szItemName,const QString &szCode,const QString &szText,const QString &szIcon,const QString &szCondition);
void addExtPopup(const QString &szItemName,const QString &szPopupName,const QString &szText,const QString &szIcon,const QString &szCondition);
@@ -288,7 +288,7 @@ private slots:
protected:
void clearMenuContents();
protected slots:
- void itemClicked(int itemId);
+ void itemClicked(QAction *pAction);
signals:
void testModeItemClicked(KviKvsPopupMenuItem * it);
};
diff --git a/src/kvirc/ui/KviChannelWindow.cpp b/src/kvirc/ui/KviChannelWindow.cpp
index 71afb8617..df4afcb8d 100644
--- a/src/kvirc/ui/KviChannelWindow.cpp
+++ b/src/kvirc/ui/KviChannelWindow.cpp
@@ -54,7 +54,7 @@
#include "KviPointerHashTable.h"
#include "KviKvsScript.h"
#include "KviKvsEventTriggers.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#ifdef COMPILE_CRYPT_SUPPORT
#include "KviCryptEngine.h"
diff --git a/src/kvirc/ui/KviConsoleWindow.cpp b/src/kvirc/ui/KviConsoleWindow.cpp
index 9d906376d..1f8673e35 100644
--- a/src/kvirc/ui/KviConsoleWindow.cpp
+++ b/src/kvirc/ui/KviConsoleWindow.cpp
@@ -68,7 +68,7 @@
#include "KviKvsScript.h"
#include "KviKvsEventTriggers.h"
#include "KviTalHBox.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviNickColors.h"
#ifdef COMPILE_SSL_SUPPORT
diff --git a/src/kvirc/ui/KviCustomToolBar.cpp b/src/kvirc/ui/KviCustomToolBar.cpp
index fc39897e9..dedd3ca56 100644
--- a/src/kvirc/ui/KviCustomToolBar.cpp
+++ b/src/kvirc/ui/KviCustomToolBar.cpp
@@ -30,7 +30,7 @@
#include "KviApplication.h"
#include "KviActionManager.h"
#include "KviCustomToolBarDescriptor.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QCursor>
#include <QLayout>
diff --git a/src/kvirc/ui/KviImageDialog.cpp b/src/kvirc/ui/KviImageDialog.cpp
index f299ed8c1..61a51100d 100644
--- a/src/kvirc/ui/KviImageDialog.cpp
+++ b/src/kvirc/ui/KviImageDialog.cpp
@@ -127,13 +127,13 @@ KviImageDialog::KviImageDialog(QWidget * par,
{
tmp += ": ";
tmp += __tr2qs("Small icons");
- m_pTypeComboBox->insertItem(0,tmp);
+ m_pTypeComboBox->insertItem(0,tmp);
m_pTypeList->append(KID_TYPE_BUILTIN_IMAGES_SMALL);
}
if(types & KID_TYPE_FULL_PATH)
{
- m_pTypeComboBox->insertItem(m_pTypeComboBox->count(),__tr2qs("Full path"));
+ m_pTypeComboBox->insertItem(m_pTypeComboBox->count(),__tr2qs("Full path"));
m_pTypeList->append(KID_TYPE_FULL_PATH);
}
diff --git a/src/kvirc/ui/KviInput.cpp b/src/kvirc/ui/KviInput.cpp
index 51bb01971..8fe7b3f03 100644
--- a/src/kvirc/ui/KviInput.cpp
+++ b/src/kvirc/ui/KviInput.cpp
@@ -41,7 +41,7 @@
#include "KviHistoryWindow.h"
#include "KviUserInput.h"
#include "KviShortcut.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTalHBox.h"
#include "KviTalToolTip.h"
@@ -66,7 +66,7 @@
extern KviColorWindow * g_pColorWindow;
extern KviTextIconWindow * g_pTextIconWindow;
extern KviHistoryWindowWidget * g_pHistoryWindow;
-extern KviTalPopupMenu * g_pInputPopup;
+extern QMenu * g_pInputPopup;
KviInput::KviInput(KviWindow * pPar, KviUserListView * pView)
: QWidget(pPar)
diff --git a/src/kvirc/ui/KviInput.h b/src/kvirc/ui/KviInput.h
index 7bd177894..61422d0eb 100644
--- a/src/kvirc/ui/KviInput.h
+++ b/src/kvirc/ui/KviInput.h
@@ -43,7 +43,7 @@ class KviUserListView;
class KviWindow;
class KviInputEditor;
class KviTalHBox;
-class KviTalPopupMenu;
+class QMenu;
class KviScriptEditor;
/**
diff --git a/src/kvirc/ui/KviInputEditor.cpp b/src/kvirc/ui/KviInputEditor.cpp
index 723f1f8db..7ddc74453 100644
--- a/src/kvirc/ui/KviInputEditor.cpp
+++ b/src/kvirc/ui/KviInputEditor.cpp
@@ -42,7 +42,7 @@
#include "KviPixmapUtils.h"
#include "KviQString.h"
#include "kvi_out.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTextIconWindow.h"
#include "KviTextIconManager.h"
#include "KviUserInput.h"
@@ -64,7 +64,7 @@
#include <QInputContext>
// from KviApplication.cpp
-extern KviTalPopupMenu * g_pInputPopup;
+extern QMenu * g_pInputPopup;
extern KviTextIconWindow * g_pTextIconWindow;
extern KviColorWindow * g_pColorWindow;
@@ -122,8 +122,8 @@ KviInputEditor::KviInputEditor(QWidget * pPar, KviWindow * pWnd, KviUserListView
setFocusPolicy(Qt::StrongFocus);
setAcceptDrops(true);
- m_pIconMenu = new KviTalPopupMenu();
- connect(m_pIconMenu,SIGNAL(activated(int)),this,SLOT(iconPopupActivated(int)));
+ m_pIconMenu = new QMenu();
+ connect(m_pIconMenu,SIGNAL(triggered(QAction*)),this,SLOT(iconPopupActivated(QAction *)));
setCursor(Qt::IBeamCursor);
@@ -798,37 +798,37 @@ void KviInputEditor::mousePressEvent(QMouseEvent * e)
}
}
- int iId = g_pInputPopup->insertItem(__tr2qs("&Undo") + ACCEL_KEY(Z),this,SLOT(undo()));
- g_pInputPopup->setItemEnabled(iId,isUndoAvailable());
- iId = g_pInputPopup->insertItem(__tr2qs("&Redo") + ACCEL_KEY(Y),this,SLOT(redo()));
- g_pInputPopup->setItemEnabled(iId,isRedoAvailable());
- iId = g_pInputPopup->insertItem(__tr2qs("Cu&t") + ACCEL_KEY(X),this,SLOT(cut()));
- g_pInputPopup->setItemEnabled(iId,hasSelection());
- iId = g_pInputPopup->insertItem(__tr2qs("&Copy") + ACCEL_KEY(C),this,SLOT(copyToClipboard()));
- g_pInputPopup->setItemEnabled(iId,hasSelection());
- iId = g_pInputPopup->insertItem(__tr2qs("&Paste") + ACCEL_KEY(V),this,SLOT(pasteClipboardWithConfirmation()));
- g_pInputPopup->setItemEnabled(iId,!szClip.isEmpty() && !m_bReadOnly);
- iId = g_pInputPopup->insertItem(__tr2qs("Paste (Slowly)"),this,SLOT(pasteSlow()));
+ QAction * pAction = g_pInputPopup->addAction(__tr2qs("&Undo") + ACCEL_KEY(Z),this,SLOT(undo()));
+ pAction->setEnabled(isUndoAvailable());
+ pAction = g_pInputPopup->addAction(__tr2qs("&Redo") + ACCEL_KEY(Y),this,SLOT(redo()));
+ pAction->setEnabled(isRedoAvailable());
+ pAction = g_pInputPopup->addAction(__tr2qs("Cu&t") + ACCEL_KEY(X),this,SLOT(cut()));
+ pAction->setEnabled(hasSelection());
+ pAction = g_pInputPopup->addAction(__tr2qs("&Copy") + ACCEL_KEY(C),this,SLOT(copyToClipboard()));
+ pAction->setEnabled(hasSelection());
+ pAction = g_pInputPopup->addAction(__tr2qs("&Paste") + ACCEL_KEY(V),this,SLOT(pasteClipboardWithConfirmation()));
+ pAction->setEnabled(!szClip.isEmpty() && !m_bReadOnly);
+ pAction = g_pInputPopup->addAction(__tr2qs("Paste (Slowly)"),this,SLOT(pasteSlow()));
if ((iType == KviWindow::Channel) || (iType == KviWindow::Query) || (iType == KviWindow::DccChat))
- g_pInputPopup->setItemEnabled(iId,!szClip.isEmpty() && !m_bReadOnly);
+ pAction->setEnabled(!szClip.isEmpty() && !m_bReadOnly);
else
- g_pInputPopup->setItemEnabled(iId,false);
- iId = g_pInputPopup->insertItem(__tr2qs("Paste &File") + ACCEL_KEY(L),this,SLOT(pasteFile()));
+ pAction->setEnabled(false);
+ pAction = g_pInputPopup->addAction(__tr2qs("Paste &File") + ACCEL_KEY(L),this,SLOT(pasteFile()));
if ((iType != KviWindow::Channel) && (iType != KviWindow::Query) && (iType != KviWindow::DccChat))
- g_pInputPopup->setItemEnabled(iId,false);
+ pAction->setEnabled(false);
else
- g_pInputPopup->setItemEnabled(iId,!m_bReadOnly);
+ pAction->setEnabled(!m_bReadOnly);
if(m_bSpSlowFlag)
{
- iId = g_pInputPopup->insertItem(__tr2qs("Stop Paste"),this,SLOT(stopPasteSlow())); /*G&N 2005*/
+ pAction = g_pInputPopup->addAction(__tr2qs("Stop Paste"),this,SLOT(stopPasteSlow())); /*G&N 2005*/
}
- iId = g_pInputPopup->insertItem(__tr2qs("Clear"),this,SLOT(clear()));
- g_pInputPopup->setItemEnabled(iId,!m_szTextBuffer.isEmpty() && !m_bReadOnly);
- g_pInputPopup->insertSeparator();
- iId = g_pInputPopup->insertItem(__tr2qs("Select All"),this,SLOT(selectAll()));
- g_pInputPopup->setItemEnabled(iId,(!m_szTextBuffer.isEmpty()));
+ pAction = g_pInputPopup->addAction(__tr2qs("Clear"),this,SLOT(clear()));
+ pAction->setEnabled(!m_szTextBuffer.isEmpty() && !m_bReadOnly);
+ g_pInputPopup->addSeparator();
+ pAction = g_pInputPopup->addAction(__tr2qs("Select All"),this,SLOT(selectAll()));
+ pAction->setEnabled((!m_szTextBuffer.isEmpty()));
- g_pInputPopup->insertSeparator();
+ g_pInputPopup->addSeparator();
m_pIconMenu->clear();
KviPointerHashTable<QString,KviTextIcon> * d = g_pTextIconManager->textIconDict();
@@ -851,11 +851,12 @@ void KviInputEditor::mousePressEvent(QMouseEvent * e)
if(pIcon)
{
pPix = pIcon->pixmap();
- if(pPix) m_pIconMenu->insertItem(*pPix,*iter);
+ if(pPix) m_pIconMenu->addAction(*pPix,*iter);
}
}
- g_pInputPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::BigGrin)),__tr2qs("Insert Icon"),m_pIconMenu);
+ pAction = g_pInputPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::BigGrin)),__tr2qs("Insert Icon"));
+ pAction->setMenu(m_pIconMenu);
QInputContext *qic = g_pApp->inputContext();
if (qic) {
@@ -870,11 +871,11 @@ void KviInputEditor::mousePressEvent(QMouseEvent * e)
}
}
-void KviInputEditor::iconPopupActivated(int iId)
+void KviInputEditor::iconPopupActivated(QAction *pAction)
{
if(!m_bReadOnly)
{
- QString szText = m_pIconMenu->text(iId);
+ QString szText = pAction->text();
if(!szText.isEmpty())
{
szText.prepend(KviControlCodes::Icon);
diff --git a/src/kvirc/ui/KviInputEditor.h b/src/kvirc/ui/KviInputEditor.h
index fbaae5e90..c29b879d2 100644
--- a/src/kvirc/ui/KviInputEditor.h
+++ b/src/kvirc/ui/KviInputEditor.h
@@ -52,7 +52,7 @@
class QKeyEvent;
class QDragEnterEvent;
class KviUserListView;
-class KviTalPopupMenu;
+class QMenu;
#define KVI_INPUT_MAX_BUFFER_SIZE 400
#define KVI_INPUT_XTRAPADDING 1
@@ -148,7 +148,7 @@ protected:
KviCString m_szAltKeyCode;
KviWindow * m_pKviWindow;
QWidget * m_pInputParent;
- KviTalPopupMenu * m_pIconMenu;
+ QMenu * m_pIconMenu;
bool m_bReadOnly;
/**
@@ -541,7 +541,7 @@ public slots:
* \param iId The id of the icon
* \return void
*/
- void iconPopupActivated(int iId);
+ void iconPopupActivated(QAction *pAction);
/**
* \brief Copies the text to the system clipboard
diff --git a/src/kvirc/ui/KviIrcToolBar.cpp b/src/kvirc/ui/KviIrcToolBar.cpp
index 63d25bbe5..b9dd06ae8 100644
--- a/src/kvirc/ui/KviIrcToolBar.cpp
+++ b/src/kvirc/ui/KviIrcToolBar.cpp
@@ -40,7 +40,7 @@
#include "KviIrcConnectionUserInfo.h"
#include "KviIrcContext.h"
#include "KviLagMeter.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviMdiManager.h"
#include "KviPixmapUtils.h"
diff --git a/src/kvirc/ui/KviIrcToolBar.h b/src/kvirc/ui/KviIrcToolBar.h
index 2d58852be..f3eda4d66 100644
--- a/src/kvirc/ui/KviIrcToolBar.h
+++ b/src/kvirc/ui/KviIrcToolBar.h
@@ -35,7 +35,7 @@
#include <QToolButton>
#include <QLabel>
-class KviTalPopupMenu;
+class QMenu;
//
diff --git a/src/kvirc/ui/KviIrcView.cpp b/src/kvirc/ui/KviIrcView.cpp
index 055f79220..0d024f9f9 100644
--- a/src/kvirc/ui/KviIrcView.cpp
+++ b/src/kvirc/ui/KviIrcView.cpp
@@ -96,7 +96,7 @@
#include "KviIrcConnection.h"
#include "KviMdiManager.h"
#include "KviUserInput.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviAnimatedPixmap.h"
#include "KviPixmapUtils.h"
#include "KviTrayIcon.h"
@@ -2073,24 +2073,24 @@ QSize KviIrcView::sizeHint() const
void KviIrcView::showToolsPopup()
{
if(!m_pToolsPopup)
- m_pToolsPopup = new KviTalPopupMenu(this);
+ m_pToolsPopup = new QMenu(this);
m_pToolsPopup->clear();
if(m_pToolWidget)
- m_pToolsPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Search)),__tr2qs("Hide Filter"),this,SLOT(toggleToolWidget()));
+ m_pToolsPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Search)),__tr2qs("Hide Filter"),this,SLOT(toggleToolWidget()));
else
- m_pToolsPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Search)),__tr2qs("Show Filter"),this,SLOT(toggleToolWidget()));
+ m_pToolsPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Search)),__tr2qs("Show Filter"),this,SLOT(toggleToolWidget()));
- m_pToolsPopup->insertSeparator();
- m_pToolsPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Plus)),__tr2qs("Zoom In"),this,SLOT(increaseFontSize()));
- m_pToolsPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Minus)),__tr2qs("Zoom Out"),this,SLOT(decreaseFontSize()));
- m_pToolsPopup->insertItem(__tr2qs("Choose Temporary Font..."),this,SLOT(chooseFont()));
- m_pToolsPopup->insertItem(__tr2qs("Choose Temporary Background..."),this,SLOT(chooseBackground()));
- int id = m_pToolsPopup->insertItem(__tr2qs("Reset Temporary Background"),this,SLOT(resetBackground()));
- m_pToolsPopup->setItemEnabled(id,m_pPrivateBackgroundPixmap != 0);
- m_pToolsPopup->insertSeparator();
- m_pToolsPopup->insertItem(__tr2qs("Clear Buffer"),this,SLOT(clearBuffer()));
+ m_pToolsPopup->addSeparator();
+ m_pToolsPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Plus)),__tr2qs("Zoom In"),this,SLOT(increaseFontSize()));
+ m_pToolsPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Minus)),__tr2qs("Zoom Out"),this,SLOT(decreaseFontSize()));
+ m_pToolsPopup->addAction(__tr2qs("Choose Temporary Font..."),this,SLOT(chooseFont()));
+ m_pToolsPopup->addAction(__tr2qs("Choose Temporary Background..."),this,SLOT(chooseBackground()));
+ QAction * pAction = m_pToolsPopup->addAction(__tr2qs("Reset Temporary Background"),this,SLOT(resetBackground()));
+ pAction->setEnabled(m_pPrivateBackgroundPixmap != 0);
+ m_pToolsPopup->addSeparator();
+ m_pToolsPopup->addAction(__tr2qs("Clear Buffer"),this,SLOT(clearBuffer()));
QSize s = m_pToolsPopup->sizeHint();
diff --git a/src/kvirc/ui/KviIrcView.h b/src/kvirc/ui/KviIrcView.h
index 0fe5466ec..79affb269 100644
--- a/src/kvirc/ui/KviIrcView.h
+++ b/src/kvirc/ui/KviIrcView.h
@@ -37,7 +37,7 @@ class QScrollBar;
class QLineEdit;
class QFile;
class QFontMetrics;
-class KviTalPopupMenu;
+class QMenu;
class KviWindow;
class KviMainWindow;
@@ -94,7 +94,7 @@ private:
QPixmap * m_pPrivateBackgroundPixmap;
QScrollBar * m_pScrollBar;
QToolButton * m_pToolsButton;
- KviTalPopupMenu * m_pToolsPopup;
+ QMenu * m_pToolsPopup;
KviIrcViewToolWidget * m_pToolWidget;
diff --git a/src/kvirc/ui/KviIrcView_tools.cpp b/src/kvirc/ui/KviIrcView_tools.cpp
index e3cf7e272..a9e182804 100644
--- a/src/kvirc/ui/KviIrcView_tools.cpp
+++ b/src/kvirc/ui/KviIrcView_tools.cpp
@@ -154,9 +154,9 @@ KviIrcViewToolWidget::KviIrcViewToolWidget(KviIrcView * pParent)
pLabel = new QLabel(__tr2qs("Pattern:"),m_pOptionsWidget);
pOptionsLayout->addWidget(pLabel,8,0);
m_pSearchMode = new QComboBox(m_pOptionsWidget);
- m_pSearchMode->insertItem(PlainText, __tr2qs("Plain Text"));
- m_pSearchMode->insertItem(Wildcards, __tr2qs("Wildcards"));
- m_pSearchMode->insertItem(RegExp, __tr2qs("RegExp"));
+ m_pSearchMode->insertItem(PlainText, __tr2qs("Plain Text"));
+ m_pSearchMode->insertItem(Wildcards, __tr2qs("Wildcards"));
+ m_pSearchMode->insertItem(RegExp, __tr2qs("RegExp"));
pOptionsLayout->addWidget(m_pSearchMode,8,1);
pLabel = new QLabel(__tr2qs("Match:"),m_pOptionsWidget);
diff --git a/src/kvirc/ui/KviMainWindow.cpp b/src/kvirc/ui/KviMainWindow.cpp
index 5b8887395..5264c8a83 100644
--- a/src/kvirc/ui/KviMainWindow.cpp
+++ b/src/kvirc/ui/KviMainWindow.cpp
@@ -58,7 +58,7 @@
#include "KviIrcView.h"
#include "KviKvsScript.h"
#include "KviKvsEventTriggers.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTextIconManager.h"
#include "KviShortcut.h"
@@ -349,7 +349,12 @@ void KviMainWindow::accelActivated()
void KviMainWindow::executeInternalCommand(int index)
{
- KviKvsScript::run(kvi_getInternalCommandBuffer(index),firstConsole());
+ KviConsoleWindow *pConsole=0;
+ if(activeContext() && activeContext()->console())
+ pConsole=activeContext()->console();
+ else
+ pConsole=firstConsole();
+ KviKvsScript::run(kvi_getInternalCommandBuffer(index),pConsole);
}
@@ -958,14 +963,14 @@ void KviMainWindow::toggleStatusBar()
}
}
-void KviMainWindow::fillToolBarsPopup(KviTalPopupMenu * p)
+void KviMainWindow::fillToolBarsPopup(QMenu * p)
{
p->clear();
- disconnect(p,SIGNAL(activated(int)),this,SLOT(toolbarsPopupSelected(int))); // just to be sure
- connect(p,SIGNAL(activated(int)),this,SLOT(toolbarsPopupSelected(int)));
+ disconnect(p,SIGNAL(triggered(QAction *)),this,SLOT(toolbarsPopupSelected(QAction *))); // just to be sure
+ connect(p,SIGNAL(triggered(QAction *)),this,SLOT(toolbarsPopupSelected(QAction *)));
- int id;
+ QAction *pAction=0;
int cnt = 0;
KviModuleExtensionDescriptorList * l = g_pModuleExtensionManager->getExtensionList("toolbar");
@@ -974,10 +979,13 @@ void KviMainWindow::fillToolBarsPopup(KviTalPopupMenu * p)
for(KviModuleExtensionDescriptor * d = l->first();d;d = l->next())
{
QString label = __tr2qs("Show %1").arg(d->visibleName());
- if(d->icon())id = p->insertItem(*(d->icon()),label);
- else id = p->insertItem(label);
- p->setItemChecked(id,moduleExtensionToolBar(d->id()));
- p->setItemParameter(id,d->id());
+ if(d->icon())
+ pAction = p->addAction(*(d->icon()),label);
+ else
+ pAction = p->addAction(label);
+ pAction->setCheckable(true);
+ pAction->setChecked(moduleExtensionToolBar(d->id()));
+ pAction->setData(d->id());
cnt++;
}
}
@@ -987,7 +995,7 @@ void KviMainWindow::fillToolBarsPopup(KviTalPopupMenu * p)
if(it2.current())
{
if(cnt > 0)
- p->insertSeparator();
+ p->addSeparator();
while(KviCustomToolBarDescriptor * d = it2.current())
{
@@ -998,24 +1006,25 @@ void KviMainWindow::fillToolBarsPopup(KviTalPopupMenu * p)
QPixmap * pix = g_pIconManager->getImage(d->iconId());
if(pix)
{
- id = p->insertItem(*pix,label);
+ pAction = p->addAction(*pix,label);
} else {
- id = p->insertItem(label);
+ pAction = p->addAction(label);
}
} else {
- id = p->insertItem(label);
+ pAction = p->addAction(label);
}
- p->setItemParameter(id,d->internalId());
- p->setItemChecked(id,d->toolBar());
+ pAction->setData(d->internalId());
+ pAction->setCheckable(true);
+ pAction->setChecked(d->toolBar());
++it2;
cnt++;
}
}
if(cnt > 0)
- p->insertSeparator();
+ p->addSeparator();
- p->insertItem(
+ p->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::ToolBar)),
__tr2qs("Customize..."),
this,
@@ -1028,13 +1037,12 @@ void KviMainWindow::customizeToolBars()
KviKvsScript::run("toolbareditor.open",g_pActiveWindow);
}
-void KviMainWindow::toolbarsPopupSelected(int id)
+void KviMainWindow::toolbarsPopupSelected(QAction *pAction)
{
- const QObject * o = sender();
- if(!o)return;
- if(!o->inherits("KviTalPopupMenu"))return;
-
- int idext = ((KviTalPopupMenu *)o)->itemParameter(id);
+ bool bOk=false;
+ int idext=pAction->data().toInt(&bOk);
+ if(!bOk)
+ return;
KviCustomToolBarDescriptor * dd = KviCustomToolBarManager::instance()->findDescriptorByInternalId(idext);
if(dd)
diff --git a/src/kvirc/ui/KviMainWindow.h b/src/kvirc/ui/KviMainWindow.h
index 178bbd847..4035c5fac 100644
--- a/src/kvirc/ui/KviMainWindow.h
+++ b/src/kvirc/ui/KviMainWindow.h
@@ -49,7 +49,7 @@ class KviMexToolBar;
class KviIrcContext;
class KviIrcConnection;
class KviStatusBar;
-class KviTalPopupMenu;
+class QMenu;
class KviTrayIcon;
class QShortcut;
@@ -146,8 +146,8 @@ public:
KviMexToolBar * moduleExtensionToolBar(int extensionId);
// Helper to fill the toolbars popup
// it is used by KviToolBar and KviMenuBar
- void fillToolBarsPopup(KviTalPopupMenu * p);
- void fillIconSizePopup(KviTalPopupMenu * p);
+ void fillToolBarsPopup(QMenu * p);
+ void fillIconSizePopup(QMenu * p);
// Set the size of the icons used by the whole app
// Allowed sizes are 16, 22, 32 and 48
void setIconSize(unsigned int uSize);
@@ -205,7 +205,7 @@ protected slots:
void minimizeWindow();
void accelActivated();
- void toolbarsPopupSelected(int id);
+ void toolbarsPopupSelected(QAction *pAction);
void iconSizePopupSelected(QAction * pAction);
void buttonStylePopupSelected(QAction * pAction);
signals:
diff --git a/src/kvirc/ui/KviMdiChild.cpp b/src/kvirc/ui/KviMdiChild.cpp
index ca33778a3..78ebcda28 100644
--- a/src/kvirc/ui/KviMdiChild.cpp
+++ b/src/kvirc/ui/KviMdiChild.cpp
@@ -39,7 +39,7 @@
#include "KviIconManager.h"
#include "KviMainWindow.h"
#include "KviWindow.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviIrcConnection.h"
#include "KviIrcConnectionTarget.h"
#include "KviIrcContext.h"
diff --git a/src/kvirc/ui/KviMdiManager.cpp b/src/kvirc/ui/KviMdiManager.cpp
index 72724df95..11f14c32e 100644
--- a/src/kvirc/ui/KviMdiManager.cpp
+++ b/src/kvirc/ui/KviMdiManager.cpp
@@ -39,7 +39,7 @@
#include "KviMainWindow.h"
#include "KviMenuBar.h"
#include "KviApplication.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTalHBox.h"
#include <QMenuBar>
@@ -76,11 +76,11 @@ KviMdiManager::KviMdiManager(QWidget * parent,const char *pcName)
m_bIgnoreSDIModeChange = false;
setIsInSDIMode(KVI_OPTION_BOOL(KviOption_boolMdiManagerInSdiMode));
- m_pWindowPopup = new KviTalPopupMenu(this);
- connect(m_pWindowPopup,SIGNAL(activated(int)),this,SLOT(menuActivated(int)));
+ m_pWindowPopup = new QMenu(this);
+ connect(m_pWindowPopup,SIGNAL(triggered(QAction *)),this,SLOT(menuActivated(QAction *)));
connect(m_pWindowPopup,SIGNAL(aboutToShow()),this,SLOT(fillWindowPopup()));
- m_pTileMethodPopup = new KviTalPopupMenu(this);
- connect(m_pTileMethodPopup,SIGNAL(activated(int)),this,SLOT(tileMethodMenuActivated(int)));
+ m_pTileMethodPopup = new QMenu(this);
+ connect(m_pTileMethodPopup,SIGNAL(triggered(QAction *)),this,SLOT(tileMethodMenuActivated(QAction *)));
setAutoFillBackground(false);
viewport()->setAutoFillBackground(false);
@@ -225,47 +225,64 @@ void KviMdiManager::fillWindowPopup()
{
m_pWindowPopup->clear();
- m_pWindowPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::CascadeWindows)),(__tr2qs("&Cascade Windows")),this,SLOT(cascadeWindows()));
- m_pWindowPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::CascadeWindows)),(__tr2qs("Cascade &Maximized")),this,SLOT(cascadeMaximized()));
+ m_pWindowPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::CascadeWindows)),(__tr2qs("&Cascade Windows")),this,SLOT(cascadeWindows()));
+ m_pWindowPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::CascadeWindows)),(__tr2qs("Cascade &Maximized")),this,SLOT(cascadeMaximized()));
- m_pWindowPopup->insertSeparator();
- m_pWindowPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("&Tile Windows")),this,SLOT(tile()));
+ m_pWindowPopup->addSeparator();
+ m_pWindowPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("&Tile Windows")),this,SLOT(tile()));
m_pTileMethodPopup->clear();
- int id = m_pTileMethodPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::AutoTileWindows)),(__tr2qs("&Auto Tile")),this,SLOT(toggleAutoTile()));
- m_pTileMethodPopup->setItemChecked(id,KVI_OPTION_BOOL(KviOption_boolAutoTileWindows));
- m_pTileMethodPopup->setItemParameter(id,-1);
- m_pTileMethodPopup->insertSeparator();
- int ids[KVI_NUM_TILE_METHODS];
- ids[KVI_TILE_METHOD_ANODINE] = m_pTileMethodPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Anodine's Full Grid")));
- m_pTileMethodPopup->setItemParameter(ids[KVI_TILE_METHOD_ANODINE],KVI_TILE_METHOD_ANODINE);
- ids[KVI_TILE_METHOD_PRAGMA4HOR] = m_pTileMethodPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Pragma's Horizontal 4-Grid")));
- m_pTileMethodPopup->setItemParameter(ids[KVI_TILE_METHOD_PRAGMA4HOR],KVI_TILE_METHOD_PRAGMA4HOR);
- ids[KVI_TILE_METHOD_PRAGMA4VER] = m_pTileMethodPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Pragma's Vertical 4-Grid")));
- m_pTileMethodPopup->setItemParameter(ids[KVI_TILE_METHOD_PRAGMA4VER],KVI_TILE_METHOD_PRAGMA4VER);
- ids[KVI_TILE_METHOD_PRAGMA6HOR] = m_pTileMethodPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Pragma's Horizontal 6-Grid")));
- m_pTileMethodPopup->setItemParameter(ids[KVI_TILE_METHOD_PRAGMA6HOR],KVI_TILE_METHOD_PRAGMA6HOR);
- ids[KVI_TILE_METHOD_PRAGMA6VER] = m_pTileMethodPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Pragma's Vertical 6-Grid")));
- m_pTileMethodPopup->setItemParameter(ids[KVI_TILE_METHOD_PRAGMA6VER],KVI_TILE_METHOD_PRAGMA6VER);
- ids[KVI_TILE_METHOD_PRAGMA9HOR] = m_pTileMethodPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Pragma's Horizontal 9-Grid")));
- m_pTileMethodPopup->setItemParameter(ids[KVI_TILE_METHOD_PRAGMA9HOR],KVI_TILE_METHOD_PRAGMA9HOR);
- ids[KVI_TILE_METHOD_PRAGMA9VER] = m_pTileMethodPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Pragma's Vertical 9-Grid")));
- m_pTileMethodPopup->setItemParameter(ids[KVI_TILE_METHOD_PRAGMA9VER],KVI_TILE_METHOD_PRAGMA9VER);
+ QAction * pAction = m_pTileMethodPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::AutoTileWindows)),(__tr2qs("&Auto Tile")),this,SLOT(toggleAutoTile()));
+ pAction->setCheckable(true);
+ pAction->setChecked(KVI_OPTION_BOOL(KviOption_boolAutoTileWindows));
+ pAction->setData(-1);
+ m_pTileMethodPopup->addSeparator();
- if(KVI_OPTION_UINT(KviOption_uintTileMethod) >= KVI_NUM_TILE_METHODS)KVI_OPTION_UINT(KviOption_uintTileMethod) = KVI_TILE_METHOD_PRAGMA9HOR;
- m_pTileMethodPopup->setItemChecked(ids[KVI_OPTION_UINT(KviOption_uintTileMethod)],true);
+ if(KVI_OPTION_UINT(KviOption_uintTileMethod) >= KVI_NUM_TILE_METHODS)
+ KVI_OPTION_UINT(KviOption_uintTileMethod) = KVI_TILE_METHOD_PRAGMA9HOR;
- m_pWindowPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Tile Met&hod")),m_pTileMethodPopup);
+ uint uSelectedMethod= KVI_OPTION_UINT(KviOption_uintTileMethod);
+ pAction = m_pTileMethodPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Anodine's Full Grid")));
+ pAction->setData(KVI_TILE_METHOD_ANODINE);
+ pAction->setCheckable(true);
+ if(uSelectedMethod==KVI_TILE_METHOD_ANODINE) pAction->setChecked(true);
+ pAction = m_pTileMethodPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Pragma's Horizontal 4-Grid")));
+ pAction->setData(KVI_TILE_METHOD_PRAGMA4HOR);
+ pAction->setCheckable(true);
+ if(uSelectedMethod==KVI_TILE_METHOD_PRAGMA4HOR) pAction->setChecked(true);
+ pAction = m_pTileMethodPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Pragma's Vertical 4-Grid")));
+ pAction->setData(KVI_TILE_METHOD_PRAGMA4VER);
+ pAction->setCheckable(true);
+ if(uSelectedMethod==KVI_TILE_METHOD_PRAGMA4VER) pAction->setChecked(true);
+ pAction = m_pTileMethodPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Pragma's Horizontal 6-Grid")));
+ pAction->setData(KVI_TILE_METHOD_PRAGMA6HOR);
+ pAction->setCheckable(true);
+ if(uSelectedMethod==KVI_TILE_METHOD_PRAGMA6HOR) pAction->setChecked(true);
+ pAction = m_pTileMethodPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Pragma's Vertical 6-Grid")));
+ pAction->setData(KVI_TILE_METHOD_PRAGMA6VER);
+ pAction->setCheckable(true);
+ if(uSelectedMethod==KVI_TILE_METHOD_PRAGMA6VER) pAction->setChecked(true);
+ pAction = m_pTileMethodPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Pragma's Horizontal 9-Grid")));
+ pAction->setData(KVI_TILE_METHOD_PRAGMA9HOR);
+ pAction->setCheckable(true);
+ if(uSelectedMethod==KVI_TILE_METHOD_PRAGMA9HOR) pAction->setChecked(true);
+ pAction = m_pTileMethodPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Pragma's Vertical 9-Grid")));
+ pAction->setData(KVI_TILE_METHOD_PRAGMA9VER);
+ pAction->setCheckable(true);
+ if(uSelectedMethod==KVI_TILE_METHOD_PRAGMA9VER) pAction->setChecked(true);
- m_pWindowPopup->insertSeparator();
- m_pWindowPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::MaxVertical)),(__tr2qs("Expand &Vertically")),this,SLOT(expandVertical()));
- m_pWindowPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::MaxHorizontal)),(__tr2qs("Expand &Horizontally")),this,SLOT(expandHorizontal()));
+ pAction = m_pWindowPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::TileWindows)),(__tr2qs("Tile Met&hod")));
+ pAction->setMenu(m_pTileMethodPopup);
- m_pWindowPopup->insertSeparator();
- m_pWindowPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Minimize)),(__tr2qs("Mi&nimize All")),this,SLOT(minimizeAll()));
- m_pWindowPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Restore)),(__tr2qs("&Restore all")),this,SLOT(restoreAll()));
+ m_pWindowPopup->addSeparator();
+ m_pWindowPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::MaxVertical)),(__tr2qs("Expand &Vertically")),this,SLOT(expandVertical()));
+ m_pWindowPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::MaxHorizontal)),(__tr2qs("Expand &Horizontally")),this,SLOT(expandHorizontal()));
- m_pWindowPopup->insertSeparator();
+ m_pWindowPopup->addSeparator();
+ m_pWindowPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Minimize)),(__tr2qs("Mi&nimize All")),this,SLOT(minimizeAll()));
+ m_pWindowPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Restore)),(__tr2qs("&Restore all")),this,SLOT(restoreAll()));
+
+ m_pWindowPopup->addSeparator();
int i = 100;
QString szItem;
QString szCaption;
@@ -307,10 +324,12 @@ void KviMdiManager::fillWindowPopup()
if (pix && !(pix->isNull()))
{
- m_pWindowPopup->insertItem(*pix, szItem,i);
+ pAction = m_pWindowPopup->addAction(*pix, szItem);
+ pAction->setData(i);
} else {
- m_pWindowPopup->insertItem(szItem);
- }
+ pAction = m_pWindowPopup->addAction(szItem);
+ pAction->setData(i);
+ }
//this is useless, since the windows are listed in stacking order, the active one
//will always be the last anyway.
@@ -320,9 +339,11 @@ void KviMdiManager::fillWindowPopup()
}
}
-void KviMdiManager::menuActivated(int id)
+void KviMdiManager::menuActivated(QAction *pAction)
{
- if(id<100)return;
+ bool bOk=false;
+ int id=pAction->data().toInt(&bOk);
+ if(!bOk || id<100)return;
id-=100;
QList<QMdiSubWindow *> tmp = subWindowList(QMdiArea::StackingOrder);
@@ -356,9 +377,12 @@ void KviMdiManager::ensureNoMaximized(KviMdiChild * lpExclude)
m_bIgnoreSDIModeChange = false;
}
-void KviMdiManager::tileMethodMenuActivated(int id)
+void KviMdiManager::tileMethodMenuActivated(QAction *pAction)
{
- int idx = m_pTileMethodPopup->itemParameter(id);
+ bool bOk=false;
+ int idx = pAction->data().toInt(&bOk);
+ if(!bOk)
+ return;
if(idx < 0) idx = 0;
if(idx >= KVI_NUM_TILE_METHODS) idx = KVI_TILE_METHOD_PRAGMA9VER;
diff --git a/src/kvirc/ui/KviMdiManager.h b/src/kvirc/ui/KviMdiManager.h
index db6aa37fa..c5a8c9a19 100644
--- a/src/kvirc/ui/KviMdiManager.h
+++ b/src/kvirc/ui/KviMdiManager.h
@@ -38,7 +38,7 @@
#include <QScrollBar>
class KviMainWindow;
-class KviTalPopupMenu;
+class QMenu;
/**
* \class KviMdiManager
@@ -78,9 +78,9 @@ private:
bool m_bIgnoreSDIModeChange;
protected:
/// Holds the specialized window popup
- KviTalPopupMenu * m_pWindowPopup;
+ QMenu * m_pWindowPopup;
/// Holds the tiling popup
- KviTalPopupMenu * m_pTileMethodPopup;
+ QMenu * m_pTileMethodPopup;
public:
/**
@@ -99,9 +99,9 @@ public:
/**
* \brief Returns the window popup
- * \return KviTalPopupMenu *
+ * \return QMenu *
*/
- inline KviTalPopupMenu * windowPopup() { return m_pWindowPopup; };
+ inline QMenu * windowPopup() { return m_pWindowPopup; };
/**
* \brief Move the focus the the previous active window
@@ -171,8 +171,8 @@ public slots:
void toggleAutoTile();
void tileAnodine();
protected slots:
- void menuActivated(int id);
- void tileMethodMenuActivated(int id);
+ void menuActivated(QAction *pAction);
+ void tileMethodMenuActivated(QAction *pAction);
void fillWindowPopup();
void processWindowStateChanged(Qt::WindowStates oldState, Qt::WindowStates newState);
};
diff --git a/src/kvirc/ui/KviMenuBar.cpp b/src/kvirc/ui/KviMenuBar.cpp
index 99188cce4..5944f7b63 100644
--- a/src/kvirc/ui/KviMenuBar.cpp
+++ b/src/kvirc/ui/KviMenuBar.cpp
@@ -39,7 +39,7 @@
#include "KviActionManager.h"
#include "KviCoreActionNames.h"
#include "KviKvsScript.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
KviMenuBar::KviMenuBar(KviMainWindow * par,const char * name)
: KviTalMenuBar(par,name)
@@ -47,7 +47,7 @@ KviMenuBar::KviMenuBar(KviMainWindow * par,const char * name)
setAutoFillBackground(false);
m_pFrm = par;
- KviTalPopupMenu * pop = new KviTalPopupMenu(this,"KVIrc");
+ QMenu * pop = new QMenu("KVIrc", this);
connect(pop,SIGNAL(aboutToShow()),this,SLOT(setupMainPopup()));
#ifndef COMPILE_ON_MAC
addDefaultItem("&KVIrc",pop);
@@ -55,34 +55,39 @@ KviMenuBar::KviMenuBar(KviMainWindow * par,const char * name)
// Qt/Mac creates already a "KVirc" menu item on its own, and we don't like double entries ;-)
addDefaultItem("&IRC",pop);
#endif //COMPILE_ON_MAC
- m_pRecentServersPopup = new KviTalPopupMenu(this,"recentservers");
+ m_pRecentServersPopup = new QMenu("recentservers",this);
connect(m_pRecentServersPopup,SIGNAL(aboutToShow()),this,SLOT(setupRecentServersPopup()));
- connect(m_pRecentServersPopup,SIGNAL(activated(int)),this,SLOT(newConnectionToServer(int)));
+ connect(m_pRecentServersPopup,SIGNAL(triggered(QAction*)),this,SLOT(newConnectionToServer(QAction *)));
m_pScriptItemList = 0;
- pop = new KviTalPopupMenu(this,"scripting");
+ pop = new QMenu("scripting",this);
connect(pop,SIGNAL(aboutToShow()),this,SLOT(setupScriptingPopup()));
addDefaultItem(__tr2qs("Scri&pting"),pop);
- pop = new KviTalPopupMenu(this,"tools");
+ pop = new QMenu("tools",this);
connect(pop,SIGNAL(aboutToShow()),this,SLOT(setupToolsPopup()));
- connect(pop,SIGNAL(activated(int)),this,SLOT(toolsPopupSelected(int)));
+ connect(pop,SIGNAL(triggered(QAction*)),this,SLOT(toolsPopupSelected(QAction *)));
addDefaultItem(__tr2qs("&Tools"),pop);
- m_pToolbarsPopup = new KviTalPopupMenu(this,"toolbars");
+ m_pToolbarsPopup = new QMenu("toolbars",this);
connect(m_pToolbarsPopup,SIGNAL(aboutToShow()),this,SLOT(setupToolbarsPopup()));
- pop = new KviTalPopupMenu(this,"settings");
+ pop = new QMenu("settings",this);
connect(pop,SIGNAL(aboutToShow()),this,SLOT(setupSettingsPopup()));
addDefaultItem(__tr2qs("&Settings"),pop);
addDefaultItem(__tr2qs("&Window"),par->mdiManager()->windowPopup());
- pop = new KviTalPopupMenu(this,"help");
+ pop = new QMenu("help",this);
connect(pop,SIGNAL(aboutToShow()),this,SLOT(setupHelpPopup()));
- connect(pop,SIGNAL(activated(int)),this,SLOT(actionTriggered(int)));
+ connect(pop,SIGNAL(triggered(QAction*)),this,SLOT(actionTriggered(QAction*)));
addDefaultItem(__tr2qs("&Help"),pop);
+
+#ifdef COMPILE_ON_MAC
+ m_pHelpMenu = pop;
+ QTimer::singleShot(0, this, SLOT(createMacNativeItems()));
+#endif
}
KviMenuBar::~KviMenuBar()
@@ -90,7 +95,19 @@ KviMenuBar::~KviMenuBar()
if(m_pScriptItemList)delete m_pScriptItemList;
}
-void KviMenuBar::addDefaultItem(const QString &text,KviTalPopupMenu * pop)
+void KviMenuBar::createMacNativeItems()
+{
+#ifdef COMPILE_ON_MAC
+
+ // qt will automatically move these elemnts in the application menu
+ QAction * pAction = m_pHelpMenu->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::KVIrc)),"about kvirc");
+ pAction->setData(KVI_INTERNALCOMMAND_ABOUT_ABOUTKVIRC);
+
+ ACTION_POPUP_ITEM(KVI_COREACTION_GENERALOPTIONS, m_pHelpMenu)
+#endif
+}
+
+void KviMenuBar::addDefaultItem(const QString &text,QMenu * pop)
{
pop->menuAction()->setText(text);
addAction(pop->menuAction());
@@ -98,87 +115,100 @@ void KviMenuBar::addDefaultItem(const QString &text,KviTalPopupMenu * pop)
void KviMenuBar::setupHelpPopup()
{
- KviTalPopupMenu * help = (KviTalPopupMenu *)sender();
+ QMenu * help = (QMenu *)sender();
help->clear();
ACTION_POPUP_ITEM(KVI_COREACTION_HELPINDEX,help)
- int id = help->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Help)),__tr2qs("&Help Browser (Panel)"));
- help->setItemParameter(id,KVI_INTERNALCOMMAND_HELP_NEWSTATICWINDOW);
-
-
- id = help->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Idea)),__tr2qs("&Tip of the Day"));
- help->setItemParameter(id,KVI_INTERNALCOMMAND_TIP_OPEN);
- help->insertSeparator();
+ QAction *pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Help)),__tr2qs("&Help Browser (Panel)"));
+ pAction->setData(KVI_INTERNALCOMMAND_HELP_NEWSTATICWINDOW);
- id = help->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::KVIrc)),__tr2qs("About &KVIrc"));
- help->setItemParameter(id,KVI_INTERNALCOMMAND_ABOUT_ABOUTKVIRC);
- help->insertSeparator();
- id = help->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::HomePage)),__tr2qs("KVIrc Home&page"));
- help->setItemParameter(id,KVI_INTERNALCOMMAND_KVIRC_HOMEPAGE);
+ pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Idea)),__tr2qs("&Tip of the Day"));
+ pAction->setData(KVI_INTERNALCOMMAND_TIP_OPEN);
+ help->addSeparator();
+#ifndef COMPILE_ON_MAC
+ pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::KVIrc)),__tr2qs("About &KVIrc"));
+ pAction->setData(KVI_INTERNALCOMMAND_ABOUT_ABOUTKVIRC);
+#endif
+ help->addSeparator();
+ pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::HomePage)),__tr2qs("KVIrc Home&page"));
+ pAction->setData(KVI_INTERNALCOMMAND_KVIRC_HOMEPAGE);
if(kvi_strEqualCIN(KviLocale::instance()->localeName(),"ru",2))
{
- id = help->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::HomePage)),__tr2qs("KVIrc Russian Home&page"));
- help->setItemParameter(id,KVI_INTERNALCOMMAND_KVIRC_HOMEPAGE_RU);
+ pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::HomePage)),__tr2qs("KVIrc Russian Home&page"));
+ pAction->setData(KVI_INTERNALCOMMAND_KVIRC_HOMEPAGE_RU);
}
if(kvi_strEqualCIN(KviLocale::instance()->localeName(),"fr",2))
{
- id = help->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::HomePage)),__tr2qs("KVIrc French Home&page"));
- help->setItemParameter(id,KVI_INTERNALCOMMAND_KVIRC_HOMEPAGE_FR);
+ pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::HomePage)),__tr2qs("KVIrc French Home&page"));
+ pAction->setData(KVI_INTERNALCOMMAND_KVIRC_HOMEPAGE_FR);
}
- help->insertSeparator();
- id = help->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Message)),__tr2qs("Subscribe to the Mailing List"));
- help->setItemParameter(id,KVI_INTERNALCOMMAND_OPENURL_KVIRC_MAILINGLIST);
- id = help->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Bomb)),__tr2qs("Report a Bug / Propose Improvements"));
- help->setItemParameter(id,KVI_INTERNALCOMMAND_OPENURL_KVIRC_BUGTRACK);
- help->insertSeparator();
- id = help->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Channel)),__tr2qs("Join KVIrc International Channel on Freenode"));
- help->setItemParameter(id,KVI_INTERNALCOMMAND_OPENURL_KVIRC_ON_FREENODE);
+ help->addSeparator();
+ pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Message)),__tr2qs("Subscribe to the Mailing List"));
+ pAction->setData(KVI_INTERNALCOMMAND_OPENURL_KVIRC_MAILINGLIST);
+ pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Bomb)),__tr2qs("Report a Bug / Propose Improvements"));
+ pAction->setData(KVI_INTERNALCOMMAND_OPENURL_KVIRC_BUGTRACK);
+ help->addSeparator();
+ pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Channel)),__tr2qs("Join KVIrc International Channel on Freenode"));
+ pAction->setData(KVI_INTERNALCOMMAND_OPENURL_KVIRC_ON_FREENODE);
if(kvi_strEqualCIN(KviLocale::instance()->localeName(),"it",2))
{
// join #kvirc.net on azzurra
- id = help->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Channel)),__tr2qs("Join KVIrc Italian Channel on AzzurraNet"));
- help->setItemParameter(id,KVI_INTERNALCOMMAND_OPENURL_KVIRC_IT_ON_AZZURRA);
+ pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Channel)),__tr2qs("Join KVIrc Italian Channel on AzzurraNet"));
+ pAction->setData(KVI_INTERNALCOMMAND_OPENURL_KVIRC_IT_ON_AZZURRA);
}
if(kvi_strEqualCIN(KviLocale::instance()->localeName(),"fr",2))
{
// join #kvirc-fr on freenode
- id = help->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Channel)),__tr2qs("Join KVIrc French Channel on Freenode"));
- help->setItemParameter(id,KVI_INTERNALCOMMAND_OPENURL_KVIRC_FR_ON_FREENODE);
+ pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Channel)),__tr2qs("Join KVIrc French Channel on Freenode"));
+ pAction->setData(KVI_INTERNALCOMMAND_OPENURL_KVIRC_FR_ON_FREENODE);
// join #kvirc on europnet
- id = help->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Channel)),__tr2qs("Join KVIrc French Channel on EuropNet"));
- help->setItemParameter(id,KVI_INTERNALCOMMAND_OPENURL_KVIRC_FR_ON_EUROPNET);
+ pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Channel)),__tr2qs("Join KVIrc French Channel on EuropNet"));
+ pAction->setData(KVI_INTERNALCOMMAND_OPENURL_KVIRC_FR_ON_EUROPNET);
}
}
-void KviMenuBar::actionTriggered(int id)
+void KviMenuBar::actionTriggered(QAction *pAction)
{
- KviTalPopupMenu * help = (KviTalPopupMenu *)sender();
- m_pFrm->executeInternalCommand(help->itemParameter(id));
+ bool bOk=false;
+ int id=pAction->data().toInt(&bOk);
+ if(bOk)
+ m_pFrm->executeInternalCommand(id);
}
-void KviMenuBar::setupSettingsPopup()
+void KviMenuBar::actionTriggered(bool)
{
+ QAction * pAction = (QAction *)sender();
+ if(!pAction)
+ return;
- KviTalPopupMenu * opt = (KviTalPopupMenu *)sender();
- opt->clear();
+ actionTriggered(pAction);
+}
- opt->insertItem(__tr2qs("Toolbars"),m_pToolbarsPopup);
+void KviMenuBar::setupSettingsPopup()
+{
+ QMenu * opt = (QMenu *)sender();
+ opt->clear();
- int id = opt->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::StatusBar)),__tr2qs("Show StatusBar"),m_pFrm,SLOT(toggleStatusBar()));
- opt->setItemChecked(id,m_pFrm->mainStatusBar());
+ QAction *pAction = opt->addAction(__tr2qs("Toolbars"));
+ pAction->setMenu(m_pToolbarsPopup);
+ pAction = opt->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::StatusBar)),__tr2qs("Show StatusBar"),m_pFrm,SLOT(toggleStatusBar()));
+ pAction->setCheckable(true);
+ pAction->setChecked(m_pFrm->mainStatusBar());
- opt->insertSeparator();
+ opt->addSeparator();
// FIXME: #warning "Toggle these items on the fly ?"
+#ifndef COMPILE_ON_MAC
ACTION_POPUP_ITEM(KVI_COREACTION_GENERALOPTIONS,opt)
+#endif
ACTION_POPUP_ITEM(KVI_COREACTION_THEMEOPTIONS,opt)
ACTION_POPUP_ITEM(KVI_COREACTION_EDITREGUSERS,opt)
ACTION_POPUP_ITEM(KVI_COREACTION_TOOLBAREDITOR,opt)
- opt->insertSeparator();
+ opt->addSeparator();
ACTION_POPUP_ITEM(KVI_COREACTION_SERVEROPTIONS,opt)
- opt->insertSeparator();
+ opt->addSeparator();
ACTION_POPUP_ITEM(KVI_COREACTION_MANAGETHEMES,opt)
ACTION_POPUP_ITEM(KVI_COREACTION_MANAGEADDONS,opt)
@@ -188,13 +218,13 @@ void KviMenuBar::setupSettingsPopup()
// If you're playing with unstable stuff then use /options.save to obtain
// the same effect.
//
- //opt->insertSeparator();
- //opt->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_FLOPPY)),__tr2qs("&Save Configuration"),g_pApp,SLOT(saveConfiguration()));
+ //opt->addSeparator();
+ //opt->addAction(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_FLOPPY)),__tr2qs("&Save Configuration"),g_pApp,SLOT(saveConfiguration()));
}
void KviMenuBar::setupScriptingPopup()
{
- KviTalPopupMenu * script = (KviTalPopupMenu *)sender();
+ QMenu * script = (QMenu *)sender();
script->clear();
ACTION_POPUP_ITEM(KVI_COREACTION_ACTIONEDITOR,script)
@@ -203,54 +233,55 @@ void KviMenuBar::setupScriptingPopup()
ACTION_POPUP_ITEM(KVI_COREACTION_EVENTEDITOR,script)
ACTION_POPUP_ITEM(KVI_COREACTION_POPUPEDITOR,script)
ACTION_POPUP_ITEM(KVI_COREACTION_RAWEDITOR,script)
- script->insertSeparator();
+ script->addSeparator();
ACTION_POPUP_ITEM(KVI_COREACTION_CODETESTER,script)
- script->insertSeparator();
+ script->addSeparator();
ACTION_POPUP_ITEM(KVI_COREACTION_EXECUTEKVS,script)
- script->insertSeparator();
- script->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::TextExclamative)),__tr2qs("Restore &Default Script..."),g_pApp,SLOT(restoreDefaultScript()));
+ script->addSeparator();
+ script->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::TextExclamative)),__tr2qs("Restore &Default Script..."),g_pApp,SLOT(restoreDefaultScript()));
}
void KviMenuBar::setupMainPopup()
{
- KviTalPopupMenu * main = (KviTalPopupMenu *)sender();
+ QMenu * main = (QMenu *)sender();
main->clear();
ACTION_POPUP_ITEM(KVI_COREACTION_NEWIRCCONTEXT,main)
- main->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::World)),__tr2qs("New &Connection To"),m_pRecentServersPopup);
+ QAction * pAction = main->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::World)),__tr2qs("New &Connection To"));
+ pAction->setMenu(m_pRecentServersPopup);
if(m_pFrm->activeContext())
if(m_pFrm->activeContext()->state()==KviIrcContext::Connected)
{
- int id = main->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),__tr2qs("Disconnect"),m_pFrm,SLOT(executeInternalCommand(int)));
- main->setItemParameter(id,KVI_INTERNALCOMMAND_QUIT);
+ pAction = main->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),__tr2qs("Disconnect"),this,SLOT(actionTriggered(bool)));
+ pAction->setData(KVI_INTERNALCOMMAND_QUIT);
}
- main->insertSeparator();
+ main->addSeparator();
// FIXME: Add a "Dock to tray" icon if the tray is not visible (or show tray icon or whatever)
// Qt/Mac creates a Quit item on its own <= this is bad
#ifndef COMPILE_ON_MAC
- main->insertSeparator();
+ main->addSeparator();
- main->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::QuitApp)),__tr2qs("&Quit"),g_pMainWindow,SLOT(close()));
+ main->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::QuitApp)),__tr2qs("&Quit"),g_pMainWindow,SLOT(close()));
#endif //COMPILE_ON_MAC
}
void KviMenuBar::setupRecentServersPopup()
{
- KviTalPopupMenu * m = (KviTalPopupMenu *)sender();
+ QMenu * m = (QMenu *)sender();
g_pApp->fillRecentServersPopup(m);
- m->insertSeparator();
- m->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Server)),__tr2qs("&Other..."));
+ m->addSeparator();
+ m->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Server)),__tr2qs("&Other..."));
}
-void KviMenuBar::newConnectionToServer(int id)
+void KviMenuBar::newConnectionToServer(QAction *pAction)
{
- QString text = m_pRecentServersPopup->text(id);
+ QString text = pAction->text();
if(!text.isEmpty())
{
if(text == __tr2qs("&Other..."))
@@ -269,62 +300,61 @@ void KviMenuBar::newConnectionToServer(int id)
void KviMenuBar::setupToolsPopup()
{
- KviTalPopupMenu * m = (KviTalPopupMenu *)sender();
+ QMenu * m = (QMenu *)sender();
if(!m)return;
m->clear();
+ QAction *pAction=0;
KviModuleExtensionDescriptorList * l = g_pModuleExtensionManager->getExtensionList("tool");
if(l)
{
for(KviModuleExtensionDescriptor * d = l->first();d;d = l->next())
{
- int id;
if(d->icon())
{
- id = m->insertItem(*(d->icon()),d->visibleName());
+ pAction = m->addAction(*(d->icon()),d->visibleName());
} else {
- id = m->insertItem(d->visibleName());
+ pAction = m->addAction(d->visibleName());
}
- m->setItemParameter(id,d->id());
+ pAction->setData(d->id());
}
}
- m->insertSeparator();
+ m->addSeparator();
ACTION_POPUP_ITEM(KVI_COREACTION_SOCKETSPY,m)
ACTION_POPUP_ITEM(KVI_COREACTION_NETWORKLINKS,m)
ACTION_POPUP_ITEM(KVI_COREACTION_CHANNELLIST,m)
- m->insertSeparator();
+ m->addSeparator();
ACTION_POPUP_ITEM(KVI_COREACTION_JOINCHANNELS,m)
- m->insertSeparator();
+ m->addSeparator();
ACTION_POPUP_ITEM(KVI_COREACTION_SCREENSHOT,m)
// moved the old tools here
- m->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::IconManager)),__tr2qs("Show &Icon Table"),g_pIconManager,SLOT(showIconWidget()));
+ m->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::IconManager)),__tr2qs("Show &Icon Table"),g_pIconManager,SLOT(showIconWidget()));
#ifdef COMPILE_KDE_SUPPORT
- int id;
- id = m->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Terminal)),__tr2qs("Open &Terminal"),m_pFrm,SLOT(executeInternalCommand(int)));
- m->setItemParameter(id,KVI_INTERNALCOMMAND_TERM_OPEN);
+ pAction = m->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Terminal)),__tr2qs("Open &Terminal"),this,SLOT(actionTriggered(bool)));
+ pAction->setData(KVI_INTERNALCOMMAND_TERM_OPEN);
#endif
KviPointerList<KviAction> list;
KviActionManager::instance()->listActionsByCategory("tools",&list);
if(!list.isEmpty())
{
- m->insertSeparator();
+ m->addSeparator();
for(KviAction * ac = list.first();ac;ac = list.next())
ac->addToPopupMenu(m);
}
}
-void KviMenuBar::toolsPopupSelected(int id)
+void KviMenuBar::toolsPopupSelected(QAction *pAction)
{
- KviTalPopupMenu * m = (KviTalPopupMenu *)sender();
- if(!m) return;
- int idext = m->itemParameter(id);
- g_pModuleExtensionManager->allocateExtension("tool",idext,m_pFrm->firstConsole());
+ bool bOk=false;
+ int idext = pAction->data().toInt(&bOk);
+ if(bOk)
+ g_pModuleExtensionManager->allocateExtension("tool",idext,m_pFrm->firstConsole());
}
void KviMenuBar::setupToolbarsPopup()
diff --git a/src/kvirc/ui/KviMenuBar.h b/src/kvirc/ui/KviMenuBar.h
index b77c6e440..53d943ceb 100644
--- a/src/kvirc/ui/KviMenuBar.h
+++ b/src/kvirc/ui/KviMenuBar.h
@@ -31,7 +31,7 @@
#include "KviTalMenuBar.h"
class KviMainWindow;
-class KviTalPopupMenu;
+class QMenu;
class KviKvsPopupMenu;
typedef struct _KviScriptMenuBarItem
@@ -49,14 +49,17 @@ public:
KviMenuBar(KviMainWindow * par,const char * name);
~KviMenuBar();
protected:
- KviTalPopupMenu * m_pToolbarsPopup;
- KviTalPopupMenu * m_pRecentServersPopup;
+ QMenu * m_pToolbarsPopup;
+ QMenu * m_pRecentServersPopup;
+#ifdef COMPILE_ON_MAC
+ QMenu * m_pHelpMenu;
+#endif
KviMainWindow * m_pFrm;
KviPointerList<KviScriptMenuBarItem> * m_pScriptItemList;
protected:
KviScriptMenuBarItem * findMenu(const QString &text);
KviScriptMenuBarItem * findMenu(KviKvsPopupMenu * p);
- void addDefaultItem(const QString &text,KviTalPopupMenu * pop);
+ void addDefaultItem(const QString &text,QMenu * pop);
public:
int getDefaultItemRealIndex(int iDefaultIndex);
void addMenu(const QString &text,KviKvsPopupMenu * p,int index);
@@ -68,11 +71,13 @@ protected slots:
void setupHelpPopup();
void setupRecentServersPopup();
void setupScriptingPopup();
- void newConnectionToServer(int id);
+ void newConnectionToServer(QAction *pAction);
void setupToolbarsPopup();
void setupToolsPopup();
- void toolsPopupSelected(int id);
- void actionTriggered(int id);
+ void toolsPopupSelected(QAction *pAction);
+ void actionTriggered(QAction *pAction);
+ void actionTriggered(bool);
+ void createMacNativeItems();
};
#endif //_KVI_MENUBAR_H_
diff --git a/src/kvirc/ui/KviSelectors.cpp b/src/kvirc/ui/KviSelectors.cpp
index e60ac2539..ffe9b6c3d 100644
--- a/src/kvirc/ui/KviSelectors.cpp
+++ b/src/kvirc/ui/KviSelectors.cpp
@@ -31,7 +31,7 @@
#include "KviControlCodes.h"
#include "KviFileDialog.h"
#include "KviKvsScript.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QLabel>
#include <QPainter>
@@ -563,7 +563,7 @@ void KviStringListSelector::addClicked()
{
QString str = m_pLineEdit->text();
str = str.trimmed();
- if(str.length() > 0)m_pListWidget->insertItem(m_pListWidget->count(),str);
+ if(str.length() > 0)m_pListWidget->insertItem(m_pListWidget->count(),str);
m_pLineEdit->setText("");
}
@@ -704,32 +704,35 @@ KviMircTextColorSelector::KviMircTextColorSelector(QWidget * par,const QString &
setEnabled(bEnabled);
- m_pContextPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
- m_pForePopup = new KviTalPopupMenu(this);
- connect(m_pForePopup,SIGNAL(activated(int)),this,SLOT(foreSelected(int)));
- int i;
- for(i=0;i<KVI_MIRCCOLOR_MAX_FOREGROUND;i++)
+ QAction *pAction = 0;
+ m_pForePopup = new QMenu(this);
+ connect(m_pForePopup,SIGNAL(triggered(QAction*)),this,SLOT(foreSelected(QAction*)));
+ int iColor;
+ for(iColor=0;iColor<KVI_MIRCCOLOR_MAX_FOREGROUND;iColor++)
{
QPixmap tmp(120,16);
- tmp.fill(KVI_OPTION_MIRCCOLOR(i));
- int id = m_pForePopup->insertItem(tmp,QString("x"));
- m_pForePopup->setItemParameter(id,i);
+ tmp.fill(KVI_OPTION_MIRCCOLOR(iColor));
+ pAction = m_pForePopup->addAction(tmp,QString("x"));
+ pAction->setData(iColor);
}
- m_pContextPopup->insertItem(__tr2qs("Foreground"),m_pForePopup);
+ pAction = m_pContextPopup->addAction(__tr2qs("Foreground"));
+ pAction->setMenu(m_pForePopup);
- m_pBackPopup = new KviTalPopupMenu(this);
- connect(m_pBackPopup,SIGNAL(activated(int)),this,SLOT(backSelected(int)));
- i = m_pBackPopup->insertItem(__tr2qs("Transparent"));
- m_pBackPopup->setItemParameter(i,KviControlCodes::Transparent);
- for(i=0;i<KVI_MIRCCOLOR_MAX_BACKGROUND;i++)
+ m_pBackPopup = new QMenu(this);
+ connect(m_pBackPopup,SIGNAL(triggered(QAction*)),this,SLOT(backSelected(QAction*)));
+ pAction = m_pBackPopup->addAction(__tr2qs("Transparent"));
+ pAction->setData(KviControlCodes::Transparent);
+ for(iColor=0;iColor<KVI_MIRCCOLOR_MAX_BACKGROUND;iColor++)
{
QPixmap tmp(120,16);
- tmp.fill(KVI_OPTION_MIRCCOLOR(i));
- int id = m_pBackPopup->insertItem(tmp,QString("x"));
- m_pBackPopup->setItemParameter(id,i);
+ tmp.fill(KVI_OPTION_MIRCCOLOR(iColor));
+ pAction = m_pBackPopup->addAction(tmp,QString("x"));
+ pAction->setData(iColor);
}
- m_pContextPopup->insertItem(__tr2qs("Background"),m_pBackPopup);
+ pAction = m_pContextPopup->addAction(__tr2qs("Background"));
+ pAction->setMenu(m_pBackPopup);
}
KviMircTextColorSelector::~KviMircTextColorSelector()
@@ -777,17 +780,21 @@ void KviMircTextColorSelector::buttonClicked()
m_pContextPopup->popup(p);
}
-void KviMircTextColorSelector::foreSelected(int id)
+void KviMircTextColorSelector::foreSelected(QAction * pAction)
{
- if(m_pForePopup)
- m_uFore = m_pForePopup->itemParameter(id);
+ bool bOk=false;
+ int id = pAction->data().toInt(&bOk);
+ if(bOk)
+ m_uFore = id;
setButtonPalette();
}
-void KviMircTextColorSelector::backSelected(int id)
+void KviMircTextColorSelector::backSelected(QAction * pAction)
{
- if(m_pBackPopup)
- m_uBack = m_pBackPopup->itemParameter(id);
+ bool bOk=false;
+ int id = pAction->data().toInt(&bOk);
+ if(bOk)
+ m_uBack = id;
setButtonPalette();
}
diff --git a/src/kvirc/ui/KviSelectors.h b/src/kvirc/ui/KviSelectors.h
index 377e559f4..cc071c60d 100644
--- a/src/kvirc/ui/KviSelectors.h
+++ b/src/kvirc/ui/KviSelectors.h
@@ -340,7 +340,7 @@ private slots:
void removeClicked();
};
-class KviTalPopupMenu;
+class QMenu;
class KVIRC_API KviMircTextColorSelector : public KviTalHBox, public KviSelectorInterface
{
@@ -355,16 +355,16 @@ private:
unsigned int * m_pUBack;
unsigned int m_uFore;
unsigned int m_uBack;
- KviTalPopupMenu * m_pContextPopup;
- KviTalPopupMenu * m_pForePopup;
- KviTalPopupMenu * m_pBackPopup;
+ QMenu * m_pContextPopup;
+ QMenu * m_pForePopup;
+ QMenu * m_pBackPopup;
public:
virtual void commit();
virtual void setEnabled(bool bEnabled);
protected slots:
void buttonClicked();
- void foreSelected(int);
- void backSelected(int);
+ void foreSelected(QAction *pAction);
+ void backSelected(QAction *pAction);
protected:
void setButtonPalette();
};
diff --git a/src/kvirc/ui/KviStatusBar.cpp b/src/kvirc/ui/KviStatusBar.cpp
index de6c61c23..e910d356f 100644
--- a/src/kvirc/ui/KviStatusBar.cpp
+++ b/src/kvirc/ui/KviStatusBar.cpp
@@ -37,7 +37,7 @@
#include "KviModuleManager.h"
#include "KviStatusBarApplet.h"
#include "KviDynamicToolTip.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QPainter>
#include <QStyle>
@@ -50,6 +50,7 @@
#include <QEvent>
#include <QMouseEvent>
#include <QMessageBox>
+#include <QWidgetAction>
KviStatusBar::KviStatusBar(KviMainWindow * pFrame)
: QStatusBar(pFrame)
@@ -343,7 +344,7 @@ void KviStatusBar::contextMenuRequested(const QPoint & pos)
{
if(!m_pContextPopup)
{
- m_pContextPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
connect(m_pContextPopup,SIGNAL(aboutToShow()),this,SLOT(contextPopupAboutToShow()));
}
@@ -367,23 +368,24 @@ void KviStatusBar::contextPopupAboutToShow()
QLabel * pLabel = new QLabel(szTmp,m_pContextPopup);
QPalette p;
pLabel->setStyleSheet("background-color: " + p.color(QPalette::Normal, QPalette::Mid).name());
- m_pContextPopup->insertItem(pLabel);
+ m_pContextPopup->addAction(new QWidgetAction(pLabel));
m_pClickedApplet->fillContextPopup(m_pContextPopup);
szTmp = QString(__tr2qs("Remove %1")).arg(szApp);
- m_pContextPopup->insertSeparator();
- m_pContextPopup->insertItem(szTmp,this,SLOT(removeClickedApplet()));
+ m_pContextPopup->addSeparator();
+ m_pContextPopup->addAction(szTmp,this,SLOT(removeClickedApplet()));
}
if(!m_pAppletsPopup)
{
- m_pAppletsPopup = new KviTalPopupMenu(this);
+ m_pAppletsPopup = new QMenu(this);
connect(m_pAppletsPopup,SIGNAL(aboutToShow()),this,SLOT(appletsPopupAboutToShow()));
- connect(m_pAppletsPopup,SIGNAL(activated(int)),this,SLOT(appletsPopupActivated(int)));
+ connect(m_pAppletsPopup,SIGNAL(triggered(QAction *)),this,SLOT(appletsPopupActivated(QAction *)));
}
- m_pContextPopup->insertItem(__tr2qs("Add Applet"),m_pAppletsPopup);
+ QAction *pAction = m_pContextPopup->addAction(__tr2qs("Add Applet"));
+ pAction->setMenu(m_pAppletsPopup);
}
void KviStatusBar::removeClickedApplet()
@@ -405,16 +407,16 @@ void KviStatusBar::appletsPopupAboutToShow()
// FIXME: could we cache the module results in some way ?
g_pModuleManager->loadModulesByCaps("statusbarapplet");
+ QAction *pAction=0;
KviPointerHashTableIterator<QString,KviStatusBarAppletDescriptor> it(*m_pAppletDescriptors);
while(KviStatusBarAppletDescriptor * d = it.current())
{
- int iId;
QPixmap * pix = d->icon();
if(pix)
- iId = m_pAppletsPopup->insertItem(*pix,d->visibleName());
+ pAction = m_pAppletsPopup->addAction(*pix,d->visibleName());
else
- iId = m_pAppletsPopup->insertItem(d->visibleName());
- m_pAppletsPopup->setItemParameter(iId,d->id());
+ pAction = m_pAppletsPopup->addAction(d->visibleName());
+ pAction->setData(d->id());
++it;
}
}
@@ -433,17 +435,18 @@ void KviStatusBar::showLayoutHelp()
queueMessage(new KviStatusBarMessage(__tr2qs("Drag the applet while holding the Shift or Ctrl key to move it to the desired position")));
}
-void KviStatusBar::appletsPopupActivated(int iId)
+void KviStatusBar::appletsPopupActivated(QAction *pAction)
{
// FIXME: In fact the applet descriptors in modules could
// have been unloaded while the popup was being shown...
// For now we just assume that this never happens :D
- if(!m_pAppletsPopup)
- return;
+ bool bOk = false;
+ int iPar = pAction->data().toInt(&bOk);
+ if(!bOk)
+ return;
- int iPar = m_pAppletsPopup->itemParameter(iId);
- KviPointerHashTableIterator<QString,KviStatusBarAppletDescriptor> it(*m_pAppletDescriptors);
+ KviPointerHashTableIterator<QString,KviStatusBarAppletDescriptor> it(*m_pAppletDescriptors);
while(KviStatusBarAppletDescriptor * d = it.current())
{
if(iPar == d->id())
diff --git a/src/kvirc/ui/KviStatusBar.h b/src/kvirc/ui/KviStatusBar.h
index 1ae14c4a4..4440cd396 100644
--- a/src/kvirc/ui/KviStatusBar.h
+++ b/src/kvirc/ui/KviStatusBar.h
@@ -48,7 +48,7 @@
class QTimer;
class QLabel;
class KviMainWindow;
-class KviTalPopupMenu;
+class QMenu;
class KviStatusBarApplet;
class KviStatusBarAppletDescriptor;
class KviIrcContext;
@@ -134,8 +134,8 @@ protected:
QLabel * m_pMessageLabel;
KviPointerList<KviStatusBarApplet> * m_pAppletList;
KviPointerHashTable<QString,KviStatusBarAppletDescriptor> * m_pAppletDescriptors;
- KviTalPopupMenu * m_pContextPopup;
- KviTalPopupMenu * m_pAppletsPopup;
+ QMenu * m_pContextPopup;
+ QMenu * m_pAppletsPopup;
KviStatusBarApplet * m_pClickedApplet;
int m_iLastMinimumHeight;
bool m_bStopLayoutOnAddRemove;
@@ -166,7 +166,7 @@ public:
*/
KviStatusBarApplet * appletAt(const QPoint & pnt, bool bBestMatch = false);
- //KviTalPopupMenu * contextPopup();
+ //QMenu * contextPopup();
/**
* \brief Queue a statusbar message in the stack
@@ -291,7 +291,7 @@ protected slots:
* \param iId The id of the applet
* \return void
*/
- void appletsPopupActivated(int iId);
+ void appletsPopupActivated(QAction *pAction);
/**
* \brief Called when the user removes an applet from the statusbar
diff --git a/src/kvirc/ui/KviStatusBarApplet.cpp b/src/kvirc/ui/KviStatusBarApplet.cpp
index 323db362e..716cb69b6 100644
--- a/src/kvirc/ui/KviStatusBarApplet.cpp
+++ b/src/kvirc/ui/KviStatusBarApplet.cpp
@@ -46,7 +46,7 @@
#include "KviMiscUtils.h"
#include "KviHttpRequest.h"
#include "KviUrl.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTalToolTip.h"
#include "KviDataBuffer.h"
@@ -157,10 +157,11 @@ void KviStatusBarAwayIndicator::toggleContext()
m_bAwayOnAllContexts = !m_bAwayOnAllContexts;
}
-void KviStatusBarAwayIndicator::fillContextPopup(KviTalPopupMenu * p)
+void KviStatusBarAwayIndicator::fillContextPopup(QMenu * p)
{
- int id = p->insertItem(__tr2qs("Apply to all IRC Contexts"),this,SLOT(toggleContext()));
- p->setItemChecked(id,m_bAwayOnAllContexts);
+ QAction *pAction = p->addAction(__tr2qs("Apply to all IRC Contexts"),this,SLOT(toggleContext()));
+ pAction->setCheckable(true),
+ pAction->setChecked(m_bAwayOnAllContexts);
}
void KviStatusBarAwayIndicator::loadState(const char * pcPrefix, KviConfigurationFile * pCfg)
@@ -423,25 +424,29 @@ void KviStatusBarClock::timerEvent(QTimerEvent *)
setText(szTmp);
}
-void KviStatusBarClock::fillContextPopup(KviTalPopupMenu * p)
+void KviStatusBarClock::fillContextPopup(QMenu * p)
{
- int id = p->insertItem("UTC",this,SLOT(toggleUtc()));
- p->setItemChecked(id,m_bUtc);
- id = p->insertItem("24h",this,SLOT(toggle24h()));
- p->setItemChecked(id,m_b24h);
- p->insertSeparator();
+ QAction * pAction = p->addAction("UTC",this,SLOT(toggleUtc()));
+ pAction->setCheckable(true);
+ pAction->setChecked(m_bUtc);
+
+ pAction = p->addAction("24h",this,SLOT(toggle24h()));
+ pAction->setCheckable(true);
+ pAction->setChecked(m_b24h);
+ p->addSeparator();
// Format menu
QMenu * pMenu = new QMenu(p);
- QAction * pAction = pMenu->addAction("hh:mm:ss");
+ pAction = pMenu->addAction("hh:mm:ss");
pAction->setData(QVariant(KviStatusBarClock::HMS));
pAction = pMenu->addAction("hh:mm");
pAction->setData(QVariant(KviStatusBarClock::HM));
connect(pMenu,SIGNAL(triggered(QAction *)),this,SLOT(changeFormat(QAction *)));
- id = p->insertItem(__tr2qs("Format"),pMenu);
- p->setItemEnabled(id,true);
+ pAction = p->addAction(__tr2qs("Format"));
+ pAction->setMenu(pMenu);
+ pAction->setEnabled(true);
}
void KviStatusBarClock::toggleUtc()
@@ -549,10 +554,11 @@ void KviStatusBarConnectionTimer::toggleTotal()
m_bTotal = !m_bTotal;
}
-void KviStatusBarConnectionTimer::fillContextPopup(KviTalPopupMenu * p)
+void KviStatusBarConnectionTimer::fillContextPopup(QMenu * p)
{
- int id = p->insertItem(__tr2qs("Show total connection time"),this,SLOT(toggleTotal()));
- p->setItemChecked(id,m_bTotal);
+ QAction *pAction = p->addAction(__tr2qs("Show total connection time"),this,SLOT(toggleTotal()));
+ pAction->setCheckable(true);
+ pAction->setChecked(m_bTotal);
}
void KviStatusBarConnectionTimer::loadState(const char * pcPrefix, KviConfigurationFile * pCfg)
@@ -649,12 +655,15 @@ void KviStatusBarUpdateIndicator::toggleRevision()
updateDisplay();
}
-void KviStatusBarUpdateIndicator::fillContextPopup(KviTalPopupMenu * p)
+void KviStatusBarUpdateIndicator::fillContextPopup(QMenu * p)
{
- int id = p->insertItem(__tr2qs("Check on startup"),this,SLOT(toggleStartup()));
- p->setItemChecked(id,m_bUpdateOnStartup);
- id = p->insertItem(__tr2qs("Check SVN revisions"),this,SLOT(toggleRevision()));
- p->setItemChecked(id,m_bUpdateRevision);
+ QAction *pAction = p->addAction(__tr2qs("Check on startup"),this,SLOT(toggleStartup()));
+ pAction->setCheckable(true);
+ pAction->setChecked(m_bUpdateOnStartup);
+
+ pAction = p->addAction(__tr2qs("Check SVN revisions"),this,SLOT(toggleRevision()));
+ pAction->setCheckable(true);
+ pAction->setChecked(m_bUpdateRevision);
}
void KviStatusBarUpdateIndicator::loadState(const char * pcPrefix, KviConfigurationFile * pCfg)
diff --git a/src/kvirc/ui/KviStatusBarApplet.h b/src/kvirc/ui/KviStatusBarApplet.h
index 01212abef..18724c5a6 100644
--- a/src/kvirc/ui/KviStatusBarApplet.h
+++ b/src/kvirc/ui/KviStatusBarApplet.h
@@ -39,7 +39,7 @@
class QTimer;
class QLabel;
-class KviTalPopupMenu;
+class QMenu;
class KviConfigurationFile;
class KviMainWindow;
class KviIrcContext;
@@ -98,7 +98,7 @@ public:
inline void setIndex(int i){ mIndex=i; };
inline int index() const { return mIndex; };
protected:
- virtual void fillContextPopup(KviTalPopupMenu *){};
+ virtual void fillContextPopup(QMenu *){};
virtual void loadState(const char *, KviConfigurationFile *){};
virtual void saveState(const char *, KviConfigurationFile *){};
virtual QString tipText(const QPoint &);
@@ -125,7 +125,7 @@ protected:
public:
static void selfRegister(KviStatusBar * pBar);
protected:
- virtual void fillContextPopup(KviTalPopupMenu * p);
+ virtual void fillContextPopup(QMenu * p);
virtual void timerEvent(QTimerEvent * e);
virtual void loadState(const char * pcPrefix, KviConfigurationFile * pCfg);
@@ -148,7 +148,7 @@ protected:
bool m_bTotal;
protected:
virtual void timerEvent(QTimerEvent * e);
- virtual void fillContextPopup(KviTalPopupMenu * p);
+ virtual void fillContextPopup(QMenu * p);
virtual void loadState(const char * pcPrefix, KviConfigurationFile * pCfg);
virtual void saveState(const char * pcPrefix, KviConfigurationFile * pCfg);
public:
@@ -182,7 +182,7 @@ protected:
protected:
virtual void mouseDoubleClickEvent(QMouseEvent * e);
virtual QString tipText(const QPoint &);
- virtual void fillContextPopup(KviTalPopupMenu * p);
+ virtual void fillContextPopup(QMenu * p);
virtual void loadState(const char * pcPrefix, KviConfigurationFile * pCfg);
virtual void saveState(const char * pcPrefix, KviConfigurationFile * pCfg);
protected slots:
@@ -217,7 +217,7 @@ public:
protected:
virtual void mouseDoubleClickEvent(QMouseEvent * e);
virtual QString tipText(const QPoint &);
- virtual void fillContextPopup(KviTalPopupMenu * p);
+ virtual void fillContextPopup(QMenu * p);
virtual void loadState(const char * pcPrefix, KviConfigurationFile * pCfg);
virtual void saveState(const char * pcPrefix, KviConfigurationFile * pCfg);
void checkVersion();
diff --git a/src/kvirc/ui/KviToolBar.cpp b/src/kvirc/ui/KviToolBar.cpp
index e661c2a79..35908ea35 100644
--- a/src/kvirc/ui/KviToolBar.cpp
+++ b/src/kvirc/ui/KviToolBar.cpp
@@ -26,17 +26,17 @@
#include "KviMainWindow.h"
#include "KviLocale.h"
#include "KviApplication.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviOptions.h"
#include <QCursor>
#include <QEvent>
#include <QMouseEvent>
-static KviTalPopupMenu * g_pToolBarContextPopup = 0;
-static KviTalPopupMenu * g_pToolBarWindowsPopup = 0;
-static KviTalPopupMenu * g_pToolBarIconSizesPopup = 0;
-static KviTalPopupMenu * g_pToolBarButtonStylePopup = 0;
+static QMenu * g_pToolBarContextPopup = 0;
+static QMenu * g_pToolBarWindowsPopup = 0;
+static QMenu * g_pToolBarIconSizesPopup = 0;
+static QMenu * g_pToolBarButtonStylePopup = 0;
static uint uToolBarInstances = 0;
KviToolBar::KviToolBar(const QString & szLabel, Qt::ToolBarArea type, const char * pcName)
@@ -104,14 +104,17 @@ void KviToolBar::mousePressEvent(QMouseEvent * e)
if(!g_pToolBarContextPopup)
{
- g_pToolBarContextPopup = new KviTalPopupMenu();
- g_pToolBarIconSizesPopup = new KviTalPopupMenu();
- g_pToolBarWindowsPopup = new KviTalPopupMenu();
- g_pToolBarButtonStylePopup = new KviTalPopupMenu();
+ g_pToolBarContextPopup = new QMenu();
+ g_pToolBarIconSizesPopup = new QMenu();
+ g_pToolBarWindowsPopup = new QMenu();
+ g_pToolBarButtonStylePopup = new QMenu();
- g_pToolBarContextPopup->insertItem(__tr2qs("Toolbars"),g_pToolBarWindowsPopup);
- g_pToolBarContextPopup->insertItem(__tr2qs("Icon Size"),g_pToolBarIconSizesPopup);
- g_pToolBarContextPopup->insertItem(__tr2qs("Button Style"),g_pToolBarButtonStylePopup);
+ QAction *pAction = g_pToolBarContextPopup->addAction(__tr2qs("Toolbars"));
+ pAction->setMenu(g_pToolBarWindowsPopup);
+ pAction = g_pToolBarContextPopup->addAction(__tr2qs("Icon Size"));
+ pAction->setMenu(g_pToolBarIconSizesPopup);
+ pAction = g_pToolBarContextPopup->addAction(__tr2qs("Button Style"));
+ pAction->setMenu(g_pToolBarButtonStylePopup);
// fill toolbars menu
g_pMainWindow->fillToolBarsPopup(g_pToolBarWindowsPopup);
diff --git a/src/kvirc/ui/KviTopicWidget.cpp b/src/kvirc/ui/KviTopicWidget.cpp
index fac843b7c..ab25c248d 100644
--- a/src/kvirc/ui/KviTopicWidget.cpp
+++ b/src/kvirc/ui/KviTopicWidget.cpp
@@ -42,7 +42,7 @@
#include "KviIrcConnectionUserInfo.h"
#include "KviHtmlGenerator.h"
#include "KviTalToolTip.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviThemedLabel.h"
#include <QLineEdit>
@@ -502,7 +502,7 @@ void KviTopicWidget::mousePressEvent(QMouseEvent * e)
return;
if(!m_pContextPopup)
{
- m_pContextPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
connect(m_pContextPopup,SIGNAL(aboutToShow()),this,SLOT(contextPopupAboutToShow()));
}
m_pContextPopup->popup(mapToGlobal(e->pos()));
@@ -513,7 +513,7 @@ void KviTopicWidget::contextPopupAboutToShow()
if(!m_pContextPopup)
return; // hm ?
m_pContextPopup->clear();
- m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Copy)),__tr2qs("Copy to clipboard"),this,SLOT(copy()));
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Copy)),__tr2qs("Copy to clipboard"),this,SLOT(copy()));
}
void KviTopicWidget::copy()
diff --git a/src/kvirc/ui/KviTopicWidget.h b/src/kvirc/ui/KviTopicWidget.h
index b867bb477..a73dcd3f4 100644
--- a/src/kvirc/ui/KviTopicWidget.h
+++ b/src/kvirc/ui/KviTopicWidget.h
@@ -36,7 +36,7 @@
class QComboBox;
class KviChannelWindow;
-class KviTalPopupMenu;
+class QMenu;
class KviIrcConnection;
class KviThemedLabel;
@@ -76,7 +76,7 @@ private:
QPushButton * m_pAccept;
QPushButton * m_pDiscard;
QPushButton * m_pHistory;
- KviTalPopupMenu * m_pContextPopup;
+ QMenu * m_pContextPopup;
QAbstractItemDelegate * m_pItemDelegate;
KviThemedLabel * m_pLabel;
KviInputEditor * m_pInput;
diff --git a/src/kvirc/ui/KviTreeWindowList.cpp b/src/kvirc/ui/KviTreeWindowList.cpp
index f46cbff58..4409712c9 100644
--- a/src/kvirc/ui/KviTreeWindowList.cpp
+++ b/src/kvirc/ui/KviTreeWindowList.cpp
@@ -29,7 +29,7 @@
#include "KviMainWindow.h"
#include "KviLocale.h"
#include "KviOptions.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviWindow.h"
#include "KviTreeWindowList.h"
#include "KviPixmapUtils.h"
@@ -272,9 +272,9 @@ void KviTreeWindowListTreeWidget::mousePressEvent(QMouseEvent *e)
//clicked on empty space
if(e->button() & Qt::RightButton)
{
- KviTalPopupMenu* pPopup=new KviTalPopupMenu();
- pPopup->insertItem(__tr2qs("Sort"),this,SLOT(sort()));
- pPopup->insertItem(__tr2qs("Reverse Sort"),this,SLOT(reverseSort()));
+ QMenu* pPopup=new QMenu();
+ pPopup->addAction(__tr2qs("Sort"),this,SLOT(sort()));
+ pPopup->addAction(__tr2qs("Reverse Sort"),this,SLOT(reverseSort()));
pPopup->popup(QCursor::pos());
}
}
diff --git a/src/kvirc/ui/KviWindow.cpp b/src/kvirc/ui/KviWindow.cpp
index abdbc0d67..9ed1d97ff 100644
--- a/src/kvirc/ui/KviWindow.cpp
+++ b/src/kvirc/ui/KviWindow.cpp
@@ -53,7 +53,7 @@
#include "KviControlCodes.h"
#include "KviWindowToolWidget.h"
#include "KviKvsScript.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTalToolTip.h"
#include "KviKvsScript.h"
#include "KviKvsEventTriggers.h"
@@ -89,11 +89,11 @@
KVIRC_API KviWindow * g_pActiveWindow = 0;
-static KviTalPopupMenu * g_pMdiWindowSystemMainPopup = 0;
-static KviTalPopupMenu * g_pMdiWindowSystemTextEncodingPopup = 0;
-static KviTalPopupMenu * g_pMdiWindowSystemTextEncodingPopupStandard = 0;
-static KviTalPopupMenu * g_pMdiWindowSystemTextEncodingPopupSmart = 0;
-static KviTalPopupMenu * g_pMdiWindowSystemTextEncodingPopupSmartUtf8 = 0;
+static QMenu * g_pMdiWindowSystemMainPopup = 0;
+static QMenu * g_pMdiWindowSystemTextEncodingPopup = 0;
+static QMenu * g_pMdiWindowSystemTextEncodingPopupStandard = 0;
+static QMenu * g_pMdiWindowSystemTextEncodingPopupSmart = 0;
+static QMenu * g_pMdiWindowSystemTextEncodingPopupSmartUtf8 = 0;
static QActionGroup * g_pMdiWindowSystemTextEncodingActionGroup = 0;
static QAction * g_pMdiWindowSystemTextEncodingCurrentAction = 0;
static QAction * g_pMdiWindowSystemTextEncodingDefaultAction = 0;
@@ -656,10 +656,10 @@ void KviWindow::createSystemTextEncodingPopup()
if(!g_pMdiWindowSystemTextEncodingPopup)
{
// first time called, create the menu
- g_pMdiWindowSystemTextEncodingPopup = new KviTalPopupMenu();
- g_pMdiWindowSystemTextEncodingPopupStandard = new KviTalPopupMenu();
- g_pMdiWindowSystemTextEncodingPopupSmart = new KviTalPopupMenu();
- g_pMdiWindowSystemTextEncodingPopupSmartUtf8 = new KviTalPopupMenu();
+ g_pMdiWindowSystemTextEncodingPopup = new QMenu();
+ g_pMdiWindowSystemTextEncodingPopupStandard = new QMenu();
+ g_pMdiWindowSystemTextEncodingPopupSmart = new QMenu();
+ g_pMdiWindowSystemTextEncodingPopupSmartUtf8 = new QMenu();
g_pMdiWindowSystemTextEncodingActionGroup = new QActionGroup(g_pMdiWindowSystemTextEncodingPopup);
//default action
@@ -687,11 +687,14 @@ void KviWindow::createSystemTextEncodingPopup()
g_pMdiWindowSystemTextEncodingCurrentAction->setVisible(false);
// other first level menus
- g_pMdiWindowSystemTextEncodingPopup->insertSeparator();
+ g_pMdiWindowSystemTextEncodingPopup->addSeparator();
- g_pMdiWindowSystemTextEncodingPopup->insertItem(__tr2qs("Standard"),g_pMdiWindowSystemTextEncodingPopupStandard);
- g_pMdiWindowSystemTextEncodingPopup->insertItem(__tr2qs("Smart (Send Local)"),g_pMdiWindowSystemTextEncodingPopupSmart);
- g_pMdiWindowSystemTextEncodingPopup->insertItem(__tr2qs("Smart (Send UTF-8)"),g_pMdiWindowSystemTextEncodingPopupSmartUtf8);
+ QAction * pAction = g_pMdiWindowSystemTextEncodingPopup->addAction(__tr2qs("Standard"));
+ pAction->setMenu(g_pMdiWindowSystemTextEncodingPopupStandard);
+ pAction = g_pMdiWindowSystemTextEncodingPopup->addAction(__tr2qs("Smart (Send Local)"));
+ pAction->setMenu(g_pMdiWindowSystemTextEncodingPopupSmart);
+ pAction = g_pMdiWindowSystemTextEncodingPopup->addAction(__tr2qs("Smart (Send UTF-8)"));
+ pAction->setMenu(g_pMdiWindowSystemTextEncodingPopupSmartUtf8);
// second level menus (encoding groups)
QMenu * pPopupStandard[KVI_NUM_ENCODING_GROUPS];
diff --git a/src/kvirc/ui/KviWindow.h b/src/kvirc/ui/KviWindow.h
index 4505c41dd..a20193fcc 100644
--- a/src/kvirc/ui/KviWindow.h
+++ b/src/kvirc/ui/KviWindow.h
@@ -63,7 +63,7 @@ class KviIrcView;
class KviConsoleWindow;
class KviIrcConnection;
class KviWindowToolPageButton;
-class KviTalPopupMenu;
+class QMenu;
class KviTalHBox;
#ifdef COMPILE_CRYPT_SUPPORT
diff --git a/src/modules/aliaseditor/AliasEditorWindow.cpp b/src/modules/aliaseditor/AliasEditorWindow.cpp
index b3e06c285..69a0ecf76 100644
--- a/src/modules/aliaseditor/AliasEditorWindow.cpp
+++ b/src/modules/aliaseditor/AliasEditorWindow.cpp
@@ -150,7 +150,7 @@ AliasEditorWidget::AliasEditorWidget(QWidget * par)
connect(m_pEditor,SIGNAL(find(const QString &)),this,SLOT(slotFindWord(const QString &)));
connect(m_pEditor,SIGNAL(replaceAll(const QString &,const QString &)),this,SLOT(slotReplaceAll(const QString &,const QString &)));
- m_pContextPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
oneTimeSetup();
@@ -555,14 +555,12 @@ void AliasEditorWidget::customContextMenuRequested(const QPoint pnt)
m_pContextPopup->clear();
m_pLastClickedItem = (AliasEditorTreeWidgetItem *)m_pTreeWidget->itemAt(pnt);
- int id;
-
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Alias)),
__tr2qs_ctx("Add Alias","editor"),
this,SLOT(newAlias()));
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Alias)),
__tr2qs_ctx("Add Namespace","editor"),
this,SLOT(newNamespace()));
@@ -570,49 +568,47 @@ void AliasEditorWidget::customContextMenuRequested(const QPoint pnt)
bool bHasItems = m_pTreeWidget->topLevelItemCount();
bool bHasSelected = hasSelectedItems();
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
- id = m_pContextPopup->insertItem(
+ QAction *pAction = m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),
__tr2qs_ctx("Remove Selected","editor"),
this,SLOT(removeSelectedItems()));
- m_pContextPopup->setItemEnabled(id,bHasSelected);
+ pAction->setEnabled(bHasSelected);
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Folder)),
__tr2qs_ctx("Export Selected...","editor"),
- this,SLOT(exportSelected()));
- m_pContextPopup->setItemEnabled(id,bHasSelected);
+ this,SLOT(exportSelected()))
+ ->setEnabled(bHasSelected);
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Folder)),
__tr2qs_ctx("Export Selected in singles files...","editor"),
- this,SLOT(exportSelectedSepFiles()));
-
- m_pContextPopup->setItemEnabled(id,bHasSelected);
+ this,SLOT(exportSelectedSepFiles()))
+ ->setEnabled(bHasSelected);
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Folder)),
__tr2qs_ctx("Export All...","editor"),
- this,SLOT(exportAll()));
- m_pContextPopup->setItemEnabled(id,bHasItems);
+ this,SLOT(exportAll()))
+ ->setEnabled(bHasItems);
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Search)),
__tr2qs_ctx("Find In Aliases...","editor"),
- this,SLOT(slotFind()));
- m_pContextPopup->setItemEnabled(id,bHasItems);
+ this,SLOT(slotFind()))
+ ->setEnabled(bHasItems);
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::NameSpace)),
__tr2qs_ctx("Collapse All Namespaces","editor"),
- this,SLOT(slotCollapseNamespaces()));
-
- m_pContextPopup->setItemEnabled(id,bHasItems);
+ this,SLOT(slotCollapseNamespaces()))
+ ->setEnabled(bHasItems);
m_pContextPopup->popup( m_pTreeWidget->mapToGlobal(pnt));
}
diff --git a/src/modules/aliaseditor/AliasEditorWindow.h b/src/modules/aliaseditor/AliasEditorWindow.h
index ab11953a5..d48fa6b24 100644
--- a/src/modules/aliaseditor/AliasEditorWindow.h
+++ b/src/modules/aliaseditor/AliasEditorWindow.h
@@ -27,7 +27,7 @@
#include "KviWindow.h"
#include "KviCString.h"
#include "KviPointerList.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviHeapObject.h"
#include <QWidget>
@@ -96,7 +96,7 @@ public:
QPushButton * m_pRenameButton;
AliasEditorTreeWidgetItem * m_pLastEditedItem;
AliasEditorTreeWidgetItem * m_pLastClickedItem;
- KviTalPopupMenu * m_pContextPopup;
+ QMenu * m_pContextPopup;
QSplitter * m_pSplitter;
QString m_szDir;
bool m_bSaving;
diff --git a/src/modules/channelsjoin/ChannelsJoinDialog.cpp b/src/modules/channelsjoin/ChannelsJoinDialog.cpp
index 4712b691f..71f3b9eb0 100644
--- a/src/modules/channelsjoin/ChannelsJoinDialog.cpp
+++ b/src/modules/channelsjoin/ChannelsJoinDialog.cpp
@@ -273,9 +273,9 @@ void ChannelsJoinDialogTreeWidget::mousePressEvent(QMouseEvent *e)
pDialog->itemSelected();
if(!m_pJoinPopup)
{
- m_pJoinPopup = new KviTalPopupMenu(this);
- m_pJoinPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Join)),__tr2qs("Join"),pDialog,SLOT(joinClicked()));
- m_pJoinPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Discard)),__tr2qs("Delete"),pDialog,SLOT(deleteClicked()));
+ m_pJoinPopup = new QMenu(this);
+ m_pJoinPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Join)),__tr2qs("Join"),pDialog,SLOT(joinClicked()));
+ m_pJoinPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Discard)),__tr2qs("Delete"),pDialog,SLOT(deleteClicked()));
}
m_pJoinPopup->popup(QCursor::pos());
diff --git a/src/modules/channelsjoin/ChannelsJoinDialog.h b/src/modules/channelsjoin/ChannelsJoinDialog.h
index 7e3a62965..91bd46a13 100644
--- a/src/modules/channelsjoin/ChannelsJoinDialog.h
+++ b/src/modules/channelsjoin/ChannelsJoinDialog.h
@@ -32,7 +32,7 @@
#include "KviWindow.h"
#include "KviCString.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QTreeWidget>
#include <QDialog>
@@ -62,7 +62,7 @@ public:
delete m_pJoinPopup;
};
protected:
- KviTalPopupMenu * m_pJoinPopup;
+ QMenu * m_pJoinPopup;
/**
* \brief Called when the user clicks on the list
* \param e mouse event descriptor
diff --git a/src/modules/classeditor/ClassEditorWindow.cpp b/src/modules/classeditor/ClassEditorWindow.cpp
index 2358ec2f0..8484b267c 100644
--- a/src/modules/classeditor/ClassEditorWindow.cpp
+++ b/src/modules/classeditor/ClassEditorWindow.cpp
@@ -221,7 +221,7 @@ ClassEditorWidget::ClassEditorWidget(QWidget * pParent)
m_pEditor->setFocus();
connect(m_pEditor,SIGNAL(find(const QString &)),this,SLOT(slotFindWord(const QString &)));
connect(m_pEditor,SIGNAL(replaceAll(const QString &,const QString &)),this,SLOT(slotReplaceAll(const QString &,const QString &)));
- m_pContextPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
oneTimeSetup();
@@ -879,80 +879,79 @@ void ClassEditorWidget::customContextMenuRequested(QPoint pnt)
m_pLastClickedItem = (ClassEditorTreeWidgetItem *)m_pTreeWidget->itemAt(pnt);
- int iId;
- iId = m_pContextPopup->insertItem(
+ QAction *pAction = m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::NameSpace)),
__tr2qs_ctx("Add Namespace","editor"),
this,SLOT(newNamespace()));
if(!m_pLastClickedItem)
- m_pContextPopup->setItemEnabled(iId,true);
+ pAction->setEnabled(true);
else
- m_pContextPopup->setItemEnabled(iId,m_pLastClickedItem->isNamespace());
+ pAction->setEnabled(m_pLastClickedItem->isNamespace());
- iId = m_pContextPopup->insertItem(
+ pAction = m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Class)),
__tr2qs_ctx("Add Class","editor"),
this,SLOT(newClass()));
if(!m_pLastClickedItem)
- m_pContextPopup->setItemEnabled(iId,true);
+ pAction->setEnabled(true);
else
- m_pContextPopup->setItemEnabled(iId,m_pLastClickedItem->isNamespace());
+ pAction->setEnabled(m_pLastClickedItem->isNamespace());
- iId = m_pContextPopup->insertItem(
+ pAction = m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Function)),
__tr2qs_ctx("Add Member Function","editor"),
this,SLOT(newMemberFunction()));
if(!m_pLastClickedItem)
- m_pContextPopup->setItemEnabled(iId,false);
+ pAction->setEnabled(false);
else
- m_pContextPopup->setItemEnabled(iId,m_pLastClickedItem->isClass()| m_pLastClickedItem->isMethod());
+ pAction->setEnabled(m_pLastClickedItem->isClass()| m_pLastClickedItem->isMethod());
bool bHasItems = m_pTreeWidget->topLevelItemCount();
bool bHasSelected = hasSelectedItems();
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
- iId = m_pContextPopup->insertItem(
+ pAction = m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),
__tr2qs_ctx("Remove Selected","editor"),
this,SLOT(removeSelectedItems()));
- m_pContextPopup->setItemEnabled(iId,bHasSelected);
+ pAction->setEnabled(bHasSelected);
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Folder)),
__tr2qs_ctx("Export Selected...","editor"),
this,SLOT(exportSelected()));
- m_pContextPopup->setItemEnabled(iId,bHasSelected);
+ pAction->setEnabled(bHasSelected);
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Folder)),
__tr2qs_ctx("Export Selected in singles files...","editor"),
this,SLOT(exportSelectedSepFiles()));
- m_pContextPopup->setItemEnabled(iId,bHasSelected);
+ pAction->setEnabled(bHasSelected);
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Folder)),
__tr2qs_ctx("Export All...","editor"),
this,SLOT(exportAll()));
- m_pContextPopup->setItemEnabled(iId,bHasItems);
+ pAction->setEnabled(bHasItems);
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Search)),
__tr2qs_ctx("Find In Classes...","editor"),
this,SLOT(slotFind()));
- m_pContextPopup->setItemEnabled(iId,bHasItems);
+ pAction->setEnabled(bHasItems);
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::NameSpace)),
__tr2qs_ctx("Collapse All Items","editor"),
this,SLOT(slotCollapseItems()));
- m_pContextPopup->setItemEnabled(iId,bHasItems);
+ pAction->setEnabled(bHasItems);
m_pContextPopup->popup(m_pTreeWidget->mapToGlobal(pnt));
}
diff --git a/src/modules/classeditor/ClassEditorWindow.h b/src/modules/classeditor/ClassEditorWindow.h
index abb6ebb2c..cf41f64b6 100644
--- a/src/modules/classeditor/ClassEditorWindow.h
+++ b/src/modules/classeditor/ClassEditorWindow.h
@@ -33,7 +33,7 @@
#include "KviWindow.h"
#include "KviCString.h"
#include "KviPointerList.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviHeapObject.h"
#include "KviKvsObjectClass.h"
@@ -286,7 +286,7 @@ public:
ClassEditorTreeWidgetItem * m_pLastEditedItem;
ClassEditorTreeWidgetItem * m_pLastClickedItem;
- KviTalPopupMenu * m_pContextPopup;
+ QMenu * m_pContextPopup;
QSplitter * m_pSplitter;
QString m_szDir;
bool m_bSaving;
diff --git a/src/modules/codetester/CodeTesterWindow.cpp b/src/modules/codetester/CodeTesterWindow.cpp
index fb2f5de6a..28e8fc1b0 100644
--- a/src/modules/codetester/CodeTesterWindow.cpp
+++ b/src/modules/codetester/CodeTesterWindow.cpp
@@ -36,7 +36,7 @@
#include "KviParameterList.h"
#include "KviKvsScript.h"
#include "KviKvsVariantList.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QPushButton>
#include <QLayout>
diff --git a/src/modules/dcc/DccFileTransfer.cpp b/src/modules/dcc/DccFileTransfer.cpp
index 251828fc2..dcb9fc320 100644
--- a/src/modules/dcc/DccFileTransfer.cpp
+++ b/src/modules/dcc/DccFileTransfer.cpp
@@ -1281,15 +1281,16 @@ void DccFileTransfer::abort()
displayUpdate();
}
-void DccFileTransfer::fillContextPopup(KviTalPopupMenu * m)
+void DccFileTransfer::fillContextPopup(QMenu * m)
{
- m->insertItem(__tr2qs_ctx("Configure Bandwidth...","dcc"),this,SLOT(configureBandwidth()));
- m->insertSeparator();
- m->insertItem(__tr2qs_ctx("Resend DCC","dcc"),this,SLOT(retryDCC()));
- m->insertItem(__tr2qs_ctx("Resend TDCC","dcc"),this,SLOT(retryTDCC()));
- m->insertItem(__tr2qs_ctx("Resend RevDCC","dcc"),this,SLOT(retryRevDCC()));
- int id = m->insertItem(__tr2qs_ctx("Abort","dcc"),this,SLOT(abort()));
- if(!active())m->setItemEnabled(id,false);
+ m->addAction(__tr2qs_ctx("Configure Bandwidth...","dcc"),this,SLOT(configureBandwidth()));
+ m->addSeparator();
+ m->addAction(__tr2qs_ctx("Resend DCC","dcc"),this,SLOT(retryDCC()));
+ m->addAction(__tr2qs_ctx("Resend TDCC","dcc"),this,SLOT(retryTDCC()));
+ m->addAction(__tr2qs_ctx("Resend RevDCC","dcc"),this,SLOT(retryRevDCC()));
+ QAction *pAction = m->addAction(__tr2qs_ctx("Abort","dcc"),this,SLOT(abort()));
+ if(!active())
+ pAction->setEnabled(false);
}
void DccFileTransfer::configureBandwidth()
diff --git a/src/modules/dcc/DccFileTransfer.h b/src/modules/dcc/DccFileTransfer.h
index d55fb3673..6f04013c5 100644
--- a/src/modules/dcc/DccFileTransfer.h
+++ b/src/modules/dcc/DccFileTransfer.h
@@ -34,7 +34,7 @@
#include "KviPointerList.h"
#include "KviFileTransfer.h"
#include "KviTimeUtils.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTalHBox.h"
#include "KviTalVBox.h"
@@ -49,7 +49,7 @@ class QTimer;
class QPainter;
class DccFileTransfer;
class DccMarshal;
-class KviTalPopupMenu;
+class QMenu;
typedef struct _KviDccSendThreadOptions
{
@@ -216,7 +216,7 @@ public:
virtual void displayPaint(QPainter * p,int column, QRect rect);
virtual int displayHeight(int iLineSpacing);
- virtual void fillContextPopup(KviTalPopupMenu * m);
+ virtual void fillContextPopup(QMenu * m);
virtual void fillStatusString(QString &szBuffer);
virtual bool active();
virtual QString tipText();
diff --git a/src/modules/dcc/canvaswidget.cpp b/src/modules/dcc/canvaswidget.cpp
index 18cb9badd..20daa1418 100644
--- a/src/modules/dcc/canvaswidget.cpp
+++ b/src/modules/dcc/canvaswidget.cpp
@@ -27,7 +27,7 @@
#ifdef COMPILE_DCC_CANVAS
#include "KviCString.h"
#include "KviLocale.h"
- #include "KviTalPopupMenu.h"
+ #include "QMenu.h"
#include <QCursor>
#include <QPainter>
@@ -1229,8 +1229,8 @@
case QVariant::Bool:
{
QComboBox * b = new QComboBox(false,table()->viewport());
- b->insertItem("FALSE");
- b->insertItem("TRUE");
+ b->addAction("FALSE");
+ b->addAction("TRUE");
b->setCurrentItem(m_property.toBool() ? 1 : 0);
return b;
}
@@ -1254,20 +1254,20 @@
tmp.setNum(m_property.toFont().pointSize());
tmp.prepend(", ");
tmp.prepend(m_property.toFont().family());
- b->insertItem(tmp);
- b->insertItem(tmpDefault + ", 8");
- b->insertItem(tmpDefault + ", 10");
- b->insertItem(tmpDefault + ", 12");
- b->insertItem(tmpDefault + ", 14");
- b->insertItem(tmpDefault + ", 16");
- b->insertItem(tmpDefault + ", 18");
- b->insertItem(tmpDefault + ", 20");
- b->insertItem(tmpDefault + ", 24");
- b->insertItem(tmpDefault + ", 28");
- b->insertItem(tmpDefault + ", 32");
- b->insertItem(tmpDefault + ", 40");
- b->insertItem(tmpDefault + ", 48");
- b->insertItem(f.family() + ", 12");
+ b->addAction(tmp);
+ b->addAction(tmpDefault + ", 8");
+ b->addAction(tmpDefault + ", 10");
+ b->addAction(tmpDefault + ", 12");
+ b->addAction(tmpDefault + ", 14");
+ b->addAction(tmpDefault + ", 16");
+ b->addAction(tmpDefault + ", 18");
+ b->addAction(tmpDefault + ", 20");
+ b->addAction(tmpDefault + ", 24");
+ b->addAction(tmpDefault + ", 28");
+ b->addAction(tmpDefault + ", 32");
+ b->addAction(tmpDefault + ", 40");
+ b->addAction(tmpDefault + ", 48");
+ b->addAction(f.family() + ", 12");
b->setCurrentItem(0);
b->setCurrentItem(m_property.toBool() ? 1 : 0);
return b;
@@ -1471,28 +1471,28 @@
connect(m_pPropertiesWidget,SIGNAL(propertyChanged(const QString &,const QVariant &)),m_pCanvasView,SLOT(propertyChanged(const QString &,const QVariant &)));
- KviTalPopupMenu * add = new KviTalPopupMenu(m_pMenuBar);
- KviTalPopupMenu * shapes = new KviTalPopupMenu(add);
- KviTalPopupMenu * polygons = new KviTalPopupMenu(add);
- KviTalPopupMenu * items = new KviTalPopupMenu(add);
- shapes->insertItem(__tr2qs_ctx("&Line","dcc"),m_pCanvasView,SLOT(insertLine()));
- shapes->insertItem(__tr2qs_ctx("&Rectangle","dcc"),m_pCanvasView,SLOT(insertRectangle()));
- shapes->insertItem(__tr2qs_ctx("&Ellipse","dcc"),m_pCanvasView,SLOT(insertEllipse()));
- shapes->insertItem(__tr2qs_ctx("&Pie","dcc"),m_pCanvasView,SLOT(insertPie()));
- shapes->insertItem(__tr2qs_ctx("&Chord","dcc"),m_pCanvasView,SLOT(insertChord()));
+ QMenu * add = new QMenu(m_pMenuBar);
+ QMenu * shapes = new QMenu(add);
+ QMenu * polygons = new QMenu(add);
+ QMenu * items = new QMenu(add);
+ shapes->addAction(__tr2qs_ctx("&Line","dcc"),m_pCanvasView,SLOT(insertLine()));
+ shapes->addAction(__tr2qs_ctx("&Rectangle","dcc"),m_pCanvasView,SLOT(insertRectangle()));
+ shapes->addAction(__tr2qs_ctx("&Ellipse","dcc"),m_pCanvasView,SLOT(insertEllipse()));
+ shapes->addAction(__tr2qs_ctx("&Pie","dcc"),m_pCanvasView,SLOT(insertPie()));
+ shapes->addAction(__tr2qs_ctx("&Chord","dcc"),m_pCanvasView,SLOT(insertChord()));
- items->insertItem(__tr2qs_ctx("&Rich text (html)","dcc"),m_pCanvasView,SLOT(insertRichText()));
+ items->addAction(__tr2qs_ctx("&Rich text (html)","dcc"),m_pCanvasView,SLOT(insertRichText()));
- polygons->insertItem(__tr2qs_ctx("&Triangle","dcc"),m_pCanvasView,SLOT(insertPolygonTriangle()));
- polygons->insertItem(__tr2qs_ctx("&Rectangle","dcc"),m_pCanvasView,SLOT(insertPolygonRectangle()));
- polygons->insertItem(__tr2qs_ctx("&Pentagon","dcc"),m_pCanvasView,SLOT(insertPolygonPentagon()));
- polygons->insertItem(__tr2qs_ctx("&Hexagon","dcc"),m_pCanvasView,SLOT(insertPolygonHexagon()));
+ polygons->addAction(__tr2qs_ctx("&Triangle","dcc"),m_pCanvasView,SLOT(insertPolygonTriangle()));
+ polygons->addAction(__tr2qs_ctx("&Rectangle","dcc"),m_pCanvasView,SLOT(insertPolygonRectangle()));
+ polygons->addAction(__tr2qs_ctx("&Pentagon","dcc"),m_pCanvasView,SLOT(insertPolygonPentagon()));
+ polygons->addAction(__tr2qs_ctx("&Hexagon","dcc"),m_pCanvasView,SLOT(insertPolygonHexagon()));
- add->insertItem(__tr2qs_ctx("&Shape","dcc"),shapes);
- add->insertItem(__tr2qs_ctx("&Item","dcc"),items);
- add->insertItem(__tr2qs_ctx("&Polygons","dcc"),polygons);
+ add->addAction(__tr2qs_ctx("&Shape","dcc"),shapes);
+ add->addAction(__tr2qs_ctx("&Item","dcc"),items);
+ add->addAction(__tr2qs_ctx("&Polygons","dcc"),polygons);
- m_pMenuBar->insertItem(__tr2qs_ctx("&Insert","dcc"),add);
+ m_pMenuBar->addAction(__tr2qs_ctx("&Insert","dcc"),add);
}
DccCanvasWidget::~DccCanvasWidget()
diff --git a/src/modules/editor/ScriptEditorImplementation.cpp b/src/modules/editor/ScriptEditorImplementation.cpp
index cbab328f7..1d4f838e3 100644
--- a/src/modules/editor/ScriptEditorImplementation.cpp
+++ b/src/modules/editor/ScriptEditorImplementation.cpp
@@ -795,11 +795,11 @@ ScriptEditorImplementation::ScriptEditorImplementation(QWidget * par)
b->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
g->addWidget(b,1,0);
- KviTalPopupMenu * pop = new KviTalPopupMenu(b);
- pop->insertItem(__tr2qs_ctx("&Open...","editor"),this,SLOT(loadFromFile()));
- pop->insertItem(__tr2qs_ctx("&Save As...","editor"),this,SLOT(saveToFile()));
- pop->insertSeparator();
- pop->insertItem(__tr2qs_ctx("&Configure Editor...","editor"),this,SLOT(configureColors()));
+ QMenu * pop = new QMenu(b);
+ pop->addAction(__tr2qs_ctx("&Open...","editor"),this,SLOT(loadFromFile()));
+ pop->addAction(__tr2qs_ctx("&Save As...","editor"),this,SLOT(saveToFile()));
+ pop->addSeparator();
+ pop->addAction(__tr2qs_ctx("&Configure Editor...","editor"),this,SLOT(configureColors()));
b->setMenu(pop);
b->setPopupMode(QToolButton::InstantPopup);
diff --git a/src/modules/editor/ScriptEditorImplementation.h b/src/modules/editor/ScriptEditorImplementation.h
index 50fcb3ca6..ad3d064e9 100644
--- a/src/modules/editor/ScriptEditorImplementation.h
+++ b/src/modules/editor/ScriptEditorImplementation.h
@@ -28,7 +28,7 @@
#include "KviScriptEditor.h"
#include "KviPointerList.h"
#include "KviSelectors.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QCompleter>
#include <QLabel>
diff --git a/src/modules/eventeditor/EventEditorWindow.cpp b/src/modules/eventeditor/EventEditorWindow.cpp
index 7991f5c80..3ae064075 100644
--- a/src/modules/eventeditor/EventEditorWindow.cpp
+++ b/src/modules/eventeditor/EventEditorWindow.cpp
@@ -40,7 +40,7 @@
#include "KviFileDialog.h"
#include "KviKvsEventManager.h"
#include "KviTalVBox.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QMessageBox>
#include <QSplitter>
@@ -155,7 +155,7 @@ void EventEditor::oneTimeSetup()
connect(m_pTreeWidget,SIGNAL(rightButtonPressed(QTreeWidgetItem *,QPoint)),
this,SLOT(itemPressed(QTreeWidgetItem *,QPoint)));
connect(KviKvsEventManager::instance(),SIGNAL(eventHandlerDisabled(const QString &)),this,SLOT(eventHandlerDisabled(const QString &)));
- m_pContextPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
m_pTreeWidget->sortItems(0,Qt::AscendingOrder);
}
void EventEditor::eventHandlerDisabled(const QString &szHandler)
@@ -212,24 +212,24 @@ void EventEditor::itemPressed(QTreeWidgetItem *it,const QPoint &pnt)
{
QString tmp;
if(!(((EventEditorHandlerTreeWidgetItem *)it)->m_bEnabled))
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Handler)),
__tr2qs_ctx("&Enable Handler","editor"),this,SLOT(toggleCurrentHandlerEnabled()));
else
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::HandlerDisabled)),
__tr2qs_ctx("&Disable Handler","editor"),this,SLOT(toggleCurrentHandlerEnabled()));
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),
__tr2qs_ctx("Re&move Handler","editor"),
this,SLOT(removeCurrentHandler()));
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Folder)),
__tr2qs_ctx("&Export Handler To...","editor"),
this,SLOT(exportCurrentHandler()));
} else {
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Handler)),
__tr2qs_ctx("&New Handler","editor"),
this,SLOT(addHandlerForCurrentEvent()));
diff --git a/src/modules/eventeditor/EventEditorWindow.h b/src/modules/eventeditor/EventEditorWindow.h
index 88451e4a8..ae51e2cb7 100644
--- a/src/modules/eventeditor/EventEditorWindow.h
+++ b/src/modules/eventeditor/EventEditorWindow.h
@@ -26,7 +26,7 @@
#include "KviWindow.h"
#include "KviCString.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QWidget>
#include <QLineEdit>
@@ -90,7 +90,7 @@ public:
KviScriptEditor * m_pEditor;
EventEditorTreeWidget * m_pTreeWidget;
QLineEdit * m_pNameEditor;
- KviTalPopupMenu * m_pContextPopup;
+ QMenu * m_pContextPopup;
EventEditorHandlerTreeWidgetItem * m_pLastEditedItem;
bool m_bOneTimeSetupDone;
public:
diff --git a/src/modules/filetransferwindow/FileTransferWindow.cpp b/src/modules/filetransferwindow/FileTransferWindow.cpp
index 00a9c2aa5..2693e39f7 100644
--- a/src/modules/filetransferwindow/FileTransferWindow.cpp
+++ b/src/modules/filetransferwindow/FileTransferWindow.cpp
@@ -48,7 +48,7 @@
#include <QFontMetrics>
#include <QEvent>
#include <QKeyEvent>
-
+#include <QWidgetAction>
#include <QHeaderView>
#ifdef COMPILE_KDE_SUPPORT
@@ -386,17 +386,17 @@ void FileTransferWindow::doubleClicked(FileTransferItem *it,const QPoint &)
void FileTransferWindow::rightButtonPressed(FileTransferItem *it,const QPoint &pnt)
{
- if(!m_pContextPopup)m_pContextPopup = new KviTalPopupMenu(this);
- if(!m_pLocalFilePopup)m_pLocalFilePopup = new KviTalPopupMenu(this);
+ if(!m_pContextPopup)m_pContextPopup = new QMenu(this);
+ if(!m_pLocalFilePopup)m_pLocalFilePopup = new QMenu(this);
if(!m_pOpenFilePopup)
{
- m_pOpenFilePopup= new KviTalPopupMenu(this);
+ m_pOpenFilePopup= new QMenu(this);
connect(m_pOpenFilePopup,SIGNAL(activated(int)),this,SLOT(openFilePopupActivated(int)));
}
m_pContextPopup->clear();
- int id;
+ QAction *pAction;
if(it)
{
@@ -430,13 +430,13 @@ void FileTransferWindow::rightButtonPressed(FileTransferItem *it,const QPoint &p
QLabel * l = new QLabel(tmp,m_pLocalFilePopup);
QPalette p;
l->setStyleSheet("background-color: " + p.color(QPalette::Normal, QPalette::Mid).name());
- m_pLocalFilePopup->insertItem(l);
+ m_pLocalFilePopup->addAction(new QWidgetAction(l));
#ifdef COMPILE_KDE_SUPPORT
QString mimetype = KMimeType::findByPath(szFile)->name();
KService::List offers = KMimeTypeTrader::self()->query(mimetype,"Application");
- id = m_pLocalFilePopup->insertItem(__tr2qs_ctx("&Open","filetransferwindow"),this,SLOT(openLocalFile()));
+ id = m_pLocalFilePopup->addAction(__tr2qs_ctx("&Open","filetransferwindow"),this,SLOT(openLocalFile()));
m_pLocalFilePopup->setItemParameter(id,-1);
m_pOpenFilePopup->clear();
@@ -447,7 +447,7 @@ void FileTransferWindow::rightButtonPressed(FileTransferItem *it,const QPoint &p
for(KService::List::Iterator itOffers = offers.begin();
itOffers != offers.end(); ++itOffers)
{
- id = m_pOpenFilePopup->insertItem(
+ id = m_pOpenFilePopup->addAction(
SmallIcon((*itOffers).data()->icon()),
(*itOffers).data()->name()
);
@@ -455,42 +455,41 @@ void FileTransferWindow::rightButtonPressed(FileTransferItem *it,const QPoint &p
idx++;
}
- m_pOpenFilePopup->insertSeparator();
+ m_pOpenFilePopup->addSeparator();
- id = m_pOpenFilePopup->insertItem(__tr2qs_ctx("&Other...","filetransferwindow"),this,SLOT(openLocalFileWith()));
+ id = m_pOpenFilePopup->addAction(__tr2qs_ctx("&Other...","filetransferwindow"),this,SLOT(openLocalFileWith()));
m_pOpenFilePopup->setItemParameter(id,-1);
- m_pLocalFilePopup->insertItem(__tr2qs_ctx("Open &With","filetransferwindow"),m_pOpenFilePopup);
- m_pLocalFilePopup->insertSeparator();
- m_pLocalFilePopup->insertItem(__tr2qs_ctx("Open &Location","filetransferwindow"),this,SLOT(openLocalFileFolder()));
- m_pLocalFilePopup->insertItem(__tr2qs_ctx("Terminal at Location","filetransferwindow"),this,SLOT(openLocalFileTerminal()));
- m_pLocalFilePopup->insertSeparator();
+ m_pLocalFilePopup->addAction(__tr2qs_ctx("Open &With","filetransferwindow"),m_pOpenFilePopup);
+ m_pLocalFilePopup->addSeparator();
+ m_pLocalFilePopup->addAction(__tr2qs_ctx("Open &Location","filetransferwindow"),this,SLOT(openLocalFileFolder()));
+ m_pLocalFilePopup->addAction(__tr2qs_ctx("Terminal at Location","filetransferwindow"),this,SLOT(openLocalFileTerminal()));
+ m_pLocalFilePopup->addSeparator();
#endif //COMPILE_KDE_SUPPORT
//-| Grifisx & Noldor |-
#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
- id = m_pLocalFilePopup->insertItem(__tr2qs_ctx("&Open","filetransferwindow"),this,SLOT(openLocalFile()));
+ id = m_pLocalFilePopup->addAction(__tr2qs_ctx("&Open","filetransferwindow"),this,SLOT(openLocalFile()));
m_pLocalFilePopup->setItemParameter(id,-1);
- m_pOpenFilePopup->insertSeparator();
- m_pLocalFilePopup->insertItem(__tr2qs_ctx("Open &With","filetransferwindow"),this,SLOT(openLocalFileWith()));
- m_pLocalFilePopup->insertSeparator();
- m_pLocalFilePopup->insertItem(__tr2qs_ctx("Open &Location","filetransferwindow"),this,SLOT(openLocalFileFolder()));
- m_pLocalFilePopup->insertItem(__tr2qs_ctx("MS-DOS Prompt at Location","filetransferwindow"),this,SLOT(openLocalFileTerminal()));
- m_pLocalFilePopup->insertSeparator();
+ m_pOpenFilePopup->addSeparator();
+ m_pLocalFilePopup->addAction(__tr2qs_ctx("Open &With","filetransferwindow"),this,SLOT(openLocalFileWith()));
+ m_pLocalFilePopup->addSeparator();
+ m_pLocalFilePopup->addAction(__tr2qs_ctx("Open &Location","filetransferwindow"),this,SLOT(openLocalFileFolder()));
+ m_pLocalFilePopup->addAction(__tr2qs_ctx("MS-DOS Prompt at Location","filetransferwindow"),this,SLOT(openLocalFileTerminal()));
+ m_pLocalFilePopup->addSeparator();
#endif
// G&N end
- m_pLocalFilePopup->insertItem(__tr2qs_ctx("&Copy Path to Clipboard","filetransferwindow"),this,SLOT(copyLocalFileToClipboard()));
-
- id = m_pLocalFilePopup->insertItem(__tr2qs_ctx("&Delete file","filetransferwindow"),this,SLOT(deleteLocalFile()));
- m_pLocalFilePopup->setItemEnabled(id,i->transfer()->terminated());
- m_pContextPopup->insertItem(__tr2qs_ctx("Local &File","filetransferwindow"),m_pLocalFilePopup);
-
+ m_pLocalFilePopup->addAction(__tr2qs_ctx("&Copy Path to Clipboard","filetransferwindow"),this,SLOT(copyLocalFileToClipboard()));
+ pAction = m_pLocalFilePopup->addAction(__tr2qs_ctx("&Delete file","filetransferwindow"),this,SLOT(deleteLocalFile()));
+ pAction->setEnabled(i->transfer()->terminated());
+ pAction = m_pContextPopup->addAction(__tr2qs_ctx("Local &File","filetransferwindow"));
+ pAction->setMenu(m_pLocalFilePopup);
}
i->transfer()->fillContextPopup(m_pContextPopup);
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
}
}
@@ -512,15 +511,15 @@ void FileTransferWindow::rightButtonPressed(FileTransferItem *it,const QPoint &p
}
}
- id = m_pContextPopup->insertItem(__tr2qs_ctx("&Clear Terminated","filetransferwindow"),this,SLOT(clearTerminated()));
- m_pContextPopup->setItemEnabled(id,bHaveTerminated);
+ pAction = m_pContextPopup->addAction(__tr2qs_ctx("&Clear Terminated","filetransferwindow"),this,SLOT(clearTerminated()));
+ pAction->setEnabled(bHaveTerminated);
bool bAreTransfersActive = false;
if(m_pTableWidget->rowCount() >= 1)
bAreTransfersActive = true;
- id = m_pContextPopup->insertItem(__tr2qs_ctx("Clear &All","filetransferwindow"),this,SLOT(clearAll()));
- m_pContextPopup->setItemEnabled(id,bAreTransfersActive);
+ pAction = m_pContextPopup->addAction(__tr2qs_ctx("Clear &All","filetransferwindow"),this,SLOT(clearAll()));
+ pAction->setEnabled(bAreTransfersActive);
m_pContextPopup->popup(pnt);
}
diff --git a/src/modules/filetransferwindow/FileTransferWindow.h b/src/modules/filetransferwindow/FileTransferWindow.h
index 9fadaba19..3588439e7 100644
--- a/src/modules/filetransferwindow/FileTransferWindow.h
+++ b/src/modules/filetransferwindow/FileTransferWindow.h
@@ -33,7 +33,7 @@
#include "KviFileTransfer.h"
#include "KviDynamicToolTip.h"
#include "KviTalTableWidget.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTalIconAndRichTextItemDelegate.h"
#include <QTimer>
@@ -97,9 +97,9 @@ protected:
QSplitter * m_pVertSplitter;
FileTransferWidget * m_pTableWidget;
QAbstractItemDelegate * m_pItemDelegate;
- KviTalPopupMenu * m_pContextPopup;
- KviTalPopupMenu * m_pLocalFilePopup;
- KviTalPopupMenu * m_pOpenFilePopup;
+ QMenu * m_pContextPopup;
+ QMenu * m_pLocalFilePopup;
+ QMenu * m_pOpenFilePopup;
QTimer * m_pTimer;
int m_iLineSpacing; // cached fm value
public: // Methods
diff --git a/src/modules/http/HttpFileTransfer.cpp b/src/modules/http/HttpFileTransfer.cpp
index 2e63b1aa1..9a45e500b 100644
--- a/src/modules/http/HttpFileTransfer.cpp
+++ b/src/modules/http/HttpFileTransfer.cpp
@@ -33,7 +33,7 @@
#include "KviKvsEventTriggers.h"
#include "KviConsoleWindow.h"
#include "KviKvsScript.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QPainter>
@@ -98,10 +98,11 @@ void HttpFileTransfer::abort()
m_pHttpRequest->abort();
}
-void HttpFileTransfer::fillContextPopup(KviTalPopupMenu * m)
+void HttpFileTransfer::fillContextPopup(QMenu * m)
{
- int id = m->insertItem(__tr2qs_ctx("Abort","http"),this,SLOT(abort()));
- if(!active())m->setItemEnabled(id,false);
+ QAction *pAction = m->addAction(__tr2qs_ctx("Abort","http"),this,SLOT(abort()));
+ if(!active())
+ pAction->setEnabled(false);
}
bool HttpFileTransfer::active()
diff --git a/src/modules/http/HttpFileTransfer.h b/src/modules/http/HttpFileTransfer.h
index b89c465b9..6f731be40 100644
--- a/src/modules/http/HttpFileTransfer.h
+++ b/src/modules/http/HttpFileTransfer.h
@@ -33,7 +33,7 @@
#include <QTimer>
class QPainter;
-class KviTalPopupMenu;
+class QMenu;
class HttpFileTransfer : public KviFileTransfer
{
@@ -78,7 +78,7 @@ public:
virtual void displayPaint(QPainter * p,int column, QRect rect);
virtual int displayHeight(int iLineSpacing);
- virtual void fillContextPopup(KviTalPopupMenu * m);
+ virtual void fillContextPopup(QMenu * m);
virtual bool active();
virtual QString tipText();
virtual QString localFileName();
diff --git a/src/modules/links/LinksWindow.cpp b/src/modules/links/LinksWindow.cpp
index 9e0573401..21ccf2f5b 100644
--- a/src/modules/links/LinksWindow.cpp
+++ b/src/modules/links/LinksWindow.cpp
@@ -88,8 +88,8 @@ LinksWindow::LinksWindow(KviConsoleWindow * lpConsole)
m_pLinkList = new KviPointerList<KviLink>;
m_pLinkList->setAutoDelete(true);
- m_pHostPopup = new KviTalPopupMenu();
- connect(m_pHostPopup,SIGNAL(activated(int)),this,SLOT(hostPopupClicked(int)));
+ m_pHostPopup = new QMenu();
+ connect(m_pHostPopup,SIGNAL(triggered(QAction*)),this,SLOT(hostPopupClicked(QAction *)));
connectionStateChange();
@@ -360,53 +360,53 @@ void LinksWindow::showHostPopup(QTreeWidgetItem *i,const QPoint &p)
if(host.isEmpty())return;
m_pHostPopup->clear();
KviCString tmp(KviCString::Format,"LINKS %s *",host.ptr());
- m_pHostPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Links)),tmp.ptr());
- m_pHostPopup->insertSeparator();
+ m_pHostPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Links)),tmp.ptr());
+ m_pHostPopup->addSeparator();
tmp.sprintf("TIME %s",host.ptr());
- m_pHostPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Time)),tmp.ptr());
+ m_pHostPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Time)),tmp.ptr());
tmp.sprintf("ADMIN %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("INFO %s",host.ptr());
- m_pHostPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::ServerInfo)),tmp.ptr());
+ m_pHostPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::ServerInfo)),tmp.ptr());
tmp.sprintf("MOTD %s",host.ptr());
- m_pHostPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Motd)),tmp.ptr());
+ m_pHostPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Motd)),tmp.ptr());
tmp.sprintf("VERSION %s",host.ptr());
- m_pHostPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::KVIrc)),tmp.ptr());
+ m_pHostPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::KVIrc)),tmp.ptr());
tmp.sprintf("TRACE %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("USERS %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
- m_pHostPopup->insertSeparator();
+ m_pHostPopup->addAction(tmp.ptr());
+ m_pHostPopup->addSeparator();
tmp.sprintf("STATS c %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("STATS d %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("STATS h %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("STATS i %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("STATS k %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("STATS l %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("STATS m %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("STATS o %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("STATS t %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("STATS u %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("STATS y %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
tmp.sprintf("STATS z %s",host.ptr());
- m_pHostPopup->insertItem(tmp.ptr());
+ m_pHostPopup->addAction(tmp.ptr());
m_pHostPopup->popup(p);
}
-void LinksWindow::hostPopupClicked(int id)
+void LinksWindow::hostPopupClicked(QAction *pAction)
{
- KviCString tmp = m_pHostPopup->text(id);
+ KviCString tmp = pAction->text();
if(tmp.hasData())
{
if(!connection())output(KVI_OUT_SYSTEMERROR,__tr2qs("You're not connected to a server"));
diff --git a/src/modules/links/LinksWindow.h b/src/modules/links/LinksWindow.h
index 89c35b05e..45b4d8e87 100644
--- a/src/modules/links/LinksWindow.h
+++ b/src/modules/links/LinksWindow.h
@@ -30,7 +30,7 @@
#include "KviIrcServerParser.h"
#include "KviConsoleWindow.h"
#include "KviIrcContext.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviThemedTreeWidget.h"
#include <QToolButton>
@@ -68,7 +68,7 @@ protected:
QSplitter * m_pTopSplitter;
LinksListView * m_pListView;
KviPointerList<KviLink> * m_pLinkList;
- KviTalPopupMenu * m_pHostPopup;
+ QMenu * m_pHostPopup;
QString m_szRootServer;
QToolButton * m_pRequestButton;
KviThemedLabel * m_pInfoLabel;
@@ -84,7 +84,7 @@ protected:
virtual void getBaseLogFileName(QString &buffer);
protected slots:
void showHostPopup(QTreeWidgetItem *i,const QPoint &p);
- void hostPopupClicked(int id);
+ void hostPopupClicked(QAction *pAction);
void requestLinks();
void connectionStateChange();
public:
diff --git a/src/modules/list/ListWindow.h b/src/modules/list/ListWindow.h
index 2c77e0453..edc0c190b 100644
--- a/src/modules/list/ListWindow.h
+++ b/src/modules/list/ListWindow.h
@@ -31,7 +31,7 @@
#include "KviIrcServerParser.h"
#include "KviConsoleWindow.h"
#include "KviIrcContext.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviThemedTreeWidget.h"
#include <QToolButton>
diff --git a/src/modules/logview/LogViewWindow.cpp b/src/modules/logview/LogViewWindow.cpp
index 36dd8fcb4..c4c492e6a 100644
--- a/src/modules/logview/LogViewWindow.cpp
+++ b/src/modules/logview/LogViewWindow.cpp
@@ -37,7 +37,7 @@
#include "KviQString.h"
#include "KviApplication.h"
#include "KviFileUtils.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviControlCodes.h"
#include <QList>
@@ -186,11 +186,11 @@ LogViewWindow::LogViewWindow(KviModuleExtensionDescriptor * pDesc)
li.append(width()-110);
m_pSplitter->setSizes(li);
- m_pExportLogPopup = new KviTalPopupMenu(this,"exportlog");
- m_pExportLogPopup->insertItem(__tr2qs_ctx("plain text file","log"));
- m_pExportLogPopup->insertItem(__tr2qs_ctx("HTML archive","log"));
- //m_pExportLogPopup->insertItem(__tr2qs_ctx("XML file","log"));
- //m_pExportLogPopup->insertItem(__tr2qs_ctx("database file","log"));
+ m_pExportLogPopup = new QMenu("exportlog", this);
+ m_pExportLogPopup->addAction(__tr2qs_ctx("plain text file","log"));
+ m_pExportLogPopup->addAction(__tr2qs_ctx("HTML archive","log"));
+ //m_pExportLogPopup->addAction(__tr2qs_ctx("XML file","log"));
+ //m_pExportLogPopup->addAction(__tr2qs_ctx("database file","log"));
connect(m_pExportLogPopup,SIGNAL(activated(int)),this,SLOT(exportLog(int)));
m_pTimer = new QTimer(this);
@@ -433,14 +433,14 @@ void LogViewWindow::rightButtonClicked(QTreeWidgetItem * pItem, const QPoint &)
return;
m_pListView->setCurrentItem(pItem);
- KviTalPopupMenu * pPopup = new KviTalPopupMenu(this);
+ QMenu * pPopup = new QMenu(this);
if(((LogListViewItem *)pItem)->childCount())
{
- //pPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::UserList)),__tr2qs_ctx("Export all log files to","log"),m_pExportLogPopup);
- pPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),__tr2qs_ctx("Remove all log files within this folder","log"),this,SLOT(deleteCurrent()));
+ //pPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::UserList)),__tr2qs_ctx("Export all log files to","log"),m_pExportLogPopup);
+ pPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),__tr2qs_ctx("Remove all log files within this folder","log"),this,SLOT(deleteCurrent()));
} else {
- pPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::UserList)),__tr2qs_ctx("Export log file to","log"),m_pExportLogPopup);
- pPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),__tr2qs_ctx("Remove log file","log"),this,SLOT(deleteCurrent()));
+ pPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::UserList)),__tr2qs_ctx("Export log file to","log"))->setMenu(m_pExportLogPopup);
+ pPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),__tr2qs_ctx("Remove log file","log"),this,SLOT(deleteCurrent()));
}
pPopup->exec(QCursor::pos());
diff --git a/src/modules/logview/LogViewWindow.h b/src/modules/logview/LogViewWindow.h
index 6255a0398..c62a43470 100644
--- a/src/modules/logview/LogViewWindow.h
+++ b/src/modules/logview/LogViewWindow.h
@@ -100,7 +100,7 @@ protected:
QString m_szLastGroup;
bool m_bAborted;
QTimer * m_pTimer;
- KviTalPopupMenu * m_pExportLogPopup;
+ QMenu * m_pExportLogPopup;
public:
/**
* \brief Exports the log and creates the file in the selected format
diff --git a/src/modules/notifier/NotifierWindow.cpp b/src/modules/notifier/NotifierWindow.cpp
index 651b2a77b..b6897ecac 100644
--- a/src/modules/notifier/NotifierWindow.cpp
+++ b/src/modules/notifier/NotifierWindow.cpp
@@ -953,9 +953,9 @@ void NotifierWindow::contextPopup(const QPoint & pos)
{
if(!m_pContextPopup)
{
- m_pContextPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
connect(m_pContextPopup,SIGNAL(aboutToShow()),this,SLOT(fillContextPopup()));
- m_pDisablePopup = new KviTalPopupMenu(this);
+ m_pDisablePopup = new QMenu(this);
}
m_pContextPopup->popup(pos);
@@ -964,20 +964,20 @@ void NotifierWindow::contextPopup(const QPoint & pos)
void NotifierWindow::fillContextPopup()
{
m_pContextPopup->clear();
- m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Editor)),__tr2qs_ctx("Show/Hide input line","notifier"),this,SLOT(toggleLineEdit()));
- m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Close)),__tr2qs_ctx("Hide","notifier"),this,SLOT(hideNow()));
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Editor)),__tr2qs_ctx("Show/Hide input line","notifier"),this,SLOT(toggleLineEdit()));
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Close)),__tr2qs_ctx("Hide","notifier"),this,SLOT(hideNow()));
+ m_pContextPopup->addSeparator();
m_pDisablePopup->clear();
- m_pDisablePopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Time)),__tr2qs_ctx("1 Minute","notifier"),this,SLOT(disableFor1Minute()));
- m_pDisablePopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Time)),__tr2qs_ctx("5 Minutes","notifier"),this,SLOT(disableFor5Minutes()));
- m_pDisablePopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Time)),__tr2qs_ctx("15 Minutes","notifier"),this,SLOT(disableFor15Minutes()));
- m_pDisablePopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Time)),__tr2qs_ctx("30 Minutes","notifier"),this,SLOT(disableFor30Minutes()));
- m_pDisablePopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Time)),__tr2qs_ctx("1 Hour","notifier"),this,SLOT(disableFor60Minutes()));
- m_pDisablePopup->insertSeparator();
- m_pDisablePopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),__tr2qs_ctx("Until KVIrc is Restarted","notifier"),this,SLOT(disableUntilKVIrcRestarted()));
- m_pDisablePopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),__tr2qs_ctx("Permanently (Until Explicitly Enabled)","notifier"),this,SLOT(disablePermanently()));
+ m_pDisablePopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Time)),__tr2qs_ctx("1 Minute","notifier"),this,SLOT(disableFor1Minute()));
+ m_pDisablePopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Time)),__tr2qs_ctx("5 Minutes","notifier"),this,SLOT(disableFor5Minutes()));
+ m_pDisablePopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Time)),__tr2qs_ctx("15 Minutes","notifier"),this,SLOT(disableFor15Minutes()));
+ m_pDisablePopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Time)),__tr2qs_ctx("30 Minutes","notifier"),this,SLOT(disableFor30Minutes()));
+ m_pDisablePopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Time)),__tr2qs_ctx("1 Hour","notifier"),this,SLOT(disableFor60Minutes()));
+ m_pDisablePopup->addSeparator();
+ m_pDisablePopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),__tr2qs_ctx("Until KVIrc is Restarted","notifier"),this,SLOT(disableUntilKVIrcRestarted()));
+ m_pDisablePopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),__tr2qs_ctx("Permanently (Until Explicitly Enabled)","notifier"),this,SLOT(disablePermanently()));
- m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),__tr2qs_ctx("Disable","notifier"),m_pDisablePopup);
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),__tr2qs_ctx("Disable","notifier"))->setMenu(m_pDisablePopup);
}
void NotifierWindow::disableFor15Minutes()
diff --git a/src/modules/notifier/NotifierWindow.h b/src/modules/notifier/NotifierWindow.h
index d58cde2ae..87f67c9b4 100644
--- a/src/modules/notifier/NotifierWindow.h
+++ b/src/modules/notifier/NotifierWindow.h
@@ -30,7 +30,7 @@
#include "kvi_settings.h"
#include "KviQString.h"
#include "KviPointerList.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTimeUtils.h"
#include <QBitmap>
@@ -90,8 +90,8 @@ protected:
QPoint m_pntPos;
QPoint m_pntClick;
int m_iBlinkCount;
- KviTalPopupMenu * m_pContextPopup;
- KviTalPopupMenu * m_pDisablePopup;
+ QMenu * m_pContextPopup;
+ QMenu * m_pDisablePopup;
KviWindow * m_pWindowToRaise;
kvi_time_t m_tAutoHideAt;
kvi_time_t m_tStartedAt;
diff --git a/src/modules/objects/KvsObject_comboBox.cpp b/src/modules/objects/KvsObject_comboBox.cpp
index 8951e4200..9cd49b01c 100644
--- a/src/modules/objects/KvsObject_comboBox.cpp
+++ b/src/modules/objects/KvsObject_comboBox.cpp
@@ -49,7 +49,7 @@
[class]widget[/class]
@description:
@functions:
- !fn: $insertItem(<text:string>, <index:int>)
+ !fn: $addAction(<text:string>, <index:int>)
Inserts a text item at position <index>. If index is negative or
not specified the item is appended.
!fn: $changeItem(<text:string>, <index:uint>)
@@ -99,7 +99,7 @@
*/
KVSO_BEGIN_REGISTERCLASS(KvsObject_comboBox,"combobox","widget")
- KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,insertItem)
+ KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,addAction)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,changeItem)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,removeItem)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,clear)
@@ -139,7 +139,7 @@ bool KvsObject_comboBox::init(KviKvsRunTimeContext *,KviKvsVariantList *)
return true;
}
-KVSO_CLASS_FUNCTION(comboBox,insertItem)
+KVSO_CLASS_FUNCTION(comboBox,addAction)
{
CHECK_INTERNAL_POINTER(widget())
kvs_int_t iIndex;
@@ -151,7 +151,7 @@ KVSO_CLASS_FUNCTION(comboBox,insertItem)
if(c->paramCount()==1)
((QComboBox *)widget())->addItem(szItem);
else
- ((QComboBox *)widget())->insertItem( iIndex,szItem);
+ ((QComboBox *)widget())->insertItem( iIndex,szItem);
return true;
}
KVSO_CLASS_FUNCTION(comboBox,clear)
diff --git a/src/modules/objects/KvsObject_comboBox.h b/src/modules/objects/KvsObject_comboBox.h
index a10ac6c29..c9aa9a382 100644
--- a/src/modules/objects/KvsObject_comboBox.h
+++ b/src/modules/objects/KvsObject_comboBox.h
@@ -41,7 +41,7 @@ public:
protected:
virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams);
- bool insertItem(KviKvsObjectFunctionCall *c);
+ bool addAction(KviKvsObjectFunctionCall *c);
bool changeItem(KviKvsObjectFunctionCall *c);
bool removeItem(KviKvsObjectFunctionCall *c);
bool clear(KviKvsObjectFunctionCall *c);
diff --git a/src/modules/objects/KvsObject_listWidget.cpp b/src/modules/objects/KvsObject_listWidget.cpp
index 081627caa..7570a3b11 100644
--- a/src/modules/objects/KvsObject_listWidget.cpp
+++ b/src/modules/objects/KvsObject_listWidget.cpp
@@ -106,7 +106,7 @@ const char * const itemflags_tbl[] = {
Returns '1' if the eventual item check box is checked, '0' otherwise.[br]
!fn: <string> $selectionMode()
Returns the current selection mode
- !fn: $insertItem(<text:string>, <index:uint>)
+ !fn: $addAction(<text:string>, <index:uint>)
Inserts a text item at position <index>. If index is negative or
not specified the item is appended.
!fn: $changeItem(<text:string>, <index:uint>)
@@ -156,7 +156,7 @@ const char * const itemflags_tbl[] = {
KVSO_BEGIN_REGISTERCLASS(KvsObject_listWidget,"listbox","widget")
- KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,insertItem)
+ KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,addAction)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,insertWidgetItem)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,changeItem)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,removeItem)
@@ -214,7 +214,7 @@ bool KvsObject_listWidget::init(KviKvsRunTimeContext *,KviKvsVariantList *)
return true;
}
-KVSO_CLASS_FUNCTION(listWidget,insertItem)
+KVSO_CLASS_FUNCTION(listWidget,addAction)
{
CHECK_INTERNAL_POINTER(widget())
kvs_int_t iRow;
@@ -223,7 +223,7 @@ KVSO_CLASS_FUNCTION(listWidget,insertItem)
KVSO_PARAMETER("text",KVS_PT_STRING,0,szText)
KVSO_PARAMETER("index",KVS_PT_INT,KVS_PF_OPTIONAL,iRow)
KVSO_PARAMETERS_END(c)
- if (c->parameterCount()==2) ((QListWidget *)widget())->insertItem(iRow, szText);
+ if (c->parameterCount()==2) ((QListWidget *)widget())->insertItem(iRow, szText);
else ((QListWidget *)widget())->addItem(szText);
return true;
}
diff --git a/src/modules/objects/KvsObject_listWidget.h b/src/modules/objects/KvsObject_listWidget.h
index 72cfdd043..79031639c 100644
--- a/src/modules/objects/KvsObject_listWidget.h
+++ b/src/modules/objects/KvsObject_listWidget.h
@@ -40,7 +40,7 @@ protected:
virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams);
- bool insertItem(KviKvsObjectFunctionCall *c);
+ bool addAction(KviKvsObjectFunctionCall *c);
bool changeItem(KviKvsObjectFunctionCall *c);
bool removeItem(KviKvsObjectFunctionCall *c);
bool count(KviKvsObjectFunctionCall *c);
diff --git a/src/modules/objects/KvsObject_menuBar.cpp b/src/modules/objects/KvsObject_menuBar.cpp
index 0a9904b2a..69c2257fc 100644
--- a/src/modules/objects/KvsObject_menuBar.cpp
+++ b/src/modules/objects/KvsObject_menuBar.cpp
@@ -42,12 +42,12 @@
@description:
@functions:
- !fn: <integer> $insertItem(<text:string>)
+ !fn: <integer> $addAction(<text:string>)
Returns an integer that identifies the inserted item.
*/
KVSO_BEGIN_REGISTERCLASS(KvsObject_menuBar,"menubar","widget")
- KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_menuBar,insertItem)
+ KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_menuBar,addAction)
KVSO_END_REGISTERCLASS(KvsObject_menuBar)
KVSO_BEGIN_CONSTRUCTOR(KvsObject_menuBar,KvsObject_widget)
@@ -65,7 +65,7 @@ bool KvsObject_menuBar::init(KviKvsRunTimeContext *,KviKvsVariantList *)
return true;
}
-KVSO_CLASS_FUNCTION(menuBar,insertItem)
+KVSO_CLASS_FUNCTION(menuBar,addAction)
{
CHECK_INTERNAL_POINTER(widget())
QString szItem;
diff --git a/src/modules/objects/KvsObject_menuBar.h b/src/modules/objects/KvsObject_menuBar.h
index 32516f58b..820491a18 100644
--- a/src/modules/objects/KvsObject_menuBar.h
+++ b/src/modules/objects/KvsObject_menuBar.h
@@ -37,6 +37,6 @@ public:
protected:
virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams);
- bool insertItem(KviKvsObjectFunctionCall *c);
+ bool addAction(KviKvsObjectFunctionCall *c);
};
#endif // !_CLASS_MENUBAR_H_
diff --git a/src/modules/objects/KvsObject_popupMenu.cpp b/src/modules/objects/KvsObject_popupMenu.cpp
index dd03eb010..02be27d46 100644
--- a/src/modules/objects/KvsObject_popupMenu.cpp
+++ b/src/modules/objects/KvsObject_popupMenu.cpp
@@ -30,7 +30,7 @@
#include "kvi_debug.h"
#include "KviLocale.h"
#include "KviIconManager.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QCursor>
#include <QMenu>
@@ -53,9 +53,9 @@
[class]widget[/class]
@description:
This widget can be used to display a popup menu.Technically, a popup menu consists of a list of menu items.[br]
- You add items with insertItem(). An item is either a string. In addition, items can have an optional icon drawn on the very left side.[br]
+ You add items with addAction(). An item is either a string. In addition, items can have an optional icon drawn on the very left side.[br]
@functions:
- !fn: $insertItem(<text:string>,[icon_id:string])
+ !fn: $addAction(<text:string>,[icon_id:string])
Inserts menu items into a popup menu with optional icon and return the popup identifier.
!fn: $addMenu(<popupmenu:hobject,[idx:uinteger])
Add a popupmenu.
@@ -69,7 +69,7 @@
Removes the menu item that has the identifier id.
!fn: $removeItemAt(<index:uinteger>)
Removes the menu item at position index.
- !fn: $insertSeparator(<index:uinteger>)
+ !fn: $addSeparator(<index:uinteger>)
Inserts a separator at position index.[br]
If the index is negative the separator becomes the last menu item.
!fn: $activatedEvent(<popup_id:uinteger>)
@@ -92,11 +92,11 @@
constructor()
{
// we store the item's id for checkit in activatedEvent
- @%tile_id=@$insertItem("Tile",118)
- @%cascade_id=@$insertItem("Cascade",115)
- @$insertSeparator(3)
- @%closeactw_id=@$insertItem("Close Active Window",08)
- @%closeallw_id=@$insertItem("Close All Window",58)
+ @%tile_id=@$addAction("Tile",118)
+ @%cascade_id=@$addAction("Cascade",115)
+ @$addSeparator(3)
+ @%closeactw_id=@$addAction("Close Active Window",08)
+ @%closeallw_id=@$addAction("Close All Window",58)
}
activatedEvent()
{
@@ -198,10 +198,10 @@ static void removeAction(int idx)
KVSO_BEGIN_REGISTERCLASS(KvsObject_popupMenu,"popupmenu","widget")
- KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,insertItem)
+ KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,addAction)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,setTitle)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,exec)
- KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,insertSeparator)
+ KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,addSeparator)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,removeItem)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,addMenu)
@@ -229,7 +229,7 @@ bool KvsObject_popupMenu::init(KviKvsRunTimeContext *,KviKvsVariantList *)
return true;
}
-KVSO_CLASS_FUNCTION(popupMenu,insertItem)
+KVSO_CLASS_FUNCTION(popupMenu,addAction)
{
CHECK_INTERNAL_POINTER(widget())
QString szItem,szIcon;
@@ -349,7 +349,7 @@ KVSO_CLASS_FUNCTION(popupMenu,removeItem)
return true;
}
-KVSO_CLASS_FUNCTION(popupMenu,insertSeparator)
+KVSO_CLASS_FUNCTION(popupMenu,addSeparator)
{
CHECK_INTERNAL_POINTER(widget())
kvs_uint_t iIndex;
@@ -358,7 +358,7 @@ KVSO_CLASS_FUNCTION(popupMenu,insertSeparator)
KVSO_PARAMETERS_END(c)
QAction * pAction=getAction(iIndex);
if(pAction)
- ((QMenu *)widget())->insertSeparator(pAction);
+ ((QMenu *)widget())->insertSeparator(pAction);
return true;
}
diff --git a/src/modules/objects/KvsObject_popupMenu.h b/src/modules/objects/KvsObject_popupMenu.h
index ad0fc37c7..20c547d60 100644
--- a/src/modules/objects/KvsObject_popupMenu.h
+++ b/src/modules/objects/KvsObject_popupMenu.h
@@ -44,13 +44,13 @@ public:
protected:
virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams);
- bool insertItem(KviKvsObjectFunctionCall *c);
+ bool addAction(KviKvsObjectFunctionCall *c);
bool setTitle(KviKvsObjectFunctionCall *c);
bool addMenu(KviKvsObjectFunctionCall *c);
bool exec(KviKvsObjectFunctionCall *c);
bool removeItem(KviKvsObjectFunctionCall *c);
bool removeItemAt(KviKvsObjectFunctionCall *c);
- bool insertSeparator(KviKvsObjectFunctionCall *c);
+ bool addSeparator(KviKvsObjectFunctionCall *c);
bool activatedEvent(KviKvsObjectFunctionCall *c);
bool highlightedEvent(KviKvsObjectFunctionCall *c);
diff --git a/src/modules/objects/KvsObject_toolButton.cpp b/src/modules/objects/KvsObject_toolButton.cpp
index 84d05560f..a37e8b0d8 100644
--- a/src/modules/objects/KvsObject_toolButton.cpp
+++ b/src/modules/objects/KvsObject_toolButton.cpp
@@ -29,7 +29,7 @@
#include "KviLocale.h"
#include "KviIconManager.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
/*
@doc: toolbutton
@keyterms:
@@ -273,7 +273,7 @@ KVSO_CLASS_FUNCTION(toolButton,setPopup)
c->warning(__tr2qs_ctx("Can't add a non-popupmenu object","objects"));
return true;
}
- ((QToolButton *)widget())->setMenu(((KviTalPopupMenu *)(ob->object())));
+ ((QToolButton *)widget())->setMenu(((QMenu *)(ob->object())));
return true;
}
diff --git a/src/modules/objects/KvsObject_treeWidgeteItem.h b/src/modules/objects/KvsObject_treeWidgeteItem.h
index 14b81b6ce..98491f6a4 100644
--- a/src/modules/objects/KvsObject_treeWidgeteItem.h
+++ b/src/modules/objects/KvsObject_treeWidgeteItem.h
@@ -42,7 +42,7 @@ protected:
virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams);
protected:
bool setText(KviKvsObjectFunctionCall *c);
- bool insertItem(KviKvsObjectFunctionCall *c);
+ bool addAction(KviKvsObjectFunctionCall *c);
bool setPixmap(KviKvsObjectFunctionCall *c);
bool setItemEditable(KviKvsObjectFunctionCall *c);
bool isItemEditable(KviKvsObjectFunctionCall *c);
diff --git a/src/modules/objects/KvsObject_webView.cpp b/src/modules/objects/KvsObject_webView.cpp
index 6ba7529aa..a490f527a 100644
--- a/src/modules/objects/KvsObject_webView.cpp
+++ b/src/modules/objects/KvsObject_webView.cpp
@@ -30,7 +30,7 @@
#include "KvsObject_pixmap.h"
#include "KviError.h"
#include "KviLocale.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#if defined(COMPILE_WEBKIT_SUPPORT)
#include <QWebView>
@@ -1199,7 +1199,7 @@ KVSO_CLASS_FUNCTION(webView,appendWebViewActionToMenu)
if (pix) pAction->setIcon(*pix);
else c->warning(__tr2qs_ctx("Icon '%Q' doesn't exist","objects"),&szIcon);
}
- ((KviTalPopupMenu *)(ob->object()))->addAction(pAction);
+ ((QMenu *)(ob->object()))->addAction(pAction);
return true;
}
diff --git a/src/modules/objects/KvsObject_widget.cpp b/src/modules/objects/KvsObject_widget.cpp
index e235515e6..7aca679ad 100644
--- a/src/modules/objects/KvsObject_widget.cpp
+++ b/src/modules/objects/KvsObject_widget.cpp
@@ -550,12 +550,12 @@ const char * const widgettypes_tbl[] = {
%checkbox->$setText("This is a checkbox")
%combobox = $new(combobox,%box)
- %combobox->$insertItem("This is a combobox")
- %combobox->$insertItem("This is a combobox's item")
+ %combobox->$addAction("This is a combobox")
+ %combobox->$addAction("This is a combobox's item")
%listbox = $new(listbox,%box)
- %listbox->$insertItem("This is a listbox item")
- %listbox->$insertItem("This is another item")
+ %listbox->$addAction("This is a listbox item")
+ %listbox->$addAction("This is another item")
%radiobutton = $new(radiobutton,%box)
%radiobutton->$setText("This is a radiobutton")
diff --git a/src/modules/options/OptionsDialog.cpp b/src/modules/options/OptionsDialog.cpp
index 24662c81c..20c4adcd3 100644
--- a/src/modules/options/OptionsDialog.cpp
+++ b/src/modules/options/OptionsDialog.cpp
@@ -34,7 +34,7 @@
#include "KviPointerHashTable.h"
#include "KviTalVBox.h"
#include "KviTalToolTip.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTalGroupBox.h"
#include <QLayout>
diff --git a/src/modules/options/OptionsWidget_channel.cpp b/src/modules/options/OptionsWidget_channel.cpp
index 21db51a8a..b33de8197 100644
--- a/src/modules/options/OptionsWidget_channel.cpp
+++ b/src/modules/options/OptionsWidget_channel.cpp
@@ -112,7 +112,7 @@ OptionsWidget_channelAdvanced::OptionsWidget_channelAdvanced(QWidget * pParent)
hostmask.mask(tmp1,(KviIrcMask::MaskType)i);
ipmask.mask(tmp2,(KviIrcMask::MaskType)i);
- m_pBanTypeCombo->insertItem(m_pBanTypeCombo->count(),QString("%1 (%2)").arg(tmp1, tmp2));
+ m_pBanTypeCombo->insertItem(m_pBanTypeCombo->count(),QString("%1 (%2)").arg(tmp1, tmp2));
}
m_pBanTypeCombo->setCurrentIndex(KVI_OPTION_UINT(KviOption_uintDefaultBanType));
diff --git a/src/modules/options/OptionsWidget_identity.cpp b/src/modules/options/OptionsWidget_identity.cpp
index cd4498f85..e79564221 100644
--- a/src/modules/options/OptionsWidget_identity.cpp
+++ b/src/modules/options/OptionsWidget_identity.cpp
@@ -351,7 +351,7 @@ KviIdentityGeneralOptionsWidget::KviIdentityGeneralOptionsWidget(QWidget * paren
{
QString tmp;
tmp.setNum(i);
- m_pAgeCombo->insertItem(m_pAgeCombo->count(),tmp);
+ m_pAgeCombo->insertItem(m_pAgeCombo->count(),tmp);
}
bool bOk;
diff --git a/src/modules/options/OptionsWidget_message.cpp b/src/modules/options/OptionsWidget_message.cpp
index ed5c2b742..9ff8ddab3 100644
--- a/src/modules/options/OptionsWidget_message.cpp
+++ b/src/modules/options/OptionsWidget_message.cpp
@@ -39,6 +39,7 @@
#include <QPushButton>
#include <QCursor>
#include <QPainter>
+#include <QWidgetAction>
#if !defined(COMPILE_ON_WINDOWS) && !defined(COMPILE_ON_MINGW)
#include <unistd.h> // symlink()
@@ -398,10 +399,10 @@ OptionsWidget_messageColors::OptionsWidget_messageColors(QWidget * parent)
m_pIconButton = new QToolButton(box);
connect(m_pIconButton,SIGNAL(clicked()),this,SLOT(iconButtonClicked()));
- m_pIconPopup = new KviTalPopupMenu(this);
+ m_pIconPopup = new QMenu(this);
KviIconWidget * iw = new KviIconWidget(m_pIconPopup);
connect(iw,SIGNAL(selected(KviIconManager::SmallIcon)),this,SLOT(newIconSelected(KviIconManager::SmallIcon)));
- m_pIconPopup->insertItem(iw);
+ m_pIconPopup->addAction(new QWidgetAction(iw));
m_pEnableLogging = new QCheckBox(__tr2qs_ctx("Log this","options"),box);
diff --git a/src/modules/options/OptionsWidget_message.h b/src/modules/options/OptionsWidget_message.h
index c9e1bdee5..cf1b71c80 100644
--- a/src/modules/options/OptionsWidget_message.h
+++ b/src/modules/options/OptionsWidget_message.h
@@ -26,7 +26,7 @@
#include "KviOptionsWidget.h"
#include "KviMessageTypeSettings.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviIconManager.h"
#include <QTreeWidget>
@@ -173,7 +173,7 @@ public:
MessageListWidgetItem * m_pLastItem;
QCheckBox * m_pEnableLogging;
QToolButton * m_pIconButton;
- KviTalPopupMenu * m_pIconPopup;
+ QMenu * m_pIconPopup;
public:
void saveLastItem();
protected slots:
diff --git a/src/modules/options/OptionsWidget_proxy.cpp b/src/modules/options/OptionsWidget_proxy.cpp
index 8784e2a7b..3849db285 100644
--- a/src/modules/options/OptionsWidget_proxy.cpp
+++ b/src/modules/options/OptionsWidget_proxy.cpp
@@ -33,7 +33,7 @@
#include "kvi_settings.h"
#include "KviOptions.h"
#include "KviTalGroupBox.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTalToolTip.h"
#include <QLabel>
@@ -140,7 +140,7 @@ OptionsWidget_proxy::OptionsWidget_proxy(QWidget * parent)
layout()->setRowStretch(0,1);
layout()->setColumnStretch(0,1);
- m_pContextPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
}
OptionsWidget_proxy::~OptionsWidget_proxy()
@@ -323,8 +323,9 @@ void OptionsWidget_proxy::customContextMenuRequested(const QPoint &pos)
{
QTreeWidgetItem *it=(QTreeWidgetItem *)m_pTreeWidget->itemAt(pos);
m_pContextPopup->clear();
- m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Proxy)),__tr2qs_ctx("&New Proxy","options"),this,SLOT(newProxy()));
- m_pContextPopup->setItemEnabled(m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Cut)),__tr2qs_ctx("Re&move Proxy","options"),this,SLOT(removeCurrent())),it);
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Proxy)),__tr2qs_ctx("&New Proxy","options"),this,SLOT(newProxy()));
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Cut)),__tr2qs_ctx("Re&move Proxy","options"),this,SLOT(removeCurrent()))
+ ->setEnabled(it);
m_pContextPopup->popup(QCursor::pos());
}
diff --git a/src/modules/options/OptionsWidget_proxy.h b/src/modules/options/OptionsWidget_proxy.h
index 429bd7bf9..930cfda29 100644
--- a/src/modules/options/OptionsWidget_proxy.h
+++ b/src/modules/options/OptionsWidget_proxy.h
@@ -34,7 +34,7 @@ class QLabel;
class QLineEdit;
class QComboBox;
class KviIpEditor;
-class KviTalPopupMenu;
+class QMenu;
class KviProxy;
class KviProxyDataBase;
@@ -76,7 +76,7 @@ protected:
QLineEdit * m_pPortEdit;
QLabel * m_pProtocolLabel;
QComboBox * m_pProtocolBox;
- KviTalPopupMenu * m_pContextPopup;
+ QMenu * m_pContextPopup;
QCheckBox * m_pIPv6Check;
ProxyOptionsTreeWidgetItem * m_pLastEditedItem;
private:
diff --git a/src/modules/options/OptionsWidget_servers.cpp b/src/modules/options/OptionsWidget_servers.cpp
index 154c937bf..1c75a72ee 100644
--- a/src/modules/options/OptionsWidget_servers.cpp
+++ b/src/modules/options/OptionsWidget_servers.cpp
@@ -53,7 +53,7 @@
#include "KviProxyDataBase.h"
#include "KviKvsScript.h"
#include "KviPointerHashTable.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTalToolTip.h"
#include <QLineEdit>
@@ -230,8 +230,8 @@ IrcNetworkDetailsWidget::IrcNetworkDetailsWidget(QWidget * par,KviIrcNetwork * n
while(d->pcName)
{
tmp = QString("%1 (%2)").arg(d->pcName,d->pcDescription);
- m_pEncodingEditor->insertItem(m_pEncodingEditor->count(),tmp);
- m_pTextEncodingEditor->insertItem(m_pTextEncodingEditor->count(),tmp);
+ m_pEncodingEditor->insertItem(m_pEncodingEditor->count(),tmp);
+ m_pTextEncodingEditor->insertItem(m_pTextEncodingEditor->count(),tmp);
if(KviQString::equalCI(d->pcName,n->encoding()))
srvcurrent = i + 1;
if(KviQString::equalCI(d->pcName,n->textEncoding()))
@@ -786,8 +786,8 @@ IrcServerDetailsWidget::IrcServerDetailsWidget(QWidget * par,KviIrcServer * s)
while(d->pcName)
{
tmp = QString("%1 (%2)").arg(d->pcName,d->pcDescription);
- m_pEncodingEditor->insertItem(m_pEncodingEditor->count(),tmp);
- m_pTextEncodingEditor->insertItem(m_pTextEncodingEditor->count(),tmp);
+ m_pEncodingEditor->insertItem(m_pEncodingEditor->count(),tmp);
+ m_pTextEncodingEditor->insertItem(m_pTextEncodingEditor->count(),tmp);
if(KviQString::equalCI(d->pcName,s->encoding()))
srvcurrent = i + 1;
if(KviQString::equalCI(d->pcName,s->textEncoding()))
@@ -815,7 +815,7 @@ IrcServerDetailsWidget::IrcServerDetailsWidget(QWidget * par,KviIrcServer * s)
KviPointerList<KviProxy> * proxylist = g_pProxyDataBase->proxyList();
for(KviProxy * p = proxylist->first();p;p = proxylist->next())
{
- m_pProxyEditor->insertItem(m_pProxyEditor->count(),QString("%1:%2").arg(p->hostName()).arg(p->port()));
+ m_pProxyEditor->insertItem(m_pProxyEditor->count(),QString("%1:%2").arg(p->hostName()).arg(p->port()));
}
if(m_pProxyEditor->count() > (s->proxy()+2))
m_pProxyEditor->setCurrentIndex(s->proxy()+2);
@@ -1258,11 +1258,11 @@ OptionsWidget_servers::OptionsWidget_servers(QWidget * parent)
createLayout();
- m_pContextPopup = new KviTalPopupMenu(this);
- m_pImportPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
+ m_pImportPopup = new QMenu(this);
connect(m_pImportPopup,SIGNAL(aboutToShow()),this,SLOT(importPopupAboutToShow()));
- connect(m_pImportPopup,SIGNAL(activated(int)),this,SLOT(importPopupActivated(int)));
+ connect(m_pImportPopup,SIGNAL(triggered(QAction *)),this,SLOT(importPopupActivated(QAction *)));
m_pServerDetailsDialog = 0;
m_pNetworkDetailsDialog = 0;
@@ -1371,9 +1371,9 @@ OptionsWidget_servers::OptionsWidget_servers(QWidget * parent)
connect(m_pDetailsButton,SIGNAL(clicked()),this,SLOT(detailsClicked()));
KviTalToolTip::add(m_pDetailsButton,__tr2qs_ctx("<center>Click here to edit advanced options for this entry</center>","options"));
- m_pRecentPopup = new KviTalPopupMenu(gbox);
+ m_pRecentPopup = new QMenu(gbox);
connect(m_pRecentPopup,SIGNAL(aboutToShow()),this,SLOT(recentServersPopupAboutToShow()));
- connect(m_pRecentPopup,SIGNAL(activated(int)),this,SLOT(recentServersPopupClicked(int)));
+ connect(m_pRecentPopup,SIGNAL(triggered(QAction *)),this,SLOT(recentServersPopupClicked(QAction *)));
QToolButton * tb = new QToolButton(gbox);
tb->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KviIconManager::Time))));
@@ -1479,11 +1479,11 @@ void OptionsWidget_servers::recentServersPopupAboutToShow()
{
g_pApp->fillRecentServersPopup(m_pRecentPopup);
- m_pRecentPopup->insertSeparator();
- m_pRecentPopup->insertItem(__tr2qs("Clear Recent Servers List"));
+ m_pRecentPopup->addSeparator();
+ m_pRecentPopup->addAction(__tr2qs("Clear Recent Servers List"));
}
-void OptionsWidget_servers::recentServersPopupClicked(int id)
+void OptionsWidget_servers::recentServersPopupClicked(QAction *pAction)
{
if(!g_pActiveWindow)
return; // doh
@@ -1492,7 +1492,7 @@ void OptionsWidget_servers::recentServersPopupClicked(int id)
if(!c)
return;
- QString szItemText = m_pRecentPopup->text(id);
+ QString szItemText = pAction->text();
szItemText.remove(QChar('&'));
if(szItemText.isEmpty())
return;
@@ -1798,27 +1798,26 @@ void OptionsWidget_servers::commit()
void OptionsWidget_servers::customContextMenuRequested(const QPoint &pnt)
{
- int id;
QTreeWidgetItem *it=(QTreeWidgetItem *) m_pTreeWidget->itemAt(pnt);
bool bServer = (it && ((IrcServerOptionsTreeWidgetItem *)it)->m_pServerData);
m_pContextPopup->clear();
- m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::World)),__tr2qs_ctx("New Network","options"),this,SLOT(newNetwork()));
- id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Cut)),__tr2qs_ctx("Remove Network","options"),this,SLOT(removeCurrent()));
- m_pContextPopup->setItemEnabled(id,!bServer);
- m_pContextPopup->insertSeparator();
- id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Server)),__tr2qs_ctx("&New Server","options"),this,SLOT(newServer()));
- id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Cut)),__tr2qs_ctx("Re&move Server","options"),this,SLOT(removeCurrent()));
- m_pContextPopup->setItemEnabled(id,bServer);
- id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Copy)),__tr2qs_ctx("&Copy Server","options"),this,SLOT(copyServer()));
- m_pContextPopup->setItemEnabled(id,bServer);
- id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Paste)),__tr2qs_ctx("&Paste Server","options"),this,SLOT(pasteServer()));
- m_pContextPopup->setItemEnabled(id,m_pClipboard);
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::World)),__tr2qs_ctx("New Network","options"),this,SLOT(newNetwork()));
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Cut)),__tr2qs_ctx("Remove Network","options"),this,SLOT(removeCurrent()))
+ ->setEnabled(!bServer);
+ m_pContextPopup->addSeparator();
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Server)),__tr2qs_ctx("&New Server","options"),this,SLOT(newServer()));
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Cut)),__tr2qs_ctx("Re&move Server","options"),this,SLOT(removeCurrent()))
+ ->setEnabled(bServer);
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Copy)),__tr2qs_ctx("&Copy Server","options"),this,SLOT(copyServer()));
+ m_pContextPopup->setEnabled(bServer);
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Paste)),__tr2qs_ctx("&Paste Server","options"),this,SLOT(pasteServer()))
+ ->setEnabled(m_pClipboard);
- m_pContextPopup->insertSeparator();
- // m_pContextPopup->insertItem(__c2q(__tr("Merge list from server.ini","options")),this,SLOT(importFromIni()));
- m_pContextPopup->insertItem(__tr2qs_ctx("Clear List","options"),this,SLOT(clearList()));
- m_pContextPopup->insertSeparator();
- m_pContextPopup->insertItem(__tr2qs_ctx("Import List","options"),m_pImportPopup);
+ m_pContextPopup->addSeparator();
+ // m_pContextPopup->addAction(__c2q(__tr("Merge list from server.ini","options")),this,SLOT(importFromIni()));
+ m_pContextPopup->addAction(__tr2qs_ctx("Clear List","options"),this,SLOT(clearList()));
+ m_pContextPopup->addSeparator();
+ m_pContextPopup->addAction(__tr2qs_ctx("Import List","options"))->setMenu(m_pImportPopup);
m_pContextPopup->popup(QCursor::pos());
}
@@ -1831,19 +1830,19 @@ void OptionsWidget_servers::importPopupAboutToShow()
if(!l)return;
- int id;
+ QAction *pAction;
for(KviModuleExtensionDescriptor * d = l->first();d;d = l->next())
{
if(d->icon())
- id = m_pImportPopup->insertItem(*(d->icon()),d->visibleName());
+ pAction = m_pImportPopup->addAction(*(d->icon()),d->visibleName());
else
- id = m_pImportPopup->insertItem(d->visibleName());
- m_pImportPopup->setItemParameter(id,d->id());
+ pAction = m_pImportPopup->addAction(d->visibleName());
+ pAction->setData(d->id());
}
}
-void OptionsWidget_servers::importPopupActivated(int id)
+void OptionsWidget_servers::importPopupActivated(QAction *pAction)
{
// ensure that we have all the modules : they could have been unloaded while the popup was displayed
g_pModuleManager->loadModulesByCaps("serverimport");
@@ -1866,7 +1865,10 @@ void OptionsWidget_servers::importPopupActivated(int id)
m_pImportFilter = 0;
}
- id = m_pImportPopup->itemParameter(id);
+ bool bOk=false;
+ int id = pAction->data().toInt(&bOk);
+ if(!bOk)
+ return;
m_pImportFilter = (KviMexServerImport *)KviModuleExtensionManager::instance()->allocateExtension("serverimport",id,0);
diff --git a/src/modules/options/OptionsWidget_servers.h b/src/modules/options/OptionsWidget_servers.h
index f1a40e731..c23851ded 100644
--- a/src/modules/options/OptionsWidget_servers.h
+++ b/src/modules/options/OptionsWidget_servers.h
@@ -40,7 +40,7 @@ class QComboBox;
class QPushButton;
class KviIpEditor;
class KviIrcServer;
-class KviTalPopupMenu;
+class QMenu;
class KviScriptEditor;
class KviNickServRule;
class NickServRuleEditor;
@@ -182,9 +182,9 @@ protected:
QLabel * m_pFilterLabel;
QLineEdit * m_pFilterEdit;
QPushButton * m_pDetailsButton;
- KviTalPopupMenu * m_pRecentPopup;
- KviTalPopupMenu * m_pContextPopup;
- KviTalPopupMenu * m_pImportPopup;
+ QMenu * m_pRecentPopup;
+ QMenu * m_pContextPopup;
+ QMenu * m_pImportPopup;
KviIrcServer * m_pClipboard;
QPushButton * m_pConnectCurrent;
QPushButton * m_pConnectNew;
@@ -222,8 +222,8 @@ protected slots:
void detailsClicked();
void connectCurrentClicked();
void recentServersPopupAboutToShow();
- void recentServersPopupClicked(int id);
- void importPopupActivated(int id);
+ void recentServersPopupClicked(QAction *pAction);
+ void importPopupActivated(QAction *pAction);
void serverNetworkEditTextEdited(const QString &szNewText);
void filterTextEdited(const QString &szNewText);
public:
diff --git a/src/modules/options/OptionsWidget_sound.cpp b/src/modules/options/OptionsWidget_sound.cpp
index 454d39fca..533303284 100644
--- a/src/modules/options/OptionsWidget_sound.cpp
+++ b/src/modules/options/OptionsWidget_sound.cpp
@@ -108,7 +108,7 @@ OptionsWidget_soundGeneral::OptionsWidget_soundGeneral(QWidget * parent)
{
if(KviQString::equalCI(d->pcName,KVI_OPTION_STRING(KviOption_stringMp3TagsEncoding)))
iMatch = i + 1;
- m_pTagsEncodingCombo->insertItem(m_pTagsEncodingCombo->count(),d->pcName);
+ m_pTagsEncodingCombo->insertItem(m_pTagsEncodingCombo->count(),d->pcName);
i++;
d = KviLocale::instance()->encodingDescription(i);
}
@@ -132,7 +132,7 @@ OptionsWidget_soundGeneral::OptionsWidget_soundGeneral(QWidget * parent)
{
if(KviQString::equalCI(d->pcName,KVI_OPTION_STRING(KviOption_stringWinampTextEncoding)))
iMatch = i + 1;
- m_pWinampEncodingCombo->insertItem(m_pWinampEncodingCombo->count(),d->pcName);
+ m_pWinampEncodingCombo->addAction(m_pWinampEncodingCombo->count(),d->pcName);
i++;
d = KviLocale::instance()->encodingDescription(i);
}
diff --git a/src/modules/options/OptionsWidget_textEncoding.cpp b/src/modules/options/OptionsWidget_textEncoding.cpp
index dda641f9c..f87a5ebad 100644
--- a/src/modules/options/OptionsWidget_textEncoding.cpp
+++ b/src/modules/options/OptionsWidget_textEncoding.cpp
@@ -69,8 +69,8 @@ OptionsWidget_textEncoding::OptionsWidget_textEncoding(QWidget * parent)
if(KviQString::equalCI(d->pcName,KVI_OPTION_STRING(KviOption_stringDefaultSrvEncoding)))
iSrvMatch = i + 1;
- m_pTextEncodingCombo->insertItem(m_pTextEncodingCombo->count(),d->pcName);
- m_pSrvEncodingCombo->insertItem(m_pSrvEncodingCombo->count(),d->pcName);
+ m_pTextEncodingCombo->insertItem(m_pTextEncodingCombo->count(),d->pcName);
+ m_pSrvEncodingCombo->insertItem(m_pSrvEncodingCombo->count(),d->pcName);
i++;
d = KviLocale::instance()->encodingDescription(i);
}
@@ -113,7 +113,7 @@ OptionsWidget_textEncoding::OptionsWidget_textEncoding(QWidget * parent)
QString szTmp=*it;
szTmp.replace("kvirc_","");
szTmp.replace(".mo","");
- m_pForcedLocaleCombo->insertItem(m_pForcedLocaleCombo->count(),szTmp);
+ m_pForcedLocaleCombo->insertItem(m_pForcedLocaleCombo->count(),szTmp);
if(KviQString::equalCI(szTmp,m_szLanguage))
iMatch = i + 2;
i++;
diff --git a/src/modules/options/OptionsWidget_textIcons.cpp b/src/modules/options/OptionsWidget_textIcons.cpp
index e933d33b4..6e3dacf6b 100644
--- a/src/modules/options/OptionsWidget_textIcons.cpp
+++ b/src/modules/options/OptionsWidget_textIcons.cpp
@@ -32,7 +32,7 @@
#include "KviLocale.h"
#include "KviFileDialog.h"
#include "kvi_fileextensions.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTalHBox.h"
#include "KviFileUtils.h"
@@ -40,6 +40,7 @@
#include <QLayout>
#include <QCursor>
#include <QHeaderView>
+#include <QWidgetAction>
TextIconTableItem::TextIconTableItem(QTableWidget *,KviTextIcon * icon)
: QTableWidgetItem(QString(),Qt::ItemIsEditable)
@@ -152,10 +153,10 @@ void OptionsWidget_textIcons::doPopup()
{
if(!m_pPopup)
{
- m_pPopup = new KviTalPopupMenu(this);
+ m_pPopup = new QMenu(this);
KviIconWidget * iw = new KviIconWidget(m_pPopup);
connect(iw,SIGNAL(selected(KviIconManager::SmallIcon)),this,SLOT(iconSelected(KviIconManager::SmallIcon)));
- m_pPopup->insertItem(iw);
+ m_pPopup->addAction(new QWidgetAction(iw));
}
m_pPopup->popup(QCursor::pos());
}
diff --git a/src/modules/options/OptionsWidget_textIcons.h b/src/modules/options/OptionsWidget_textIcons.h
index 2d535cf65..cf4cb91e4 100644
--- a/src/modules/options/OptionsWidget_textIcons.h
+++ b/src/modules/options/OptionsWidget_textIcons.h
@@ -67,7 +67,7 @@ protected:
QPushButton * m_pDel;
QPushButton * m_pRestore;
QToolButton * m_pCurrentIconButton;
- KviTalPopupMenu *m_pPopup;
+ QMenu *m_pPopup;
private:
void fillTable();
public:
diff --git a/src/modules/popupeditor/PopupEditorWindow.cpp b/src/modules/popupeditor/PopupEditorWindow.cpp
index 19ba52ef0..bb20859ff 100644
--- a/src/modules/popupeditor/PopupEditorWindow.cpp
+++ b/src/modules/popupeditor/PopupEditorWindow.cpp
@@ -184,7 +184,7 @@ SinglePopupEditor::SinglePopupEditor(QWidget * par)
: QWidget(par)
{
m_pLastSelectedItem = 0;
- m_pContextPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
m_pClipboard = 0;
m_pTestPopup = 0;
@@ -380,85 +380,84 @@ void SinglePopupEditor::customContextMenuRequested(const QPoint &pos)
bIsMenu = ((PopupTreeWidgetItem *)it)->m_type == PopupTreeWidgetItem::Menu;
}
- m_pContextPopup->insertItem(__tr2qs_ctx("New Separator Below","editor"),this,SLOT(contextNewSeparatorBelow()));
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(__tr2qs_ctx("New Separator Above","editor"),this,SLOT(contextNewSeparatorAbove())),it);
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(__tr2qs_ctx("New Separator Inside","editor"),this,SLOT(contextNewSeparatorInside())),it && bIsMenu);
+ m_pContextPopup->addAction(__tr2qs_ctx("New Separator Below","editor"),this,SLOT(contextNewSeparatorBelow()));
+ m_pContextPopup->addAction(__tr2qs_ctx("New Separator Above","editor"),this,SLOT(contextNewSeparatorAbove()))
+ ->setEnabled(it);
+ m_pContextPopup->addAction(__tr2qs_ctx("New Separator Inside","editor"),this,SLOT(contextNewSeparatorInside()))
+ ->setEnabled(it && bIsMenu);
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
- m_pContextPopup->insertItem(__tr2qs_ctx("New Label Below","editor"),this,SLOT(contextNewLabelBelow()));
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(__tr2qs_ctx("New Label Above","editor"),this,SLOT(contextNewLabelAbove())),it);
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(__tr2qs_ctx("New Label Inside","editor"),this,SLOT(contextNewLabelInside())),it && bIsMenu);
+ m_pContextPopup->addAction(__tr2qs_ctx("New Label Below","editor"),this,SLOT(contextNewLabelBelow()));
+ m_pContextPopup->addAction(__tr2qs_ctx("New Label Above","editor"),this,SLOT(contextNewLabelAbove()))
+ ->setEnabled(it);
+ m_pContextPopup->addAction(__tr2qs_ctx("New Label Inside","editor"),this,SLOT(contextNewLabelInside()))
+ ->setEnabled(it && bIsMenu);
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
- m_pContextPopup->insertItem(__tr2qs_ctx("New Item Below","editor"),this,SLOT(contextNewItemBelow()));
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(__tr2qs_ctx("New Item Above","editor"),this,SLOT(contextNewItemAbove())),it);
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(__tr2qs_ctx("New Item Inside","editor"),this,SLOT(contextNewItemInside())),it && bIsMenu);
+ m_pContextPopup->addAction(__tr2qs_ctx("New Item Below","editor"),this,SLOT(contextNewItemBelow()));
+ m_pContextPopup->addAction(__tr2qs_ctx("New Item Above","editor"),this,SLOT(contextNewItemAbove()))
+ ->setEnabled(it);
+ m_pContextPopup->addAction(__tr2qs_ctx("New Item Inside","editor"),this,SLOT(contextNewItemInside()))
+ ->setEnabled(it && bIsMenu);
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
- m_pContextPopup->insertItem(__tr2qs_ctx("New Menu Below","editor"),this,SLOT(contextNewMenuBelow()));
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(__tr2qs_ctx("New Menu Above","editor"),this,SLOT(contextNewMenuAbove())),it);
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(__tr2qs_ctx("New Menu Inside","editor"),this,SLOT(contextNewMenuInside())),it && bIsMenu);
+ m_pContextPopup->addAction(__tr2qs_ctx("New Menu Below","editor"),this,SLOT(contextNewMenuBelow()));
+ m_pContextPopup->addAction(__tr2qs_ctx("New Menu Above","editor"),this,SLOT(contextNewMenuAbove()))
+ ->setEnabled(it);
+ m_pContextPopup->addAction(__tr2qs_ctx("New Menu Inside","editor"),this,SLOT(contextNewMenuInside()))
+ ->setEnabled(it && bIsMenu);
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
- m_pContextPopup->insertItem(__tr2qs_ctx("New External Menu Below","editor"),this,SLOT(contextNewExtMenuBelow()));
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(__tr2qs_ctx("New External Menu Above","editor"),this,SLOT(contextNewExtMenuAbove())),it);
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(__tr2qs_ctx("New External Menu Inside","editor"),this,SLOT(contextNewExtMenuInside())),it && bIsMenu);
+ m_pContextPopup->addAction(__tr2qs_ctx("New External Menu Below","editor"),this,SLOT(contextNewExtMenuBelow()));
+ m_pContextPopup->addAction(__tr2qs_ctx("New External Menu Above","editor"),this,SLOT(contextNewExtMenuAbove()))
+ ->setEnabled(it);
+ m_pContextPopup->addAction(__tr2qs_ctx("New External Menu Inside","editor"),this,SLOT(contextNewExtMenuInside()))
+ ->setEnabled(it && bIsMenu);
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Cut)),
__tr2qs_ctx("Cu&t","editor"),
- this,SLOT(contextCut())),it);
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(
+ this,SLOT(contextCut()))
+ ->setEnabled(it);
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Copy)),
__tr2qs_ctx("&Copy","editor"),
- this,SLOT(contextCopy())),it);
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(
+ this,SLOT(contextCopy()))
+ ->setEnabled(it);
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Paste)),
- __tr2qs_ctx("&Paste Below","editor"),this,SLOT(contextPasteBelow())),
- m_pClipboard);
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(
+ __tr2qs_ctx("&Paste Below","editor"),this,SLOT(contextPasteBelow()))
+ ->setEnabled(m_pClipboard);
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Paste)),
- __tr2qs_ctx("Paste Above","editor"),this,SLOT(contextPasteAbove())),it && m_pClipboard);
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(
+ __tr2qs_ctx("Paste Above","editor"),this,SLOT(contextPasteAbove()))
+ ->setEnabled(it && m_pClipboard);
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Paste)),
- __tr2qs_ctx("Paste Inside","editor"),this,SLOT(contextPasteInside())),it && bIsMenu && m_pClipboard);
+ __tr2qs_ctx("Paste Inside","editor"),this,SLOT(contextPasteInside()))
+ ->setEnabled(it && bIsMenu && m_pClipboard);
bool bSeparatorInserted = false;
// if(!findPrologue(parentMenu))
// {
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
bSeparatorInserted = true;
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Prologue)),
__tr2qs_ctx("New Menu Prologue","editor"),this,SLOT(contextNewPrologue()));
// }
// if(!findEpilogue(parentMenu))
// {
- if(!bSeparatorInserted)m_pContextPopup->insertSeparator();
- m_pContextPopup->insertItem(
+ if(!bSeparatorInserted)m_pContextPopup->addSeparator();
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Epilogue)),
__tr2qs_ctx("New Menu Epilogue","editor"),this,SLOT(contextNewEpilogue()));
// }
@@ -1053,8 +1052,8 @@ PopupEditorWidget::PopupEditorWidget(QWidget * par)
m_bOneTimeSetupDone = false;
m_pLastEditedItem = 0;
- m_pContextPopup = new KviTalPopupMenu(this);
- m_pEmptyContextPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
+ m_pEmptyContextPopup = new QMenu(this);
spl->setStretchFactor (0,20);
spl->setStretchFactor (1,80);
@@ -1142,28 +1141,28 @@ void PopupEditorWidget::customContextMenuRequested(const QPoint &pos)
{
m_pContextPopup->clear();
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Popup)),
__tr2qs_ctx("&New Popup","editor"),
this,SLOT(newPopup()));
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),
__tr2qs_ctx("Re&move Popup","editor"),
- this,SLOT(removeCurrentPopup())),it);
+ this,SLOT(removeCurrentPopup()))
+ ->setEnabled(it);
- m_pContextPopup->setItemEnabled(
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Folder)),
__tr2qs_ctx("&Export Popup To...","editor"),
- this,SLOT(exportCurrentPopup())),it);
+ this,SLOT(exportCurrentPopup()))
+ ->setEnabled(it);
m_pContextPopup->popup(QCursor::pos());
} else {
m_pEmptyContextPopup->clear();
- m_pEmptyContextPopup->insertItem(
+ m_pEmptyContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Popup)),
__tr2qs_ctx("&New Popup","editor"),
this,SLOT(newPopup()));
diff --git a/src/modules/popupeditor/PopupEditorWindow.h b/src/modules/popupeditor/PopupEditorWindow.h
index 2e31a96ad..98b5bb429 100644
--- a/src/modules/popupeditor/PopupEditorWindow.h
+++ b/src/modules/popupeditor/PopupEditorWindow.h
@@ -27,7 +27,7 @@
#include "KviWindow.h"
#include "KviCString.h"
#include <QTreeWidget>
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QWidget>
#include <QLineEdit>
@@ -83,7 +83,7 @@ protected:
QLineEdit * m_pIconEditor;
QLineEdit * m_pConditionEditor;
QLineEdit * m_pExtNameEditor;
- KviTalPopupMenu * m_pContextPopup;
+ QMenu * m_pContextPopup;
public:
void edit(MenuTreeWidgetItem * it);
KviKvsPopupMenu * getMenu();
@@ -156,8 +156,8 @@ public:
QTreeWidget * m_pTreeWidget;
MenuTreeWidgetItem * m_pLastEditedItem;
bool m_bOneTimeSetupDone;
- KviTalPopupMenu * m_pContextPopup;
- KviTalPopupMenu * m_pEmptyContextPopup;
+ QMenu * m_pContextPopup;
+ QMenu * m_pEmptyContextPopup;
bool m_bSaving;
public:
void commit();
diff --git a/src/modules/raweditor/RawEditorWindow.cpp b/src/modules/raweditor/RawEditorWindow.cpp
index 6d3d67386..71755bfdf 100644
--- a/src/modules/raweditor/RawEditorWindow.cpp
+++ b/src/modules/raweditor/RawEditorWindow.cpp
@@ -40,7 +40,7 @@
#include "KviKvsEventManager.h"
#include "KviKvsEventHandler.h"
#include "KviTalVBox.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QMessageBox>
#include <QSplitter>
@@ -91,7 +91,7 @@ RawEditorWidget::RawEditorWidget(QWidget * par)
m_pTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection);
// m_pTreeWidget->setShowSortIndicator(true);
m_pTreeWidget->setRootIsDecorated(true);
- m_pContextPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
m_pTreeWidget->setContextMenuPolicy(Qt::CustomContextMenu);
connect(m_pTreeWidget,SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)),this,SLOT(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)));
@@ -151,32 +151,32 @@ void RawEditorWidget::customContextMenuRequested(const QPoint &pos)
if(it->parent())
{
if(!(((RawHandlerTreeWidgetItem *)it)->m_bEnabled))
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Handler)),
__tr2qs_ctx("&Enable Handler","editor"),this,SLOT(toggleCurrentHandlerEnabled()));
else
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::HandlerDisabled)),
__tr2qs_ctx("&Disable Handler","editor"),this,SLOT(toggleCurrentHandlerEnabled()));
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Quit)),
__tr2qs_ctx("Re&move Handler","editor"),
this,SLOT(removeCurrentHandler()));
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Folder)),
__tr2qs_ctx("&Export Handler To...","editor"),
this,SLOT(exportCurrentHandler()));
} else {
- m_pContextPopup->insertItem(
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::Handler)),
__tr2qs_ctx("&New Handler","editor"),
this,SLOT(addHandlerForCurrentRaw()));
}
}
- m_pContextPopup->insertSeparator();
- m_pContextPopup->insertItem(
+ m_pContextPopup->addSeparator();
+ m_pContextPopup->addAction(
*(g_pIconManager->getSmallIcon(KviIconManager::RawEvent)),
__tr2qs_ctx("&Add Raw Event...","editor"),
this,SLOT(addRaw()));
diff --git a/src/modules/raweditor/RawEditorWindow.h b/src/modules/raweditor/RawEditorWindow.h
index 81f45b3b0..7b547c8d9 100644
--- a/src/modules/raweditor/RawEditorWindow.h
+++ b/src/modules/raweditor/RawEditorWindow.h
@@ -33,7 +33,7 @@
#include <QLineEdit>
class KviScriptEditor;
-class KviTalPopupMenu;
+class QMenu;
class RawTreeWidget : public QTreeWidget
{
@@ -95,7 +95,7 @@ public:
KviScriptEditor * m_pEditor;
RawTreeWidget * m_pTreeWidget;
QLineEdit * m_pNameEditor;
- KviTalPopupMenu * m_pContextPopup;
+ QMenu * m_pContextPopup;
RawHandlerTreeWidgetItem * m_pLastEditedItem;
bool m_bOneTimeSetupDone;
public:
diff --git a/src/modules/reguser/RegisteredUserEntryDialog.h b/src/modules/reguser/RegisteredUserEntryDialog.h
index 04dc745cd..96dafde06 100644
--- a/src/modules/reguser/RegisteredUserEntryDialog.h
+++ b/src/modules/reguser/RegisteredUserEntryDialog.h
@@ -29,7 +29,7 @@
#include "KviSelectors.h"
#include "KviPointerHashTable.h"
#include <QTreeWidget>
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <KviTalTabDialog.h>
#include <QListWidget>
diff --git a/src/modules/reguser/RegisteredUsersDialog.cpp b/src/modules/reguser/RegisteredUsersDialog.cpp
index 3b2f1c068..3cf8efcee 100644
--- a/src/modules/reguser/RegisteredUsersDialog.cpp
+++ b/src/modules/reguser/RegisteredUsersDialog.cpp
@@ -469,29 +469,29 @@ void RegisteredUsersDialog::rightButtonPressed ( QTreeWidgetItem * pItem, QPoint
RegisteredUsersDialogItemBase* b=(RegisteredUsersDialogItemBase*)pItem;
if(b->type()==RegisteredUsersDialogItemBase::User)
{
- KviTalPopupMenu *groups = new KviTalPopupMenu;
+ QMenu *groups = new QMenu;
KviPointerHashTable<QString,KviRegisteredUserGroup> * pGroups = g_pLocalRegisteredUserDataBase->groupDict();
- m_TmpDict.clear();
for(KviPointerHashTableEntry<QString,KviRegisteredUserGroup> * g = pGroups->firstEntry();g;g = pGroups->nextEntry())
{
- int id=groups->insertItem(g->key());
- m_TmpDict.replace(id,g->data());
+ groups->addAction(g->key())
+ ->setData(g->data()->name());
}
- connect(groups,SIGNAL(activated ( int )),this,SLOT(moveToGroupMenuClicked(int)));
+ connect(groups,SIGNAL(triggered(QAction *)),this,SLOT(moveToGroupMenuClicked(QAction *)));
- KviTalPopupMenu *mainPopup = new KviTalPopupMenu;
- mainPopup->insertItem(__tr2qs_ctx("Move to group","register"),groups);
+ QMenu *mainPopup = new QMenu;
+ mainPopup->addAction(__tr2qs_ctx("Move to group","register"))->setMenu(groups);
mainPopup->exec(pnt);
}
}
}
-void RegisteredUsersDialog::moveToGroupMenuClicked(int id)
+void RegisteredUsersDialog::moveToGroupMenuClicked(QAction *pAction)
{
- QString szGroup=(*(m_TmpDict.find(id)))->name();
- QList<QTreeWidgetItem *> list = m_pListView->selectedItems();
+ QString szGroup=pAction->data().toString();
+
+ QList<QTreeWidgetItem *> list = m_pListView->selectedItems();
for(int i=0; i<list.count(); i++)
{
RegisteredUsersDialogItemBase* b=(RegisteredUsersDialogItemBase*)(list.at(i));
diff --git a/src/modules/reguser/RegisteredUsersDialog.h b/src/modules/reguser/RegisteredUsersDialog.h
index d511560dd..aed4768c2 100644
--- a/src/modules/reguser/RegisteredUsersDialog.h
+++ b/src/modules/reguser/RegisteredUsersDialog.h
@@ -30,13 +30,12 @@
#include "KviPointerHashTable.h"
#include <QTreeWidget>
#include "KviTalListWidget.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QStyledItemDelegate>
-#include <QMultiHash>
#include <QTextDocument>
class KviRegisteredUsersListView : public QTreeWidget
@@ -132,7 +131,6 @@ public:
QPushButton * m_pExportButton;
QPushButton * m_pAddGroupButton;
QPushButton * m_pSelectAllButton;
- QMultiHash<int, KviRegisteredUserGroup*> m_TmpDict;
protected:
void fillList();
void editItem(RegisteredUsersDialogItem * i);
@@ -153,7 +151,7 @@ protected slots:
void itemPressed(QTreeWidgetItem *it,int c);
void itemDoubleClicked(QTreeWidgetItem *it, int);
void rightButtonPressed ( QTreeWidgetItem *, QPoint);
- void moveToGroupMenuClicked(int);
+ void moveToGroupMenuClicked(QAction *pAction);
};
#endif
diff --git a/src/modules/setup/SetupWizard.cpp b/src/modules/setup/SetupWizard.cpp
index 2abdd3709..981a38b43 100644
--- a/src/modules/setup/SetupWizard.cpp
+++ b/src/modules/setup/SetupWizard.cpp
@@ -360,13 +360,13 @@ SetupWizard::SetupWizard()
m_pAgeCombo = new QComboBox(hb);
- m_pAgeCombo->insertItem(0,__tr2qs("Unspecified"));
+ m_pAgeCombo->insertItem(0,__tr2qs("Unspecified"));
unsigned int i;
for(i=1;i<120;i++)
{
QString tmp;
tmp.setNum(i);
- m_pAgeCombo->insertItem(m_pAgeCombo->count(),tmp);
+ m_pAgeCombo->insertItem(m_pAgeCombo->count(),tmp);
}
bool bOk;
@@ -387,9 +387,9 @@ SetupWizard::SetupWizard()
m_pGenderCombo = new QComboBox(hb);
- m_pGenderCombo->insertItem(0,__tr2qs("Unspecified"));
- m_pGenderCombo->insertItem(1,__tr2qs("Female"));
- m_pGenderCombo->insertItem(2,__tr2qs("Male"));
+ m_pGenderCombo->insertItem(0,__tr2qs("Unspecified"));
+ m_pGenderCombo->insertItem(1,__tr2qs("Female"));
+ m_pGenderCombo->insertItem(2,__tr2qs("Male"));
if(KviQString::equalCI(KVI_OPTION_STRING(KviOption_stringCtcpUserInfoGender),"Male"))
m_pGenderCombo->setCurrentIndex(2);
diff --git a/src/modules/sharedfileswindow/SharedFilesWindow.cpp b/src/modules/sharedfileswindow/SharedFilesWindow.cpp
index dee47083d..75f4c80ae 100644
--- a/src/modules/sharedfileswindow/SharedFilesWindow.cpp
+++ b/src/modules/sharedfileswindow/SharedFilesWindow.cpp
@@ -384,11 +384,11 @@ void SharedFilesWindow::transferUnregistering(KviSharedFiles * t)
void SharedFilesWindow::rightButtonPressed(QTreeWidgetItem *it,const QPoint &pnt,int col)
{
- if(!m_pContextPopup)m_pContextPopup = new KviTalPopupMenu(this);
- if(!m_pLocalFilePopup)m_pLocalFilePopup = new KviTalPopupMenu(this);
+ if(!m_pContextPopup)m_pContextPopup = new QMenu(this);
+ if(!m_pLocalFilePopup)m_pLocalFilePopup = new QMenu(this);
if(!m_pOpenFilePopup)
{
- m_pOpenFilePopup= new KviTalPopupMenu(this);
+ m_pOpenFilePopup= new QMenu(this);
connect(m_pOpenFilePopup,SIGNAL(activated(int)),this,SLOT(openFilePopupActivated(int)));
}
@@ -429,7 +429,7 @@ void SharedFilesWindow::rightButtonPressed(QTreeWidgetItem *it,const QPoint &pnt
QLabel * l = new QLabel(tmp,m_pLocalFilePopup);
QPalette p;
m_pLabel->setStyleSheet("background-color: " + p.color(QPalette::Normal, QPalette::Mid).name());
- m_pLocalFilePopup->insertItem(l);
+ m_pLocalFilePopup->addAction(l);
#ifdef COMPILE_KDE_SUPPORT
QString mimetype = KMimeType::findByPath(szFile)->name();
@@ -443,31 +443,31 @@ void SharedFilesWindow::rightButtonPressed(QTreeWidgetItem *it,const QPoint &pnt
for(KServiceTypeProfile::OfferList::Iterator itOffers = offers.begin();
itOffers != offers.end(); ++itOffers)
{
- id = m_pOpenFilePopup->insertItem((*itOffers).service()->pixmap(KIcon::Small),(*itOffers).service()->name());
+ id = m_pOpenFilePopup->addAction((*itOffers).service()->pixmap(KIcon::Small),(*itOffers).service()->name());
m_pOpenFilePopup->setItemParameter(id,idx);
idx++;
}
- m_pOpenFilePopup->insertSeparator();
+ m_pOpenFilePopup->addSeparator();
- id = m_pOpenFilePopup->insertItem(__tr2qs_ctx("Default application","filetransferwindow"),this,SLOT(openLocalFile()));
+ id = m_pOpenFilePopup->addAction(__tr2qs_ctx("Default application","filetransferwindow"),this,SLOT(openLocalFile()));
m_pOpenFilePopup->setItemParameter(id,-1);
- id = m_pOpenFilePopup->insertItem(__tr2qs_ctx("&Other...","filetransferwindow"),this,SLOT(openLocalFileWith()));
+ id = m_pOpenFilePopup->addAction(__tr2qs_ctx("&Other...","filetransferwindow"),this,SLOT(openLocalFileWith()));
m_pOpenFilePopup->setItemParameter(id,-1);
- m_pLocalFilePopup->insertItem(__tr2qs_ctx("Open with","filetransferwindow"),m_pOpenFilePopup);
- m_pLocalFilePopup->insertSeparator();
- m_pLocalFilePopup->insertItem(__tr2qs_ctx("Open folder","filetransferwindow"),this,SLOT(openLocalFileFolder()));
- m_pLocalFilePopup->insertItem(__tr2qs_ctx("Reach in terminal","filetransferwindow"),this,SLOT(openLocalFileTerminal()));
- m_pLocalFilePopup->insertSeparator();
+ m_pLocalFilePopup->addAction(__tr2qs_ctx("Open with","filetransferwindow"),m_pOpenFilePopup);
+ m_pLocalFilePopup->addSeparator();
+ m_pLocalFilePopup->addAction(__tr2qs_ctx("Open folder","filetransferwindow"),this,SLOT(openLocalFileFolder()));
+ m_pLocalFilePopup->addAction(__tr2qs_ctx("Reach in terminal","filetransferwindow"),this,SLOT(openLocalFileTerminal()));
+ m_pLocalFilePopup->addSeparator();
#endif //COMPILE_KDE_SUPPORT
- m_pLocalFilePopup->insertItem(__tr2qs_ctx("Copy path to clipboard","filetransferwindow"),this,SLOT(copyLocalFileToClipboard()));
+ m_pLocalFilePopup->addAction(__tr2qs_ctx("Copy path to clipboard","filetransferwindow"),this,SLOT(copyLocalFileToClipboard()));
- m_pContextPopup->insertItem(__tr2qs_ctx("Local file","filetransferwindow"),m_pLocalFilePopup);
+ m_pContextPopup->addAction(__tr2qs_ctx("Local file","filetransferwindow"),m_pLocalFilePopup);
}
i->transfer()->fillContextPopup(m_pContextPopup,col);
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
}
}
@@ -484,10 +484,10 @@ void SharedFilesWindow::rightButtonPressed(QTreeWidgetItem *it,const QPoint &pnt
item = (KviSharedFilesItem *)item->nextSibling();
}
- id = m_pContextPopup->insertItem(__tr2qs_ctx("Clear terminated","filetransferwindow"),this,SLOT(clearTerminated()));
+ id = m_pContextPopup->addAction(__tr2qs_ctx("Clear terminated","filetransferwindow"),this,SLOT(clearTerminated()));
m_pContextPopup->setItemEnabled(id,bHaveTerminated);
- id = m_pContextPopup->insertItem(__tr2qs_ctx("Clear all","filetransferwindow"),this,SLOT(clearAll()));
+ id = m_pContextPopup->addAction(__tr2qs_ctx("Clear all","filetransferwindow"),this,SLOT(clearAll()));
m_pContextPopup->setItemEnabled(id,it);
m_pContextPopup->popup(pnt);
diff --git a/src/modules/theme/ThemeManagementDialog.cpp b/src/modules/theme/ThemeManagementDialog.cpp
index e1becb2c4..a340385b6 100644
--- a/src/modules/theme/ThemeManagementDialog.cpp
+++ b/src/modules/theme/ThemeManagementDialog.cpp
@@ -47,7 +47,7 @@
#include "KviDynamicToolTip.h"
#include "KviIconManager.h"
#include "KviMessageBox.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTalListWidget.h"
@@ -237,7 +237,7 @@ ThemeManagementDialog::ThemeManagementDialog(QWidget * parent)
// g->setSpacing(1);
vBox->setAlignment(b,Qt::AlignRight);
fillThemeBox();
- m_pContextPopup = new KviTalPopupMenu(this);
+ m_pContextPopup = new QMenu(this);
if(g_rectManagementDialogGeometry.y() < 5)
{
@@ -328,8 +328,8 @@ void ThemeManagementDialog::contextMenuRequested(const QPoint & pos)
{
m_pListWidget->setCurrentItem(m_pListWidget->itemAt(pos));
m_pContextPopup->clear();
- m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Minus)),__tr2qs_ctx("&Remove Theme","theme"),this,SLOT(deleteTheme()));
- m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KviIconManager::Accept)),__tr2qs_ctx("&Apply Theme","theme"),this,SLOT(applyCurrentTheme()));
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Minus)),__tr2qs_ctx("&Remove Theme","theme"),this,SLOT(deleteTheme()));
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Accept)),__tr2qs_ctx("&Apply Theme","theme"),this,SLOT(applyCurrentTheme()));
m_pContextPopup->popup(m_pListWidget->viewport()->mapToGlobal(pos));
}
}
diff --git a/src/modules/theme/ThemeManagementDialog.h b/src/modules/theme/ThemeManagementDialog.h
index 0714050a2..c68e0f2af 100644
--- a/src/modules/theme/ThemeManagementDialog.h
+++ b/src/modules/theme/ThemeManagementDialog.h
@@ -27,7 +27,7 @@
#include "KviOptionsWidget.h"
#include "KviPointerList.h"
#include "KviTheme.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviTalWizard.h"
#include "KviTalListWidget.h"
@@ -70,7 +70,7 @@ protected:
KviTalIconAndRichTextItemDelegate * m_pItemDelegate;
KviTalListWidget * m_pListWidget;
QLabel * m_pCurrentInstalledThemeLabel;
- KviTalPopupMenu * m_pContextPopup;
+ QMenu * m_pContextPopup;
QToolButton * m_pDeleteThemeButton;
QToolButton * m_pPackThemeButton;
#if defined(COMPILE_WEBKIT_SUPPORT) || defined(Q_MOC_RUN)
diff --git a/src/modules/trayicon/libkvitrayicon.cpp b/src/modules/trayicon/libkvitrayicon.cpp
index 7359d125a..91e45369c 100644
--- a/src/modules/trayicon/libkvitrayicon.cpp
+++ b/src/modules/trayicon/libkvitrayicon.cpp
@@ -41,13 +41,14 @@
#include "KviIrcConnectionUserInfo.h"
#include "KviOptions.h"
#include "KviIrcView.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include <QPixmap>
#include <QPainter>
#include <QTimer>
#include <QEvent>
#include <QRegExp>
+#include <QWidgetAction>
#include <stdlib.h>
#include <time.h>
@@ -70,7 +71,7 @@ KviTrayIconWidget::KviTrayIconWidget()
: QSystemTrayIcon(g_pMainWindow), m_CurrentPixmap(ICON_SIZE,ICON_SIZE)
{
g_pTrayIcon = this;
- m_pContextPopup = new KviTalPopupMenu(0);
+ m_pContextPopup = new QMenu(0);
setContextMenu(m_pContextPopup);
m_iConsoles = 0;
@@ -86,12 +87,12 @@ KviTrayIconWidget::KviTrayIconWidget()
g_pMainWindow->setTrayIcon(this);
m_pTip = new KviDynamicToolTip(g_pMainWindow,"dock_tooltip");
- m_pAwayPopup = new KviTalPopupMenu(0);
+ m_pAwayPopup = new QMenu(0);
m_pTitleLabel = new QLabel(__tr2qs("<b>KVIrc</b>"),m_pContextPopup);
QPalette p;
m_pTitleLabel->setStyleSheet("background-color: " + p.color(QPalette::Normal, QPalette::Mid).name());
- m_pContextPopup->insertItem(m_pTitleLabel);
+ m_pContextPopup->addAction(new QWidgetAction(m_pTitleLabel));
m_pContextPopup->setWindowTitle(__tr2qs("Context"));
m_pAwayMenuId = m_pContextPopup->addMenu(m_pAwayPopup);
m_pAwayMenuId->setIcon(*(g_pIconManager->getSmallIcon(KviIconManager::Away)));
@@ -103,10 +104,10 @@ KviTrayIconWidget::KviTrayIconWidget()
id = m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::KVIrc)),__tr2qs("&About KVIrc"),this,SLOT(executeInternalCommand(bool)));
id->setData(KVI_INTERNALCOMMAND_ABOUT_ABOUTKVIRC);
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
m_pToggleFrame = m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Raw)),__tr2qs("Hide/Show"),this,SLOT(toggleParentFrame()));
- m_pContextPopup->insertSeparator();
+ m_pContextPopup->addSeparator();
id = m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::TrayIcon)),__tr2qs("Un&dock"),this,SLOT(executeInternalCommand(bool)));
id->setData(KVI_INTERNALCOMMAND_TRAYICON_HIDE);
diff --git a/src/modules/trayicon/libkvitrayicon.h b/src/modules/trayicon/libkvitrayicon.h
index 801bad625..4dc40c28d 100644
--- a/src/modules/trayicon/libkvitrayicon.h
+++ b/src/modules/trayicon/libkvitrayicon.h
@@ -35,7 +35,7 @@
class QPixmap;
class QTimer;
-class KviTalPopupMenu;
+class QMenu;
class KviDynamicToolTip;
//class KviMainWindow;
@@ -47,8 +47,8 @@ public:
~KviTrayIconWidget();
protected:
KviDynamicToolTip * m_pTip;
- KviTalPopupMenu * m_pContextPopup;
- KviTalPopupMenu * m_pAwayPopup;
+ QMenu * m_pContextPopup;
+ QMenu * m_pAwayPopup;
QLabel * m_pTitleLabel;
QAction* m_pToggleFrame;
diff --git a/src/modules/url/libkviurl.cpp b/src/modules/url/libkviurl.cpp
index ae914f879..7778e4d72 100644
--- a/src/modules/url/libkviurl.cpp
+++ b/src/modules/url/libkviurl.cpp
@@ -36,7 +36,7 @@
#include "KviWindowListBase.h"
#include "KviPointerList.h"
#include "KviKvsEventManager.h"
-#include "KviTalPopupMenu.h"
+#include "QMenu.h"
#include "KviWindow.h"
#include "KviOptions.h"
#include "KviQString.h"
@@ -170,19 +170,19 @@ UrlDialog::UrlDialog(KviPointerList<KviUrl> *)
//m_pUrlList = new KviListView(this,"list");
KviConfigurationFile cfg(szConfigPath,KviConfigurationFile::Read);
/*
- KviTalPopupMenu *pop;
+ QMenu *pop;
- pop = new KviTalPopupMenu(this);
- pop->insertItem(__tr2qs("&Configure"),this,SLOT(config()));
-// pop->insertItem(__tr2qs("&Help"),this,SLOT(help()));
- pop->insertItem(__tr2qs("Clo&se"),this,SLOT(close_slot()));
+ pop = new QMenu(this);
+ pop->addAction(__tr2qs("&Configure"),this,SLOT(config()));
+// pop->addAction(__tr2qs("&Help"),this,SLOT(help()));
+ pop->addAction(__tr2qs("Clo&se"),this,SLOT(close_slot()));
pop->setTitle(__tr2qs("&Module"));
m_pMenuBar->addMenu(pop);
- pop = new KviTalPopupMenu(this);
- pop->insertItem(__tr2qs("&Load"),this,SLOT(loadList()));
- pop->insertItem(__tr2qs("&Save"),this,SLOT(saveList()));
- pop->insertItem(__tr2qs("&Clear"),this,SLOT(clear()));
+ pop = new QMenu(this);
+ pop->addAction(__tr2qs("&Load"),this,SLOT(loadList()));
+ pop->addAction(__tr2qs("&Save"),this,SLOT(saveList()));
+ pop->addAction(__tr2qs("&Clear"),this,SLOT(clear()));
pop->setTitle(__tr2qs("&List"));
m_pMenuBar->addMenu(pop);
*/
@@ -317,11 +317,11 @@ void UrlDialog::dblclk_url(QTreeWidgetItem *item, int)
void UrlDialog::popup(QTreeWidgetItem *item, const QPoint &point)
{
m_szUrl = item->text(0);
- KviTalPopupMenu p(0,"menu");
- p.insertItem(__tr2qs("&Remove"),this,SLOT(remove()));
-// p.insertItem(__tr2qs("&Find Text"),this,SLOT(findtext()));
- p.insertSeparator();
- m_pListPopup = new KviTalPopupMenu(0,"list");
+ QMenu p("menu", 0);
+ p.addAction(__tr2qs("&Remove"),this,SLOT(remove()));
+// p.addAction(__tr2qs("&Find Text"),this,SLOT(findtext()));
+ p.addSeparator();
+ m_pListPopup = new QMenu("list", 0);
for(KviWindow *w=g_pMainWindow->windowList()->first();w;w=g_pMainWindow->windowList()->next())
{
@@ -332,15 +332,15 @@ void UrlDialog::popup(QTreeWidgetItem *item, const QPoint &point)
m_pListPopup->addAction(w->plainTextCaption());
}
}
- p.insertItem(__tr2qs("&Say to Window"),m_pListPopup);
+ p.addAction(__tr2qs("&Say to Window"))->setMenu(m_pListPopup);
connect(m_pListPopup,SIGNAL(triggered(QAction *)), this, SLOT(sayToWin(QAction *)));
p.exec(point);
}
void UrlDialog::contextMenu(const QPoint &point)
{
- KviTalPopupMenu p(0,"contextmenu");
- p.insertItem(__tr2qs("Configure"),this,SLOT(config()));
+ QMenu p("contextmenu", 0);
+ p.addAction(__tr2qs("Configure"),this,SLOT(config()));
p.exec(point);
}
diff --git a/src/modules/url/libkviurl.h b/src/modules/url/libkviurl.h
index 90622ab4e..812473da3 100644
--- a/src/modules/url/libkviurl.h
+++ b/src/modules/url/libkviurl.h
@@ -75,7 +75,7 @@ public:
~UrlDialog();
private:
KviTalMenuBar *m_pMenuBar;
- KviTalPopupMenu *m_pListPopup; // dynamic popup menu
+ QMenu *m_pListPopup; // dynamic popup menu
QString m_szUrl; // used to pass urls to sayToWin slot
protected:
QPixmap *myIconPtr();