[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    koffice/kexi
From:       Jarosław Staniek <staniek () kde ! org>
Date:       2010-04-02 23:48:06
Message-ID: 20100402234806.70154AC88C () svn ! kde ! org
[Download RAW message or body]

SVN commit 1110404 by staniek:

Forms
*"Assign action" feature ported



 M  +5 -1      core/kexiactionproxy.cpp  
 M  +7 -5      formeditor/kexiformeventhandler.cpp  
 M  +1 -1      formeditor/kexiformeventhandler.h  
 M  +2 -5      formeditor/widgetlibrary.cpp  
 M  +1 -1      formeditor/widgetlibrary.h  
 M  +1 -1      main/KexiMainWindow_p.h  
 M  +2 -0      plugins/forms/kexidbfactory.cpp  
 M  +1 -3      plugins/forms/kexiformmanager.cpp  


--- trunk/koffice/kexi/core/kexiactionproxy.cpp #1110403:1110404
@@ -87,6 +87,8 @@
         , m_KAction_setEnabled_helper(new KAction_setEnabled_Helper(this))
         , m_focusedChild(0)
 {
+kDebug() << this;
+kBacktrace();
     m_signal_parent.setObjectName("signal_parent");
     //m_sharedActionChildren.setAutoDelete(false); //TODO port logic to KDE4
     //m_alternativeActions.setAutoDelete(true); //TODO port logic to KDE4
@@ -95,6 +97,7 @@
 
 KexiActionProxy::~KexiActionProxy()
 {
+kDebug() << this;
     qDeleteAll(m_signals);
     m_signals.clear();
     //detach myself from every child
@@ -184,7 +187,7 @@
     QAction *a = client->action(action_name.toLatin1().constData());
     if (!a)
         return;
-    plugSharedAction(a->objectName(), a, SLOT(activate()));
+    plugSharedAction(a->objectName(), a, SLOT(trigger()));
 
     //update availability
     setAvailable(a->objectName(), a->isEnabled());
@@ -276,6 +279,7 @@
 
 void KexiActionProxy::takeActionProxyChild(KexiActionProxy* child)
 {
+kDebug() << child;
     const int index = m_sharedActionChildren.indexOf(child);
     if (index != -1)
         m_sharedActionChildren.removeAt(index);
--- trunk/koffice/kexi/formeditor/kexiformeventhandler.cpp #1110403:1110404
@@ -79,8 +79,9 @@
 {
 }
 
-void KexiFormEventAction::activate()
+void KexiFormEventAction::trigger()
 {
+kDebug() << m_actionName << m_objectName;
     KexiProject* project = KexiMainWindowIface::global()->project();
     if (!project)
         return;
@@ -164,18 +165,19 @@
         KexiPart::Info* partInfo = data.decodeString(actionType, actionArg, ok);
         if (!ok)
             continue;
+kDebug() << "actionType:" << actionType << "actionArg:" << actionArg;
         if (actionType == "kaction" || actionType == "currentForm") {
             QAction *action = \
KexiMainWindowIface::global()->actionCollection()->action(  actionArg);
             if (!action)
                 continue;
-            QObject::disconnect(widget, SIGNAL(clicked()), action, \
                SLOT(activate()));   //safety
-            QObject::connect(widget, SIGNAL(clicked()), action, SLOT(activate()));
+            QObject::disconnect(widget, SIGNAL(clicked()), action, SLOT(trigger())); \
//safety +            QObject::connect(widget, SIGNAL(clicked()), action, \
SLOT(trigger()));  } else if (partInfo) { //'open or execute' action
             KexiFormEventAction* action = new KexiFormEventAction(widget, \
actionType, actionArg,  data.option);
-            QObject::disconnect(widget, SIGNAL(clicked()), action, \
                SLOT(activate()));
-            QObject::connect(widget, SIGNAL(clicked()), action, SLOT(activate()));
+            QObject::disconnect(widget, SIGNAL(clicked()), action, SLOT(trigger()));
+            QObject::connect(widget, SIGNAL(clicked()), action, SLOT(trigger()));
         }
     }
 }
--- trunk/koffice/kexi/formeditor/kexiformeventhandler.h #1110403:1110404
@@ -91,7 +91,7 @@
 public slots:
     //! Activates the action. If the object supports executing (macro, script),
     //! it is executed; otherwise (table, query, form,...) it is opened in its data \
                view.
-    virtual void activate();
+    virtual void trigger();
 
 private:
     QString m_actionName, m_objectName, m_actionOption;
--- trunk/koffice/kexi/formeditor/widgetlibrary.cpp #1110403:1110404
@@ -364,18 +364,15 @@
 //2.0    return actions;
 }
 
-/* 2.0
 void
 WidgetLibrary::addCustomWidgetActions(KActionCollection *col)
 {
     if (!col)
         return;
     foreach (WidgetFactory *factory, d->factories) {
-        factory->createCustomActions(
-            factory->m_guiClient
-            ? factory->m_guiClient->actionCollection() : col);
+        factory->createCustomActions(col);
     }
-}*/
+}
 
 QWidget*
 WidgetLibrary::createWidget(const QByteArray &classname, QWidget *parent, const char \
                *name, Container *c,
--- trunk/koffice/kexi/formeditor/widgetlibrary.h #1110403:1110404
@@ -78,7 +78,7 @@
 //prev    ActionList createWidgetActions(KXMLGUIClient* client, KActionCollection \
*parent,  //prev                                   QObject *receiver, const char \
*slot);  
-//2.0    void addCustomWidgetActions(KActionCollection *col);
+    void addCustomWidgetActions(KActionCollection *col);
 
 //old  /**
 //old   * creates the XML for widget actions
--- trunk/koffice/kexi/main/KexiMainWindow_p.h #1110403:1110404
@@ -856,7 +856,7 @@
             m_findDialog = new KexiFindDialog(wnd);
             m_findDialog->setActions(action_edit_findnext, action_edit_findprev,
                                      action_edit_replace, action_edit_replace_all);
-            /*   connect(m_findDialog, SIGNAL(findNext()), action_edit_findnext, \
SLOT(activate())); +            /*   connect(m_findDialog, SIGNAL(findNext()), \
                action_edit_findnext, SLOT(trigger()));
                   connect(m_findDialog, SIGNAL(find()), wnd, \
                SLOT(slotEditFindNext()));
                   connect(m_findDialog, SIGNAL(replace()), wnd, \
                SLOT(slotEditReplaceNext()));
                   connect(m_findDialog, SIGNAL(replaceAll()), wnd, \
                SLOT(slotEditReplaceAll()));*/
--- trunk/koffice/kexi/plugins/forms/kexidbfactory.cpp #1110403:1110404
@@ -72,6 +72,7 @@
 
 KexiDBFactory::KexiDBFactory(QObject *parent, const QVariantList &)
         : KFormDesigner::WidgetFactory(parent, "kexidb")
+        , m_assignAction(0)
 {
     {
         KexiDataAwareWidgetInfo *wi = new KexiDataAwareWidgetInfo(this);
@@ -443,6 +444,7 @@
 {
     if (classname == "QPushButton" || classname == "KPushButton" || classname == \
"KexiPushButton") {  /*! @todo also call createMenuActions() for inherited factory! \
*/ +kDebug() << m_assignAction;
         menu->addAction(m_assignAction);
         return true;
     } else if (classname == "KexiDBImageBox") {
--- trunk/koffice/kexi/plugins/forms/kexiformmanager.cpp #1110403:1110404
@@ -164,8 +164,6 @@
 //2.0    d->lib->createWidgetActions(client, d->collection,
 //2.0                                this, SLOT(insertWidget(const QByteArray &)));
 
-    if (false) {
-    }
 #ifdef KFD_SIGSLOTS
     if (d->features & KFormDesigner::Form::EnableConnections) {
         // nothing
@@ -222,7 +220,7 @@
     styleAction->setMenuAccelsEnabled(true);
 #endif
 
-//2.0    d->lib->addCustomWidgetActions(d->collection);
+    d->lib->addCustomWidgetActions(d->collection);
 
 #ifdef KEXI_DEBUG_GUI
     KConfigGroup generalGroup(KGlobal::config()->group("General"));


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic