fix #17664: Add Score should open window to select and add score to the list in Album

This commit is contained in:
lasconic 2012-08-06 11:41:13 +02:00
parent 8d9f28fd70
commit 5638985ad2
4 changed files with 28 additions and 74 deletions

View file

@ -1918,7 +1918,7 @@ Shortcut Shortcut::sc[] = {
QT_TRANSLATE_NOOP("action","Page Settings")
),
Shortcut(
STATE_NORMAL,
STATE_DISABLED | STATE_NORMAL,
0,
"album",
Qt::ApplicationShortcut,

View file

@ -406,9 +406,7 @@ AlbumManager::AlbumManager(QWidget* parent)
connect(up, SIGNAL(clicked()), SLOT(upClicked()));
connect(down, SIGNAL(clicked()), SLOT(downClicked()));
connect(remove, SIGNAL(clicked()), SLOT(removeClicked()));
connect(fileDialog, SIGNAL(clicked()), SLOT(fileDialogClicked()));
connect(createNew, SIGNAL(clicked()), SLOT(createNewClicked()));
connect(scoreName, SIGNAL(textChanged(const QString&)), SLOT(scoreNameChanged(const QString&)));
connect(albumName, SIGNAL(textChanged(const QString&)), SLOT(albumNameChanged(const QString&)));
connect(scoreList, SIGNAL(currentRowChanged(int)), SLOT(currentScoreChanged(int)));
connect(scoreList, SIGNAL(itemChanged(QListWidgetItem*)), SLOT(itemChanged(QListWidgetItem*)));
@ -425,14 +423,27 @@ AlbumManager::AlbumManager(QWidget* parent)
void AlbumManager::addClicked()
{
QString home = preferences.myScoresPath;
QStringList files = mscore->getOpenScoreNames(
home,
tr("MuseScore Files (*.mscz *.mscx *.msc);;")+
tr("All Files (*)"),
tr("MuseScore: Add Score")
);
if (files.isEmpty())
return;
QString fn = files.front();
if (fn.isEmpty())
return;
AlbumItem* item = new AlbumItem;
item->path = scoreName->text();
item->path = fn;
album->append(item);
QFileInfo fi(item->path);
QFileInfo fi(fn);
QListWidgetItem* li = new QListWidgetItem(fi.baseName(), scoreList);
li->setToolTip(fn);
li->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsEnabled);
scoreName->setText("");
}
//---------------------------------------------------------
@ -520,28 +531,6 @@ void AlbumManager::removeClicked()
album->remove(n);
}
//---------------------------------------------------------
// fileDialogClicked
//---------------------------------------------------------
void AlbumManager::fileDialogClicked()
{
QString home = preferences.myScoresPath;
QStringList files = mscore->getOpenScoreNames(
home,
tr("MuseScore Files (*.mscz *.mscx *.msc);;")+
tr("All Files (*)"),
tr("MuseScore: Load Score")
);
if (files.isEmpty())
return;
QString fn = files.front();
if (fn.isEmpty())
return;
scoreName->setText(fn);
add->setEnabled(true);
}
//---------------------------------------------------------
// setAlbum
//---------------------------------------------------------
@ -553,14 +542,14 @@ void AlbumManager::setAlbum(Album* a)
delete album;
album = a;
scoreList->clear();
albumName->setText(album->name());
albumName->setText(album->name().isEmpty() ? QWidget::tr("Untitled") : album->name());
foreach(AlbumItem* a, album->scores()) {
QListWidgetItem* li = new QListWidgetItem(a->name, scoreList);
li->setToolTip(a->path);
li->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsEnabled);
}
scoreName->setText("");
add->setEnabled(false);
albumName->setEnabled(true);
add->setEnabled(true);
print->setEnabled(true);
}
@ -573,15 +562,6 @@ void AlbumManager::createNewClicked()
setAlbum(new Album);
}
//---------------------------------------------------------
// scoreNameChanged
//---------------------------------------------------------
void AlbumManager::scoreNameChanged(const QString& s)
{
add->setEnabled(!s.isEmpty());
}
//---------------------------------------------------------
// albumNameChanged
//---------------------------------------------------------

View file

@ -88,9 +88,7 @@ class AlbumManager : public QDialog, public Ui::AlbumManager {
void upClicked();
void downClicked();
void removeClicked();
void fileDialogClicked();
void createNewClicked();
void scoreNameChanged(const QString&);
void albumNameChanged(const QString&);
void currentScoreChanged(int);
void itemChanged(QListWidgetItem*); // score name in list is edited

View file

@ -51,6 +51,13 @@
</spacer>
</item>
<item row="5" column="1">
<widget class="QPushButton" name="add">
<property name="text">
<string>Add Score</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QPushButton" name="remove">
<property name="toolTip">
<string>remove current score</string>
@ -60,11 +67,8 @@
</property>
</widget>
</item>
<item row="2" column="0" rowspan="4">
<item row="2" column="0" rowspan="5">
<widget class="QListWidget" name="scoreList">
<property name="toolTip">
<string>score list</string>
</property>
</widget>
</item>
<item row="3" column="1">
@ -89,34 +93,6 @@
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="add">
<property name="text">
<string>Add Score</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="scoreName">
<property name="toolTip">
<string>path to new score you want to add</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="fileDialog">
<property name="toolTip">
<string>open file manager</string>
</property>
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="topMargin">