[Top][All Lists]
[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;
- [Traverso-commit] traverso/src/traverso/widgets InfoWidgets.cpp I...,
Remon Sijrier <=