diff options
author | Florian Jung <flo@windfisch.org> | 2012-02-24 19:32:40 +0000 |
---|---|---|
committer | Florian Jung <flo@windfisch.org> | 2012-02-24 19:32:40 +0000 |
commit | f97dd6a44d1050aa2f4c300c9ad32e2c5453ed98 (patch) | |
tree | 097c0e032d1fa5e5c5104759353974398debf381 /muse2/muse/arranger | |
parent | 3ffd0dacdd7447c6c377f95c1fa7fc45a2612d98 (diff) |
made custom columns editable.
TODO FIXME: you need to restart MusE to apply them
Diffstat (limited to 'muse2/muse/arranger')
-rw-r--r-- | muse2/muse/arranger/arranger.cpp | 13 | ||||
-rw-r--r-- | muse2/muse/arranger/arranger.h | 3 | ||||
-rw-r--r-- | muse2/muse/arranger/arrangerview.cpp | 12 | ||||
-rw-r--r-- | muse2/muse/arranger/arrangerview.h | 3 |
4 files changed, 25 insertions, 6 deletions
diff --git a/muse2/muse/arranger/arranger.cpp b/muse2/muse/arranger/arranger.cpp index d572aadd..ccb3353f 100644 --- a/muse2/muse/arranger/arranger.cpp +++ b/muse2/muse/arranger/arranger.cpp @@ -72,18 +72,19 @@ namespace MusEGui { -std::vector<Arranger::custom_col_t> Arranger::custom_columns; +std::vector<Arranger::custom_col_t> Arranger::custom_columns; //FINDMICH TODO: eliminate all usage of new_custom_columns +std::vector<Arranger::custom_col_t> Arranger::new_custom_columns; //and instead let the arranger update without restarting muse! QString Arranger::header_state; void Arranger::writeCustomColumns(int level, MusECore::Xml& xml) { xml.tag(level++, "custom_columns"); - for (unsigned i=0;i<custom_columns.size();i++) + for (unsigned i=0;i<new_custom_columns.size();i++) { xml.tag(level++, "column"); - xml.strTag(level, "name", custom_columns[i].name); - xml.intTag(level, "ctrl", custom_columns[i].ctrl); + xml.strTag(level, "name", new_custom_columns[i].name); + xml.intTag(level, "ctrl", new_custom_columns[i].ctrl); xml.etag(--level, "column"); } @@ -100,6 +101,7 @@ void Arranger::readCustomColumns(MusECore::Xml& xml) switch (token) { case MusECore::Xml::Error: case MusECore::Xml::End: + new_custom_columns=custom_columns; return; case MusECore::Xml::TagStart: if (tag == "column") @@ -109,7 +111,10 @@ void Arranger::readCustomColumns(MusECore::Xml& xml) break; case MusECore::Xml::TagEnd: if (tag == "custom_columns") + { + new_custom_columns=custom_columns; return; + } default: break; } diff --git a/muse2/muse/arranger/arranger.h b/muse2/muse/arranger/arranger.h index a49829c8..c2746ba7 100644 --- a/muse2/muse/arranger/arranger.h +++ b/muse2/muse/arranger/arranger.h @@ -188,7 +188,8 @@ class Arranger : public QWidget { name=n; } }; - static std::vector<custom_col_t> custom_columns; + static std::vector<custom_col_t> custom_columns; //FINDMICH TODO: eliminate all usage of new_custom_columns + static std::vector<custom_col_t> new_custom_columns; //and instead let the arranger update without restarting muse! Arranger(ArrangerView* parent, const char* name = 0); diff --git a/muse2/muse/arranger/arrangerview.cpp b/muse2/muse/arranger/arrangerview.cpp index afc0da8c..d38b5284 100644 --- a/muse2/muse/arranger/arrangerview.cpp +++ b/muse2/muse/arranger/arrangerview.cpp @@ -67,6 +67,7 @@ #include "ttoolbar.h" #include "visibletracks.h" #include "xml.h" +#include "arrangercolumns.h" namespace MusEGui { @@ -272,6 +273,8 @@ ArrangerView::ArrangerView(QWidget* parent) QMenu* menuSettings = menuBar()->addMenu(tr("Window &Config")); + menuSettings->addAction(tr("Configure &custom columns"), this, SLOT(configCustomColumns())); + menuSettings->addSeparator(); menuSettings->addAction(subwinAction); menuSettings->addAction(shareAction); menuSettings->addAction(fullscreenAction); @@ -746,4 +749,13 @@ void ArrangerView::globalCutSel() { MusECore::globalCut(true); } void ArrangerView::globalInsertSel() { MusECore::globalInsert(true); } void ArrangerView::globalSplitSel() { MusECore::globalSplit(true); } +void ArrangerView::configCustomColumns() +{ + ArrangerColumns* dialog = new ArrangerColumns(this); + dialog->exec(); + delete dialog; + + QMessageBox::information(this, tr("Changed Settings"), tr("Unfortunately, the changed arranger column settings\ncannot be applied while MusE is running.\nTo apply the changes, please restart MusE. Sorry.\n(we'll try to fix that)")); +} + } // namespace MusEGui diff --git a/muse2/muse/arranger/arrangerview.h b/muse2/muse/arranger/arrangerview.h index 2e128c1d..98e7f01c 100644 --- a/muse2/muse/arranger/arrangerview.h +++ b/muse2/muse/arranger/arrangerview.h @@ -125,7 +125,8 @@ class ArrangerView : public TopWin void globalInsertSel(); void globalSplitSel(); void cmd(int); - void addNewTrack(QAction* action); + void addNewTrack(QAction* action); + void configCustomColumns(); signals: void isDeleting(MusEGui::TopWin*); |