Mercurial > system76-keyboard-colors
comparison ui/main_window.py @ 1:b6d0a1e6ba3a
Linter cleanup
author | Brad Greco <brad@bgreco.net> |
---|---|
date | Tue, 02 Feb 2021 19:46:01 -0500 |
parents | 11a9d346aa7a |
children | 091a1f59a79c |
comparison
equal
deleted
inserted
replaced
0:11a9d346aa7a | 1:b6d0a1e6ba3a |
---|---|
1 import gi | 1 import gi |
2 import os | 2 import os |
3 gi.require_version("Gtk", "3.0") | |
4 from gi.repository import Gtk | 3 from gi.repository import Gtk |
5 from keyboard_colors.color_profile import ProfileManager | 4 from keyboard_colors.color_profile import ProfileManager |
5 gi.require_version("Gtk", "3.0") | |
6 # from ui.keyboard_section import KeyboardSection | 6 # from ui.keyboard_section import KeyboardSection |
7 | |
7 | 8 |
8 class MainWindow: | 9 class MainWindow: |
9 | 10 |
10 def init(self): | 11 def init(self): |
11 self.profile_manager = ProfileManager() | 12 self.profile_manager = ProfileManager() |
12 | 13 |
13 self.builder = Gtk.Builder() | 14 self.builder = Gtk.Builder() |
14 dirname = os.path.dirname(os.path.realpath(__file__)) | 15 dirname = os.path.dirname(os.path.realpath(__file__)) |
15 self.builder.add_from_file(os.path.join(dirname, 'MainWindow.glade')) | 16 self.builder.add_from_file(os.path.join(dirname, 'MainWindow.glade')) |
16 self.builder.connect_signals(self) | 17 self.builder.connect_signals(self) |
17 window = self.builder.get_object('main_window') | 18 window = self.builder.get_object('main_window') |
18 | 19 |
19 color_profile_list_store = self.builder.get_object('color_profile_list_store') | 20 color_profile_list_store = self.builder.get_object('color_profile_list_store') |
20 # color_profile_list_store.append(["1", "test"]) | 21 # color_profile_list_store.append(["1", "test"]) |
21 | 22 |
22 keyboard_section = self.builder.get_object('keyboard_section') | 23 keyboard_section = self.builder.get_object('keyboard_section') |
23 keyboard_section.pack_start(KeyboardSection(color_profile_list_store), False, False, 0) | 24 keyboard_section.pack_start(KeyboardSection(color_profile_list_store), False, False, 0) |
24 keyboard_section.pack_start(KeyboardSection(color_profile_list_store), False, False, 0) | 25 keyboard_section.pack_start(KeyboardSection(color_profile_list_store), False, False, 0) |
25 keyboard_section.pack_start(KeyboardSection(color_profile_list_store), False, False, 0) | 26 keyboard_section.pack_start(KeyboardSection(color_profile_list_store), False, False, 0) |
26 | 27 |
27 # for profile_id, profile_type in self.profile_manager.get_types().items(): | 28 # for profile_id, profile_type in self.profile_manager.get_types().items(): |
28 | 29 |
29 menu = Gtk.Menu() | 30 menu = Gtk.Menu() |
30 menu.set_halign(Gtk.Align.CENTER) | 31 menu.set_halign(Gtk.Align.CENTER) |
31 for profile_type in self.profile_manager.get_types(): | 32 for profile_type in self.profile_manager.get_types(): |
32 item = Gtk.MenuItem.new_with_label(profile_type.type_name) | 33 item = Gtk.MenuItem.new_with_label(profile_type.type_name) |
33 item.connect('activate', self.create_profile, profile_type) | 34 item.connect('activate', self.create_profile, profile_type) |
34 item.show() | 35 item.show() |
35 menu.append(item) | 36 menu.append(item) |
36 add_button = Gtk.MenuButton() | 37 add_button = Gtk.MenuButton() |
37 add_button.set_popup(menu) | 38 add_button.set_popup(menu) |
38 add_profile_button_contents = self.builder.get_object('add_profile_button_contents') | 39 add_profile_button_contents = self.builder.get_object('add_profile_button_contents') |
39 add_button.add(add_profile_button_contents) | 40 add_button.add(add_profile_button_contents) |
40 | 41 |
41 profile_pane = self.builder.get_object('profile_pane') | 42 profile_pane = self.builder.get_object('profile_pane') |
42 profile_pane.add(add_button) | 43 profile_pane.add(add_button) |
43 | 44 |
44 window.show_all() | 45 window.show_all() |
45 Gtk.main() | 46 Gtk.main() |
46 | 47 |
47 def create_profile(self, widget, profile_type): | 48 def create_profile(self, widget, profile_type): |
48 profile = profile_type() | 49 profile = profile_type() |
49 color_profile_list_store = self.builder.get_object('color_profile_list_store') | 50 color_profile_list_store = self.builder.get_object('color_profile_list_store') |
50 color_profile_list_store.append([profile.id, 'New ' + profile.type_name]) | 51 color_profile_list_store.append([profile.id, 'New ' + profile.type_name]) |
51 self.builder.get_object('profile_tree_view').set_cursor(len(color_profile_list_store) - 1) | 52 self.builder.get_object('profile_tree_view').set_cursor(len(color_profile_list_store) - 1) |
52 self.edit_profile(profile) | 53 self.edit_profile(profile) |
53 self.builder.get_object('edit_profile_name_entry').grab_focus() | 54 self.builder.get_object('edit_profile_name_entry').grab_focus() |
54 | 55 |
55 def edit_profile(self, profile): | 56 def edit_profile(self, profile): |
56 self.builder.get_object('edit_profile_box').show() | 57 self.builder.get_object('edit_profile_box').show() |
57 | 58 |
58 self.builder.get_object('edit_profile_type_name_label').set_text(profile.type_name) | 59 self.builder.get_object('edit_profile_type_name_label').set_text(profile.type_name) |
59 self.builder.get_object('edit_profile_name_entry').set_text(profile.name) | 60 self.builder.get_object('edit_profile_name_entry').set_text(profile.name) |
60 | 61 |
61 edit_profile_details_box = self.builder.get_object('edit_profile_details_box') | 62 edit_profile_details_box = self.builder.get_object('edit_profile_details_box') |
62 for child in edit_profile_details_box.get_children(): | 63 for child in edit_profile_details_box.get_children(): |
63 edit_profile_details_box.remove(child) | 64 edit_profile_details_box.remove(child) |
64 edit_profile_details_box.add(profile.build_settings_ui()) | 65 edit_profile_details_box.add(profile.build_settings_ui()) |
65 | 66 |
66 def edit_profile_name_changed(self, entry): | 67 def edit_profile_name_changed(self, entry): |
67 profile_name = entry.get_text() | 68 profile_name = entry.get_text() |
68 color_profile_list_store = self.builder.get_object('color_profile_list_store') | 69 color_profile_list_store = self.builder.get_object('color_profile_list_store') |
69 selection = self.builder.get_object('profile_tree_view').get_selection() | 70 selection = self.builder.get_object('profile_tree_view').get_selection() |
70 (model, tree_iter) = selection.get_selected() | 71 (model, tree_iter) = selection.get_selected() |
71 model.set_value(tree_iter, 1, profile_name) | 72 model.set_value(tree_iter, 1, profile_name) |
72 | 73 |
73 def edit_profile_name_entry_focus_out(self, entry, event): | 74 def edit_profile_name_entry_focus_out(self, entry, event): |
74 pass | 75 pass |
76 | |
75 | 77 |
76 class KeyboardSection(Gtk.Grid): | 78 class KeyboardSection(Gtk.Grid): |
77 | 79 |
78 def __init__(self, model): | 80 def __init__(self, model): |
79 super().__init__() | 81 super().__init__() |
80 | 82 |
81 profile_label = Gtk.Label('Color profile') | 83 profile_label = Gtk.Label('Color profile') |
82 # profile_combo_box = Gtk.ComboBox(model) | 84 # profile_combo_box = Gtk.ComboBox(model) |
83 profile_combo_box = Gtk.ComboBox.new_with_model(model) | 85 profile_combo_box = Gtk.ComboBox.new_with_model(model) |
84 # profile_combo_box.set_entry_text_column(1) | 86 # profile_combo_box.set_entry_text_column(1) |
85 # profile_combo_box.append_text('asdf') | 87 # profile_combo_box.append_text('asdf') |
86 renderer_text = Gtk.CellRendererText() | 88 renderer_text = Gtk.CellRendererText() |
87 profile_combo_box.pack_start(renderer_text, True) | 89 profile_combo_box.pack_start(renderer_text, True) |
88 profile_combo_box.add_attribute(renderer_text, 'text', 1) | 90 profile_combo_box.add_attribute(renderer_text, 'text', 1) |
89 | 91 |
90 self.add(profile_label) | 92 self.add(profile_label) |
91 self.add(profile_combo_box) | 93 self.add(profile_combo_box) |