traverso-commit
[Top][All Lists]
Advanced

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

[Traverso-commit] traverso/src/traverso/widgets InfoWidgets.cpp I...


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src/traverso/widgets InfoWidgets.cpp I...
Date: Thu, 17 May 2007 16:35:02 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       07/05/17 16:35:02

Modified files:
        src/traverso/widgets: InfoWidgets.cpp InfoWidgets.h 

Log message:
        * Move song selector combobox into SongInfo class, like all other 
        gui elements of SongInfo

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/InfoWidgets.cpp?cvsroot=traverso&r1=1.28&r2=1.29
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/InfoWidgets.h?cvsroot=traverso&r1=1.13&r2=1.14

Patches:
Index: InfoWidgets.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/widgets/InfoWidgets.cpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- InfoWidgets.cpp     17 May 2007 09:58:05 -0000      1.28
+++ InfoWidgets.cpp     17 May 2007 16:35:01 -0000      1.29
@@ -352,84 +352,6 @@
 
 
 
-SongSelector::SongSelector(QWidget* parent)
-       : InfoWidget(parent)
-{
-       setToolTip(tr("Select Song to be displayed"));
-       setFrameStyle(QFrame::NoFrame);
-       
-       m_box = new QComboBox;
-       m_box->setMinimumWidth(140);
-       m_box->setFocusPolicy(Qt::NoFocus);
-       
-       QHBoxLayout* lay = new QHBoxLayout;
-       lay->setMargin(0);
-       lay->setSpacing(0);
-       lay->addWidget(m_box);
-       setLayout(lay);
-       
-       connect(&pm(), SIGNAL(projectLoaded(Project*)), this, 
SLOT(set_project(Project*)));
-       connect(m_box, SIGNAL(activated(int)), this, SLOT(index_changed(int)));
-}
-
-void SongSelector::set_project(Project * project)
-{
-       if ( ! project) {
-               m_project = project;
-               m_box->clear();
-               return;
-       }
-       
-       m_project = project;
-       
-       connect(m_project, SIGNAL(songAdded(Song*)), this, 
SLOT(song_added(Song*)));
-       connect(m_project, SIGNAL(songRemoved(Song*)), this, 
SLOT(song_removed(Song*)));
-       connect(m_project, SIGNAL(currentSongChanged(Song*)), this, 
SLOT(change_index_to(Song*)));
-       
-       update_songs();
-}
-
-void SongSelector::update_songs()
-{
-       m_box->clear();
-       foreach(Song* song, m_project->get_songs()) {
-               m_box->addItem("Song " +
-                       
QString::number(m_project->get_song_index(song->get_id())) +
-                       ": " + song->get_title(),
-                      song->get_id());
-       }
-}
-
-void SongSelector::song_added(Song * song)
-{
-       connect(song, SIGNAL(propertyChanged()), this, SLOT(update_songs()));
-       update_songs();
-}
-
-void SongSelector::song_removed(Song * song)
-{
-       disconnect(song, SIGNAL(propertyChanged()), this, SLOT(update_songs()));
-       update_songs();
-}
-
-void SongSelector::index_changed(int index)
-{
-       qint64 id = m_box->itemData(index).toLongLong();
-       
-       m_project->set_current_song(id);
-}
-
-void SongSelector::change_index_to(Song* song)
-{
-       if (!song) {
-               return;
-       }
-       
-       int index = m_box->findData(song->get_id());
-       m_box->setCurrentIndex(index);
-}
-
-
 
 PlayHeadInfo::PlayHeadInfo(QWidget* parent)
        : InfoWidget(parent)
@@ -597,7 +519,11 @@
 SongInfo::SongInfo(QWidget * parent)
        : InfoWidget(parent)
 {
-       m_selector = new SongSelector(this);
+       m_songselectbox = new QComboBox(this);
+       m_songselectbox->setMinimumWidth(140);
+       m_songselectbox->setToolTip(tr("Select Song to be displayed"));
+       connect(m_songselectbox, SIGNAL(activated(int)), this, 
SLOT(song_selector_index_changed(int)));
+       
        m_playhead = new PlayHeadInfo(this);
 
        m_snap = new QToolButton(this);
@@ -660,7 +586,7 @@
        lay->addWidget(m_playhead);
        lay->addStretch(5);
        lay->addWidget(m_mode);
-       lay->addWidget(m_selector);
+       lay->addWidget(m_songselectbox);
                
        setLayout(lay);
        lay->setMargin(0);
@@ -770,6 +696,64 @@
 }
 
 
+void SongInfo::set_project(Project * project)
+{
+       if ( ! project) {
+               m_project = project;
+               m_songselectbox->clear();
+               return;
+       }
+       
+       m_project = project;
+       
+       connect(m_project, SIGNAL(songAdded(Song*)), this, 
SLOT(song_selector_song_added(Song*)));
+       connect(m_project, SIGNAL(songRemoved(Song*)), this, 
SLOT(song_selector_song_removed(Song*)));
+       connect(m_project, SIGNAL(currentSongChanged(Song*)), this, 
SLOT(song_selector_change_index_to(Song*)));
+       
+       song_selector_update_songs();
+}
+
+void SongInfo::song_selector_update_songs()
+{
+       m_songselectbox->clear();
+       foreach(Song* song, m_project->get_songs()) {
+               m_songselectbox->addItem("Song " +
+                               
QString::number(m_project->get_song_index(song->get_id())) +
+                               ": " + song->get_title(),
+                               song->get_id());
+       }
+}
+
+void SongInfo::song_selector_song_added(Song * song)
+{
+       connect(song, SIGNAL(propertyChanged()), this, 
SLOT(song_selector_update_songs()));
+       song_selector_update_songs();
+}
+
+void SongInfo::song_selector_song_removed(Song * song)
+{
+       disconnect(song, SIGNAL(propertyChanged()), this, 
SLOT(song_selector_update_songs()));
+       song_selector_update_songs();
+}
+
+void SongInfo::song_selector_index_changed(int index)
+{
+       qint64 id = m_songselectbox->itemData(index).toLongLong();
+       
+       m_project->set_current_song(id);
+}
+
+void SongInfo::song_selector_change_index_to(Song* song)
+{
+       if (!song) {
+               return;
+       }
+       
+       int index = m_songselectbox->findData(song->get_id());
+       m_songselectbox->setCurrentIndex(index);
+}
+
+
 
 SysInfoToolBar::SysInfoToolBar(QWidget * parent)
        : QToolBar(parent)

Index: InfoWidgets.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/widgets/InfoWidgets.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- InfoWidgets.h       6 May 2007 00:02:38 -0000       1.13
+++ InfoWidgets.h       17 May 2007 16:35:02 -0000      1.14
@@ -138,28 +138,6 @@
 };
 
 
-class SongSelector : public InfoWidget
-{
-       Q_OBJECT
-
-public:
-       SongSelector(QWidget* parent=0);
-
-private:
-       QComboBox* m_box;
-
-protected slots:
-       void set_project(Project* project);
-       
-private slots:
-       void song_added(Song* song);
-       void song_removed(Song* song);
-       void update_songs();
-       void change_index_to(Song* song);
-       void index_changed(int index);
-};
-
-
 class PlayHeadInfo : public InfoWidget
 {
        Q_OBJECT
@@ -204,6 +182,7 @@
        QSize sizeHint() const; 
        
 protected slots:
+       void set_project(Project* project);
        void set_song(Song* );
        
 private slots:
@@ -215,12 +194,17 @@
        void mode_index_changed(int index);
        void recording_button_state_changed(bool state);
        void update_recording_state();
+       void song_selector_song_added(Song* song);
+       void song_selector_song_removed(Song* song);
+       void song_selector_update_songs();
+       void song_selector_change_index_to(Song* song);
+       void song_selector_index_changed(int index);
        
 private:
        PlayHeadInfo*   m_playhead;
-       SongSelector*   m_selector;
        QToolButton*    m_snap;
        QComboBox*      m_mode;
+       QComboBox*      m_songselectbox;
        QAction*        m_snapAct;
        QToolButton*    m_follow;
        QAction*        m_followAct;




reply via email to

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