This commit is contained in:
craig.p.drummond
2013-04-24 18:29:58 +00:00
parent ef5d47d269
commit 2429a37e15
3 changed files with 35 additions and 105 deletions

View File

@@ -539,8 +539,6 @@ void DevicesPage::toggleDevice()
}
}
#define DIALOG_ERROR MessageBox::error(this, i18n("Please close other dialogs first.")); return
void DevicesPage::sync()
{
if (0!=SyncDialog::instanceCount()) {
@@ -553,7 +551,8 @@ void DevicesPage::sync()
|| 0!=RgDialog::instanceCount()
#endif
) {
DIALOG_ERROR;
MessageBox::error(this, i18n("Please close other dialogs first."));
return;
}
const QModelIndexList selected = view->selectedIndexes();

View File

@@ -1089,8 +1089,6 @@ void MainWindow::refresh()
emit getStats(true);
}
#define DIALOG_ERROR MessageBox::error(this, i18n("Please close other dialogs first.")); return
#ifdef ENABLE_KDE_SUPPORT
void MainWindow::configureShortcuts()
{
@@ -1107,50 +1105,54 @@ void MainWindow::saveShortcuts()
#endif
void MainWindow::showPreferencesDialog()
bool MainWindow::canShowDialog()
{
if (0==PreferencesDialog::instanceCount()) {
if (PreferencesDialog::instanceCount() || CoverDialog::instanceCount()
#ifdef TAGLIB_FOUND
if (0!=TagEditor::instanceCount() || 0!=TrackOrganiser::instanceCount()) {
DIALOG_ERROR;
}
|| TagEditor::instanceCount() || TrackOrganiser::instanceCount()
#endif
#ifdef ENABLE_DEVICES_SUPPORT
if (0!=ActionDialog::instanceCount() || 0!=SyncDialog::instanceCount()) {
DIALOG_ERROR;
}
|| ActionDialog::instanceCount() || SyncDialog::instanceCount()
#endif
#ifdef ENABLE_REPLAYGAIN_SUPPORT
if (0!=RgDialog::instanceCount()) {
DIALOG_ERROR;
}
|| RgDialog::instanceCount()
#endif
PreferencesDialog *pref=new PreferencesDialog(this);
controlConnectionsMenu(false);
connect(pref, SIGNAL(settingsSaved()), this, SLOT(updateSettings()));
connect(pref, SIGNAL(connectTo(const MPDConnectionDetails &)), this, SLOT(connectToMpd(const MPDConnectionDetails &)));
connect(pref, SIGNAL(reloadStreams()), streamsPage, SLOT(refresh()));
connect(pref, SIGNAL(destroyed()), SLOT(controlConnectionsMenu()));
pref->show();
) {
MessageBox::error(this, i18n("Please close other dialogs first."));
return false;
}
return true;
}
void MainWindow::showPreferencesDialog()
{
if (PreferencesDialog::instanceCount() || !canShowDialog()) {
return;
}
PreferencesDialog *pref=new PreferencesDialog(this);
controlConnectionsMenu(false);
connect(pref, SIGNAL(settingsSaved()), this, SLOT(updateSettings()));
connect(pref, SIGNAL(connectTo(const MPDConnectionDetails &)), this, SLOT(connectToMpd(const MPDConnectionDetails &)));
connect(pref, SIGNAL(reloadStreams()), streamsPage, SLOT(refresh()));
connect(pref, SIGNAL(destroyed()), SLOT(controlConnectionsMenu()));
pref->show();
}
void MainWindow::quit()
{
#ifdef ENABLE_REPLAYGAIN_SUPPORT
if (0!=RgDialog::instanceCount()) {
if (RgDialog::instanceCount()) {
return;
}
#endif
#ifdef TAGLIB_FOUND
if (0!=TagEditor::instanceCount() || 0!=TrackOrganiser::instanceCount()) {
if (TagEditor::instanceCount() || 0!=TrackOrganiser::instanceCount()) {
return;
}
#endif
#ifdef ENABLE_DEVICES_SUPPORT
if (0!=ActionDialog::instanceCount() || 0!=SyncDialog::instanceCount()) {
if (ActionDialog::instanceCount() || 0!=SyncDialog::instanceCount()) {
return;
}
#endif
@@ -2669,24 +2671,10 @@ void MainWindow::editPlayQueueTags()
void MainWindow::editTags(const QList<Song> &songs, bool isPlayQueue)
{
if (songs.isEmpty()) {
if (songs.isEmpty() || TagEditor::instanceCount() || !canShowDialog()) {
return;
}
if (0!=TagEditor::instanceCount() || 0!=TrackOrganiser::instanceCount() || 0!=PreferencesDialog::instanceCount()) {
DIALOG_ERROR;
}
#ifdef ENABLE_DEVICES_SUPPORT
if (0!=ActionDialog::instanceCount() || 0!=SyncDialog::instanceCount()) {
DIALOG_ERROR;
}
#endif
#ifdef ENABLE_REPLAYGAIN_SUPPORT
if (0!=RgDialog::instanceCount()) {
DIALOG_ERROR;
}
#endif
QSet<QString> artists;
QSet<QString> albumArtists;
QSet<QString> albums;
@@ -2714,24 +2702,10 @@ void MainWindow::editTags(const QList<Song> &songs, bool isPlayQueue)
void MainWindow::organiseFiles()
{
if (0!=TrackOrganiser::instanceCount()) {
if (TrackOrganiser::instanceCount() || !canShowDialog()) {
return;
}
if (0!=TagEditor::instanceCount() || 0!=CoverDialog::instanceCount() || 0!=PreferencesDialog::instanceCount()) {
DIALOG_ERROR;
}
#ifdef ENABLE_DEVICES_SUPPORT
if (0!=ActionDialog::instanceCount() || 0!=SyncDialog::instanceCount()) {
DIALOG_ERROR;
}
#endif
#ifdef ENABLE_REPLAYGAIN_SUPPORT
if (0!=RgDialog::instanceCount()) {
DIALOG_ERROR;
}
#endif
QList<Song> songs;
if (libraryPage->isVisible()) {
songs=libraryPage->selectedSongs();
@@ -2793,39 +2767,18 @@ void MainWindow::deleteSongs()
void MainWindow::copyToDevice(const QString &from, const QString &to, const QList<Song> &songs)
{
if (songs.isEmpty() || 0!=ActionDialog::instanceCount()) {
if (songs.isEmpty() || ActionDialog::instanceCount() || !canShowDialog()) {
return;
}
if (0!=CoverDialog::instanceCount() || 0!=PreferencesDialog::instanceCount() || 0!=SyncDialog::instanceCount()
#ifdef TAGLIB_FOUND
|| 0!=TagEditor::instanceCount() || 0!=TrackOrganiser::instanceCount()
#endif
#ifdef ENABLE_REPLAYGAIN_SUPPORT
|| 0!=RgDialog::instanceCount()
#endif
) {
DIALOG_ERROR;
}
ActionDialog *dlg=new ActionDialog(this);
dlg->copy(from, to, songs);
}
void MainWindow::deleteSongs(const QString &from, const QList<Song> &songs)
{
if (songs.isEmpty() || 0!=ActionDialog::instanceCount()) {
if (songs.isEmpty() || ActionDialog::instanceCount() || !canShowDialog()) {
return;
}
if (0!=CoverDialog::instanceCount() || 0!=PreferencesDialog::instanceCount() || 0!=SyncDialog::instanceCount()
#ifdef TAGLIB_FOUND
|| 0!=TagEditor::instanceCount() || 0!=TrackOrganiser::instanceCount()
#endif
#ifdef ENABLE_REPLAYGAIN_SUPPORT
|| 0!=RgDialog::instanceCount()
#endif
) {
DIALOG_ERROR;
}
ActionDialog *dlg=new ActionDialog(this);
dlg->remove(from, songs);
@@ -2835,19 +2788,9 @@ void MainWindow::deleteSongs(const QString &from, const QList<Song> &songs)
#ifdef ENABLE_REPLAYGAIN_SUPPORT
void MainWindow::replayGain()
{
if (0!=RgDialog::instanceCount()) {
if (RgDialog::instanceCount() || !canShowDialog()) {
return;
}
if (0!=CoverDialog::instanceCount() || 0!=PreferencesDialog::instanceCount()
#ifdef TAGLIB_FOUND
|| 0!=TagEditor::instanceCount() || 0!=TrackOrganiser::instanceCount()
#endif
#ifdef ENABLE_DEVICES_SUPPORT
|| 0!=ActionDialog::instanceCount() || 0!=SyncDialog::instanceCount()
#endif
) {
DIALOG_ERROR;
}
QList<Song> songs;
if (libraryPage->isVisible()) {
@@ -2882,22 +2825,9 @@ void MainWindow::replayGain()
void MainWindow::setCover()
{
if (0!=CoverDialog::instanceCount()) {
if (CoverDialog::instanceCount() || !canShowDialog()) {
return;
}
if (0!=PreferencesDialog::instanceCount()
#ifdef TAGLIB_FOUND
|| 0!=TagEditor::instanceCount() || 0!=TrackOrganiser::instanceCount()
#endif
#ifdef ENABLE_DEVICES_SUPPORT
|| 0!=ActionDialog::instanceCount() || 0!=SyncDialog::instanceCount()
#endif
#ifdef ENABLE_REPLAYGAIN_SUPPORT
|| 0!=RgDialog::instanceCount()
#endif
) {
DIALOG_ERROR;
}
Song song;
if (libraryPage->isVisible()) {

View File

@@ -294,6 +294,7 @@ public Q_SLOTS:
void controlDynamicButton();
private:
bool canShowDialog();
void enableStopActions(bool enable);
void updateStatus(MPDStatus * const status);
void readSettings();