A button to show closed MIDI import panel
This commit is contained in:
parent
3226ca62b0
commit
e339013655
4 changed files with 44 additions and 17 deletions
|
@ -129,6 +129,7 @@ void ImportMidiPanel::hidePanel()
|
|||
{
|
||||
if (isVisible()) {
|
||||
setVisible(false);
|
||||
emit closeClicked();
|
||||
prefferedVisible_ = false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,6 +31,9 @@ class ImportMidiPanel : public QWidget
|
|||
void setPrefferedVisible(bool visible);
|
||||
void setMidiPrefOperations(const QString &fileName);
|
||||
|
||||
signals:
|
||||
void closeClicked();
|
||||
|
||||
private slots:
|
||||
void updateUi();
|
||||
void onCurrentTrackChanged(const QModelIndex ¤tIndex);
|
||||
|
|
|
@ -431,7 +431,7 @@ MuseScore::MuseScore()
|
|||
_fullscreen = false;
|
||||
lastCmd = 0;
|
||||
lastShortcut = 0;
|
||||
importmidi_panel = 0;
|
||||
importmidiPanel = 0;
|
||||
|
||||
if (!preferences.styleName.isEmpty()) {
|
||||
QFile f(preferences.styleName);
|
||||
|
@ -539,16 +539,27 @@ MuseScore::MuseScore()
|
|||
QSplitter* envelope = new QSplitter;
|
||||
envelope->setChildrenCollapsible(false);
|
||||
envelope->setOrientation(Qt::Vertical);
|
||||
|
||||
QLayout* envlayout = new QVBoxLayout;
|
||||
envlayout->setMargin(0);
|
||||
envlayout->setSpacing(0);
|
||||
envelope->addWidget(mainWindow);
|
||||
|
||||
importmidi_panel = new ImportMidiPanel(this);
|
||||
importmidi_panel->setVisible(false);
|
||||
importmidiPanel = new ImportMidiPanel(this);
|
||||
importmidiPanel->setVisible(false);
|
||||
envelope->addWidget(importmidiPanel);
|
||||
|
||||
envelope->addWidget(importmidi_panel);
|
||||
{
|
||||
importmidiShowPanel = new QFrame;
|
||||
QHBoxLayout *hl = new QHBoxLayout;
|
||||
hl->setMargin(0);
|
||||
hl->setSpacing(0);
|
||||
importmidiShowPanel->setLayout(hl);
|
||||
QPushButton *b = new QPushButton("Show MIDI import panel");
|
||||
importmidiShowPanel->setVisible(false);
|
||||
connect(b, SIGNAL(clicked()), SLOT(showMidiImportPanel()));
|
||||
connect(importmidiPanel, SIGNAL(closeClicked()), importmidiShowPanel, SLOT(show()));
|
||||
hl->addWidget(b);
|
||||
QSpacerItem *item = new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||
hl->addSpacerItem(item);
|
||||
envelope->addWidget(importmidiShowPanel);
|
||||
}
|
||||
|
||||
{
|
||||
QList<int> sizes;
|
||||
|
@ -1554,30 +1565,40 @@ void MuseScore::midiPanelOnSwitchToFile(const QString &file)
|
|||
{
|
||||
bool isMidiFile = ImportMidiPanel::isMidiFile(file);
|
||||
if (isMidiFile) {
|
||||
importmidi_panel->setMidiFile(file);
|
||||
if (importmidi_panel->prefferedVisible())
|
||||
importmidi_panel->setVisible(true);
|
||||
importmidiPanel->setMidiFile(file);
|
||||
if (importmidiPanel->prefferedVisible())
|
||||
importmidiPanel->setVisible(true);
|
||||
}
|
||||
else
|
||||
importmidi_panel->setVisible(false);
|
||||
importmidiPanel->setVisible(false);
|
||||
importmidiShowPanel->setVisible(!importmidiPanel->prefferedVisible() && isMidiFile);
|
||||
}
|
||||
|
||||
void MuseScore::midiPanelOnCloseFile(const QString &file)
|
||||
{
|
||||
if (ImportMidiPanel::isMidiFile(file))
|
||||
importmidi_panel->excludeMidiFile(file);
|
||||
importmidiPanel->excludeMidiFile(file);
|
||||
}
|
||||
|
||||
void MuseScore::allowShowMidiPanel(const QString &file)
|
||||
{
|
||||
if (ImportMidiPanel::isMidiFile(file))
|
||||
importmidi_panel->setPrefferedVisible(true);
|
||||
importmidiPanel->setPrefferedVisible(true);
|
||||
}
|
||||
|
||||
void MuseScore::setMidiPrefOperations(const QString &file)
|
||||
{
|
||||
if (ImportMidiPanel::isMidiFile(file))
|
||||
importmidi_panel->setMidiPrefOperations(file);
|
||||
importmidiPanel->setMidiPrefOperations(file);
|
||||
}
|
||||
|
||||
void MuseScore::showMidiImportPanel()
|
||||
{
|
||||
importmidiPanel->setPrefferedVisible(true);
|
||||
QString fileName = cs ? cs->fileInfo()->filePath() : "";
|
||||
if (ImportMidiPanel::isMidiFile(fileName))
|
||||
importmidiPanel->setVisible(true);
|
||||
importmidiShowPanel->hide();
|
||||
}
|
||||
|
||||
|
||||
|
@ -4010,7 +4031,7 @@ void MuseScore::cmd(QAction* a, const QString& cmd)
|
|||
else if (cmd == "toggle-navigator")
|
||||
showNavigator(a->isChecked());
|
||||
else if (cmd == "toggle-midiimportpanel")
|
||||
importmidi_panel->setVisible(a->isChecked());
|
||||
importmidiPanel->setVisible(a->isChecked());
|
||||
else if (cmd == "toggle-mixer")
|
||||
showMixer(a->isChecked());
|
||||
else if (cmd == "synth-control")
|
||||
|
|
|
@ -220,7 +220,8 @@ class MuseScore : public QMainWindow, public MuseScoreCore {
|
|||
ScoreTab* tab1;
|
||||
ScoreTab* tab2;
|
||||
NScrollArea* _navigator;
|
||||
ImportMidiPanel* importmidi_panel;
|
||||
ImportMidiPanel* importmidiPanel;
|
||||
QFrame* importmidiShowPanel;
|
||||
QSplitter* mainWindow;
|
||||
|
||||
QMenu* menuView;
|
||||
|
@ -449,6 +450,7 @@ class MuseScore : public QMainWindow, public MuseScoreCore {
|
|||
void switchPlayMode(int);
|
||||
void networkFinished(QNetworkReply*);
|
||||
void switchLayoutMode(int);
|
||||
void showMidiImportPanel();
|
||||
|
||||
public slots:
|
||||
virtual void cmd(QAction* a);
|
||||
|
|
Loading…
Reference in a new issue