diff options
author | Florian Jung <flo@windfisch.org> | 2012-03-17 16:55:22 +0000 |
---|---|---|
committer | Florian Jung <flo@windfisch.org> | 2012-03-17 16:55:22 +0000 |
commit | 2800c0e742bdc9d141f6e8c77dbfba1831e8efb2 (patch) | |
tree | 3cfafe86a5f07f0059d64b353d9d06e28e7d272d /muse2/muse/widgets | |
parent | 8f7ed6ab503f7f1befae937bdc33e6907f3a1868 (diff) |
- custom columns can now also store their values to song->cpos(), not
only to tick0
- hopefully fixed a bug in the custom columns setup dialog
Diffstat (limited to 'muse2/muse/widgets')
-rw-r--r-- | muse2/muse/widgets/arrangercolumns.cpp | 16 | ||||
-rw-r--r-- | muse2/muse/widgets/arrangercolumns.h | 3 | ||||
-rw-r--r-- | muse2/muse/widgets/arrangercolumnsbase.ui | 53 |
3 files changed, 71 insertions, 1 deletions
diff --git a/muse2/muse/widgets/arrangercolumns.cpp b/muse2/muse/widgets/arrangercolumns.cpp index 5510e69c..08a9580e 100644 --- a/muse2/muse/widgets/arrangercolumns.cpp +++ b/muse2/muse/widgets/arrangercolumns.cpp @@ -29,6 +29,8 @@ namespace MusEGui { ArrangerColumns::ArrangerColumns(QWidget* parent) : QDialog(parent) { + ignoreSomethingChanged=true; + setupUi(this); initList(); @@ -38,6 +40,8 @@ ArrangerColumns::ArrangerColumns(QWidget* parent) : QDialog(parent) connect(nameEdit,SIGNAL(textEdited(const QString&)), SLOT(somethingChanged())); connect(spinBoxHCtrlNo,SIGNAL(valueChanged(int)), SLOT(somethingChanged())); connect(spinBoxLCtrlNo,SIGNAL(valueChanged(int)), SLOT(somethingChanged())); + connect(affectBeginButton,SIGNAL(toggled(bool)), SLOT(somethingChanged())); + connect(affectCposButton,SIGNAL(toggled(bool)), SLOT(somethingChanged())); connect(listWidget,SIGNAL(currentRowChanged(int)), SLOT(itemSelected(int))); connect(addBtn,SIGNAL(clicked()), SLOT(addEntry())); connect(delBtn,SIGNAL(clicked()), SLOT(delEntry())); @@ -48,6 +52,8 @@ ArrangerColumns::ArrangerColumns(QWidget* parent) : QDialog(parent) itemSelected(-1); ctrlTypeChanged(ctrlType->currentIndex()); + + ignoreSomethingChanged=false; } void ArrangerColumns::ctrlTypeChanged(int idx) @@ -81,6 +87,8 @@ void ArrangerColumns::ctrlTypeChanged(int idx) void ArrangerColumns::somethingChanged() { + if (ignoreSomethingChanged) return; + int row=listWidget->currentRow(); if (row!=-1) { @@ -91,6 +99,7 @@ void ArrangerColumns::somethingChanged() Arranger::new_custom_columns[row].name=nameEdit->text(); Arranger::new_custom_columns[row].ctrl=ctrl_number; + Arranger::new_custom_columns[row].affected_pos=(affectBeginButton->isChecked() ? Arranger::custom_col_t::AFFECT_BEGIN : Arranger::custom_col_t::AFFECT_CPOS); listWidget->currentItem()->setText(getListEntryString(row)); } @@ -111,6 +120,8 @@ void ArrangerColumns::initList() void ArrangerColumns::itemSelected(int i) { + ignoreSomethingChanged=true; + if (i==-1) { frame->setEnabled(false); @@ -133,7 +144,12 @@ void ArrangerColumns::itemSelected(int i) spinBoxLCtrlNo->setValue(num & 0xFF); else spinBoxLCtrlNo->setValue(0); + + affectBeginButton->setChecked(Arranger::new_custom_columns[i].affected_pos == Arranger::custom_col_t::AFFECT_BEGIN); + affectCposButton->setChecked(Arranger::new_custom_columns[i].affected_pos == Arranger::custom_col_t::AFFECT_CPOS); } + + ignoreSomethingChanged=false; } void ArrangerColumns::addEntry() diff --git a/muse2/muse/widgets/arrangercolumns.h b/muse2/muse/widgets/arrangercolumns.h index 02fbff9c..109fec2a 100644 --- a/muse2/muse/widgets/arrangercolumns.h +++ b/muse2/muse/widgets/arrangercolumns.h @@ -45,6 +45,9 @@ class ArrangerColumns : public QDialog, private Ui::ArrangerColumnsBase void delEntry(); QString getListEntryString(int idx); + + private: + bool ignoreSomethingChanged; }; } // namespace MusEGui diff --git a/muse2/muse/widgets/arrangercolumnsbase.ui b/muse2/muse/widgets/arrangercolumnsbase.ui index d8ea9f5f..bfa07e49 100644 --- a/muse2/muse/widgets/arrangercolumnsbase.ui +++ b/muse2/muse/widgets/arrangercolumnsbase.ui @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>319</width> - <height>407</height> + <height>485</height> </rect> </property> <property name="windowTitle"> @@ -204,6 +204,57 @@ Examples: The GS and XG instruments' </item> </layout> </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>10</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QGroupBox" name="horizontalGroupBox"> + <property name="title"> + <string>affect CCs at</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <property name="spacing"> + <number>6</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QRadioButton" name="affectBeginButton"> + <property name="text"> + <string>begin of song</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QRadioButton" name="affectCposButton"> + <property name="text"> + <string>current position</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> </layout> </item> </layout> |