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

List:       kde-commits
Subject:    koffice/kexi/core
From:       Jarosław Staniek <staniek () kde ! org>
Date:       2010-10-22 22:01:56
Message-ID: 20101022220156.BB6C9AC897 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1188669 by staniek:

Core
*remove dependency on Q3Signal



 M  +20 -16    kexiactionproxy.cpp  
 M  +4 -2      kexiactionproxy.h  
 M  +11 -1     kexiactionproxy_p.h  


--- trunk/koffice/kexi/core/kexiactionproxy.cpp #1188668:1188669
@@ -28,7 +28,6 @@
 #include <kactioncollection.h>
 
 #include <qwidget.h>
-#include <q3signal.h>
 #include <qicon.h>
 #include <kexi_global.h>
 
@@ -76,9 +75,16 @@
     m_proxy->plugSharedActionsToExternalGUI(action_names, client);
 }
 
-
 //=======================
 
+class KexiActionProxy::Private {
+public:
+    Private() {}
+
+    QMap<QString, QPair<KexiActionProxySignal*, bool>* > signalsMap;
+};
+
+
 KexiActionProxy::KexiActionProxy(QObject *receiver, KexiSharedActionHost *host)
         : m_host(host ? host : KexiSharedActionHost::defaultHost())
         , m_receiver(receiver)
@@ -86,9 +92,8 @@
         , m_signal_parent(0)
         , m_KAction_setEnabled_helper(new KAction_setEnabled_Helper(this))
         , m_focusedChild(0)
+        , d(new Private)
 {
-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
@@ -97,9 +102,8 @@
 
 KexiActionProxy::~KexiActionProxy()
 {
-kDebug() << this;
-    qDeleteAll(m_signals);
-    m_signals.clear();
+    qDeleteAll(d->signalsMap);
+    d->signalsMap.clear();
     //detach myself from every child
     foreach(KexiActionProxy *proxy, m_sharedActionChildren) {
         proxy->setActionProxyParent_internal(0);
@@ -117,18 +121,18 @@
 {
     if (action_name.isEmpty())// || !receiver || !slot)
         return;
-    QPair<Q3Signal*, bool> *p = m_signals.value(action_name);
+    QPair<KexiActionProxySignal*, bool> *p = d->signalsMap.value(action_name);
     if (! p) {
-        p = new QPair<Q3Signal*, bool>(new Q3Signal(&m_signal_parent), true);
-        m_signals.insert(action_name, p);
+        p = new QPair<KexiActionProxySignal*, bool>(new KexiActionProxySignal(&m_signal_parent), true);
+        d->signalsMap.insert(action_name, p);
     }
     if (receiver && slot)
-        p->first->connect(receiver, slot);
+        QObject::connect(p->first, SIGNAL(invoke()), receiver, slot);
 }
 
 void KexiActionProxy::unplugSharedAction(const QString& action_name)
 {
-    QPair<Q3Signal*, bool> *p = m_signals.take(action_name);
+    QPair<KexiActionProxySignal*, bool> *p = d->signalsMap.take(action_name);
     if (! p)
         return;
     delete p->first;
@@ -204,7 +208,7 @@
 
 bool KexiActionProxy::activateSharedAction(const QString& action_name, bool alsoCheckInChildren)
 {
-    QPair<Q3Signal*, bool> *p = m_signals.value(action_name);
+    QPair<KexiActionProxySignal*, bool> *p = d->signalsMap.value(action_name);
     if (!p || !p->second) {
         //try in children...
         if (alsoCheckInChildren) {
@@ -227,7 +231,7 @@
 
 bool KexiActionProxy::isSupported(const QString& action_name) const
 {
-    QPair<Q3Signal*, bool> *p = m_signals.value(action_name);
+    QPair<KexiActionProxySignal*, bool> *p = d->signalsMap.value(action_name);
     if (!p) {
         //not supported explicitly - try in children...
         if (m_focusedChild)
@@ -243,7 +247,7 @@
 
 bool KexiActionProxy::isAvailable(const QString& action_name, bool alsoCheckInChildren) const
 {
-    QPair<Q3Signal*, bool> *p = m_signals.value(action_name);
+    QPair<KexiActionProxySignal*, bool> *p = d->signalsMap.value(action_name);
     if (!p) {
         //not supported explicitly - try in children...
         if (alsoCheckInChildren) {
@@ -262,7 +266,7 @@
 
 void KexiActionProxy::setAvailable(const QString& action_name, bool set)
 {
-    QPair<Q3Signal*, bool> *p = m_signals.value(action_name);
+    QPair<KexiActionProxySignal*, bool> *p = d->signalsMap.value(action_name);
     if (!p)
         return;
     p->second = set;
--- trunk/koffice/kexi/core/kexiactionproxy.h #1188668:1188669
@@ -27,7 +27,6 @@
 #include "kexiproject.h"
 #include "kexisharedactionhost.h"
 
-class Q3Signal;
 class QAction;
 class KAction;
 class KXMLGUIClient;
@@ -160,7 +159,6 @@
 
     KexiSharedActionHost *m_host;
     QPointer<QObject> m_receiver;
-    QHash<QString, QPair<Q3Signal*, bool>* > m_signals;
 
     QList<KexiActionProxy*> m_sharedActionChildren;
 
@@ -183,6 +181,10 @@
     friend class KexiSharedActionHost;
     friend class KAction_setEnabled_Helper;
     friend class KexiSharedActionConnector;
+
+private:
+    class Private;
+    Private * const d;
 };
 
 #endif
--- trunk/koffice/kexi/core/kexiactionproxy_p.h #1188668:1188669
@@ -38,5 +38,15 @@
     KexiActionProxy *m_proxy;
 };
 
+//! @internal a tool for emitting signal
+class KexiActionProxySignal : public QObject
+{
+    Q_OBJECT
+public:
+    KexiActionProxySignal(QObject *parent) : QObject(parent) {}
+    void activate() { emit invoke(); }
+signals:
+    void invoke();
+};
+
 #endif
-
[prev in list] [next in list] [prev in thread] [next in thread] 

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