Skip to content

Commit 519830e

Browse files
committed
[MetaSearch] add overwrite OWS connection naming setting and logic (#12327)
1 parent 250eb74 commit 519830e

File tree

2 files changed

+75
-9
lines changed

2 files changed

+75
-9
lines changed

python/plugins/MetaSearch/dialogs/maindialog.py

+26-6
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,11 @@ def __init__(self, iface):
125125
self.btnAddToWcs.clicked.connect(self.add_to_ows)
126126
self.btnShowXml.clicked.connect(self.show_xml)
127127

128+
# settings
129+
self.radioTitleAsk.clicked.connect(self.set_ows_save_title_ask)
130+
self.radioTitleNoAsk.clicked.connect(self.set_ows_save_title_no_ask)
131+
self.radioTempName.clicked.connect(self.set_ows_save_temp_name)
132+
128133
self.manageGui()
129134

130135
def manageGui(self):
@@ -143,6 +148,16 @@ def manageGui(self):
143148

144149
self.reset_buttons()
145150

151+
# get preferred connection save strategy from settings and set it
152+
save_strat = self.settings.value('/MetaSearch/ows_save_strategy',
153+
'title_ask')
154+
if save_strat == 'temp_name':
155+
self.radioTempName.setChecked(True)
156+
elif save_strat == 'title_no_ask':
157+
self.radioTitleNoAsk.setChecked(True)
158+
else:
159+
self.radioTitleAsk.setChecked(True)
160+
146161
# install proxy handler if specified in QGIS settings
147162
self.install_proxy()
148163

@@ -685,14 +700,19 @@ def add_to_ows(self):
685700
if key.startswith(sname):
686701
conn_name_matches.append(key)
687702
if conn_name_matches:
688-
sname = matches[-1]
703+
sname = conn_name_matches[-1]
689704

690705
# check for duplicates
691-
if sname in keys:
692-
msg = self.tr('Connection %s exists. Overwrite?') % sname
693-
res = QMessageBox.warning(self, self.tr('Saving server'), msg,
694-
QMessageBox.Yes | QMessageBox.No)
695-
if res != QMessageBox.Yes: # assign new name with serial
706+
if sname in keys: # duplicate found
707+
if self.radioTitleAsk.isChecked(): # ask to overwrite
708+
msg = self.tr('Connection %s exists. Overwrite?') % sname
709+
res = QMessageBox.warning(self, self.tr('Saving server'), msg,
710+
QMessageBox.Yes | QMessageBox.No)
711+
if res != QMessageBox.Yes: # assign new name with serial
712+
sname = serialize_string(sname)
713+
elif self.radioTitleNoAsk.isChecked(): # don't ask to overwrite
714+
pass
715+
elif self.radioTempName.isChecked(): # use temp name
696716
sname = serialize_string(sname)
697717

698718
# no dups detected or overwrite is allowed

python/plugins/MetaSearch/ui/maindialog.ui

+49-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<item>
1818
<widget class="QTabWidget" name="tabWidget">
1919
<property name="currentIndex">
20-
<number>0</number>
20+
<number>2</number>
2121
</property>
2222
<widget class="QWidget" name="tabSearch">
2323
<attribute name="title">
@@ -428,12 +428,58 @@
428428
<attribute name="title">
429429
<string>Settings</string>
430430
</attribute>
431-
<widget class="QGroupBox" name="groupBox_3">
431+
<widget class="QGroupBox" name="saveStrategyGroup">
432432
<property name="geometry">
433433
<rect>
434434
<x>10</x>
435435
<y>10</y>
436436
<width>571</width>
437+
<height>131</height>
438+
</rect>
439+
</property>
440+
<property name="title">
441+
<string>Connection naming</string>
442+
</property>
443+
<layout class="QVBoxLayout" name="verticalLayout_3">
444+
<item>
445+
<widget class="QLabel" name="lblSaveStrategy">
446+
<property name="text">
447+
<string>When saving the connection of an OWS service</string>
448+
</property>
449+
</widget>
450+
</item>
451+
<item>
452+
<widget class="QRadioButton" name="radioTitleAsk">
453+
<property name="text">
454+
<string>Ask before overwriting</string>
455+
</property>
456+
<property name="checked">
457+
<bool>true</bool>
458+
</property>
459+
</widget>
460+
</item>
461+
<item>
462+
<widget class="QRadioButton" name="radioTitleNoAsk">
463+
<property name="text">
464+
<string>Always overwrite if already available</string>
465+
</property>
466+
</widget>
467+
</item>
468+
<item>
469+
<widget class="QRadioButton" name="radioTempName">
470+
<property name="text">
471+
<string>Use a temporary name, which you can change later</string>
472+
</property>
473+
</widget>
474+
</item>
475+
</layout>
476+
</widget>
477+
<widget class="QGroupBox" name="groupBox_3">
478+
<property name="geometry">
479+
<rect>
480+
<x>10</x>
481+
<y>230</y>
482+
<width>571</width>
437483
<height>71</height>
438484
</rect>
439485
</property>
@@ -484,7 +530,7 @@
484530
<property name="geometry">
485531
<rect>
486532
<x>10</x>
487-
<y>90</y>
533+
<y>150</y>
488534
<width>571</width>
489535
<height>71</height>
490536
</rect>

0 commit comments

Comments
 (0)