Better control over add/remove service actions
This commit is contained in:
committed by
craig.p.drummond
parent
d01e726e9a
commit
870f695c35
@@ -490,7 +490,6 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
DevicesModel::self()->setEnabled(!hiddenPages.contains(devicesPage->metaObject()->className()));
|
||||
copyToDeviceAction->setVisible(DevicesModel::self()->isEnabled());
|
||||
#endif
|
||||
OnlineServicesModel::self()->setEnabled(!hiddenPages.contains(onlinePage->metaObject()->className()));
|
||||
AlbumsModel::self()->setEnabled(!hiddenPages.contains(albumsPage->metaObject()->className()));
|
||||
folderPage->setEnabled(!hiddenPages.contains(folderPage->metaObject()->className()));
|
||||
streamsPage->setEnabled(!hiddenPages.contains(streamsPage->metaObject()->className()));
|
||||
|
||||
@@ -110,6 +110,14 @@ OnlineServicesPage::~OnlineServicesPage()
|
||||
{
|
||||
}
|
||||
|
||||
void OnlineServicesPage::setEnabled(bool e)
|
||||
{
|
||||
OnlineServicesModel::self()->setEnabled(e);
|
||||
jamendoAction->setEnabled(0==OnlineServicesModel::self()->service(JamendoService::constName));
|
||||
magnatuneAction->setEnabled(0==OnlineServicesModel::self()->service(MagnatuneService::constName));
|
||||
controlActions();
|
||||
}
|
||||
|
||||
void OnlineServicesPage::clear()
|
||||
{
|
||||
OnlineServicesModel::self()->clear();
|
||||
@@ -264,7 +272,8 @@ void OnlineServicesPage::controlActions()
|
||||
}
|
||||
}
|
||||
|
||||
removeAction->setEnabled(srvSelected && 1==selected.count());
|
||||
addAction->setEnabled(jamendoAction->isEnabled() || magnatuneAction->isEnabled());
|
||||
removeAction->setEnabled(srvSelected && 1==selected.count() && (!jamendoAction->isEnabled() || !magnatuneAction->isEnabled()));
|
||||
configureAction->setEnabled(srvSelected && 1==selected.count());
|
||||
refreshAction->setEnabled(srvSelected && 1==selected.count());
|
||||
downloadAction->setEnabled(!srvSelected && canDownload && !selected.isEmpty() && 1==services.count());
|
||||
@@ -327,6 +336,9 @@ void OnlineServicesPage::removeService()
|
||||
return;
|
||||
}
|
||||
OnlineServicesModel::self()->removeService(item->data());
|
||||
jamendoAction->setEnabled(0==OnlineServicesModel::self()->service(JamendoService::constName));
|
||||
magnatuneAction->setEnabled(0==OnlineServicesModel::self()->service(MagnatuneService::constName));
|
||||
controlActions();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -388,6 +400,9 @@ void OnlineServicesPage::addService(const QString &name)
|
||||
}
|
||||
|
||||
OnlineServicesModel::self()->createService(name);
|
||||
jamendoAction->setEnabled(0==OnlineServicesModel::self()->service(JamendoService::constName));
|
||||
magnatuneAction->setEnabled(0==OnlineServicesModel::self()->service(MagnatuneService::constName));
|
||||
controlActions();
|
||||
}
|
||||
|
||||
void OnlineServicesPage::download()
|
||||
|
||||
@@ -40,6 +40,7 @@ public:
|
||||
OnlineServicesPage(MainWindow *p);
|
||||
virtual ~OnlineServicesPage();
|
||||
|
||||
void setEnabled(bool e);
|
||||
void clear();
|
||||
QString activeService() const;
|
||||
QStringList selectedFiles() const;
|
||||
|
||||
Reference in New Issue
Block a user