summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/settingsdialog.ui130
-rw-r--r--src/settingsdialogplugins.cpp22
2 files changed, 87 insertions, 65 deletions
diff --git a/src/settingsdialog.ui b/src/settingsdialog.ui
index 4fd34b21..d05910cb 100644
--- a/src/settingsdialog.ui
+++ b/src/settingsdialog.ui
@@ -1111,8 +1111,8 @@
</item>
</layout>
</widget>
- <widget class="QWidget" name="widget" native="true">
- <layout class="QVBoxLayout" name="verticalLayout_7" stretch="0,1">
+ <widget class="QWidget" name="pluginWidget" native="true">
+ <layout class="QVBoxLayout" name="verticalLayout_7" stretch="0,1,0">
<property name="leftMargin">
<number>0</number>
</property>
@@ -1126,63 +1126,65 @@
<number>0</number>
</property>
<item>
- <layout class="QFormLayout" name="formLayout_2">
- <property name="leftMargin">
- <number>6</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_13">
- <property name="text">
- <string>Author:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLabel" name="authorLabel">
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_15">
- <property name="text">
- <string>Version:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLabel" name="versionLabel">
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLabel" name="descriptionLabel">
- <property name="text">
- <string/>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_14">
- <property name="text">
- <string>Description:</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QCheckBox" name="enabledCheckbox">
- <property name="text">
- <string>Enabled</string>
- </property>
- </widget>
- </item>
- </layout>
+ <widget class="QWidget" name="pluginDescription" native="true">
+ <layout class="QFormLayout" name="pluginDescriptionLayout">
+ <property name="leftMargin">
+ <number>6</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>Author:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="authorLabel">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>Version:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="versionLabel">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>Description:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="descriptionLabel">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="enabledCheckbox">
+ <property name="text">
+ <string>Enabled</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
</item>
<item>
<widget class="QTreeWidget" name="pluginSettingsList">
@@ -1216,6 +1218,16 @@
</column>
</widget>
</item>
+ <item>
+ <widget class="QLabel" name="noPluginLabel">
+ <property name="text">
+ <string>No plugin found.</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</widget>
diff --git a/src/settingsdialogplugins.cpp b/src/settingsdialogplugins.cpp
index 19515426..a86ba5c9 100644
--- a/src/settingsdialogplugins.cpp
+++ b/src/settingsdialogplugins.cpp
@@ -25,6 +25,7 @@ PluginsSettingsTab::PluginsSettingsTab(Settings& s, PluginContainer* pluginConta
item->setFont(0, font);
topItems[interfaceName] = item;
item->setExpanded(true);
+ item->setFlags(item->flags() & ~Qt::ItemIsSelectable);
}
ui->pluginsList->setHeaderHidden(true);
@@ -112,6 +113,7 @@ void PluginsSettingsTab::updateListItems()
void PluginsSettingsTab::filterPluginList()
{
+ auto selectedItems = ui->pluginsList->selectedItems();
QTreeWidgetItem* firstNotHidden = nullptr;
for (auto i = 0; i < ui->pluginsList->topLevelItemCount(); ++i) {
@@ -150,13 +152,21 @@ void PluginsSettingsTab::filterPluginList()
}
// Unselect item if hidden:
- auto selectedItems = ui->pluginsList->selectedItems();
- if (!selectedItems.isEmpty() && selectedItems[0]->isHidden()) {
- selectedItems[0]->setSelected(false);
-
- if (firstNotHidden) {
- firstNotHidden->setSelected(true);
+ if (firstNotHidden) {
+ ui->pluginDescription->setVisible(true);
+ ui->pluginSettingsList->setVisible(true);
+ ui->noPluginLabel->setVisible(false);
+ if (selectedItems.isEmpty()) {
+ ui->pluginsList->setCurrentItem(firstNotHidden);
}
+ else if (selectedItems[0]->isHidden()) {
+ ui->pluginsList->setCurrentItem(firstNotHidden);
+ }
+ }
+ else {
+ ui->pluginDescription->setVisible(false);
+ ui->pluginSettingsList->setVisible(false);
+ ui->noPluginLabel->setVisible(true);
}
}