Skip to content

Commit 510a087

Browse files
authored
Add button to open settings from resource browser (#24)
A button to open settings, right to the search option: ![image](https://user-images.githubusercontent.com/1596222/232865750-6b76b6fb-7686-47b6-bb27-3f46eac4baf7.png)
2 parents dad5207 + 84185b3 commit 510a087

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

pyqgis_resource_browser/gui/resource_browser.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
import os
33
import pathlib
44
import re
5+
from functools import partial
56

6-
# PyQGIS
77
from qgis.core import QgsApplication
88
from qgis.PyQt import uic
99
from qgis.PyQt.QtCore import QFile, QModelIndex, QRegExp, Qt, QTextStream, pyqtSignal
@@ -22,7 +22,12 @@
2222
QWidget,
2323
)
2424

25+
# PyQGIS
26+
from qgis.utils import iface
27+
2528
# plugin
29+
from pyqgis_resource_browser.__about__ import __title__
30+
2631
from ..core.resource_table_model import ResourceTableFilterModel, ResourceTableModel
2732
from ..core.resource_table_view import ResourceTableView
2833
from ..toolbelt import PlgOptionsManager
@@ -97,6 +102,16 @@ def __init__(self, *args, **kwds):
97102
self.optionUseRegex.toggled.connect(self.updateFilter)
98103
self.tbFilter.textChanged.connect(self.updateFilter)
99104

105+
# settings button
106+
self.btn_settings.setToolTip(self.tr("Settings"))
107+
self.btn_settings.setText("")
108+
self.btn_settings.setIcon(
109+
QgsApplication.getThemeIcon("console/iconSettingsConsole.svg")
110+
)
111+
self.btn_settings.pressed.connect(
112+
partial(iface.showOptionsDialog, currentPage=f"mOptionsPage{__title__}")
113+
)
114+
100115
self.reloadConfig()
101116

102117
def reloadConfig(self):

pyqgis_resource_browser/gui/resource_browser.ui

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,13 @@
3737
<item>
3838
<widget class="QLabel" name="label">
3939
<property name="text">
40-
<string>Filter</string>
40+
<string>Filter:</string>
41+
</property>
42+
<property name="margin">
43+
<number>2</number>
44+
</property>
45+
<property name="textInteractionFlags">
46+
<set>Qt::NoTextInteraction</set>
4147
</property>
4248
</widget>
4349
</item>
@@ -84,6 +90,13 @@
8490
</property>
8591
</widget>
8692
</item>
93+
<item>
94+
<widget class="QPushButton" name="btn_settings">
95+
<property name="text">
96+
<string>Settings</string>
97+
</property>
98+
</widget>
99+
</item>
87100
</layout>
88101
</item>
89102
<item>

0 commit comments

Comments
 (0)