traverso-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Traverso-commit] traverso/src/commands PCommand.cpp PCommand.h


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src/commands PCommand.cpp PCommand.h
Date: Fri, 30 Nov 2007 19:31:49 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       07/11/30 19:31:49

Modified files:
        src/commands   : PCommand.cpp PCommand.h 

Log message:
        * improved by adding support for slots with signature: void 
some_slot(TimeRef);

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/PCommand.cpp?cvsroot=traverso&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/traverso/src/commands/PCommand.h?cvsroot=traverso&r1=1.2&r2=1.3

Patches:
Index: PCommand.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/commands/PCommand.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- PCommand.cpp        7 Sep 2006 09:36:52 -0000       1.4
+++ PCommand.cpp        30 Nov 2007 19:31:49 -0000      1.5
@@ -17,7 +17,7 @@
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
 
-$Id: PCommand.cpp,v 1.4 2006/09/07 09:36:52 r_sijrier Exp $
+$Id: PCommand.cpp,v 1.5 2007/11/30 19:31:49 r_sijrier Exp $
 */
 
 #include "PCommand.h"
@@ -30,9 +30,19 @@
 
 PCommand::PCommand(ContextItem* item, char* slot, const QString& des)
                : Command(item, des)
+       , m_contextitem(item)
+       , m_slot(slot)
 {
-       m_contextitem = item;
-       m_slot = slot;
+}
+
+PCommand::PCommand(ContextItem * item, char * slot, QVariant doValue, QVariant 
undoValue, const QString & des)
+       : Command(item, des)
+       , m_contextitem(item)
+       , m_slot(slot)
+       , m_doValue(doValue)
+       , m_undoValue(undoValue)
+{
+       
 }
 
 
@@ -47,12 +57,32 @@
 int PCommand::do_action()
 {
        PENTER;
+       if (!m_doValue.isNull()) {
+               if (m_doValue.typeName() == QString("TimeRef")) {
+                       if (QMetaObject::invokeMethod(m_contextitem, m_slot, 
Qt::DirectConnection, Q_ARG(TimeRef, m_doValue.value<TimeRef>()))) {
+                               return 1;
+                       }
+               }
+               
+               return -1;
+       }
+        
        return QMetaObject::invokeMethod(m_contextitem, m_slot);
 }
 
 int PCommand::undo_action()
 {
        PENTER;
+       if (!m_undoValue.isNull()) {
+               if (m_undoValue.typeName() == QString("TimeRef")) {
+                       if (QMetaObject::invokeMethod(m_contextitem, m_slot, 
Qt::DirectConnection, Q_ARG(TimeRef, m_undoValue.value<TimeRef>()))) {
+                               return 1;
+                       }
+               }
+               
+               return -1;
+       }
+       
        return QMetaObject::invokeMethod(m_contextitem, m_slot);
 }
 
@@ -66,6 +96,3 @@
        return QMetaObject::invokeMethod(m_contextitem, m_slot);
 }
 
-// eof
-
-

Index: PCommand.h
===================================================================
RCS file: /sources/traverso/traverso/src/commands/PCommand.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- PCommand.h  7 Sep 2006 09:36:52 -0000       1.2
+++ PCommand.h  30 Nov 2007 19:31:49 -0000      1.3
@@ -17,7 +17,7 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
  
-    $Id: PCommand.h,v 1.2 2006/09/07 09:36:52 r_sijrier Exp $
+    $Id: PCommand.h,v 1.3 2007/11/30 19:31:49 r_sijrier Exp $
 */
 
 #ifndef PCOMMAND_H
@@ -31,6 +31,7 @@
 {
 public :
         PCommand(ContextItem* item, char* slot, const QString& des);
+       PCommand(ContextItem* item, char* slot, QVariant doValue, QVariant 
undoValue, const QString& des);
         ~PCommand();
 
         int prepare_actions();
@@ -42,6 +43,8 @@
 private :
         ContextItem*   m_contextitem;
         char*          m_slot;
+       QVariant        m_doValue;
+       QVariant        m_undoValue;
 
 };
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]