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__()