summaryrefslogtreecommitdiff
path: root/muse2/muse/widgets
diff options
context:
space:
mode:
authorFlorian Jung <flo@windfisch.org>2012-03-17 16:55:22 +0000
committerFlorian Jung <flo@windfisch.org>2012-03-17 16:55:22 +0000
commit2800c0e742bdc9d141f6e8c77dbfba1831e8efb2 (patch)
tree3cfafe86a5f07f0059d64b353d9d06e28e7d272d /muse2/muse/widgets
parent8f7ed6ab503f7f1befae937bdc33e6907f3a1868 (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.cpp16
-rw-r--r--muse2/muse/widgets/arrangercolumns.h3
-rw-r--r--muse2/muse/widgets/arrangercolumnsbase.ui53
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>