[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/devtools/kommander-plugins/qtactionproxy/src
From: Eric Laffoon <sequitur () kde ! org>
Date: 2009-12-01 21:18:39
Message-ID: 1259702319.894678.32553.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1057277 by sequitur:
various improvements I forgot to commit
M +31 -19 qtactionproxy.cpp
M +2 -2 qtactionproxy.h
--- trunk/playground/devtools/kommander-plugins/qtactionproxy/src/qtactionproxy.cpp \
#1057276:1057277 @@ -26,7 +26,9 @@
#include <qtoolbar.h>
#include <qapplication.h>
#include <qwidgetlist.h>
+#include <qpopupmenu.h>
#include <qsplitter.h>
+#include <qmenubar.h>
#include <kommanderplugin.h>
#include <specials.h>
@@ -67,7 +69,7 @@
QAP_actionAddTo,
QAP_actionRemoveFrom,
QAP_addSubMenu, //submenu
- QAP_removeSubMenu,
+ //QAP_removeSubMenu,
QAP_statusBarMessage, // statusbar
QAP_statusBarHide,
QAP_statusBarShow,
@@ -82,6 +84,7 @@
QAP_dumpWidgets,
QAP_getBackgroundColor,
// QAP_windowSetCatption, //set properties
+ QAP_widgetSetFocus,
LastFunction
};
@@ -143,12 +146,11 @@
KommanderPlugin::registerFunction(QAP_dumpWidgets, "dumpWidgets(QString widget)", \
i18n("Dumps all widgets in window. Use to find names of non Kommander widgets."), 1); \
KommanderPlugin::registerFunction(QAP_actionCreate, "createAction(QString widget, \
QString Parent, QString Name)", i18n("Use the parent window as parent or the name of \
an ActionGroup to add to it. Make sure to use a unique name. You can use the widget \
dump to verify."), 3); KommanderPlugin::registerFunction(QAP_actionConnect, \
"connectAction(QString widget, QString Action, QString Signal, QString Widget, \
QString Slot)", i18n("Actions are not recognized in KDE3 as Kommander widgets and \
cannot be connected without this function. This works just like the connect function \
in Kommander."), 5);
- /*
- KommanderPlugin::registerFunction(QAP_addSubMenu, "addSubMenu(QString widget, \
QString Menu, QString Text)", i18n("Use this to attach a popup menu made with \
Kommander to a MainWindow menu or menubar."), 3);
- KommanderPlugin::registerFunction(QAP_removeSubMenu, "removeSubMenu(QString \
widget, int ID)", i18n("Removes the submenu from the menubar."), 2);
-*/
+ //KommanderPlugin::registerFunction(QAP_addSubMenu, "addSubMenu(QString widget, \
QString Parent, QString Menu, QString Text)", i18n("Use this to attach a popup menu \
made with Kommander to a MainWindow menu or menubar."), 4); + \
//KommanderPlugin::registerFunction(QAP_removeSubMenu, "removeSubMenu(QString widget, \
QString Menu, int ID)", i18n("Removes the submenu from the menubar."), 3); \
KommanderPlugin::registerFunction(QAP_splitterSizes, "splitterSizes(QString widget, \
QString Splitter)", i18n("Returns sizes of widgets in splitter as two values \
separted by a space. If spliiter is vertically oriented it will return the widths of \
left and right. Horizontal will return top and bottom height. Set with \
setSplitterSizes"), 2); KommanderPlugin::registerFunction(QAP_splitterSetSizes, \
"setSplitterSizes(QString widget, QString Splitter, int Value1, int Value2)", \
i18n("Sets the sizes of widgets in splitter. If spliiter is vertically oriented this \
will set left width and right width. If horizontally oriented it will set top hight \
and bottom height."), 4); + KommanderPlugin::registerFunction(QAP_widgetSetFocus, \
"widgetSetFocus(QString widget, QString Widget)", i18n("Sets focus, for \
non-Kommander widgets."), 2); }
ActionProxy::~ActionProxy()
@@ -339,24 +341,28 @@
}
int ActionProxy::addSubmenu(const QString& parent, const QString& menu, const \
QString& text)
-{/*
+{
QWidgetList *list = QApplication::allWidgets();
QWidgetListIt it( *list );
QWidget * w;
- QWidget * wp;
- QWidget * wm;
+ QPopupMenu * wp;
+ QPopupMenu * wm;
while ( (w=it.current()) != 0 ) { // for each widget...
++it;
- if (w->name() == menu && w->className() == "QPopupMenu")
- wm = dynamic_cast<PopupMenu*>(w);
- else if (w->name() == parent && w->className() == "QPopupMenu" )
+ if (w->name() == menu && w->className() == "PopupMenu")
+ wm = dynamic_cast<QPopupMenu*>(w->child("unnamed", "KPopupMenu"));
+ if (w->name() == parent && w->className() == "QPopupMenu" )
wp = dynamic_cast<QPopupMenu*>(w);
else if (w->name() == parent && w->className() == "QMenuBar")
- wp = dynamic_cast<QMenuBar*>(w);
+ QMenuBar * wp = dynamic_cast<QMenuBar*>(w);
}
- if(wp == 0 or wm == 0)
+ if(wp == 0 || wm == 0)
return -1;
- return wp->insertItem(title, wm->menu(), -1);*/
+ if (wm->className() != "QPopupMenu")
+ return -2;
+ if (wp->className() != "QPopupMenu" || wp->className() != "QMenuBar")
+ return -3;
+ return wp->insertItem(text, wm, -1, -1);
//wp->insertItem(text, wm);
}
@@ -440,17 +446,20 @@
QWidgetList *list = QApplication::allWidgets();
QWidgetListIt it( *list );
QWidget * w;
+ int rval = 0;
while ( (w=it.current()) != 0 ) { // for each widget...
++it;
if (w->name() == widget)
{
- if (prop == "setVisible")
+ if (prop == "setFocus")
{
- //w->set;
- break;
+ w->setFocus();
+ rval = 1;
}
+ break;
}
}
+ return rval;
}
QString ActionProxy::splitterSizes(const QString& widget)
@@ -587,9 +596,9 @@
case QAP_addSubMenu:
return QString::number(addSubmenu(args[0], args[1], args[2]));
break;
- case QAP_removeSubMenu:
+ /* case QAP_removeSubMenu:
//QMenuData::removeItem(args[0].toInt());
- break;
+ break;*/
case QAP_statusBarMessage:
return QString::number(ActionProxy::mwstatusbar(args[0], args[1].toInt()));
break;
@@ -629,6 +638,9 @@
case QAP_getBackgroundColor:
return ActionProxy::propQuery(args[0], "backgroundColor");
break;
+ case QAP_widgetSetFocus:
+ return QString::number(propertySet(args[0], "setFocus", 1));
+ break;
default:
return KommanderWidget::handleDCOP(function, args);
}
--- trunk/playground/devtools/kommander-plugins/qtactionproxy/src/qtactionproxy.h \
#1057276:1057277 @@ -65,8 +65,8 @@
bool mwstatusbar(const QString& action, int param);
bool mwtoolbar(const QString& tbar, const QString& action);
bool mwmenu(const QString& pname, const QString& w, const QString& action);
- QString propQuery(const QString& widget, const QString& prop) ;
- bool propertySet(const QString& widget, const QString& prop, const QVariant& val) \
; + QString propQuery(const QString& widget, const QString& prop);
+ bool propertySet(const QString& widget, const QString& prop, const QVariant& val);
int addSubmenu(const QString& parent, const QString& menu, const QString& text);
void actionCreate(const QString& parent, const QString& name);
void actionConnect(const QString& action, const QString& signal, const QString& \
widget, const QString& slot);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic