aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/reguser
diff options
context:
space:
mode:
authorGravatar Fabio Bas2012-02-26 14:57:49 +0000
committerGravatar Fabio Bas2012-02-26 14:57:49 +0000
commitb2891fe17c395b885b4fac8634fa8cca1a45fbb6 (patch)
treee9fcfdebc14137188b3cf02376fe90145d52943d /src/modules/reguser
parentSome mixed changes, mostly related to osx development: (diff)
downloadKVIrc-b2891fe17c395b885b4fac8634fa8cca1a45fbb6.tar.gz
KVIrc-b2891fe17c395b885b4fac8634fa8cca1a45fbb6.tar.bz2
KVIrc-b2891fe17c395b885b4fac8634fa8cca1a45fbb6.zip
Dropped the KviTalPopupMenu layer, ported the involved code to QAction.
This fixes most of the random crashes on osx, and is the base for a next change in the menubar. Addiotional fix: "disconnect" menu entry was broken since the 3.x era git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@6072 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/reguser')
-rw-r--r--src/modules/reguser/RegisteredUserEntryDialog.h2
-rw-r--r--src/modules/reguser/RegisteredUsersDialog.cpp20
-rw-r--r--src/modules/reguser/RegisteredUsersDialog.h6
3 files changed, 13 insertions, 15 deletions
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