Apply slider value on release (#430)
Scale will do the action when released instead of many times for every step while sliding.
This commit is contained in:
parent
bf67129528
commit
926773f4f3
@ -57,7 +57,7 @@ class FanPanel(ScreenPanel):
|
||||
self.fan_speed[fan] = round(float(speed) * 100)
|
||||
self.devices[fan]['scale'].disconnect_by_func(self.set_fan_speed)
|
||||
self.devices[fan]['scale'].set_value(self.fan_speed[fan])
|
||||
self.devices[fan]['scale'].connect("value-changed", self.set_fan_speed, fan)
|
||||
self.devices[fan]['scale'].connect("button-release-event", self.set_fan_speed, fan)
|
||||
else:
|
||||
self.fan_speed[fan] = float(speed)
|
||||
self.devices[fan]['scale'].set_fraction(self.fan_speed[fan])
|
||||
@ -101,7 +101,7 @@ class FanPanel(ScreenPanel):
|
||||
scale.set_hexpand(True)
|
||||
scale.set_has_origin(True)
|
||||
scale.get_style_context().add_class("fan_slider")
|
||||
scale.connect("value-changed", self.set_fan_speed, fan)
|
||||
scale.connect("button-release-event", self.set_fan_speed, fan)
|
||||
else:
|
||||
scale = Gtk.ProgressBar()
|
||||
scale.set_fraction(self.fan_speed[fan])
|
||||
@ -147,7 +147,7 @@ class FanPanel(ScreenPanel):
|
||||
continue
|
||||
self.add_fan(fan)
|
||||
|
||||
def set_fan_speed(self, widget, fan):
|
||||
def set_fan_speed(self, widget, event, fan):
|
||||
value = self.devices[fan]['scale'].get_value()
|
||||
|
||||
if fan == "fan":
|
||||
|
@ -73,7 +73,7 @@ class LimitsPanel(ScreenPanel):
|
||||
self.values[option] = int(value)
|
||||
self.devices[option]['scale'].disconnect_by_func(self.set_opt_value)
|
||||
self.devices[option]['scale'].set_value(self.values[option])
|
||||
self.devices[option]['scale'].connect("value-changed", self.set_opt_value, option)
|
||||
self.devices[option]['scale'].connect("button-release-event", self.set_opt_value, option)
|
||||
|
||||
def add_option(self, option, optname, units, value):
|
||||
logging.info("Adding option: %s" % option)
|
||||
@ -99,7 +99,7 @@ class LimitsPanel(ScreenPanel):
|
||||
scale.set_hexpand(True)
|
||||
scale.set_has_origin(True)
|
||||
scale.get_style_context().add_class("option_slider")
|
||||
scale.connect("value-changed", self.set_opt_value, option)
|
||||
scale.connect("button-release-event", self.set_opt_value, option)
|
||||
|
||||
labels = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
||||
labels.add(name)
|
||||
@ -123,7 +123,7 @@ class LimitsPanel(ScreenPanel):
|
||||
self.labels['devices'].attach(self.devices[option]['row'], 0, pos, 1, 1)
|
||||
self.labels['devices'].show_all()
|
||||
|
||||
def set_opt_value(self, widget, opt):
|
||||
def set_opt_value(self, widget, event, opt):
|
||||
value = self.devices[opt]['scale'].get_value()
|
||||
|
||||
if opt == "max_accel":
|
||||
|
@ -162,8 +162,8 @@ class SettingsPanel(ScreenPanel):
|
||||
scale = Gtk.Scale(orientation=Gtk.Orientation.HORIZONTAL, adjustment=adj)
|
||||
scale.set_hexpand(True)
|
||||
scale.set_digits(0)
|
||||
scale.connect("button-release-event", self.scale_moved, option['section'], opt_name)
|
||||
scale.set_property("width-request", round(self._screen.width/2.2))
|
||||
scale.connect("value-changed", self.scale_moved, option['section'], opt_name)
|
||||
dev.add(scale)
|
||||
elif option['type'] == "printer":
|
||||
logging.debug("Option: %s" % option)
|
||||
@ -230,7 +230,7 @@ class SettingsPanel(ScreenPanel):
|
||||
if callback is not None:
|
||||
callback(value)
|
||||
|
||||
def scale_moved(self, widget, section, option):
|
||||
def scale_moved(self, widget, event, section, option):
|
||||
logging.debug("[%s] %s changed to %s" % (section, option, widget.get_value()))
|
||||
if section not in self._config.get_config().sections():
|
||||
self._config.get_config().add_section(section)
|
||||
|
Loading…
x
Reference in New Issue
Block a user