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/objects/KvsObject_comboBox.cpp | 8 +++---- src/modules/objects/KvsObject_comboBox.h | 2 +- src/modules/objects/KvsObject_listWidget.cpp | 8 +++---- src/modules/objects/KvsObject_listWidget.h | 2 +- src/modules/objects/KvsObject_menuBar.cpp | 6 +++--- src/modules/objects/KvsObject_menuBar.h | 2 +- src/modules/objects/KvsObject_popupMenu.cpp | 28 ++++++++++++------------- src/modules/objects/KvsObject_popupMenu.h | 4 ++-- src/modules/objects/KvsObject_toolButton.cpp | 4 ++-- src/modules/objects/KvsObject_treeWidgeteItem.h | 2 +- src/modules/objects/KvsObject_webView.cpp | 4 ++-- src/modules/objects/KvsObject_widget.cpp | 8 +++---- 12 files changed, 39 insertions(+), 39 deletions(-) (limited to 'src/modules/objects') 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(, ) + !fn: $addAction(, ) Inserts a text item at position . If index is negative or not specified the item is appended. !fn: $changeItem(, ) @@ -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: $selectionMode() Returns the current selection mode - !fn: $insertItem(, ) + !fn: $addAction(, ) Inserts a text item at position . If index is negative or not specified the item is appended. !fn: $changeItem(, ) @@ -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: $insertItem() + !fn: $addAction() 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 #include @@ -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(,[icon_id:string]) + !fn: $addAction(,[icon_id:string]) Inserts menu items into a popup menu with optional icon and return the popup identifier. !fn: $addMenu() Removes the menu item at position index. - !fn: $insertSeparator() + !fn: $addSeparator() Inserts a separator at position index.[br] If the index is negative the separator becomes the last menu item. !fn: $activatedEvent() @@ -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 @@ -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") -- cgit v1.3.1-10-gc9f91