mirror of
https://github.com/GradienceTeam/Gradience.git
synced 2024-06-28 23:49:56 +00:00
Added callbacks for values
For now they're just changing each other
This commit is contained in:
parent
8d6608e4f7
commit
bfcc7f3a54
|
@ -122,7 +122,7 @@ class AdwcustomizerApplication(Adw.Application):
|
|||
modal=True,
|
||||
program_name='AdwCustomizer',
|
||||
logo_icon_name='com.github.ArtyIF.AdwCustomizer',
|
||||
version='0.0.2',
|
||||
version='0.0.3',
|
||||
authors=['ArtyIF'],
|
||||
copyright='© 2022 ArtyIF')
|
||||
|
||||
|
|
|
@ -50,6 +50,14 @@ class AdwcustomizerOption(Adw.ActionRow):
|
|||
|
||||
self.update_value(value)
|
||||
|
||||
@Gtk.Template.Callback()
|
||||
def on_color_value_changed(self, *args):
|
||||
self.update_value(self.color_value.get_rgba().to_string(), update_from="color_value")
|
||||
|
||||
@Gtk.Template.Callback()
|
||||
def on_text_value_changed(self, *args):
|
||||
self.update_value(self.text_value.get_text(), update_from="text_value")
|
||||
|
||||
@Gtk.Template.Callback()
|
||||
def on_text_value_toggled(self, *args):
|
||||
if (self.text_value_toggle.get_active()):
|
||||
|
@ -57,13 +65,19 @@ class AdwcustomizerOption(Adw.ActionRow):
|
|||
else:
|
||||
self.value_stack.set_visible_child(self.color_value)
|
||||
|
||||
def update_value(self, new_value):
|
||||
self.text_value.set_text(new_value)
|
||||
rgba = Gdk.RGBA()
|
||||
if rgba.parse(new_value):
|
||||
self.color_value.set_rgba(rgba)
|
||||
self.text_value_toggle.set_active(False)
|
||||
else:
|
||||
self.text_value_toggle.set_active(True)
|
||||
def update_value(self, new_value, **kwargs):
|
||||
if kwargs.get("update_from") != "text_value":
|
||||
self.text_value.set_text(new_value)
|
||||
if kwargs.get("update_from") != "color_value":
|
||||
rgba = Gdk.RGBA()
|
||||
if rgba.parse(new_value):
|
||||
self.color_value.set_rgba(rgba)
|
||||
if kwargs.get("update_from") != "text_value":
|
||||
self.text_value_toggle.set_active(False)
|
||||
elif kwargs.get("update_from") != "text_value":
|
||||
self.text_value_toggle.set_active(True)
|
||||
else:
|
||||
rgba.parse("#00000000")
|
||||
self.color_value.set_rgba(rgba)
|
||||
|
||||
|
||||
|
|
|
@ -20,9 +20,11 @@ template AdwcustomizerOption : Adw.ActionRow {
|
|||
|
||||
ColorButton color-value {
|
||||
rgba: "#00000000";
|
||||
color-set => on_color_value_changed();
|
||||
}
|
||||
Entry text-value {
|
||||
text: "#00000000";
|
||||
changed => on_text_value_changed();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
# use or other dealings in this Software without prior written
|
||||
# authorization.
|
||||
|
||||
from gi.repository import Gtk, Gdk, Gio, Adw
|
||||
from gi.repository import Gtk
|
||||
import json
|
||||
|
||||
@Gtk.Template(resource_path='/com/github/ArtyIF/AdwCustomizer/ui/window.ui')
|
||||
|
|
Loading…
Reference in a new issue