Add config file name and link to Maintenance options page

This commit is contained in:
Bob Swift
2021-09-15 10:56:03 -06:00
committed by Philipp Wolfer
parent a213b5e4ea
commit 7a3f99f258
3 changed files with 88 additions and 68 deletions

View File

@@ -19,8 +19,11 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
from os import path
from PyQt5 import (
QtCore,
QtGui,
QtWidgets,
)
@@ -82,10 +85,14 @@ class MaintenanceOptionsPage(OptionsPage):
self.ui.tableWidget.setHorizontalHeaderLabels([_("Option"), _("Value")])
self.ui.select_all.stateChanged.connect(self.select_all_changed)
self.ui.enable_cleanup.stateChanged.connect(self.enable_cleanup_changed)
self.ui.open_folder_button.clicked.connect(self.open_config_dir)
def load(self):
config = get_config()
# Show the path and file name of the currently used configuration file.
self.ui.config_file.setText(config.fileName())
# Setting options from all option pages and loaded plugins (including plugins currently disabled).
key_options = set(config.setting.as_dict())
@@ -133,6 +140,11 @@ class MaintenanceOptionsPage(OptionsPage):
self.ui.select_all.setEnabled(False)
self.enable_cleanup_changed()
def open_config_dir(self):
config = get_config()
config_dir = path.split(config.fileName())[0]
QtGui.QDesktopServices.openUrl(QtCore.QUrl.fromLocalFile(config_dir))
def column_items(self, column):
for idx in range(self.ui.tableWidget.rowCount()):
yield self.ui.tableWidget.item(idx, column)

View File

@@ -13,15 +13,20 @@ class Ui_MaintenanceOptionsPage(object):
MaintenanceOptionsPage.resize(334, 397)
self.vboxlayout = QtWidgets.QVBoxLayout(MaintenanceOptionsPage)
self.vboxlayout.setObjectName("vboxlayout")
self.description = QtWidgets.QLabel(MaintenanceOptionsPage)
self.description.setText("")
self.description.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.description.setWordWrap(True)
self.description.setIndent(0)
self.description.setObjectName("description")
self.vboxlayout.addWidget(self.description)
spacerItem = QtWidgets.QSpacerItem(20, 8, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
self.vboxlayout.addItem(spacerItem)
self.label = QtWidgets.QLabel(MaintenanceOptionsPage)
self.label.setObjectName("label")
self.vboxlayout.addWidget(self.label)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setContentsMargins(-1, -1, -1, 0)
self.horizontalLayout.setObjectName("horizontalLayout")
self.config_file = QtWidgets.QLineEdit(MaintenanceOptionsPage)
self.config_file.setReadOnly(True)
self.config_file.setObjectName("config_file")
self.horizontalLayout.addWidget(self.config_file)
self.open_folder_button = QtWidgets.QToolButton(MaintenanceOptionsPage)
self.open_folder_button.setObjectName("open_folder_button")
self.horizontalLayout.addWidget(self.open_folder_button)
self.vboxlayout.addLayout(self.horizontalLayout)
self.option_counts = QtWidgets.QLabel(MaintenanceOptionsPage)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
@@ -31,18 +36,23 @@ class Ui_MaintenanceOptionsPage(object):
self.option_counts.setText("")
self.option_counts.setObjectName("option_counts")
self.vboxlayout.addWidget(self.option_counts)
spacerItem1 = QtWidgets.QSpacerItem(20, 8, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
self.vboxlayout.addItem(spacerItem1)
self.enable_cleanup = QtWidgets.QCheckBox(MaintenanceOptionsPage)
self.enable_cleanup.setObjectName("enable_cleanup")
self.vboxlayout.addWidget(self.enable_cleanup)
self.description = QtWidgets.QLabel(MaintenanceOptionsPage)
self.description.setText("")
self.description.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.description.setWordWrap(True)
self.description.setIndent(0)
self.description.setObjectName("description")
self.vboxlayout.addWidget(self.description)
spacerItem = QtWidgets.QSpacerItem(20, 8, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
self.vboxlayout.addItem(spacerItem)
self.line = QtWidgets.QFrame(MaintenanceOptionsPage)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.vboxlayout.addWidget(self.line)
spacerItem2 = QtWidgets.QSpacerItem(20, 8, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
self.vboxlayout.addItem(spacerItem2)
self.enable_cleanup = QtWidgets.QCheckBox(MaintenanceOptionsPage)
self.enable_cleanup.setObjectName("enable_cleanup")
self.vboxlayout.addWidget(self.enable_cleanup)
self.select_all = QtWidgets.QCheckBox(MaintenanceOptionsPage)
self.select_all.setObjectName("select_all")
self.vboxlayout.addWidget(self.select_all)
@@ -61,5 +71,7 @@ class Ui_MaintenanceOptionsPage(object):
def retranslateUi(self, MaintenanceOptionsPage):
_translate = QtCore.QCoreApplication.translate
self.label.setText(_("Configuration File:"))
self.open_folder_button.setText(_("Open folder"))
self.enable_cleanup.setText(_("Remove selected options"))
self.select_all.setText(_("Select all"))

View File

@@ -11,6 +11,54 @@
</rect>
</property>
<layout class="QVBoxLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Configuration File:</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="config_file">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="open_folder_button">
<property name="text">
<string>Open folder</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="option_counts">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="enable_cleanup">
<property name="text">
<string>Remove selected options</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="description">
<property name="text">
@@ -43,35 +91,6 @@
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="option_counts">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>8</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
@@ -79,29 +98,6 @@
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>8</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="enable_cleanup">
<property name="text">
<string>Remove selected options</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="select_all">
<property name="text">