22
22
***************************************************************************/
23
23
"""
24
24
25
- from PyQt4 .QtCore import Qt , QObject , QSettings , QByteArray , SIGNAL
26
- from PyQt4 .QtGui import QDialog , QAction , QKeySequence , QDialogButtonBox , QApplication , QCursor , QMessageBox , QClipboard , QInputDialog , QIcon
25
+ from PyQt4 .QtCore import Qt , QObject , QSettings , QByteArray , SIGNAL , pyqtSignal
26
+ from PyQt4 .QtGui import QDialog , QWidget , QAction , QKeySequence , \
27
+ QDialogButtonBox , QApplication , QCursor , QMessageBox , QClipboard , QInputDialog , QIcon
27
28
from PyQt4 .Qsci import QsciAPIs
28
29
29
30
from qgis .core import QgsProject
45
46
import re
46
47
47
48
48
- class DlgSqlWindow (QDialog , Ui_Dialog ):
49
+ class DlgSqlWindow (QWidget , Ui_Dialog ):
50
+ nameChanged = pyqtSignal (str )
49
51
def __init__ (self , iface , db , parent = None ):
50
- QDialog .__init__ (self , parent )
52
+ QWidget .__init__ (self , parent )
51
53
self .iface = iface
52
54
self .db = db
53
55
self .setupUi (self )
@@ -56,9 +58,6 @@ def __init__(self, iface, db, parent=None):
56
58
57
59
self .defaultLayerName = 'QueryLayer'
58
60
59
- settings = QSettings ()
60
- self .restoreGeometry (settings .value ("/DB_Manager/sqlWindow/geometry" , QByteArray (), type = QByteArray ))
61
-
62
61
self .editSql .setFocus ()
63
62
self .editSql .setVerticalScrollBarPolicy (Qt .ScrollBarAsNeeded )
64
63
self .initCompleter ()
@@ -67,36 +66,39 @@ def __init__(self, iface, db, parent=None):
67
66
copyAction = QAction ("copy" , self )
68
67
self .viewResult .addAction (copyAction )
69
68
copyAction .setShortcuts (QKeySequence .Copy )
70
- QObject .connect (copyAction , SIGNAL ("triggered()" ), self .copySelectedResults )
71
69
72
- self .connect (self .btnExecute , SIGNAL ("clicked()" ), self .executeSql )
73
- self .connect (self .btnClear , SIGNAL ("clicked()" ), self .clearSql )
74
- self .connect (self .buttonBox .button (QDialogButtonBox .Close ), SIGNAL ("clicked()" ), self .close )
70
+ copyAction .triggered .connect (self .copySelectedResults )
71
+
72
+ self .btnExecute .clicked .connect (self .executeSql )
73
+ self .btnClear .clicked .connect (self .clearSql )
74
+
75
+ self .presetStore .clicked .connect (self .storePreset )
76
+ self .presetDelete .clicked .connect (self .deletePreset )
77
+ self .presetCombo .activated [str ].connect (self .loadPreset )
78
+ self .presetCombo .activated [str ].connect (self .presetName .setText )
75
79
76
- self .connect (self .presetStore , SIGNAL ("clicked()" ), self .storePreset )
77
- self .connect (self .presetDelete , SIGNAL ("clicked()" ), self .deletePreset )
78
- self .connect (self .presetCombo , SIGNAL ("activated(QString)" ), self .loadPreset )
79
- self .connect (self .presetCombo , SIGNAL ("activated(QString)" ), self .presetName .setText )
80
80
self .updatePresetsCombobox ()
81
81
82
82
# hide the load query as layer if feature is not supported
83
83
self ._loadAsLayerAvailable = self .db .connector .hasCustomQuerySupport ()
84
84
self .loadAsLayerGroup .setVisible (self ._loadAsLayerAvailable )
85
85
if self ._loadAsLayerAvailable :
86
86
self .layerTypeWidget .hide () # show if load as raster is supported
87
- self .connect ( self . loadLayerBtn , SIGNAL ( " clicked()" ), self .loadSqlLayer )
88
- self .connect ( self . getColumnsBtn , SIGNAL ( " clicked()" ), self .fillColumnCombos )
89
- self .connect ( self . loadAsLayerGroup , SIGNAL ( " toggled(bool)" ), self .loadAsLayerToggled )
87
+ self .loadLayerBtn . clicked . connect ( self .loadSqlLayer )
88
+ self .getColumnsBtn . clicked . connect ( self .fillColumnCombos )
89
+ self .loadAsLayerGroup . toggled . connect ( self .loadAsLayerToggled )
90
90
self .loadAsLayerToggled (False )
91
91
92
92
self ._createViewAvailable = self .db .connector .hasCreateSpatialViewSupport ()
93
93
self .btnCreateView .setVisible ( self ._createViewAvailable )
94
94
if self ._createViewAvailable :
95
- self .connect ( self . btnCreateView , SIGNAL ( " clicked()" ), self .createView )
95
+ self .btnCreateView . clicked . connect ( self .createView )
96
96
97
97
self .queryBuilderFirst = True
98
98
self .queryBuilderBtn .setIcon (QIcon (":/db_manager/icons/sql.gif" ))
99
- self .connect ( self .queryBuilderBtn , SIGNAL ("clicked()" ), self .displayQueryBuilder )
99
+ self .queryBuilderBtn .clicked .connect (self .displayQueryBuilder )
100
+
101
+ self .presetName .textChanged .connect (self .nameChanged )
100
102
101
103
def updatePresetsCombobox (self ):
102
104
self .presetCombo .clear ()
@@ -135,13 +137,6 @@ def loadPreset(self, name):
135
137
name = QgsProject .instance ().readEntry ('DBManager' , 'savedQueries/q' + unicode (name .__hash__ ()) + '/name' )[0 ]
136
138
self .editSql .setText (query )
137
139
138
- def closeEvent (self , e ):
139
- """ save window state """
140
- settings = QSettings ()
141
- settings .setValue ("/DB_Manager/sqlWindow/geometry" , self .saveGeometry ())
142
-
143
- QDialog .closeEvent (self , e )
144
-
145
140
def loadAsLayerToggled (self , checked ):
146
141
self .loadAsLayerGroup .setChecked (checked )
147
142
self .loadAsLayerWidget .setVisible (checked )
0 commit comments