Mercurial > system76-keyboard-colors
comparison ui/main_window.py @ 3:eb2aa09653bd default tip
beginnings of CPU colors, daemon
author | Brad Greco <brad@bgreco.net> |
---|---|
date | Mon, 29 Mar 2021 20:27:09 -0400 |
parents | 091a1f59a79c |
children |
comparison
equal
deleted
inserted
replaced
2:091a1f59a79c | 3:eb2aa09653bd |
---|---|
1 import itertools | |
1 import gi | 2 import gi |
2 import os | 3 import os |
3 from keyboard_colors.color_profile import ProfileManager | 4 from keyboard_colors.color_profile import ProfileManager |
4 gi.require_version("Gtk", "3.0") | 5 gi.require_version("Gtk", "3.0") |
5 from gi.repository import Gtk | 6 from gi.repository import Gtk |
48 profile_pane.add(add_button) | 49 profile_pane.add(add_button) |
49 | 50 |
50 window.show_all() | 51 window.show_all() |
51 Gtk.main() | 52 Gtk.main() |
52 | 53 |
54 def load_color_profiles(self): | |
55 for profile in self.profile_manager.get_profiles().values(): | |
56 self.color_profile_list_store.append([profile.id, profile.name]) | |
57 | |
53 def create_profile(self, widget, profile_type): | 58 def create_profile(self, widget, profile_type): |
54 # todo move to profile manager | 59 # todo move to profile manager |
55 profile = profile_type() | 60 profile = profile_type() |
56 self.color_profile_list_store.append([profile.id, 'New ' + profile.type_name]) | 61 self.color_profile_list_store.append([profile.id, 'New ' + profile.type_name]) |
57 self.builder.get_object('profile_tree_view').set_cursor( | 62 self.builder.get_object('profile_tree_view').set_cursor( |
59 ) | 64 ) |
60 self.edit_profile(profile) | 65 self.edit_profile(profile) |
61 self.builder.get_object('edit_profile_name_entry').grab_focus() | 66 self.builder.get_object('edit_profile_name_entry').grab_focus() |
62 | 67 |
63 def edit_profile(self, profile): | 68 def edit_profile(self, profile): |
64 self.builder.get_object('edit_profile_box').show() | 69 edit_profile_box = self.builder.get_object('edit_profile_box') |
70 edit_profile_box.show() | |
65 | 71 |
66 self.builder.get_object('edit_profile_type_name_label').set_text(profile.type_name) | 72 self.builder.get_object('edit_profile_type_name_label').set_text(profile.type_name) |
67 self.builder.get_object('edit_profile_name_entry').set_text(profile.name) | 73 self.builder.get_object('edit_profile_name_entry').set_text(profile.name) |
68 | 74 |
69 edit_profile_details_box = self.builder.get_object('edit_profile_details_box') | 75 edit_profile_details_box = self.builder.get_object('edit_profile_details_box') |
70 for child in edit_profile_details_box.get_children(): | 76 for child in edit_profile_details_box.get_children(): |
71 edit_profile_details_box.remove(child) | 77 edit_profile_details_box.remove(child) |
72 edit_profile_details_box.add(profile.build_settings_ui()) | 78 edit_profile_details_box.add(profile.build_settings_ui()) |
79 | |
80 edit_profile_entries = self.find_descendents(edit_profile_box, Gtk.Entry) | |
81 pass | |
82 | |
83 def find_descendents(self, widget, type): | |
84 if isinstance(widget, type): | |
85 return [widget] | |
86 | |
87 try: | |
88 matches = [] | |
89 for child in widget.get_children(): | |
90 matches = matches + self.find_descendents(child, type) | |
91 return matches | |
92 except AttributeError: | |
93 return [] | |
94 | |
73 | 95 |
74 def profile_tree_view_selection_changed(self, selection): | 96 def profile_tree_view_selection_changed(self, selection): |
75 (model, tree_iter) = selection.get_selected() | 97 (model, tree_iter) = selection.get_selected() |
76 profile_id = model.get_value(tree_iter, 0) | 98 profile_id = model.get_value(tree_iter, 0) |
77 self.edit_profile(self.profile_manager.get_profile(profile_id)) | 99 self.edit_profile(self.profile_manager.get_profile(profile_id)) |
82 (model, tree_iter) = selection.get_selected() | 104 (model, tree_iter) = selection.get_selected() |
83 model.set_value(tree_iter, 1, profile_name) | 105 model.set_value(tree_iter, 1, profile_name) |
84 | 106 |
85 def edit_profile_name_entry_focus_out(self, entry, event): | 107 def edit_profile_name_entry_focus_out(self, entry, event): |
86 pass | 108 pass |
87 | |
88 def load_color_profiles(self): | |
89 for profile in self.profile_manager.get_profiles().values(): | |
90 self.color_profile_list_store.append([profile.id, profile.name]) | |
91 | 109 |
92 class KeyboardSection(Gtk.Grid): | 110 class KeyboardSection(Gtk.Grid): |
93 | 111 |
94 def __init__(self, model): | 112 def __init__(self, model): |
95 super().__init__() | 113 super().__init__() |