summaryrefslogtreecommitdiff
path: root/attic/muse2-oom/muse2/muse/appearance.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'attic/muse2-oom/muse2/muse/appearance.cpp')
-rw-r--r--attic/muse2-oom/muse2/muse/appearance.cpp1120
1 files changed, 0 insertions, 1120 deletions
diff --git a/attic/muse2-oom/muse2/muse/appearance.cpp b/attic/muse2-oom/muse2/muse/appearance.cpp
deleted file mode 100644
index 618445ab..00000000
--- a/attic/muse2-oom/muse2/muse/appearance.cpp
+++ /dev/null
@@ -1,1120 +0,0 @@
-//=========================================================
-// MusE
-// Linux Music Editor
-// $Id: appearance.cpp,v 1.11.2.5 2009/11/14 03:37:48 terminator356 Exp $
-//=========================================================
-
-#include <QAbstractButton>
-#include <QButtonGroup>
-#include <QColor>
-#include <QFontDialog>
-#include <QStyleFactory>
-#include <QToolTip>
-#include <QByteArray>
-#include <QFile>
-#include <QFileDialog>
-#include <QFileInfo>
-#include <QPainter>
-#include <QtGlobal>
-
-#include "icons.h"
-#include "appearance.h"
-#include "track.h"
-#include "app.h"
-#include "song.h"
-#include "event.h"
-#include "arranger.h"
-#include "widgets/filedialog.h"
-#include "waveedit/waveedit.h"
-#include "globals.h"
-#include "conf.h"
-#include "gconfig.h"
-
-int BG_ITEM_HEIGHT = 30;
-
-class BgPreviewWidget : public QWidget {
- QPixmap pixmap;
- QString imagefile;
- QTreeWidget* t_widget;
- int text_h;
- int text_w;
-
- protected:
- void paintEvent(QPaintEvent* event)
- {
- QPainter p(this);
- int w = t_widget->width() - 65;
- p.drawTiledPixmap(1,1,w,BG_ITEM_HEIGHT-2, pixmap);
-
- const QPalette& pal = palette();
- QColor dark = pal.dark().color();
- // We can also draw a rectangle behind the text:
- //p.fillRect(QRect(w/2 - text_w/2,6,text_w + 20,text_h+4), dark);
-
- QFontMetrics fm = p.fontMetrics();
- text_w = fm.width(imagefile);
- text_h = fm.height();
-
- // Do the text shadow first
- p.save();
- p.setPen(dark);
- p.drawText(w/2 - text_w/2 + 1, 7, text_w + 20, text_h+4, Qt::AlignCenter, imagefile);
- p.restore();
-
- p.drawText(w/2 - text_w/2,6, text_w + 20, text_h+4, Qt::AlignCenter, imagefile);
- QWidget::paintEvent(event);
- }
- public:
- BgPreviewWidget(QString imagepath, QTreeWidget *treewidget)
- {
- pixmap = QPixmap(imagepath);
- imagefile = imagepath.right(imagepath.length() - imagepath.lastIndexOf("/") - 1 );
- t_widget = treewidget;
- }
- };
-
-//---------------------------------------------------------
-// IdListViewItem
-//---------------------------------------------------------
-
-class IdListViewItem : public QTreeWidgetItem {
- int _id;
-
- public:
- IdListViewItem(int id, QTreeWidgetItem* parent, QString s)
- : QTreeWidgetItem(parent, QStringList(s))
- {
- _id = id;
- }
- IdListViewItem(int id, QTreeWidget* parent, QString s)
- : QTreeWidgetItem(parent, QStringList(s))
- {
- _id = id;
- }
- int id() const { return _id; }
- };
-
-//---------------------------------------------------------
-// Appearance
-//---------------------------------------------------------
-
-Appearance::Appearance(Arranger* a, QWidget* parent)
- : QDialog(parent, Qt::Window)
- {
- setupUi(this);
- arr = a;
- color = 0;
- config = new GlobalConfigValues;
-
- lastSelectedColorItem = 0;
- lastSelectedBgItem = 0;
-
- fontName0->setToolTip(tr("Main application font, and default font for any\n controls not defined here."));
- fontName1->setToolTip(tr("For small controls like mixer strips.\nAlso timescale small numbers, arranger part name overlay,\n and effects rack."));
- fontName2->setToolTip(tr("Midi track info panel. Transport controls."));
- fontName3->setToolTip(tr("Controller graph and S/X buttons. Large numbers for time\n and tempo scale, and time signature."));
- fontName4->setToolTip(tr("Time scale markers."));
- fontName5->setToolTip(tr("List editor: meta event edit dialog multi-line edit box."));
- fontName6->setToolTip(tr("Mixer label font. Auto-font-sizing up to chosen font size.\nWord-breaking but only with spaces."));
- fontSize6->setToolTip(tr("Maximum mixer label auto-font-sizing font size."));
-
- globalAlphaSlider->setToolTip(tr("Global opacity (opposite of transparency)."));
-
- // ARRANGER
-
- global_bg = new QTreeWidgetItem(backgroundTree, QStringList(tr("Standard")), 0);
- global_bg->setFlags(Qt::ItemIsEnabled);
- user_bg = new QTreeWidgetItem(backgroundTree, QStringList(tr("Custom")), 0);
- user_bg->setFlags(Qt::ItemIsEnabled);
- /*
- partShownames->setChecked(config->canvasShowPartType & 1);
- partShowevents->setChecked(config->canvasShowPartType & 2);
- partShowCakes->setChecked(!(config->canvasShowPartType & 2));
-
- eventNoteon->setChecked(config->canvasShowPartEvent & (1 << 0));
- eventPolypressure->setChecked(config->canvasShowPartEvent & (1 << 1));
- eventController->setChecked(config->canvasShowPartEvent & (1 << 2));
- eventProgramchange->setChecked(config->canvasShowPartEvent & (1 << 3));
- eventAftertouch->setChecked(config->canvasShowPartEvent & (1 << 4));
- eventPitchbend->setChecked(config->canvasShowPartEvent & (1 << 5));
- eventSpecial->setChecked(config->canvasShowPartEvent & (1 << 6));
- eventButtonGroup->setEnabled(config->canvasShowPartType == 2);
- arrGrid->setChecked(config->canvasShowGrid);
- */
- colorframe->setAutoFillBackground(true);
- aPalette = new QButtonGroup(aPaletteBox);
-
- // There must be an easier way to do this by a for loop. No? :
- aPalette->addButton(palette0, 0);
- aPalette->addButton(palette1, 1);
- aPalette->addButton(palette2, 2);
- aPalette->addButton(palette3, 3);
- aPalette->addButton(palette4, 4);
- aPalette->addButton(palette5, 5);
- aPalette->addButton(palette6, 6);
- aPalette->addButton(palette7, 7);
- aPalette->addButton(palette8, 8);
- aPalette->addButton(palette9, 9);
- aPalette->addButton(palette10, 10);
- aPalette->addButton(palette11, 11);
- aPalette->addButton(palette12, 12);
- aPalette->addButton(palette13, 13);
- aPalette->addButton(palette14, 14);
- aPalette->addButton(palette15, 15);
- aPalette->setExclusive(true);
-
- // COLORS
- IdListViewItem* id;
- IdListViewItem* aid;
- itemList->clear();
- aid = new IdListViewItem(0, itemList, "Arranger");
- id = new IdListViewItem(0, aid, "PartColors");
- // Names moved into global config by Tim.
- /*
- new IdListViewItem(0x400, id, "Default");
- new IdListViewItem(0x401, id, "Refrain");
- new IdListViewItem(0x402, id, "Bridge");
- new IdListViewItem(0x403, id, "Intro");
- new IdListViewItem(0x404, id, "Coda");
- new IdListViewItem(0x405, id, "Chorus");
- new IdListViewItem(0x406, id, "Solo");
- new IdListViewItem(0x407, id, "Brass");
- new IdListViewItem(0x408, id, "Percussion");
- new IdListViewItem(0x409, id, "Drums");
- new IdListViewItem(0x40a, id, "Guitar");
- new IdListViewItem(0x40b, id, "Bass");
- new IdListViewItem(0x40c, id, "Flute");
- new IdListViewItem(0x40d, id, "Strings");
- new IdListViewItem(0x40e, id, "Keyboard");
- new IdListViewItem(0x40f, id, "Piano");
- new IdListViewItem(0x410, id, "Saxophon");
- */
- for(int i = 0; i < NUM_PARTCOLORS; ++i)
- new IdListViewItem(0x400 + i, id, ::config.partColorNames[i]);
-
- new IdListViewItem(0x41c, aid, "part canvas background");
- id = new IdListViewItem(0, aid, "Track List");
- new IdListViewItem(0x411, id, "background");
- new IdListViewItem(0x412, id, "midi background");
- new IdListViewItem(0x413, id, "drum background");
- new IdListViewItem(0x414, id, "wave background");
- new IdListViewItem(0x415, id, "output background");
- new IdListViewItem(0x416, id, "input background");
- new IdListViewItem(0x417, id, "group background");
- new IdListViewItem(0x418, id, "aux background");
- new IdListViewItem(0x419, id, "synth background");
- new IdListViewItem(0x41a, id, "selected track background");
- new IdListViewItem(0x41b, id, "selected track foreground");
- id = new IdListViewItem(0, itemList, "BigTime");
- new IdListViewItem(0x100, id, "background");
- new IdListViewItem(0x101, id, "foreground");
- id = new IdListViewItem(0, itemList, "Transport");
- new IdListViewItem(0x200, id, "handle");
- id = new IdListViewItem(0, itemList, "Midi Editor");
- new IdListViewItem(0x41d, id, "controller graph");
- id = new IdListViewItem(0, itemList, "Wave Editor");
- new IdListViewItem(0x300, id, "background");
- id = new IdListViewItem(0, itemList, "Mixer");
- new IdListViewItem(0x500, id, "background");
- new IdListViewItem(0x501, id, "midi label");
- new IdListViewItem(0x502, id, "drum label");
- new IdListViewItem(0x503, id, "wave label");
- new IdListViewItem(0x504, id, "audio output label");
- new IdListViewItem(0x505, id, "audio input label");
- new IdListViewItem(0x506, id, "group label");
- new IdListViewItem(0x507, id, "aux label");
- new IdListViewItem(0x508, id, "synth label");
-
- colorNameLineEdit->setEnabled(false);
-
- connect(colorNameLineEdit, SIGNAL(editingFinished()), SLOT(colorNameEditFinished()));
- connect(itemList, SIGNAL(itemSelectionChanged()), SLOT(colorItemSelectionChanged()));
- connect(aPalette, SIGNAL(buttonClicked(int)), SLOT(paletteClicked(int)));
- connect(globalAlphaSlider, SIGNAL(valueChanged(int)), SLOT(asliderChanged(int)));
- connect(rslider, SIGNAL(valueChanged(int)), SLOT(rsliderChanged(int)));
- connect(gslider, SIGNAL(valueChanged(int)), SLOT(gsliderChanged(int)));
- connect(bslider, SIGNAL(valueChanged(int)), SLOT(bsliderChanged(int)));
- connect(hslider, SIGNAL(valueChanged(int)), SLOT(hsliderChanged(int)));
- connect(sslider, SIGNAL(valueChanged(int)), SLOT(ssliderChanged(int)));
- connect(vslider, SIGNAL(valueChanged(int)), SLOT(vsliderChanged(int)));
-
- connect(globalAlphaVal, SIGNAL(valueChanged(int)), SLOT(aValChanged(int)));
- connect(rval, SIGNAL(valueChanged(int)), SLOT(rsliderChanged(int)));
- connect(gval, SIGNAL(valueChanged(int)), SLOT(gsliderChanged(int)));
- connect(bval, SIGNAL(valueChanged(int)), SLOT(bsliderChanged(int)));
- connect(hval, SIGNAL(valueChanged(int)), SLOT(hsliderChanged(int)));
- connect(sval, SIGNAL(valueChanged(int)), SLOT(ssliderChanged(int)));
- connect(vval, SIGNAL(valueChanged(int)), SLOT(vsliderChanged(int)));
-
- connect(addToPalette, SIGNAL(clicked()), SLOT(addToPaletteClicked()));
-
- //---------------------------------------------------
- // STYLE
- //---------------------------------------------------
-
- /*
- themeComboBox->clear();
- QString cs = muse->style().name();
- cs = cs.lower();
-
- themeComboBox->insertStringList(QStyleFactory::keys());
- for (int i = 0; i < themeComboBox->count(); ++i) {
- if (themeComboBox->text(i).lower() == cs) {
- themeComboBox->setCurrentItem(i);
- }
- }
- */
-
- openStyleSheet->setIcon(*openIcon);
- connect(openStyleSheet, SIGNAL(clicked()), SLOT(browseStyleSheet()));
- defaultStyleSheet->setIcon(*undoIcon);
- connect(defaultStyleSheet, SIGNAL(clicked()), SLOT(setDefaultStyleSheet()));
-
- //---------------------------------------------------
- // Fonts
- //---------------------------------------------------
-
- fontBrowse0->setIcon(QIcon(*openIcon));
- fontBrowse1->setIcon(QIcon(*openIcon));
- fontBrowse2->setIcon(QIcon(*openIcon));
- fontBrowse3->setIcon(QIcon(*openIcon));
- fontBrowse4->setIcon(QIcon(*openIcon));
- fontBrowse5->setIcon(QIcon(*openIcon));
- fontBrowse6->setIcon(QIcon(*openIcon));
- connect(fontBrowse0, SIGNAL(clicked()), SLOT(browseFont0()));
- connect(fontBrowse1, SIGNAL(clicked()), SLOT(browseFont1()));
- connect(fontBrowse2, SIGNAL(clicked()), SLOT(browseFont2()));
- connect(fontBrowse3, SIGNAL(clicked()), SLOT(browseFont3()));
- connect(fontBrowse4, SIGNAL(clicked()), SLOT(browseFont4()));
- connect(fontBrowse5, SIGNAL(clicked()), SLOT(browseFont5()));
- connect(fontBrowse6, SIGNAL(clicked()), SLOT(browseFont6()));
-
- connect(applyButton, SIGNAL(clicked()), SLOT(apply()));
- connect(okButton, SIGNAL(clicked()), SLOT(ok()));
- connect(cancelButton, SIGNAL(clicked()), SLOT(cancel()));
- connect(addBgButton, SIGNAL(clicked()), SLOT(addBackground()));
- connect(removeBgButton, SIGNAL(clicked()), SLOT(removeBackground()));
- connect(clearBgButton, SIGNAL(clicked()), SLOT(clearBackground()));
- connect(partShowevents, SIGNAL(toggled(bool)), eventButtonGroup, SLOT(setEnabled(bool)));
- //updateColor();
- }
-
-//---------------------------------------------------------
-// resetValues
-//---------------------------------------------------------
-
-void Appearance::resetValues()
- {
- *config = ::config; // init with global config values
- styleSheetPath->setText(config->styleSheetFile);
- updateFonts();
-
- QPalette pal;
-
- /*
- pal.setColor(palette0->backgroundRole(), config->palette[0]);
- palette0->setPalette(pal);
- pal.setColor(palette1->backgroundRole(), config->palette[1]);
- palette1->setPalette(pal);
- pal.setColor(palette2->backgroundRole(), config->palette[2]);
- palette2->setPalette(pal);
- pal.setColor(palette3->backgroundRole(), config->palette[3]);
- palette3->setPalette(pal);
- pal.setColor(palette4->backgroundRole(), config->palette[4]);
- palette4->setPalette(pal);
- pal.setColor(palette5->backgroundRole(), config->palette[5]);
- palette5->setPalette(pal);
- pal.setColor(palette6->backgroundRole(), config->palette[6]);
- palette6->setPalette(pal);
- pal.setColor(palette7->backgroundRole(), config->palette[7]);
- palette7->setPalette(pal);
- pal.setColor(palette8->backgroundRole(), config->palette[8]);
- palette8->setPalette(pal);
- pal.setColor(palette9->backgroundRole(), config->palette[9]);
- palette9->setPalette(pal);
- pal.setColor(palette10->backgroundRole(), config->palette[10]);
- palette10->setPalette(pal);
- pal.setColor(palette11->backgroundRole(), config->palette[11]);
- palette11->setPalette(pal);
- pal.setColor(palette12->backgroundRole(), config->palette[12]);
- palette12->setPalette(pal);
- pal.setColor(palette13->backgroundRole(), config->palette[13]);
- palette13->setPalette(pal);
- pal.setColor(palette14->backgroundRole(), config->palette[14]);
- palette14->setPalette(pal);
- pal.setColor(palette15->backgroundRole(), config->palette[15]);
- palette15->setPalette(pal);
- */
-
- /*
- pal.setColor(QPalette::Window, config->palette[0]);
- palette0->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[1]);
- palette1->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[2]);
- palette2->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[3]);
- palette3->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[4]);
- palette4->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[5]);
- palette5->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[6]);
- palette6->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[7]);
- palette7->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[8]);
- palette8->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[9]);
- palette9->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[10]);
- palette10->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[11]);
- palette11->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[12]);
- palette12->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[13]);
- palette13->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[14]);
- palette14->setPalette(pal);
- pal.setColor(QPalette::Window, config->palette[15]);
- palette15->setPalette(pal);
- */
-
- /*
- pal.setColor(QPalette::Button, config->palette[0]);
- palette0->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[1]);
- palette1->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[2]);
- palette2->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[3]);
- palette3->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[4]);
- palette4->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[5]);
- palette5->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[6]);
- palette6->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[7]);
- palette7->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[8]);
- palette8->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[9]);
- palette9->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[10]);
- palette10->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[11]);
- palette11->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[12]);
- palette12->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[13]);
- palette13->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[14]);
- palette14->setPalette(pal);
- pal.setColor(QPalette::Button, config->palette[15]);
- palette15->setPalette(pal);
- */
-
- palette0->setStyleSheet(QString("background-color: ") + config->palette[0].name());
- palette1->setStyleSheet(QString("background-color: ") + config->palette[1].name());
- palette2->setStyleSheet(QString("background-color: ") + config->palette[2].name());
- palette3->setStyleSheet(QString("background-color: ") + config->palette[3].name());
- palette4->setStyleSheet(QString("background-color: ") + config->palette[4].name());
- palette5->setStyleSheet(QString("background-color: ") + config->palette[5].name());
- palette6->setStyleSheet(QString("background-color: ") + config->palette[6].name());
- palette7->setStyleSheet(QString("background-color: ") + config->palette[7].name());
- palette8->setStyleSheet(QString("background-color: ") + config->palette[8].name());
- palette9->setStyleSheet(QString("background-color: ") + config->palette[9].name());
- palette10->setStyleSheet(QString("background-color: ") + config->palette[10].name());
- palette11->setStyleSheet(QString("background-color: ") + config->palette[11].name());
- palette12->setStyleSheet(QString("background-color: ") + config->palette[12].name());
- palette13->setStyleSheet(QString("background-color: ") + config->palette[13].name());
- palette14->setStyleSheet(QString("background-color: ") + config->palette[14].name());
- palette15->setStyleSheet(QString("background-color: ") + config->palette[15].name());
-
- global_bg->takeChildren();
- user_bg->takeChildren();
-
- QDir bgdir = museGlobalShare + "/wallpapers/";
- QStringList filters;
- filters << "*.jpg" << "*.jpeg" << "*.png" << "*.gif";
- bgdir.setNameFilters(filters);
- backgroundTree->model()->setData(backgroundTree->model()->index(0,0),
- QVariant(QSize(200,BG_ITEM_HEIGHT)),
- Qt::SizeHintRole);
- QStringList bglist = bgdir.entryList(QDir::Files, QDir::Name);
- foreach (const QString &bgfile, bglist)
- {
- QTreeWidgetItem* item = new QTreeWidgetItem(global_bg, 0);
- item->setData(0, Qt::UserRole, QVariant(museGlobalShare + "/wallpapers/" + bgfile));
- BgPreviewWidget* bgw = new BgPreviewWidget(museGlobalShare + "/wallpapers/" + bgfile, backgroundTree);
- backgroundTree->setItemWidget(item, 0, bgw);
- if (config->canvasBgPixmap == museGlobalShare + "/wallpapers/" + bgfile)
- backgroundTree->setCurrentItem(item);
- }
-
- foreach (const QString &bgfile, config->canvasCustomBgList)
- {
- QTreeWidgetItem* item = new QTreeWidgetItem(user_bg, 0);
- BgPreviewWidget* bgw = new BgPreviewWidget(bgfile, backgroundTree);
- backgroundTree->setItemWidget(item, 0, bgw);
- item->setData(0, Qt::UserRole, QVariant(bgfile));
- if (config->canvasBgPixmap == bgfile)
- backgroundTree->setCurrentItem(item);
- }
-
- removeBgButton->setEnabled(false);
-
- backgroundTree->expandAll();
- connect(backgroundTree,
- SIGNAL(itemClicked(QTreeWidgetItem*, int )),
- SLOT(bgSelectionChanged(QTreeWidgetItem*)));
-
- partShownames->setChecked(config->canvasShowPartType & 1);
- partShowevents->setChecked(config->canvasShowPartType & 2);
- partShowCakes->setChecked(!(config->canvasShowPartType & 2));
-
- eventNoteon->setChecked(config->canvasShowPartEvent & (1 << 0));
- eventPolypressure->setChecked(config->canvasShowPartEvent & (1 << 1));
- eventController->setChecked(config->canvasShowPartEvent & (1 << 2));
- eventProgramchange->setChecked(config->canvasShowPartEvent & (1 << 3));
- eventAftertouch->setChecked(config->canvasShowPartEvent & (1 << 4));
- eventPitchbend->setChecked(config->canvasShowPartEvent & (1 << 5));
- eventSpecial->setChecked(config->canvasShowPartEvent & (1 << 6));
- //eventButtonGroup->setEnabled(config->canvasShowPartType == 2);
- eventButtonGroup->setEnabled(config->canvasShowPartType & 2);
- arrGrid->setChecked(config->canvasShowGrid);
-
- //themeComboBox->clear();
- QString cs = muse->style()->objectName();
- //printf("Appearance::resetValues style:%s\n", cs.toAscii().data()); // REMOVE Tim
- //printf("Appearance::resetValues App styleSheet:%s\n", qApp->styleSheet().toAscii().data()); // REMOVE Tim
- cs = cs.toLower();
-
- //themeComboBox->insertItems(0, QStyleFactory::keys());
- /*for (int i = 0; i < themeComboBox->count(); ++i) {
- if (themeComboBox->itemText(i).toLower() == cs) {
- themeComboBox->setCurrentIndex(i);
- }
- }
- */
- globalAlphaSlider->blockSignals(true);
- globalAlphaVal->blockSignals(true);
- globalAlphaSlider->setValue(config->globalAlphaBlend);
- globalAlphaVal->setValue(config->globalAlphaBlend);
- globalAlphaSlider->blockSignals(false);
- globalAlphaVal->blockSignals(false);
-
- updateColor();
-
- }
-
-
-//---------------------------------------------------------
-// bgSelectionChanged
-//---------------------------------------------------------
-
-void Appearance::bgSelectionChanged(QTreeWidgetItem* item)
- {
- if (item->text(0).length() && lastSelectedBgItem)
- {
- backgroundTree->setCurrentItem(lastSelectedBgItem);
- item = lastSelectedBgItem;
- }
-
- removeBgButton->setEnabled(false);
-
- QTreeWidgetItem* parent = item->parent();
- if (parent)
- if (parent->text(0) == user_bg->text(0))
- removeBgButton->setEnabled(true);
-
- lastSelectedBgItem = item;
- muse->arranger->getCanvas()->setBg(QPixmap(item->data(0, Qt::UserRole).toString()));
- }
-
-//---------------------------------------------------------
-// Appearance
-//---------------------------------------------------------
-
-Appearance::~Appearance()
- {
- delete config;
- }
-
-//---------------------------------------------------------
-// updateFonts
-//---------------------------------------------------------
-
-void Appearance::updateFonts()
- {
- fontSize0->setValue(config->fonts[0].pointSize());
- fontName0->setText(config->fonts[0].family());
- italic0->setChecked(config->fonts[0].italic());
- bold0->setChecked(config->fonts[0].bold());
-
- fontSize1->setValue(config->fonts[1].pointSize());
- fontName1->setText(config->fonts[1].family());
- italic1->setChecked(config->fonts[1].italic());
- bold1->setChecked(config->fonts[1].bold());
-
- fontSize2->setValue(config->fonts[2].pointSize());
- fontName2->setText(config->fonts[2].family());
- italic2->setChecked(config->fonts[2].italic());
- bold2->setChecked(config->fonts[2].bold());
-
- fontSize3->setValue(config->fonts[3].pointSize());
- fontName3->setText(config->fonts[3].family());
- italic3->setChecked(config->fonts[3].italic());
- bold3->setChecked(config->fonts[3].bold());
-
- fontSize4->setValue(config->fonts[4].pointSize());
- fontName4->setText(config->fonts[4].family());
- italic4->setChecked(config->fonts[4].italic());
- bold4->setChecked(config->fonts[4].bold());
-
- fontSize5->setValue(config->fonts[5].pointSize());
- fontName5->setText(config->fonts[5].family());
- italic5->setChecked(config->fonts[5].italic());
- bold5->setChecked(config->fonts[5].bold());
-
- fontSize6->setValue(config->fonts[6].pointSize());
- fontName6->setText(config->fonts[6].family());
- italic6->setChecked(config->fonts[6].italic());
- bold6->setChecked(config->fonts[6].bold());
- }
-
-//---------------------------------------------------------
-// apply
-//---------------------------------------------------------
-
-void Appearance::apply()
- {
- int showPartEvent = 0;
- int showPartType = 0;
-
- if (partShownames->isChecked())
- showPartType |= 1;
- if (partShowevents->isChecked())
- showPartType |= 2;
- //if (partShowCakes->isChecked())
- // showPartType |= 4;
-
- config->canvasShowPartType = showPartType;
-
- if (eventNoteon->isChecked())
- showPartEvent |= (1 << 0);
- if (eventPolypressure->isChecked())
- showPartEvent |= (1 << 1);
- if (eventController->isChecked())
- showPartEvent |= (1 << 2);
- if (eventProgramchange->isChecked())
- showPartEvent |= (1 << 3);
- if (eventAftertouch->isChecked())
- showPartEvent |= (1 << 4);
- if (eventPitchbend->isChecked())
- showPartEvent |= (1 << 5);
- if (eventSpecial->isChecked())
- showPartEvent |= (1 << 6);
-
- config->canvasShowPartEvent = showPartEvent;
-
- QTreeWidgetItem* cbgitem = backgroundTree->currentItem();
-
- if (cbgitem)
- config->canvasBgPixmap = cbgitem->data(0, Qt::UserRole).toString();
- else
- config->canvasBgPixmap = QString();
-
- config->canvasCustomBgList = QStringList();
- for (int i = 0; i < user_bg->childCount(); ++i)
- config->canvasCustomBgList << user_bg->child(i)->data(0, Qt::UserRole).toString();
-
- config->styleSheetFile = styleSheetPath->text();
-
- config->fonts[0].setFamily(fontName0->text());
-
- config->fonts[0].setPointSize(fontSize0->value());
- config->fonts[0].setItalic(italic0->isChecked());
- config->fonts[0].setBold(bold0->isChecked());
- QApplication::setFont(config->fonts[0]);
-
- config->fonts[1].setFamily(fontName1->text());
- config->fonts[1].setPointSize(fontSize1->value());
- config->fonts[1].setItalic(italic1->isChecked());
- config->fonts[1].setBold(bold1->isChecked());
-
- config->fonts[2].setFamily(fontName2->text());
- config->fonts[2].setPointSize(fontSize2->value());
- config->fonts[2].setItalic(italic2->isChecked());
- config->fonts[2].setBold(bold2->isChecked());
-
- config->fonts[3].setFamily(fontName3->text());
- config->fonts[3].setPointSize(fontSize3->value());
- config->fonts[3].setItalic(italic3->isChecked());
- config->fonts[3].setBold(bold3->isChecked());
-
- config->fonts[4].setFamily(fontName4->text());
- config->fonts[4].setPointSize(fontSize4->value());
- config->fonts[4].setItalic(italic4->isChecked());
- config->fonts[4].setBold(bold4->isChecked());
-
- config->fonts[5].setFamily(fontName5->text());
- config->fonts[5].setPointSize(fontSize5->value());
- config->fonts[5].setItalic(italic5->isChecked());
- config->fonts[5].setBold(bold5->isChecked());
-
- config->fonts[6].setFamily(fontName6->text());
- config->fonts[6].setPointSize(fontSize6->value());
- config->fonts[6].setItalic(italic6->isChecked());
- config->fonts[6].setBold(bold6->isChecked());
-
- //config->style = themeComboBox->currentText();
- // setting up a new theme might change the fontsize, so re-read
- fontSize0->setValue(QApplication::font().pointSize());
-
- config->canvasShowGrid = arrGrid->isChecked();
-
- config->globalAlphaBlend = globalAlphaVal->value();
-
- // set colors...
- ::config = *config;
- muse->changeConfig(true);
- }
-
-//---------------------------------------------------------
-// colorNameEditFinished
-//---------------------------------------------------------
-
-void Appearance::colorNameEditFinished()
-{
- if(!lastSelectedColorItem)
- return;
-
- IdListViewItem* item = (IdListViewItem*)lastSelectedColorItem;
- int id = item->id();
- if(id == 0)
- return;
-
- QString etxt = colorNameLineEdit->text();
- QString txt = item->text(0);
- // We only support part color names, for now.
- if(id >= 0x400 && id < (0x400 + NUM_PARTCOLORS))
- config->partColorNames[id & 0xff] = etxt;
- if(etxt != txt)
- item->setText(0, etxt);
-}
-
-//---------------------------------------------------------
-// ok
-//---------------------------------------------------------
-
-void Appearance::ok()
- {
- apply();
- close();
- }
-
-//---------------------------------------------------------
-// cancel
-//---------------------------------------------------------
-
-void Appearance::cancel()
- {
- muse->arranger->getCanvas()->setBg(QPixmap(config->canvasBgPixmap));
- close();
- }
-
-//---------------------------------------------------------
-// removeBackground
-//---------------------------------------------------------
-
-void Appearance::removeBackground()
- {
- QTreeWidgetItem* item = backgroundTree->currentItem();
- muse->arranger->getCanvas()->setBg(QPixmap());
- user_bg->takeChild(user_bg->indexOfChild(item));
- backgroundTree->setCurrentItem (0);
- removeBgButton->setEnabled(false);
- }
-
-//---------------------------------------------------------
-// addBackground
-//---------------------------------------------------------
-
-void Appearance::addBackground()
- {
- QString cur = getenv("HOME");
- QString user_bgfile = getImageFileName(cur, image_file_pattern, this,
- tr("MusE: load image"));
-
- bool image_exists = false;
- for (int i = 0; i < global_bg->childCount(); ++i)
- if (global_bg->child(i)->data(0, Qt::UserRole).toString() == user_bgfile)
- image_exists = true;
- for (int i = 0; i < user_bg->childCount(); ++i)
- if (user_bg->child(i)->data(0, Qt::UserRole).toString() == user_bgfile)
- image_exists = true;
-
- if (! image_exists)
- {
- QTreeWidgetItem* item = new QTreeWidgetItem(user_bg, 0);
- item->setData(0, Qt::UserRole, QVariant(user_bgfile));
- BgPreviewWidget* bgw = new BgPreviewWidget(user_bgfile, backgroundTree);
- backgroundTree->setItemWidget(item, 0, bgw);
- }
- }
-
-//---------------------------------------------------------
-// clearBackground
-//---------------------------------------------------------
-
-void Appearance::clearBackground()
- {
- muse->arranger->getCanvas()->setBg(QPixmap());
- backgroundTree->setCurrentItem (0);
- removeBgButton->setEnabled(false);
- }
-
-//---------------------------------------------------------
-// selectionChanged
-//---------------------------------------------------------
-
-void Appearance::colorItemSelectionChanged()
- {
- IdListViewItem* item = (IdListViewItem*)itemList->selectedItems()[0];
- lastSelectedColorItem = 0;
- QString txt = item->text(0);
- int id = item->id();
- if (id == 0) {
- color = 0;
- lastSelectedColorItem = 0;
- colorNameLineEdit->setEnabled(false);
- return;
- }
- bool enle = false;
- switch(id) {
- case 0x400: // "Default"
- case 0x401: // "Refrain"
- case 0x402: // "Bridge"
- case 0x403: // "Intro"
- case 0x404: // "Coda"
- case 0x405: // "Chorus"
- case 0x406: // "Solo"
- case 0x407: // "Brass"
- case 0x408: // "Percussion"
- case 0x409: // "Drums"
- case 0x40a: // "Guitar"
- case 0x40b: // "Bass"
- case 0x40c: // "Flute"
- case 0x40d: // "Strings
- case 0x40e: // "Keyboard
- case 0x40f: // "Piano
- case 0x410: // "Saxophon
- lastSelectedColorItem = item;
- color = &config->partColors[id & 0xff];
- enle = true;
- break;
- case 0x100: color = &config->bigTimeBackgroundColor; break;
- case 0x101: color = &config->bigTimeForegroundColor; break;
- case 0x200: color = &config->transportHandleColor; break;
- case 0x300: color = &config->waveEditBackgroundColor; break;
- case 0x411: color = &config->trackBg; break;
- case 0x412: color = &config->midiTrackBg; break;
- case 0x413: color = &config->drumTrackBg; break;
- case 0x414: color = &config->waveTrackBg; break;
- case 0x415: color = &config->outputTrackBg; break;
- case 0x416: color = &config->inputTrackBg; break;
- case 0x417: color = &config->groupTrackBg; break;
- case 0x418: color = &config->auxTrackBg; break;
- case 0x419: color = &config->synthTrackBg; break;
- case 0x41a: color = &config->selectTrackBg; break;
- case 0x41b: color = &config->selectTrackFg; break;
- case 0x41c: color = &config->partCanvasBg; break;
- case 0x41d: color = &config->ctrlGraphFg; break;
-
- case 0x500: color = &config->mixerBg; break;
- case 0x501: color = &config->midiTrackLabelBg; break;
- case 0x502: color = &config->drumTrackLabelBg; break;
- case 0x503: color = &config->waveTrackLabelBg; break;
- case 0x504: color = &config->outputTrackLabelBg; break;
- case 0x505: color = &config->inputTrackLabelBg; break;
- case 0x506: color = &config->groupTrackLabelBg; break;
- case 0x507: color = &config->auxTrackLabelBg; break;
- case 0x508: color = &config->synthTrackLabelBg; break;
-
- default:
- color = 0;
- break;
- }
- colorNameLineEdit->setEnabled(enle);
- QString s;
- if(enle)
- s = config->partColorNames[id & 0xff];
- colorNameLineEdit->setText(s);
- updateColor();
- }
-
-void Appearance::updateColor()
- {
- int r, g, b, h, s, v;
- //globalAlphaSlider->setEnabled(color);
- rslider->setEnabled(color);
- gslider->setEnabled(color);
- bslider->setEnabled(color);
- hslider->setEnabled(color);
- sslider->setEnabled(color);
- vslider->setEnabled(color);
- //globalAlphaVal->setEnabled(color);
- rval->setEnabled(color);
- gval->setEnabled(color);
- bval->setEnabled(color);
- hval->setEnabled(color);
- sval->setEnabled(color);
- vval->setEnabled(color);
- if (color == 0)
- return;
- QPalette pal;
- QColor cfc(*color);
-
- // Oops can't do this - affects all colour items. Need to filter.
- ///cfc.setAlpha(globalAlphaVal->value());
-
- pal.setColor(colorframe->backgroundRole(), cfc);
- colorframe->setPalette(pal);
- color->getRgb(&r, &g, &b);
- color->getHsv(&h, &s, &v);
- //a = color->alpha();
- //a = config->globalAlphaBlend;
-
- rslider->blockSignals(true);
- gslider->blockSignals(true);
- bslider->blockSignals(true);
- hslider->blockSignals(true);
- sslider->blockSignals(true);
- vslider->blockSignals(true);
- rval->blockSignals(true);
- gval->blockSignals(true);
- bval->blockSignals(true);
- hval->blockSignals(true);
- sval->blockSignals(true);
- vval->blockSignals(true);
-
- rslider->setValue(r);
- gslider->setValue(g);
- bslider->setValue(b);
- hslider->setValue(h);
- sslider->setValue(s);
- vslider->setValue(v);
- rval->setValue(r);
- gval->setValue(g);
- bval->setValue(b);
- hval->setValue(h);
- sval->setValue(s);
- vval->setValue(v);
-
- rslider->blockSignals(false);
- gslider->blockSignals(false);
- bslider->blockSignals(false);
- hslider->blockSignals(false);
- sslider->blockSignals(false);
- vslider->blockSignals(false);
- rval->blockSignals(false);
- gval->blockSignals(false);
- bval->blockSignals(false);
- hval->blockSignals(false);
- sval->blockSignals(false);
- vval->blockSignals(false);
- }
-
-void Appearance::asliderChanged(int val)
- {
- globalAlphaVal->blockSignals(true);
- globalAlphaVal->setValue(val);
- globalAlphaVal->blockSignals(false);
- updateColor();
- }
-
-void Appearance::aValChanged(int val)
- {
- globalAlphaSlider->blockSignals(true);
- globalAlphaSlider->setValue(val);
- globalAlphaSlider->blockSignals(false);
- updateColor();
- }
-
-void Appearance::rsliderChanged(int val)
- {
- int r, g, b;
- if (color) {
- color->getRgb(&r, &g, &b);
- color->setRgb(val, g, b);
- }
- updateColor();
- }
-
-void Appearance::gsliderChanged(int val)
- {
- int r, g, b;
- if (color) {
- color->getRgb(&r, &g, &b);
- color->setRgb(r, val, b);
- }
- updateColor();
- }
-
-void Appearance::bsliderChanged(int val)
- {
- int r, g, b;
- if (color) {
- color->getRgb(&r, &g, &b);
- color->setRgb(r, g, val);
- }
- updateColor();
- }
-
-void Appearance::hsliderChanged(int val)
- {
- int h, s, v;
- if (color) {
- color->getHsv(&h, &s, &v);
- color->setHsv(val, s, v);
- }
- updateColor();
- }
-
-void Appearance::ssliderChanged(int val)
- {
- int h, s, v;
- if (color) {
- color->getHsv(&h, &s, &v);
- color->setHsv(h, val, v);
- }
- updateColor();
- }
-
-void Appearance::vsliderChanged(int val)
- {
- int h, s, v;
- if (color) {
- color->getHsv(&h, &s, &v);
- color->setHsv(h, s, val);
- }
- updateColor();
- }
-
-//---------------------------------------------------------
-// addToPaletteClicked
-//---------------------------------------------------------
-
-void Appearance::addToPaletteClicked()
- {
- if (!color)
- return;
- QAbstractButton* button = (QAbstractButton*)aPalette->checkedButton(); // ddskrjo
-
- int r, g, b;
- QColor c;
- if (button) {
- int id = aPalette->id(button);
- c = config->palette[id];
- c.getRgb(&r, &g, &b);
- }
- if (button == 0 || r != 0xff || g != 0xff || b != 0xff) {
- for (int i = 0; i < 16; ++i) {
- c = config->palette[i];
- c.getRgb(&r, &g, &b);
- if (r == 0xff && g == 0xff && b == 0xff) {
- // found empty slot
- aPalette->button(i)->toggle();
- //aPalette->moveFocus(i); ddskrjo
- button = (QAbstractButton*)aPalette->button(i); // ddskrjo
- break;
- }
- }
- }
- if (button) {
- int id = aPalette->id(button);
- config->palette[id] = *color;
- //QPalette pal;
- //pal.setColor(button->backgroundRole(), *color);
- //pal.setColor(QPalette::Window, *color);
- //pal.setColor(QPalette::Button, *color);
- //button->setPalette(pal);
- button->setStyleSheet(QString("background-color: ") + color->name());
- button->update(); //??
- }
- }
-
-//---------------------------------------------------------
-// paletteClicked
-//---------------------------------------------------------
-
-void Appearance::paletteClicked(int id)
- {
- if (!color)
- return;
- QAbstractButton* button = (QAbstractButton*)aPalette->button(id); // ddskrjo
- if (button) {
- QColor c = button->palette().color(QPalette::Window);
- //QColor c = button->palette().color(button->backgroundRole());
- int r, g, b;
- c.getRgb(&r, &g, &b);
- if (r == 0xff && g == 0xff && b == 0xff)
- return; // interpret palette slot as empty
- *color = c;
- updateColor();
- }
- }
-
-//---------------------------------------------------------
-// browseStyleSheet
-//---------------------------------------------------------
-
-void Appearance::browseStyleSheet()
-{
- QString path;
- if(!config->styleSheetFile.isEmpty())
- {
- QFileInfo info(config->styleSheetFile);
- path = info.absolutePath();
- }
-
- QString file = QFileDialog::getOpenFileName(this, tr("Select style sheet"), path, tr("Qt style sheets (*.qss)"));
- styleSheetPath->setText(file);
-}
-
-
-//---------------------------------------------------------
-// setDefaultStyleSheet
-//---------------------------------------------------------
-
-void Appearance::setDefaultStyleSheet()
-{
- // Set the style sheet to the default compiled-in resource :/style.qss
- styleSheetPath->setText(QString(":/style.qss"));
-}
-
-//---------------------------------------------------------
-// browseFont
-//---------------------------------------------------------
-
-void Appearance::browseFont0() { browseFont(0); }
-void Appearance::browseFont1() { browseFont(1); }
-void Appearance::browseFont2() { browseFont(2); }
-void Appearance::browseFont3() { browseFont(3); }
-void Appearance::browseFont4() { browseFont(4); }
-void Appearance::browseFont5() { browseFont(5); }
-void Appearance::browseFont6() { browseFont(6); }
-
-void Appearance::browseFont(int n)
- {
- bool ok;
- QFont font = QFontDialog::getFont(&ok, config->fonts[n], this, "browseFont");
- if (ok) {
- config->fonts[n] = font;
- updateFonts();
- }
- }
-