diff options
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 | 
