From 9711a507150a5b39cfa6e17ea6b4e79b6993cf4b Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Tue, 29 May 2018 13:19:13 +0200 Subject: Add load profile actions to tab menu --- src/mainwindow/widgets/tabwidget.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mainwindow/widgets/tabwidget.cpp b/src/mainwindow/widgets/tabwidget.cpp index 9608efc..48a1cfb 100644 --- a/src/mainwindow/widgets/tabwidget.cpp +++ b/src/mainwindow/widgets/tabwidget.cpp @@ -12,6 +12,7 @@ #include #include #include +#include "browser.h" TabWidget::TabWidget(QWidget *parent) : QTabWidget(parent) @@ -19,7 +20,7 @@ TabWidget::TabWidget(QWidget *parent) setStyleSheet("QTabBar::tab { width: 200px; }"); setTabsClosable(true); - setTabBarAutoHide(true); + //setTabBarAutoHide(true); setElideMode(Qt::ElideRight); setMovable(true); @@ -54,6 +55,24 @@ TabWidget::TabWidget(QWidget *parent) deleteTab(i); } }); + + auto *loadProfile_menu = tabContextMenu->addMenu(tr("Load Profile")); + { + auto *browser = qobject_cast(qApp); + Q_CHECK_PTR(browser); + + for(const QString &name : browser->profiles()) { + auto *profileAction = loadProfile_menu->addAction(name); + auto *profile = browser->profile(name); + Q_CHECK_PTR(profile); + + connect(profileAction, &QAction::triggered, this, [this, profile]() { + int index = this->tabBar()->tabAt(mapFromGlobal(tabContextMenu->pos())); + auto *view = qobject_cast(this->widget(index)); + view->setProfile(profile); + }); + } + } } TabWidget::~TabWidget() -- cgit v1.2.1