[Top][All Lists]
[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;
};
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src/commands PCommand.cpp PCommand.h,
Remon Sijrier <=