@@ -92,61 +92,57 @@ def setup_ui(self):
9292 if widget :
9393 widget .setToolTip (tooltip )
9494
95- if layer_config ['type' ] in (InputType .List , InputType .CheckBoxAsDropdown ):
96- if widget is not None :
97- items = layer_config .get ('items' )
98- if items :
99- for item in items :
100- icon = item .value .get ('icon' )
101- if icon :
102- widget .addItem (QIcon (icon ), item .value ['label' ], item .value ['data' ])
103- else :
104- widget .addItem (item .value ['label' ], item .value ['data' ])
105- index = widget .findData (item .value ['data' ])
106- tooltip = item .value .get ('tooltip' )
107- if tooltip :
108- widget .setItemData (index , tooltip , Qt .ItemDataRole .ToolTipRole )
109- default = layer_config .get ('default' )
110- if default and not isinstance (default , (list , tuple )):
111- index = widget .findData (default .value ['data' ])
112- widget .setCurrentIndex (index )
95+ if layer_config ['type' ] in (InputType .List , InputType .CheckBoxAsDropdown ) and widget is not None :
96+ items = layer_config .get ('items' )
97+ if items :
98+ for item in items :
99+ icon = item .value .get ('icon' )
100+ if icon :
101+ widget .addItem (QIcon (icon ), item .value ['label' ], item .value ['data' ])
102+ else :
103+ widget .addItem (item .value ['label' ], item .value ['data' ])
104+ index = widget .findData (item .value ['data' ])
105+ tooltip = item .value .get ('tooltip' )
106+ if tooltip :
107+ widget .setItemData (index , tooltip , Qt .ItemDataRole .ToolTipRole )
108+ default = layer_config .get ('default' )
109+ if default and not isinstance (default , (list , tuple )):
110+ index = widget .findData (default .value ['data' ])
111+ widget .setCurrentIndex (index )
113112
114113 if layer_config ['type' ] == InputType .CheckBox :
115114 default_value = layer_config ['default' ]
116115 if widget is not None and not hasattr (default_value , '__call__' ):
117116 widget .setChecked (default_value )
118117
119- if layer_config ['type' ] == InputType .SpinBox :
120- if widget is not None :
121- unit = layer_config .get ('unit' )
122- if unit :
123- widget .setSuffix (unit )
118+ if widget is not None and layer_config ['type' ] == InputType .SpinBox :
119+ unit = layer_config .get ('unit' )
120+ if unit :
121+ widget .setSuffix (unit )
124122
125- default = layer_config .get ('default' )
126- if unit :
127- widget .setValue (default )
123+ default = layer_config .get ('default' )
124+ if unit :
125+ widget .setValue (default )
128126
129- if layer_config ['type' ] == InputType .Color :
130- if widget is not None :
131- if layer_config ['default' ] == '' :
132- widget .setShowNull (True )
133- widget .setToNull ()
134- else :
135- widget .setDefaultColor (QColor (layer_config ['default' ]))
136- widget .setToDefaultColor ()
137-
138- if layer_config .get ('read_only' ):
139- if widget is not None :
140- if layer_config ['type' ] == InputType .Text :
141- widget .setReadOnly (True )
142- elif layer_config ['type' ] == InputType .CheckBox :
143- # Some UX issues #338
144- # The disabled is not possible somehow ?
145- # The tooltip is not showing
146- widget .setText (tr ('Read only, check the tooltip on the label' ))
147- widget .setStyleSheet ("font: italic;" )
148- widget .setAttribute (Qt .WidgetAttribute .WA_TransparentForMouseEvents )
149- widget .setFocusPolicy (Qt .FocusPolicy .NoFocus )
127+ if widget is not None and layer_config ['type' ] == InputType .Color :
128+ if layer_config ['default' ] == '' :
129+ widget .setShowNull (True )
130+ widget .setToNull ()
131+ else :
132+ widget .setDefaultColor (QColor (layer_config ['default' ]))
133+ widget .setToDefaultColor ()
134+
135+ if widget is not None and layer_config .get ('read_only' ):
136+ if layer_config ['type' ] == InputType .Text :
137+ widget .setReadOnly (True )
138+ elif layer_config ['type' ] == InputType .CheckBox :
139+ # Some UX issues #338
140+ # The disabled is not possible somehow ?
141+ # The tooltip is not showing
142+ widget .setText (tr ('Read only, check the tooltip on the label' ))
143+ widget .setStyleSheet ("font: italic;" )
144+ widget .setAttribute (Qt .WidgetAttribute .WA_TransparentForMouseEvents )
145+ widget .setFocusPolicy (Qt .FocusPolicy .NoFocus )
150146
151147 if not layer_config .get ('visible' , True ):
152148 if widget is not None :
@@ -279,13 +275,12 @@ def validate(self):
279275 else :
280276 raise Exception ('InputType "{}" not implemented' .format (layer_config ['type' ]))
281277
282- if self .primary_key_valid is not None :
283- if not self .primary_key_valid :
284- return tr (
285- "The primary key defined in your datasource for the layer '{}' "
286- "is not valid. The layer is stored "
287- "in a database and must have a valid primary key defined in the project."
288- ).format (self .layer .currentLayer ().name ())
278+ if self .primary_key_valid is not None and not self .primary_key_valid :
279+ return tr (
280+ "The primary key defined in your datasource for the layer '{}' "
281+ "is not valid. The layer is stored "
282+ "in a database and must have a valid primary key defined in the project."
283+ ).format (self .layer .currentLayer ().name ())
289284
290285 for k , layer_config in self .config .layer_config .items ():
291286 if layer_config ['type' ] in (InputType .Field , InputType .PrimaryKeyField ):
@@ -295,11 +290,10 @@ def validate(self):
295290 # Dataviz does not have widget for Y, Z
296291 continue
297292
298- if not widget .allowEmptyFieldName ():
299- if widget .currentField () == '' :
300- names = re .findall (r'.[^A-Z]*' , k )
301- names = [n .lower ().replace ('_' , ' ' ) for n in names ]
302- return tr ('The field "{}" is mandatory.' ).format (' ' .join (names ))
293+ if not widget .allowEmptyFieldName () and widget .currentField () == '' :
294+ names = re .findall (r'.[^A-Z]*' , k )
295+ names = [n .lower ().replace ('_' , ' ' ) for n in names ]
296+ return tr ('The field "{}" is mandatory.' ).format (' ' .join (names ))
303297
304298 return None
305299
0 commit comments