traverso-commit
[Top][All Lists]
Advanced

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

[Traverso-commit] traverso/src core/Marker.h traverso/dialogs/Mar...


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src core/Marker.h traverso/dialogs/Mar...
Date: Fri, 30 Nov 2007 19:35:44 +0000

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

Modified files:
        src/core       : Marker.h 
        src/traverso/dialogs: MarkerDialog.cpp MarkerDialog.h 

Log message:
        * Make Marker::set_when() a slot
        * With the beautiful but not as much used as possible PCommand it could 
be possible to do all kinds of un/redo in a very simple, generic and fail safe 
(save ? :P ) way
        However, with current Marker Editor behavior, using it would probably 
fill the history very fast....
        Any ideas anyone ?

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Marker.h?cvsroot=traverso&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/dialogs/MarkerDialog.cpp?cvsroot=traverso&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/dialogs/MarkerDialog.h?cvsroot=traverso&r1=1.4&r2=1.5

Patches:
Index: core/Marker.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/Marker.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- core/Marker.h       23 Nov 2007 14:21:08 -0000      1.15
+++ core/Marker.h       30 Nov 2007 19:35:43 -0000      1.16
@@ -47,7 +47,6 @@
        QDomNode get_state(QDomDocument doc);
        int set_state(const QDomNode& node);
 
-       void set_when (const TimeRef& when);
        void set_description(const QString &);
        void set_performer(const QString &);
        void set_composer(const QString &);
@@ -71,6 +70,11 @@
        bool get_copyprotect();
        Type get_type() {return m_type;};
 
+
+public slots:
+       void set_when (const TimeRef& when);
+
+
 private:
        TimeLine* m_timeline;
        TimeRef m_when;

Index: traverso/dialogs/MarkerDialog.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/dialogs/MarkerDialog.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- traverso/dialogs/MarkerDialog.cpp   23 Nov 2007 14:21:08 -0000      1.19
+++ traverso/dialogs/MarkerDialog.cpp   30 Nov 2007 19:35:44 -0000      1.20
@@ -38,6 +38,7 @@
 #include <QDateTime>
 #include <AddRemove.h>
 #include "Information.h"
+#include "PCommand.h"
 
 MarkerDialog::MarkerDialog(QWidget * parent)
        : QDialog(parent)
@@ -48,12 +49,12 @@
 
        set_project(pm().get_project());
 
-       QString mask = "99:99:99";
+       QString mask = "99:99:99,99";
        lineEditPosition->setInputMask(mask);
        
        // hide the first column if necessary
        markersTreeWidget->header()->setSectionHidden(0, true);
-       markersTreeWidget->header()->resizeSection(1, 80);
+       markersTreeWidget->header()->resizeSection(1, 100);
 
        pushButtonRemove->setAutoDefault(false);
        pushButtonExport->setAutoDefault(false);
@@ -112,7 +113,7 @@
        // fill the combo box with the names of the songs
        m_songlist = m_project->get_songs();
        for (int i = 0; i < m_songlist.size(); ++i) {
-               comboBoxDisplaySong->addItem(m_songlist.at(i)->get_title());
+               comboBoxDisplaySong->addItem("Sheet " + QString::number(i+1) + 
": " + m_songlist.at(i)->get_title());
                connect(m_songlist.at(i)->get_timeline(), 
SIGNAL(markerAdded(Marker*)), this, SLOT(update_marker_treeview()));
                connect(m_songlist.at(i)->get_timeline(), 
SIGNAL(markerRemoved(Marker*)), this, SLOT(update_marker_treeview()));
                connect(m_songlist.at(i)->get_timeline(), 
SIGNAL(markerPositionChanged(Marker*)), this, SLOT(update_marker_treeview()));
@@ -122,6 +123,23 @@
        update_marker_treeview();
 }
 
+
+void MarkerDialog::song_to_be_showed(Song * song)
+{
+       int index = -1;
+       for (int i=0; i<m_songlist.size(); ++i) {
+               if (song == m_songlist.at(i)) {
+                       index = i;
+                       break;
+               }
+       }
+       
+       if (index != -1 && index < m_songlist.size()) {
+               comboBoxDisplaySong->setCurrentIndex(index);
+       }
+               
+}
+
 void MarkerDialog::update_marker_treeview()
 {
        int currentIndex = 
markersTreeWidget->indexOfTopLevelItem(markersTreeWidget->currentItem());
@@ -162,8 +180,6 @@
                item->setData(0, Qt::UserRole, marker->get_id());
        }
 
-       markersTreeWidget->sortItems(1, Qt::AscendingOrder);
-
        if (currentIndex >= markersTreeWidget->topLevelItemCount()) {
                currentIndex = markersTreeWidget->topLevelItemCount() - 1;
        }
@@ -233,6 +249,20 @@
        }
 
        item->setText(1, s);
+       
+//     AAAH, wouldn't it be sooo fun to have un/redo when 
+//     editing the Markers from here ?
+//     But the realtime thing plays not nice, what about only
+//     calling this function when the user hits enter ?
+
+//     TimeRef newpos = cd_to_timeref(s);
+//     TimeRef oldpos = m_marker->get_when();
+//     QVariant newv, oldv;
+//     newv.setValue(newpos);
+//     oldv.setValue(oldpos);
+//     PCommand* command = new PCommand(m_marker, "set_when", oldv, newv, 
tr("Move Marker (from Marker Editor)"));
+//     Command::process_command(command);
+
        TimeRef location = cd_to_timeref(s);
        m_marker->set_when(location);
        markersTreeWidget->sortItems(1, Qt::AscendingOrder);
@@ -543,4 +573,3 @@
 
 
 //eof
-

Index: traverso/dialogs/MarkerDialog.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/dialogs/MarkerDialog.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- traverso/dialogs/MarkerDialog.h     9 Apr 2007 14:00:57 -0000       1.4
+++ traverso/dialogs/MarkerDialog.h     30 Nov 2007 19:35:44 -0000      1.5
@@ -37,6 +37,8 @@
        MarkerDialog(QWidget* parent = 0);
        ~MarkerDialog() {};
        
+       void song_to_be_showed(Song* song);
+       
        
 private:
        Project* m_project;




reply via email to

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