void MuseScore::changeWorkspace(QAction* a) { for (Workspace* p :Workspace::workspaces()) { if (qApp->translate("Ms::Workspace", p->name().toUtf8()) == a->text()) { changeWorkspace(p); preferences.workspace = Workspace::currentWorkspace->name(); preferences.dirty = true; PaletteBox* paletteBox = mscore->getPaletteBox(); paletteBox->updateWorkspaces(); return; } } qDebug(" workspace \"%s\" not found", qPrintable(a->text())); }
void MuseScore::changeWorkspace(QAction* a) { for (Workspace* p :Workspace::workspaces()) { if (qApp->translate("Ms::Workspace", p->name().toUtf8()) == a->text()) { changeWorkspace(p); preferences.setPreference(PREF_APP_WORKSPACE, Workspace::currentWorkspace->name()); PaletteBox* pb = mscore->getPaletteBox(); pb->updateWorkspaces(); updateIcons(); return; } } qDebug(" workspace \"%s\" not found", qPrintable(a->text())); }
void MuseScore::deleteWorkspace() { if (!workspaces) return; QAction* a = workspaces->checkedAction(); if (!a) return; preferences.dirty = true; Workspace* workspace = 0; for (Workspace* p : Workspace::workspaces()) { if (p->name() == a->text()) { // no need for qApp->translate since "Basic" and "Advanced" are not deletable workspace = p; break; } } if (!workspace) return; QMessageBox::StandardButton reply; reply = QMessageBox::question(0, QWidget::tr("Are you sure?"), QWidget::tr("Do you really want to delete the '%1' workspace?").arg(workspace->name()), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes ); if (reply != QMessageBox::Yes) return; Workspace::workspaces().removeOne(workspace); QFile f(workspace->path()); f.remove(); delete workspace; PaletteBox* paletteBox = mscore->getPaletteBox(); paletteBox->clear(); Workspace::currentWorkspace = Workspace::workspaces().first(); preferences.workspace = Workspace::currentWorkspace->name(); changeWorkspace(Workspace::currentWorkspace); paletteBox = mscore->getPaletteBox(); paletteBox->updateWorkspaces(); }
void MuseScore::deleteWorkspace() { if (!workspaces) return; QAction* a = workspaces->checkedAction(); if (!a) return; Workspace* workspace = 0; for (Workspace* p : Workspace::workspaces()) { if (p->name() == a->text()) { workspace = p; break; } } if (!workspace) return; QMessageBox::StandardButton reply; reply = QMessageBox::question(0, QWidget::tr("Are you sure?"), QWidget::tr("Do you really want to delete the '%1' workspace?").arg(workspace->name()), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes ); if (reply != QMessageBox::Yes) return; Workspace::workspaces().removeOne(workspace); QFile f(workspace->path()); f.remove(); delete workspace; PaletteBox* pb = mscore->getPaletteBox(); pb->clear(); Workspace::currentWorkspace = Workspace::workspaces().first(); preferences.setPreference(PREF_APP_WORKSPACE, Workspace::currentWorkspace->name()); changeWorkspace(Workspace::currentWorkspace); pb = mscore->getPaletteBox(); pb->updateWorkspaces(); updateIcons(); }
void MuseScore::createNewWorkspace() { QString s = QInputDialog::getText(this, tr("MuseScore: Read Workspace Name"), tr("Workspace name:")); if (s.isEmpty()) return; s = s.replace( QRegExp( "[" + QRegExp::escape( "\\/:*?\"<>|" ) + "]" ), "_" ); //FAT/NTFS special chars for (;;) { bool notFound = true; for (Workspace* p : Workspace::workspaces()) { if ((qApp->translate("Ms::Workspace", p->name().toUtf8()).toLower() == s.toLower()) || (s.toLower() == QString("basic")) || (s.toLower() == QString("advanced"))) { notFound = false; break; } } if (!notFound) { s = QInputDialog::getText(this, tr("MuseScore: Read Workspace Name"), tr("'%1' does already exist,\nplease choose a different name:").arg(s) ); if (s.isEmpty()) return; s = s.replace( QRegExp( "[" + QRegExp::escape( "\\/:*?\"<>|" ) + "]" ), "_" ); //FAT/NTFS special chars } else break; } if (Workspace::currentWorkspace->dirty()) Workspace::currentWorkspace->save(); Workspace::currentWorkspace = Workspace::createNewWorkspace(s); preferences.workspace = Workspace::currentWorkspace->name(); preferences.dirty = true; PaletteBox* paletteBox = mscore->getPaletteBox(); paletteBox->updateWorkspaces(); }