diff --git a/modules/gui/src/remote_loader.cc b/modules/gui/src/remote_loader.cc index 60ae7c60aec99da21148b038df11a912ae74aeb7..cb5ac4f68ab3023e6dbae88af1badaa2012632c3 100644 --- a/modules/gui/src/remote_loader.cc +++ b/modules/gui/src/remote_loader.cc @@ -18,6 +18,7 @@ //------------------------------------------------------------------------------ #include <vector> +#include <QSettings> #include <QNetworkReply> #include <QHBoxLayout> #include <QDir> @@ -79,11 +80,13 @@ void RemoteLoader::UrlClick() site_loader_menu_->exec(QCursor::pos()); } -void RemoteLoader::BuildMenu() +void RemoteLoader::BuildMenu(String active_loader) { - String selected_site_loader; - if(site_actions_->checkedAction()!=NULL){ - selected_site_loader=site_actions_->checkedAction()->text().toStdString(); + if(active_loader.size()>0){ + selected_site_loader_ = active_loader; + } + else if(site_actions_->checkedAction()!=NULL){ + selected_site_loader_=site_actions_->checkedAction()->text().toStdString(); } site_loader_menu_->clear(); QList<QAction*> actions = site_actions_->actions(); @@ -98,7 +101,7 @@ void RemoteLoader::BuildMenu() QAction* action = new QAction(loader_ident,site_loader_menu_); action->setCheckable(true); site_actions_->addAction(action); - if(site_actions_->checkedAction()==NULL ||selected_site_loader==loader_ident.toStdString() ){ + if(site_actions_->checkedAction()==NULL ||selected_site_loader_==loader_ident.toStdString() ){ action->setChecked(true); } site_loader_menu_->addAction(action); @@ -113,11 +116,21 @@ ActionList RemoteLoader::GetActions() bool RemoteLoader::Save(const QString& prefix) { + this->BuildMenu(); + QSettings settings; + settings.beginGroup(prefix); + settings.setValue("loader", site_actions_->checkedAction()->text()); + settings.endGroup(); return true; } bool RemoteLoader::Restore(const QString& prefix) { + QSettings settings; + settings.beginGroup(prefix); + if (settings.contains("loader")) { + this->BuildMenu(settings.value("loader").toString().toStdString()); + } return true; } diff --git a/modules/gui/src/remote_loader.hh b/modules/gui/src/remote_loader.hh index b4f562f84819c166cb862e3f864197961e716b2a..441309eee1f70c8db7d6583a77eae552ae8acd25 100644 --- a/modules/gui/src/remote_loader.hh +++ b/modules/gui/src/remote_loader.hh @@ -47,7 +47,7 @@ protected: virtual void keyPressEvent(QKeyEvent* event); private: void ShowProgressBar(bool visiblility); - void BuildMenu(); + void BuildMenu(String active_loader=String()); private slots: void Clicked(); void UrlClick(); @@ -61,6 +61,7 @@ private: ActionList action_list_; QMenu* site_loader_menu_; QActionGroup* site_actions_; + String selected_site_loader_; bool img_support_; };