From b2891fe17c395b885b4fac8634fa8cca1a45fbb6 Mon Sep 17 00:00:00 2001 From: Fabio Bas Date: Sun, 26 Feb 2012 14:57:49 +0000 Subject: 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 --- src/modules/classeditor/ClassEditorWindow.cpp | 51 +++++++++++++-------------- 1 file changed, 25 insertions(+), 26 deletions(-) (limited to 'src/modules/classeditor/ClassEditorWindow.cpp') 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)); } -- cgit v1.3.1-10-gc9f91