42 m_settingsPath = settingsPath +
QL1S(
"/extensions.ini");
44 QSettings settings(m_settingsPath, QSettings::IniFormat);
45 settings.beginGroup(
QSL(
"VerticalTabs"));
47 m_replaceTabBar = settings.value(
QSL(
"ReplaceTabBar"),
false).toBool();
49 m_theme = settings.value(
QSL(
"Theme"),
QSL(
":verticaltabs/data/themes/default.css")).toString();
56 mApp->networkManager()->registerExtensionSchemeHandler(
QSL(
"verticaltabs"), m_schemeHandler);
60 setWebTabBehavior(m_addChildBehavior);
61 loadStyleSheet(m_theme);
66 const auto windows =
mApp->windows();
68 mainWindowCreated(window);
69 if (window->sideBarManager()->activeSideBar().isEmpty()) {
70 window->sideBarManager()->showSideBar(
QSL(
"VerticalTabs"));
78 setTabBarVisible(
true);
82 m_controller =
nullptr;
84 mApp->networkManager()->unregisterExtensionSchemeHandler(m_schemeHandler);
113 if (m_viewType == type) {
119 QSettings settings(m_settingsPath, QSettings::IniFormat);
120 settings.setValue(
QSL(
"VerticalTabs/ViewType"), m_viewType);
127 return m_replaceTabBar;
132 if (m_replaceTabBar == replace) {
136 m_replaceTabBar = replace;
137 setTabBarVisible(!m_replaceTabBar);
139 QSettings settings(m_settingsPath, QSettings::IniFormat);
140 settings.setValue(
QSL(
"VerticalTabs/ReplaceTabBar"), m_replaceTabBar);
145 return m_addChildBehavior;
150 if (m_addChildBehavior == behavior) {
154 m_addChildBehavior = behavior;
155 setWebTabBehavior(m_addChildBehavior);
157 QSettings settings(m_settingsPath, QSettings::IniFormat);
158 settings.setValue(
QSL(
"VerticalTabs/AddChildBehavior"), m_addChildBehavior);
168 if (
theme.isEmpty()) {
175 loadStyleSheet(m_theme);
177 QSettings settings(m_settingsPath, QSettings::IniFormat);
178 settings.setValue(
QSL(
"VerticalTabs/Theme"), m_theme);
186void VerticalTabsPlugin::mainWindowCreated(
BrowserWindow *window)
189 setTabBarVisible(!m_replaceTabBar);
192void VerticalTabsPlugin::setTabBarVisible(
bool visible)
194 const auto windows =
mApp->windows();
196 window->tabWidget()->tabBar()->setForceHidden(!visible);
200void VerticalTabsPlugin::setWebTabBehavior(AddChildBehavior behavior)
205void VerticalTabsPlugin::loadStyleSheet(
const QString &theme)
208 if (!file.open(QFile::ReadOnly)) {
209 qWarning() <<
"Failed to open stylesheet file" <<
theme;
210 file.setFileName(
QSL(
":verticaltabs/data/themes/default.css"));
211 file.open(QFile::ReadOnly);
214 m_styleSheet = QString::fromUtf8(file.readAll());
void mainWindowCreated(BrowserWindow *window)
static void removeSidebar(SideBarInterface *interface)
static void addSidebar(const QString &id, SideBarInterface *interface)
bool handleKeyPress(QKeyEvent *event, TabWidget *tabWidget)
void init(InitState state, const QString &settingsPath) override
void setReplaceTabBar(bool replace)
void setAddChildBehavior(AddChildBehavior behavior)
bool testPlugin() override
AddChildBehavior addChildBehavior() const
void viewTypeChanged(VerticalTabsPlugin::ViewType type)
bool replaceTabBar() const
void styleSheetChanged(const QString &styleSheet)
ViewType viewType() const
void setViewType(ViewType type)
bool keyPress(Qz::ObjectName type, QObject *obj, QKeyEvent *event) override
void showSettings(QWidget *parent=nullptr) override
QString styleSheet() const
void setTheme(const QString &theme)
static void setAddChildBehavior(AddChildBehavior behavior)
FALKON_EXPORT const char * VERSION