[rkward-cvs] rkward/rkward/misc rkmenu.cpp,1.4,1.5 rkmenu.h,1.4,1.5 rkmenulist.cpp,1.3,1.4 rkmenulist.h,1.3,1.4 xmlhelper.cpp,1.2,1.3
Thomas Friedrichsmeier
tfry at users.sourceforge.net
Sun Sep 11 22:06:33 UTC 2005
Update of /cvsroot/rkward/rkward/rkward/misc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27570/rkward/misc
Modified Files:
rkmenu.cpp rkmenu.h rkmenulist.cpp rkmenulist.h xmlhelper.cpp
Log Message:
Made standard-menus available to place plugins in. Set default debug level to DL_WARNING
Index: rkmenu.h
===================================================================
RCS file: /cvsroot/rkward/rkward/rkward/misc/rkmenu.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** rkmenu.h 11 Sep 2005 18:53:04 -0000 1.4
--- rkmenu.h 11 Sep 2005 22:06:31 -0000 1.5
***************
*** 46,49 ****
--- 46,50 ----
void addEntry (const QString &id, RKPluginHandle *plugin, const QString &label, int index=-1);
private:
+ friend class RKMenuList;
QMap<QString, int> submenu_ids;
QMap<int, RKMenu*> submenus;
***************
*** 52,56 ****
QPopupMenu *menu;
/** whether the QPopupMenu should be deleted along with the RKMenu. See constructor. */
! bool delete_q_menu;
};
--- 53,57 ----
QPopupMenu *menu;
/** whether the QPopupMenu should be deleted along with the RKMenu. See constructor. */
! bool pre_existing;
};
Index: xmlhelper.cpp
===================================================================
RCS file: /cvsroot/rkward/rkward/rkward/misc/xmlhelper.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** xmlhelper.cpp 9 Sep 2005 13:02:57 -0000 1.2
--- xmlhelper.cpp 11 Sep 2005 22:06:31 -0000 1.3
***************
*** 136,140 ****
QString res = getStringAttribute (element, name, QString::number (def), debug_level);
! bool valid_number;
int ret = res.toInt (&valid_number);
--- 136,140 ----
QString res = getStringAttribute (element, name, QString::number (def), debug_level);
! bool valid_number;;
int ret = res.toInt (&valid_number);
Index: rkmenu.cpp
===================================================================
RCS file: /cvsroot/rkward/rkward/rkward/misc/rkmenu.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** rkmenu.cpp 11 Sep 2005 18:53:04 -0000 1.4
--- rkmenu.cpp 11 Sep 2005 22:06:31 -0000 1.5
***************
*** 29,33 ****
RKMenu::menu = menu;
! delete_q_menu = !pre_existing;
}
--- 29,33 ----
RKMenu::menu = menu;
! RKMenu::pre_existing = pre_existing;
}
***************
*** 40,44 ****
}
! if (delete_q_menu) {
delete menu;
} else{
--- 40,44 ----
}
! if (!pre_existing) {
delete menu;
} else{
***************
*** 71,74 ****
--- 71,75 ----
RK_TRACE (MISC);
int mid;
+
if (entry_ids.find (id) == entry_ids.end ()) {
mid = menu->insertItem (label, plugin, SLOT (activated ()), 0, -1, index);
Index: rkmenulist.h
===================================================================
RCS file: /cvsroot/rkward/rkward/rkward/misc/rkmenulist.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** rkmenulist.h 11 Sep 2005 18:53:04 -0000 1.3
--- rkmenulist.h 11 Sep 2005 22:06:31 -0000 1.4
***************
*** 19,22 ****
--- 19,23 ----
#include <qstring.h>
+ #include <qdict.h>
#include <qmap.h>
***************
*** 48,52 ****
void clear ();
private:
! typedef QMap<QString, RKMenu*> MenuMap;
MenuMap menu_map;
--- 49,53 ----
void clear ();
private:
! typedef QDict<RKMenu> MenuMap;
MenuMap menu_map;
Index: rkmenulist.cpp
===================================================================
RCS file: /cvsroot/rkward/rkward/rkward/misc/rkmenulist.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** rkmenulist.cpp 11 Sep 2005 18:53:04 -0000 1.3
--- rkmenulist.cpp 11 Sep 2005 22:06:31 -0000 1.4
***************
*** 42,50 ****
created_menu_ids.clear ();
! for (MenuMap::iterator it = menu_map.begin (); it != menu_map.end (); ++it) {
! delete it.data ();
}
-
- menu_map.clear ();
}
--- 42,55 ----
created_menu_ids.clear ();
! // remove only RKMenus, which were not pre-existing
! QDictIterator<RKMenu> it (menu_map);
! while (it.current ()) {
! if (!(it.current ()->pre_existing)) {
! delete it.current ();
! menu_map.remove (it.currentKey ());
! } else {
! ++it;
! }
}
}
***************
*** 52,60 ****
RK_TRACE (MISC);
RKMenu *ret;
! if (menu_map.find (id) == menu_map.end ()) {
ret = new RKMenu (qmenu, true);
menu_map.insert (id, ret);
- } else {
- ret = menu_map[id];
}
return ret;
--- 57,63 ----
RK_TRACE (MISC);
RKMenu *ret;
! if (!(ret = menu_map.find (id))) {
ret = new RKMenu (qmenu, true);
menu_map.insert (id, ret);
}
return ret;
***************
*** 64,74 ****
RK_TRACE (MISC);
RKMenu *ret;
! if (menu_map.find (id) == menu_map.end ()) {
QPopupMenu *qmenu = new QPopupMenu (menu_bar);
created_menu_ids.append (menu_bar->insertItem (label, qmenu, -1, index));
ret = new RKMenu (qmenu, false);
menu_map.insert (id, ret);
- } else {
- ret = menu_map[id];
}
return ret;
--- 67,76 ----
RK_TRACE (MISC);
RKMenu *ret;
!
! if (!(ret = menu_map.find (id))) {
QPopupMenu *qmenu = new QPopupMenu (menu_bar);
created_menu_ids.append (menu_bar->insertItem (label, qmenu, -1, index));
ret = new RKMenu (qmenu, false);
menu_map.insert (id, ret);
}
return ret;
More information about the rkward-tracker
mailing list