소스 검색

Use SinkConfig objects for Save button visibility

Since I was clever enough to implement equality testing for SinkConfig,
the Save button's visibility can now be checked with a single comparison
of two SinkConfig objects.  Wonderful!
Clara Hobbs 7 년 전
부모
커밋
2fedef819f
1개의 변경된 파일9개의 추가작업 그리고 18개의 파일을 삭제
  1. 9
    18
      pd-buddy-gtk.py

+ 9
- 18
pd-buddy-gtk.py 파일 보기

182
             comms_error_dialog(window, e)
182
             comms_error_dialog(window, e)
183
             return
183
             return
184
 
184
 
185
+        self._store_device_settings()
186
+        self._set_save_button_visibility()
187
+
185
         # Set giveback button state
188
         # Set giveback button state
186
         giveback.set_active(bool(self.cfg.flags & pdbuddy.SinkFlags.GIVEBACK))
189
         giveback.set_active(bool(self.cfg.flags & pdbuddy.SinkFlags.GIVEBACK))
187
 
190
 
197
 
200
 
198
         current.set_value(self.cfg.i/1000)
201
         current.set_value(self.cfg.i/1000)
199
 
202
 
200
-        self._store_device_settings()
201
-        self._set_save_button_visibility()
202
-
203
         # Show the Sink page
203
         # Show the Sink page
204
         hst = self.builder.get_object("header-stack")
204
         hst = self.builder.get_object("header-stack")
205
         hsink = self.builder.get_object("header-sink")
205
         hsink = self.builder.get_object("header-sink")
256
 
256
 
257
     def _store_device_settings(self):
257
     def _store_device_settings(self):
258
         """Store the settings that were loaded from the device"""
258
         """Store the settings that were loaded from the device"""
259
-        # Get voltage and current widgets
260
-        voltage = self.builder.get_object("voltage-combobox")
261
-        current = self.builder.get_object("current-spinbutton")
262
-        giveback = self.builder.get_object("giveback-toggle")
263
-
264
-        # Remember the loaded settings
265
-        self.voltage = voltage.get_active_id()
266
-        self.current = current.get_value()
267
-        self.giveback = giveback.get_active()
259
+        self.cfg_clean = pdbuddy.SinkConfig(
260
+                status=self.cfg.status,
261
+                flags=self.cfg.flags,
262
+                v=self.cfg.v,
263
+                i=self.cfg.i)
268
 
264
 
269
     def _set_save_button_visibility(self):
265
     def _set_save_button_visibility(self):
270
         """Show the save button if there are new settings to save"""
266
         """Show the save button if there are new settings to save"""
271
         # Get relevant widgets
267
         # Get relevant widgets
272
-        voltage = self.builder.get_object("voltage-combobox")
273
-        current = self.builder.get_object("current-spinbutton")
274
-        giveback = self.builder.get_object("giveback-toggle")
275
         rev = self.builder.get_object("header-sink-save-revealer")
268
         rev = self.builder.get_object("header-sink-save-revealer")
276
 
269
 
277
         # Set visibility
270
         # Set visibility
278
-        rev.set_reveal_child(voltage.get_active_id() != self.voltage
279
-                             or current.get_value() != self.current
280
-                             or giveback.get_active() != self.giveback)
271
+        rev.set_reveal_child(self.cfg != self.cfg_clean)
281
 
272
 
282
     def on_voltage_combobox_changed(self, combo):
273
     def on_voltage_combobox_changed(self, combo):
283
         self.cfg.v = int(combo.get_active_text()) * 1000
274
         self.cfg.v = int(combo.get_active_text()) * 1000

Loading…
취소
저장