oqtopus 0.1.14__py3-none-any.whl → 0.1.16__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- oqtopus/gui/module_selection_widget.py +4 -4
- oqtopus/gui/project_widget.py +60 -72
- oqtopus/ui/about_dialog.ui +200 -0
- oqtopus/ui/database_connection_widget.ui +148 -0
- oqtopus/ui/database_create_dialog.ui +295 -0
- oqtopus/ui/database_duplicate_dialog.ui +146 -0
- oqtopus/ui/logs_widget.ui +108 -0
- oqtopus/ui/main_dialog.ui +159 -0
- oqtopus/ui/module_selection_widget.ui +188 -0
- oqtopus/ui/module_widget.ui +187 -0
- oqtopus/ui/project_widget.ui +61 -0
- oqtopus/ui/settings_dialog.ui +94 -0
- {oqtopus-0.1.14.dist-info → oqtopus-0.1.16.dist-info}/METADATA +1 -1
- {oqtopus-0.1.14.dist-info → oqtopus-0.1.16.dist-info}/RECORD +17 -7
- {oqtopus-0.1.14.dist-info → oqtopus-0.1.16.dist-info}/WHEEL +0 -0
- {oqtopus-0.1.14.dist-info → oqtopus-0.1.16.dist-info}/licenses/LICENSE +0 -0
- {oqtopus-0.1.14.dist-info → oqtopus-0.1.16.dist-info}/top_level.txt +0 -0
@@ -213,19 +213,19 @@ class ModuleSelectionWidget(QWidget, DIALOG_UI):
|
|
213
213
|
self.module_information_label.setText(loading_text)
|
214
214
|
|
215
215
|
def __seeChangeLogClicked(self):
|
216
|
-
if self.__current_module_package
|
216
|
+
if self.__current_module_package is None:
|
217
217
|
QMessageBox.warning(
|
218
218
|
self,
|
219
219
|
self.tr("Can't open changelog"),
|
220
|
-
self.tr("
|
220
|
+
self.tr("Please select a module and version first."),
|
221
221
|
)
|
222
222
|
return
|
223
223
|
|
224
|
-
if self.__current_module_package
|
224
|
+
if self.__current_module_package.type == ModulePackage.Type.FROM_ZIP:
|
225
225
|
QMessageBox.warning(
|
226
226
|
self,
|
227
227
|
self.tr("Can't open changelog"),
|
228
|
-
self.tr("
|
228
|
+
self.tr("Changelog is not available for Zip packages."),
|
229
229
|
)
|
230
230
|
return
|
231
231
|
|
oqtopus/gui/project_widget.py
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
import os
|
2
2
|
import shutil
|
3
3
|
|
4
|
+
from qgis.PyQt.QtCore import QUrl
|
5
|
+
from qgis.PyQt.QtGui import QDesktopServices
|
4
6
|
from qgis.PyQt.QtWidgets import QFileDialog, QMessageBox, QWidget
|
5
7
|
|
6
8
|
from ..core.module_package import ModulePackage
|
7
|
-
from ..utils.plugin_utils import PluginUtils
|
8
|
-
from ..utils.qt_utils import
|
9
|
+
from ..utils.plugin_utils import PluginUtils, logger
|
10
|
+
from ..utils.qt_utils import QtUtils
|
9
11
|
|
10
12
|
DIALOG_UI = PluginUtils.get_ui_class("project_widget.ui")
|
11
13
|
|
@@ -35,41 +37,40 @@ class ProjectWidget(QWidget, DIALOG_UI):
|
|
35
37
|
QtUtils.setFontItalic(self.project_info_label, True)
|
36
38
|
return
|
37
39
|
|
38
|
-
# Search for QGIS project file in self.__package_dir
|
39
|
-
project_file_dir = os.path.join(asset_project.package_dir, "project")
|
40
|
-
|
41
40
|
# Check if the directory exists
|
42
|
-
if not os.path.exists(
|
41
|
+
if not os.path.exists(asset_project.package_dir):
|
43
42
|
self.project_info_label.setText(
|
44
|
-
self.tr(f"Project directory '{
|
43
|
+
self.tr(f"Project directory '{asset_project.package_dir}' does not exist.")
|
45
44
|
)
|
46
45
|
QtUtils.setForegroundColor(self.project_info_label, PluginUtils.COLOR_WARNING)
|
47
46
|
QtUtils.setFontItalic(self.project_info_label, True)
|
48
47
|
return
|
49
48
|
|
50
|
-
|
51
|
-
for root, dirs, files in os.walk(
|
49
|
+
project_file = None
|
50
|
+
for root, dirs, files in os.walk(asset_project.package_dir):
|
52
51
|
for file in files:
|
53
52
|
if file.endswith(".qgz") or file.endswith(".qgs"):
|
54
|
-
|
53
|
+
project_file = os.path.join(root, file)
|
55
54
|
break
|
56
55
|
|
57
|
-
if
|
56
|
+
if project_file:
|
58
57
|
break
|
59
58
|
|
60
|
-
if
|
59
|
+
if project_file is None:
|
61
60
|
self.project_info_label.setText(
|
62
|
-
self.tr(
|
61
|
+
self.tr(
|
62
|
+
f"No QGIS project file (.qgz or .qgs) found into {asset_project.package_dir}."
|
63
|
+
),
|
63
64
|
)
|
64
65
|
QtUtils.setForegroundColor(self.project_info_label, PluginUtils.COLOR_WARNING)
|
65
|
-
QtUtils.setFontItalic(self.
|
66
|
+
QtUtils.setFontItalic(self.project_info_label, True)
|
66
67
|
return
|
67
68
|
|
69
|
+
QtUtils.resetForegroundColor(self.project_info_label)
|
70
|
+
QtUtils.setFontItalic(self.project_info_label, False)
|
68
71
|
self.project_info_label.setText(
|
69
|
-
|
72
|
+
f"<a href='file://{asset_project.package_dir}'>{asset_project.package_dir}</a>",
|
70
73
|
)
|
71
|
-
QtUtils.setForegroundColor(self.project_info_label, PluginUtils.COLOR_GREEN)
|
72
|
-
QtUtils.setFontItalic(self.db_database_label, False)
|
73
74
|
|
74
75
|
def __projectInstallClicked(self):
|
75
76
|
|
@@ -81,15 +82,7 @@ class ProjectWidget(QWidget, DIALOG_UI):
|
|
81
82
|
)
|
82
83
|
return
|
83
84
|
|
84
|
-
|
85
|
-
QMessageBox.warning(
|
86
|
-
self,
|
87
|
-
self.tr("Error"),
|
88
|
-
self.tr("Please select a module version first."),
|
89
|
-
)
|
90
|
-
return
|
91
|
-
|
92
|
-
asset_project = self.module_package_comboBox.currentData().asset_project
|
85
|
+
asset_project = self.__current_module_package.asset_project
|
93
86
|
if asset_project is None:
|
94
87
|
QMessageBox.warning(
|
95
88
|
self,
|
@@ -98,46 +91,6 @@ class ProjectWidget(QWidget, DIALOG_UI):
|
|
98
91
|
)
|
99
92
|
return
|
100
93
|
|
101
|
-
package_dir = asset_project.package_dir
|
102
|
-
if package_dir is None:
|
103
|
-
CriticalMessageBox(
|
104
|
-
self.tr("Error"), self.tr("No valid package directory available."), None, self
|
105
|
-
).exec()
|
106
|
-
return
|
107
|
-
|
108
|
-
# Search for QGIS project file in package_dir
|
109
|
-
project_file_dir = os.path.join(package_dir, "project")
|
110
|
-
|
111
|
-
# Check if the directory exists
|
112
|
-
if not os.path.exists(project_file_dir):
|
113
|
-
CriticalMessageBox(
|
114
|
-
self.tr("Error"),
|
115
|
-
self.tr(f"Project directory '{project_file_dir}' does not exist."),
|
116
|
-
None,
|
117
|
-
self,
|
118
|
-
).exec()
|
119
|
-
return
|
120
|
-
|
121
|
-
self.__project_file = None
|
122
|
-
for root, dirs, files in os.walk(project_file_dir):
|
123
|
-
print(f"Searching for QGIS project file in {root}: {files}")
|
124
|
-
for file in files:
|
125
|
-
if file.endswith(".qgz") or file.endswith(".qgs"):
|
126
|
-
self.__project_file = os.path.join(root, file)
|
127
|
-
break
|
128
|
-
|
129
|
-
if self.__project_file:
|
130
|
-
break
|
131
|
-
|
132
|
-
if self.__project_file is None:
|
133
|
-
CriticalMessageBox(
|
134
|
-
self.tr("Error"),
|
135
|
-
self.tr(f"No QGIS project file (.qgz or .qgs) found into {project_file_dir}."),
|
136
|
-
None,
|
137
|
-
self,
|
138
|
-
).exec()
|
139
|
-
return
|
140
|
-
|
141
94
|
install_destination = QFileDialog.getExistingDirectory(
|
142
95
|
self,
|
143
96
|
self.tr("Select installation directory"),
|
@@ -148,15 +101,22 @@ class ProjectWidget(QWidget, DIALOG_UI):
|
|
148
101
|
if not install_destination:
|
149
102
|
return
|
150
103
|
|
151
|
-
# Copy the project
|
104
|
+
# Copy the project files to the selected directory
|
152
105
|
try:
|
153
|
-
|
106
|
+
# Copy all files from assset_project to install_destination
|
107
|
+
for item in os.listdir(asset_project.package_dir):
|
108
|
+
source_path = os.path.join(asset_project.package_dir, item)
|
109
|
+
destination_path = os.path.join(install_destination, item)
|
110
|
+
|
111
|
+
if os.path.isdir(source_path):
|
112
|
+
shutil.copytree(source_path, destination_path, dirs_exist_ok=True)
|
113
|
+
else:
|
114
|
+
shutil.copy2(source_path, destination_path)
|
115
|
+
|
154
116
|
QMessageBox.information(
|
155
117
|
self,
|
156
118
|
self.tr("Project installed"),
|
157
|
-
self.tr(
|
158
|
-
f"Project file '{self.__project_file}' has been copied to '{install_destination}'."
|
159
|
-
),
|
119
|
+
self.tr(f"Project files have been copied to '{install_destination}'."),
|
160
120
|
)
|
161
121
|
except Exception as e:
|
162
122
|
QMessageBox.critical(
|
@@ -167,4 +127,32 @@ class ProjectWidget(QWidget, DIALOG_UI):
|
|
167
127
|
return
|
168
128
|
|
169
129
|
def __projectSeeChangelogClicked(self):
|
170
|
-
self.
|
130
|
+
if self.__current_module_package is None:
|
131
|
+
QMessageBox.warning(
|
132
|
+
self,
|
133
|
+
self.tr("Can't open changelog"),
|
134
|
+
self.tr("Please select a module and version first."),
|
135
|
+
)
|
136
|
+
return
|
137
|
+
|
138
|
+
if self.__current_module_package.type == ModulePackage.Type.FROM_ZIP:
|
139
|
+
QMessageBox.warning(
|
140
|
+
self,
|
141
|
+
self.tr("Can't open changelog"),
|
142
|
+
self.tr("Changelog is not available for Zip packages."),
|
143
|
+
)
|
144
|
+
return
|
145
|
+
|
146
|
+
if self.__current_module_package.html_url is None:
|
147
|
+
QMessageBox.warning(
|
148
|
+
self,
|
149
|
+
self.tr("Can't open changelog"),
|
150
|
+
self.tr(
|
151
|
+
f"Changelog not available for version '{self.__current_module_package.display_name()}'."
|
152
|
+
),
|
153
|
+
)
|
154
|
+
return
|
155
|
+
|
156
|
+
changelog_url = self.__current_module_package.html_url
|
157
|
+
logger.info(f"Opening changelog URL: {changelog_url}")
|
158
|
+
QDesktopServices.openUrl(QUrl(changelog_url))
|
@@ -0,0 +1,200 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<ui version="4.0">
|
3
|
+
<class>AboutDialog</class>
|
4
|
+
<widget class="QDialog" name="AboutDialog">
|
5
|
+
<property name="geometry">
|
6
|
+
<rect>
|
7
|
+
<x>0</x>
|
8
|
+
<y>0</y>
|
9
|
+
<width>634</width>
|
10
|
+
<height>426</height>
|
11
|
+
</rect>
|
12
|
+
</property>
|
13
|
+
<property name="windowTitle">
|
14
|
+
<string>Dialog</string>
|
15
|
+
</property>
|
16
|
+
<layout class="QGridLayout" name="gridLayout">
|
17
|
+
<item row="1" column="0">
|
18
|
+
<layout class="QVBoxLayout" name="verticalLayout">
|
19
|
+
<item>
|
20
|
+
<widget class="QLabel" name="titleLabel">
|
21
|
+
<property name="font">
|
22
|
+
<font>
|
23
|
+
<family>Sans Serif</family>
|
24
|
+
<pointsize>16</pointsize>
|
25
|
+
<weight>75</weight>
|
26
|
+
<bold>true</bold>
|
27
|
+
</font>
|
28
|
+
</property>
|
29
|
+
<property name="text">
|
30
|
+
<string>TITLE</string>
|
31
|
+
</property>
|
32
|
+
</widget>
|
33
|
+
</item>
|
34
|
+
<item>
|
35
|
+
<widget class="QLabel" name="descriptionLabel">
|
36
|
+
<property name="font">
|
37
|
+
<font>
|
38
|
+
<pointsize>12</pointsize>
|
39
|
+
</font>
|
40
|
+
</property>
|
41
|
+
<property name="text">
|
42
|
+
<string>DESCRIPTION</string>
|
43
|
+
</property>
|
44
|
+
</widget>
|
45
|
+
</item>
|
46
|
+
<item>
|
47
|
+
<widget class="QLabel" name="aboutLabel">
|
48
|
+
<property name="font">
|
49
|
+
<font>
|
50
|
+
<italic>true</italic>
|
51
|
+
</font>
|
52
|
+
</property>
|
53
|
+
<property name="text">
|
54
|
+
<string>ABOUT</string>
|
55
|
+
</property>
|
56
|
+
<property name="wordWrap">
|
57
|
+
<bool>true</bool>
|
58
|
+
</property>
|
59
|
+
</widget>
|
60
|
+
</item>
|
61
|
+
</layout>
|
62
|
+
</item>
|
63
|
+
<item row="6" column="0">
|
64
|
+
<spacer name="verticalSpacer">
|
65
|
+
<property name="orientation">
|
66
|
+
<enum>Qt::Vertical</enum>
|
67
|
+
</property>
|
68
|
+
<property name="sizeHint" stdset="0">
|
69
|
+
<size>
|
70
|
+
<width>20</width>
|
71
|
+
<height>40</height>
|
72
|
+
</size>
|
73
|
+
</property>
|
74
|
+
</spacer>
|
75
|
+
</item>
|
76
|
+
<item row="4" column="0">
|
77
|
+
<widget class="QLabel" name="label">
|
78
|
+
<property name="text">
|
79
|
+
<string><html><head/><body><p>For any feedback, bugs or comments, please visit <a href="https://github.com/Oqtopus/Oqtopus/issues"><span style=" text-decoration: underline; color:#2980b9;">https://github.com/Oqtopus/Oqtopus/issues</span></a>. </p><p>For the changelog: <a href="https://github.com/Oqtopus/Oqtopus/releases"><span style=" text-decoration: underline; color:#2980b9;">https://github.com/Oqtopus/Oqtopus/releases</span></a>.</p></body></html></string>
|
80
|
+
</property>
|
81
|
+
<property name="openExternalLinks">
|
82
|
+
<bool>true</bool>
|
83
|
+
</property>
|
84
|
+
</widget>
|
85
|
+
</item>
|
86
|
+
<item row="5" column="0">
|
87
|
+
<layout class="QGridLayout" name="gridLayout_2">
|
88
|
+
<item row="1" column="1">
|
89
|
+
<widget class="QLabel" name="label_8">
|
90
|
+
<property name="text">
|
91
|
+
<string><html><head/><body><p><a href="https://github.com/Oqtopus/Home/wiki/Oqtopus-open-source-Community#contributors"><span style=" text-decoration: underline; color:#2980b9;">Oqtopus open source contributors</span></a></p></body></html></string>
|
92
|
+
</property>
|
93
|
+
<property name="openExternalLinks">
|
94
|
+
<bool>true</bool>
|
95
|
+
</property>
|
96
|
+
</widget>
|
97
|
+
</item>
|
98
|
+
<item row="4" column="0">
|
99
|
+
<widget class="QLabel" name="label_11">
|
100
|
+
<property name="font">
|
101
|
+
<font>
|
102
|
+
<weight>75</weight>
|
103
|
+
<bold>true</bold>
|
104
|
+
</font>
|
105
|
+
</property>
|
106
|
+
<property name="text">
|
107
|
+
<string>Python requirements:</string>
|
108
|
+
</property>
|
109
|
+
</widget>
|
110
|
+
</item>
|
111
|
+
<item row="1" column="0">
|
112
|
+
<widget class="QLabel" name="label_4">
|
113
|
+
<property name="font">
|
114
|
+
<font>
|
115
|
+
<weight>75</weight>
|
116
|
+
<bold>true</bold>
|
117
|
+
</font>
|
118
|
+
</property>
|
119
|
+
<property name="text">
|
120
|
+
<string>Author:</string>
|
121
|
+
</property>
|
122
|
+
</widget>
|
123
|
+
</item>
|
124
|
+
<item row="3" column="1">
|
125
|
+
<widget class="QLabel" name="qgisMinimumVersionLabel">
|
126
|
+
<property name="text">
|
127
|
+
<string>QGIS MIN VERSION</string>
|
128
|
+
</property>
|
129
|
+
</widget>
|
130
|
+
</item>
|
131
|
+
<item row="3" column="0">
|
132
|
+
<widget class="QLabel" name="label_6">
|
133
|
+
<property name="font">
|
134
|
+
<font>
|
135
|
+
<weight>75</weight>
|
136
|
+
<bold>true</bold>
|
137
|
+
</font>
|
138
|
+
</property>
|
139
|
+
<property name="text">
|
140
|
+
<string>QGIS minimum version:</string>
|
141
|
+
</property>
|
142
|
+
</widget>
|
143
|
+
</item>
|
144
|
+
<item row="0" column="0">
|
145
|
+
<widget class="QLabel" name="label_2">
|
146
|
+
<property name="font">
|
147
|
+
<font>
|
148
|
+
<weight>75</weight>
|
149
|
+
<bold>true</bold>
|
150
|
+
</font>
|
151
|
+
</property>
|
152
|
+
<property name="text">
|
153
|
+
<string>License:</string>
|
154
|
+
</property>
|
155
|
+
</widget>
|
156
|
+
</item>
|
157
|
+
<item row="2" column="0">
|
158
|
+
<widget class="QLabel" name="label_5">
|
159
|
+
<property name="font">
|
160
|
+
<font>
|
161
|
+
<weight>75</weight>
|
162
|
+
<bold>true</bold>
|
163
|
+
</font>
|
164
|
+
</property>
|
165
|
+
<property name="text">
|
166
|
+
<string>Sponsor:</string>
|
167
|
+
</property>
|
168
|
+
</widget>
|
169
|
+
</item>
|
170
|
+
<item row="2" column="1">
|
171
|
+
<widget class="QLabel" name="label_9">
|
172
|
+
<property name="text">
|
173
|
+
<string><html><head/><body><p><a href="https://github.com/Oqtopus/Home/wiki/Oqtopus-open-source-Community#sponsors"><span style=" text-decoration: underline; color:#2980b9;">Oqtopus open source sponsors</span></a></p></body></html></string>
|
174
|
+
</property>
|
175
|
+
<property name="openExternalLinks">
|
176
|
+
<bool>true</bool>
|
177
|
+
</property>
|
178
|
+
</widget>
|
179
|
+
</item>
|
180
|
+
<item row="0" column="1">
|
181
|
+
<widget class="QLabel" name="label_7">
|
182
|
+
<property name="text">
|
183
|
+
<string>GNU GPL 2</string>
|
184
|
+
</property>
|
185
|
+
</widget>
|
186
|
+
</item>
|
187
|
+
</layout>
|
188
|
+
</item>
|
189
|
+
<item row="0" column="1" rowspan="5">
|
190
|
+
<widget class="QLabel" name="iconLabel">
|
191
|
+
<property name="text">
|
192
|
+
<string>ICON</string>
|
193
|
+
</property>
|
194
|
+
</widget>
|
195
|
+
</item>
|
196
|
+
</layout>
|
197
|
+
</widget>
|
198
|
+
<resources/>
|
199
|
+
<connections/>
|
200
|
+
</ui>
|
@@ -0,0 +1,148 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<ui version="4.0">
|
3
|
+
<class>Form</class>
|
4
|
+
<widget class="QWidget" name="Form">
|
5
|
+
<property name="geometry">
|
6
|
+
<rect>
|
7
|
+
<x>0</x>
|
8
|
+
<y>0</y>
|
9
|
+
<width>413</width>
|
10
|
+
<height>183</height>
|
11
|
+
</rect>
|
12
|
+
</property>
|
13
|
+
<property name="windowTitle">
|
14
|
+
<string>Form</string>
|
15
|
+
</property>
|
16
|
+
<layout class="QGridLayout" name="gridLayout">
|
17
|
+
<item row="2" column="0">
|
18
|
+
<widget class="QLabel" name="label_4">
|
19
|
+
<property name="text">
|
20
|
+
<string>Database</string>
|
21
|
+
</property>
|
22
|
+
</widget>
|
23
|
+
</item>
|
24
|
+
<item row="1" column="1">
|
25
|
+
<widget class="QComboBox" name="db_services_comboBox">
|
26
|
+
<item>
|
27
|
+
<property name="text">
|
28
|
+
<string>Select PG service</string>
|
29
|
+
</property>
|
30
|
+
</item>
|
31
|
+
<item>
|
32
|
+
<property name="text">
|
33
|
+
<string>tww_pully_admin</string>
|
34
|
+
</property>
|
35
|
+
</item>
|
36
|
+
<item>
|
37
|
+
<property name="text">
|
38
|
+
<string>tww_pully_user</string>
|
39
|
+
</property>
|
40
|
+
</item>
|
41
|
+
<item>
|
42
|
+
<property name="text">
|
43
|
+
<string>tdw_pully_admin</string>
|
44
|
+
</property>
|
45
|
+
</item>
|
46
|
+
<item>
|
47
|
+
<property name="text">
|
48
|
+
<string>tdw_pully_user</string>
|
49
|
+
</property>
|
50
|
+
</item>
|
51
|
+
<item>
|
52
|
+
<property name="text">
|
53
|
+
<string>jardins_admin</string>
|
54
|
+
</property>
|
55
|
+
</item>
|
56
|
+
</widget>
|
57
|
+
</item>
|
58
|
+
<item row="0" column="0">
|
59
|
+
<widget class="QLabel" name="label_9">
|
60
|
+
<property name="text">
|
61
|
+
<string>PG Service config</string>
|
62
|
+
</property>
|
63
|
+
</widget>
|
64
|
+
</item>
|
65
|
+
<item row="3" column="0">
|
66
|
+
<widget class="QLabel" name="label_11">
|
67
|
+
<property name="text">
|
68
|
+
<string>Status</string>
|
69
|
+
</property>
|
70
|
+
</widget>
|
71
|
+
</item>
|
72
|
+
<item row="0" column="1">
|
73
|
+
<widget class="QLabel" name="db_servicesConfigFilePath_label">
|
74
|
+
<property name="font">
|
75
|
+
<font>
|
76
|
+
<italic>true</italic>
|
77
|
+
</font>
|
78
|
+
</property>
|
79
|
+
<property name="text">
|
80
|
+
<string>/Users/denisrouzaud/.pg_service.conf</string>
|
81
|
+
</property>
|
82
|
+
<property name="openExternalLinks">
|
83
|
+
<bool>true</bool>
|
84
|
+
</property>
|
85
|
+
<property name="textInteractionFlags">
|
86
|
+
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
87
|
+
</property>
|
88
|
+
</widget>
|
89
|
+
</item>
|
90
|
+
<item row="1" column="0">
|
91
|
+
<widget class="QLabel" name="label_3">
|
92
|
+
<property name="text">
|
93
|
+
<string>PG Service</string>
|
94
|
+
</property>
|
95
|
+
</widget>
|
96
|
+
</item>
|
97
|
+
<item row="2" column="1">
|
98
|
+
<widget class="QLabel" name="db_database_label">
|
99
|
+
<property name="font">
|
100
|
+
<font>
|
101
|
+
<italic>true</italic>
|
102
|
+
</font>
|
103
|
+
</property>
|
104
|
+
<property name="text">
|
105
|
+
<string>No database</string>
|
106
|
+
</property>
|
107
|
+
</widget>
|
108
|
+
</item>
|
109
|
+
<item row="3" column="1">
|
110
|
+
<widget class="QLabel" name="db_moduleInfo_label">
|
111
|
+
<property name="font">
|
112
|
+
<font>
|
113
|
+
<italic>true</italic>
|
114
|
+
</font>
|
115
|
+
</property>
|
116
|
+
<property name="text">
|
117
|
+
<string>No module found</string>
|
118
|
+
</property>
|
119
|
+
</widget>
|
120
|
+
</item>
|
121
|
+
<item row="0" column="2">
|
122
|
+
<widget class="QToolButton" name="db_operations_toolButton">
|
123
|
+
<property name="text">
|
124
|
+
<string>...</string>
|
125
|
+
</property>
|
126
|
+
<property name="popupMode">
|
127
|
+
<enum>QToolButton::InstantPopup</enum>
|
128
|
+
</property>
|
129
|
+
</widget>
|
130
|
+
</item>
|
131
|
+
<item row="4" column="0">
|
132
|
+
<spacer name="verticalSpacer">
|
133
|
+
<property name="orientation">
|
134
|
+
<enum>Qt::Vertical</enum>
|
135
|
+
</property>
|
136
|
+
<property name="sizeHint" stdset="0">
|
137
|
+
<size>
|
138
|
+
<width>20</width>
|
139
|
+
<height>40</height>
|
140
|
+
</size>
|
141
|
+
</property>
|
142
|
+
</spacer>
|
143
|
+
</item>
|
144
|
+
</layout>
|
145
|
+
</widget>
|
146
|
+
<resources/>
|
147
|
+
<connections/>
|
148
|
+
</ui>
|