19#include "ui_verticaltabssettings.h"
30 setAttribute(Qt::WA_DeleteOnClose);
41 connect(ui->theme, SIGNAL(activated(
int)),
this, SLOT(themeValueChanged(
int)));
42 connect(ui->buttonBox, &QDialogButtonBox::rejected,
this, &QDialog::reject);
43 connect(ui->buttonBox, &QDialogButtonBox::accepted,
this, [
this]() {
44 m_plugin->setViewType(ui->tabListView->isChecked() ? VerticalTabsPlugin::TabListView : VerticalTabsPlugin::TabTreeView);
45 m_plugin->setAddChildBehavior(ui->appendChild->isChecked() ? VerticalTabsPlugin::AppendChild : VerticalTabsPlugin::PrependChild);
46 m_plugin->setReplaceTabBar(ui->replaceTabBar->isChecked());
47 m_plugin->setTheme(ui->theme->currentData().toString());
57void VerticalTabsSettings::themeValueChanged(
int index)
59 const int customIndex = ui->theme->count() - 1;
60 if (index == customIndex) {
61 const QString path = QFileDialog::getOpenFileName(
this, tr(
"Theme file"), QDir::homePath(), {
QSL(
"*.css")});
65 ui->theme->setToolTip(path);
66 ui->theme->setItemData(customIndex, path);
69 ui->theme->setToolTip(QString());
73void VerticalTabsSettings::loadThemes()
77 const auto files = QDir(
QSL(
":verticaltabs/data/themes")).entryInfoList({
QSL(
"*.css")});
78 for (
const QFileInfo &file : files) {
79 ui->theme->addItem(file.baseName(), file.absoluteFilePath());
80 if (file.absoluteFilePath() == m_plugin->
theme()) {
81 ui->theme->setCurrentIndex(ui->theme->count() - 1);
85 ui->theme->setToolTip(m_plugin->
theme());
86 ui->theme->addItem(tr(
"Custom..."), found ? QString() : m_plugin->theme());
88 ui->theme->setCurrentIndex(ui->theme->count() - 1);
AddChildBehavior addChildBehavior() const
bool replaceTabBar() const
ViewType viewType() const
VerticalTabsSettings(VerticalTabsPlugin *plugin, QWidget *parent=nullptr)