diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-12-17 13:25:38 +0100 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-12-17 13:25:38 +0100 |
commit | 7eb573a67ea883228ff7905190ff46c0f29593b1 (patch) | |
tree | dcad511c1c844419b107f127ee07203e379b62ff /src/widgets | |
parent | Fixed release builds defining QT_DEBUG (diff) | |
download | smolbote-7eb573a67ea883228ff7905190ff46c0f29593b1.tar.xz |
ProfileView dialog
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/mainwindowmenubar.cpp | 34 | ||||
-rw-r--r-- | src/widgets/mainwindowmenubar.h | 4 |
2 files changed, 24 insertions, 14 deletions
diff --git a/src/widgets/mainwindowmenubar.cpp b/src/widgets/mainwindowmenubar.cpp index 5ef0618..dfd8b5b 100644 --- a/src/widgets/mainwindowmenubar.cpp +++ b/src/widgets/mainwindowmenubar.cpp @@ -22,10 +22,12 @@ #include <QApplication> #include <QMenu> #include <QInputDialog> -#include "forms/profilesdialog.h" +#include "forms/profileview.h" #include "mainwindow.h" #include <settings/configuration.h> +#include "browser.h" + MainWindowMenuBar::MainWindowMenuBar(std::shared_ptr<Configuration> config, MainWindow *parent) : QMenuBar(parent) { @@ -74,9 +76,16 @@ MainWindowMenuBar::MainWindowMenuBar(std::shared_ptr<Configuration> config, Main //toolsMenu->addAction(tr("Filter"), browser->blocklists(), SLOT(show()), QKeySequence::fromString(browser->settings()->value("blocker.shortcut").toString())); // Profile menu - QMenu *profileMenu = new QMenu(tr("Profile"), this); - addMenu(profileMenu); - //profileMenu->addAction(tr("Profiles"), this, SLOT(handleLoadProfile())); + QMenu *profileMenu = addMenu(tr("Profile")); + m_profileAction = profileMenu->addAction(tr("Current profile")); + connect(m_profileAction, &QAction::triggered, this, [parent]() { + ProfileView *dlg = new ProfileView(parent->profile(), parent); + dlg->exec(); + delete dlg; + }); + + QMenu *loadMenu = profileMenu->addMenu(tr("Load")); + loadMenu->setEnabled(false); } QAction *MainWindowMenuBar::bookmarksAction() @@ -91,14 +100,13 @@ QAction *MainWindowMenuBar::downloadsAction() return m_downloadsAction; } -void MainWindowMenuBar::handleLoadProfile(MainWindow *window) +void MainWindowMenuBar::setProfileName(const QString &name) +{ + Q_CHECK_PTR(m_profileAction); + m_profileAction->setText(tr("Current: %1").arg(name)); +} + +void MainWindowMenuBar::handleLoadProfile(const QString &name, MainWindow *window) { - ProfilesDialog *dlg = new ProfilesDialog(window, this); - dlg->exec(); - -// bool ok; -// QString _name = QInputDialog::getText(this, tr("Load Profile"), tr("Enter Profile name"), QLineEdit::Normal, QString(""), &ok); -// if(ok) { -// m_parentWindow->setProfile(qApp->profile(_name)); -// } + window->setProfile(static_cast<Browser*>(qApp->instance())->profile(name)); } diff --git a/src/widgets/mainwindowmenubar.h b/src/widgets/mainwindowmenubar.h index 5a7094b..31f01bb 100644 --- a/src/widgets/mainwindowmenubar.h +++ b/src/widgets/mainwindowmenubar.h @@ -34,13 +34,15 @@ public: QAction *bookmarksAction(); QAction *downloadsAction(); + void setProfileName(const QString &name); private slots: - void handleLoadProfile(MainWindow *window); + void handleLoadProfile(const QString &name, MainWindow *window); private: QAction *m_bookmarksAction; QAction *m_downloadsAction; + QAction *m_profileAction; }; #endif // MAINWINDOWMENUBAR_H |