[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