def plugin_widget(self): self.tray_icon.set_tooltip_text("%s %s" % (time.strftime("%Y-%m-%d"), self.WEEK[int(time.strftime("%w")) - 1])) align = self.__setup_align() box = gtk.VBox(spacing = 5) calendar_align = self.__setup_align() calendar = deepin_lunar.new() self.calendar = deepin_lunar.new() if MAIN_LANG == "en_US": self.calendar = dltk_calendar.new() calendar.mark_day(time.localtime().tm_mday) calendar.set_day_padding(0) calendar.get_handle().set_property("show-details", False) if len(locale.getdefaultlocale(['LANGUAGE'])) and locale.getdefaultlocale(['LANGUAGE'])[0] is not None: if locale.getdefaultlocale(['LANGUAGE'])[0].find("zh_CN") != 0: self.width = 230 else: self.width = 230 calendar.get_handle().set_size_request(self.width, 172) calendar_align.add(calendar.get_handle()) select_align = self.__setup_align() select_button = SelectButton(_("Change date and time settings"), font_size = 10, ali_padding = 5) select_button.set_size_request(self.width, 25) select_align.add(select_button) select_button.connect("clicked", self.__on_day_selected) box.pack_start(calendar_align, False, False) box.pack_start(select_align, False, False) align.add(box) return align
def plugin_widget(self): self.tray_icon.set_tooltip_text( "%s %s" % (time.strftime("%Y-%m-%d"), self.WEEK[int(time.strftime("%w")) - 1])) align = self.__setup_align() box = gtk.VBox(spacing=5) calendar_align = self.__setup_align() calendar = deepin_lunar.new() self.calendar = deepin_lunar.new() if MAIN_LANG == "en_US": self.calendar = dltk_calendar.new() calendar.mark_day(time.localtime().tm_mday) calendar.set_day_padding(0) calendar.get_handle().set_property("show-details", False) if len(locale.getdefaultlocale([ 'LANGUAGE' ])) and locale.getdefaultlocale(['LANGUAGE'])[0] is not None: if locale.getdefaultlocale(['LANGUAGE'])[0].find("zh_CN") != 0: self.width = 230 else: self.width = 230 calendar.get_handle().set_size_request(self.width, 172) calendar_align.add(calendar.get_handle()) select_align = self.__setup_align() select_button = SelectButton(_("Change date and time settings"), font_size=10, ali_padding=5) select_button.set_size_request(self.width, 25) select_align.add(select_button) select_button.connect("clicked", self.__on_day_selected) box.pack_start(calendar_align, False, False) box.pack_start(select_align, False, False) align.add(box) return align
def plugin_widget(self): self.__get_devices() plugin_box = gtk.VBox() adapter_box = gtk.HBox(spacing=5) adapter_image = ImageBox( app_theme.get_pixbuf("bluetooth/enable_open.png")) adapter_label = self.__setup_label(_("Adapter")) adapter_toggle = self.__setup_toggle() if self.my_bluetooth.adapter: adapter_toggle.set_active(self.my_bluetooth.adapter.get_powered()) if self.my_bluetooth.adapter.get_powered(): self.tray_icon.set_icon_theme("enable") else: self.tray_icon.set_icon_theme("enable_disconnect") adapter_toggle.connect("toggled", self.__adapter_toggled) separator_align = self.__setup_align(padding_bottom=0) separator = self.__setup_separator() separator_align.add(separator) ''' devices treeview ''' device_treeview = TreeView() device_separator_align = self.__setup_align() device_separator = self.__setup_separator() device_separator_align.add(device_separator) device_count = len(self.device_items) if device_count: device_treeview.delete_all_items() device_treeview.add_items(self.device_items) device_treeview.set_size_request( self.width, device_count * DeviceItem.ITEM_HEIGHT) else: device_treeview.set_child_visible(False) device_separator_align.set_size_request(-1, 0) device_separator_align.set_child_visible(False) ''' select button ''' select_button_align = self.__setup_align() select_button = SelectButton(_("Advanced options..."), font_size=10, ali_padding=5) select_button.set_size_request(self.width, 25) select_button.connect( "clicked", self.__bluetooth_selected ) # I don't know why, but replacing "button-press-event" with select_button_align.add(select_button) # clicked really works... adapter_box.pack_start(adapter_image, False, False) adapter_box.pack_start(adapter_label, False, False) adapter_box.pack_start(adapter_toggle, False, False) plugin_box.pack_start(adapter_box, False, False) plugin_box.pack_start(separator_align, False, False) plugin_box.pack_start(device_treeview, False, False) plugin_box.pack_start(device_separator_align, False, False) plugin_box.pack_start(select_button_align, False, False) return plugin_box
def plugin_widget(self): self.__get_devices() plugin_box = gtk.VBox() adapter_box = gtk.HBox(spacing = 5) adapter_image = ImageBox(app_theme.get_pixbuf("bluetooth/enable_open.png")) adapter_label = self.__setup_label(_("Adapter")) adapter_toggle = self.__setup_toggle() if self.my_bluetooth.adapter: adapter_toggle.set_active(self.my_bluetooth.adapter.get_powered()) if self.my_bluetooth.adapter.get_powered(): self.tray_icon.set_icon_theme("enable") else: self.tray_icon.set_icon_theme("enable_disconnect") adapter_toggle.connect("toggled", self.__adapter_toggled) separator_align = self.__setup_align(padding_bottom = 0) separator = self.__setup_separator() separator_align.add(separator) ''' devices treeview ''' device_treeview = TreeView() device_separator_align = self.__setup_align() device_separator = self.__setup_separator() device_separator_align.add(device_separator) device_count = len(self.device_items) if device_count: device_treeview.delete_all_items() device_treeview.add_items(self.device_items) device_treeview.set_size_request(self.width, device_count * DeviceItem.ITEM_HEIGHT) else: device_treeview.set_child_visible(False) device_separator_align.set_size_request(-1, 0) device_separator_align.set_child_visible(False) ''' select button ''' select_button_align = self.__setup_align() select_button = SelectButton(_("Advanced options..."), font_size = 10, ali_padding = 5) select_button.set_size_request(self.width, 25) select_button.connect("clicked", self.__bluetooth_selected) # I don't know why, but replacing "button-press-event" with select_button_align.add(select_button) # clicked really works... adapter_box.pack_start(adapter_image, False, False) adapter_box.pack_start(adapter_label, False, False) adapter_box.pack_start(adapter_toggle, False, False) plugin_box.pack_start(adapter_box, False, False) plugin_box.pack_start(separator_align, False, False) plugin_box.pack_start(device_treeview, False, False) plugin_box.pack_start(device_separator_align, False, False) plugin_box.pack_start(select_button_align, False, False) return plugin_box
class PowerGui(gtk.VBox): def __init__(self, power_settings): gtk.VBox.__init__(self) self.power_settings = power_settings self.hbox = gtk.HBox() # init top widgets. self.icon = vtk_theme.name.get_image("power/power_icon.png") self.label = gtk.Label(_("Power")) self.label.connect("expose-event", self.label_expose_event) self.hbox.pack_start(self.icon, False, False) self.hbox.pack_start(self.label, False, False) # init mid widgets. self.top_line_ali = gtk.Alignment(1.0, 1.0, 1.0, 1.0) self.top_line_ali.set_padding(5, 5, 0, 0) self.top_line = HSeparator(HSEPARATOR_COLOR, 0, 0) self.top_line_ali.add(self.top_line) self.one_mode_btn = SelectButton(_("Balanced"), ali_padding=125) self.two_mode_btn = SelectButton(_("Power saver"), ali_padding=125) self.tree_mode_btn = SelectButton(_("High performance"), ali_padding=125) self.customized_mode_btn = SelectButton(_("Custom"), ali_padding=125) self.one_mode_btn.connect("clicked", self.one_mode_btn_clicked) self.two_mode_btn.connect("clicked", self.two_mode_btn_clicked) self.tree_mode_btn.connect("clicked", self.tree_mode_btn_clicked) self.customized_mode_btn.connect("clicked", self.__on_customized_mode_btn_clicked) self.mode_height = 25 self.one_mode_btn.set_size_request(-1, self.mode_height) self.two_mode_btn.set_size_request(-1, self.mode_height) self.tree_mode_btn.set_size_request(-1, self.mode_height) self.customized_mode_btn.set_size_request(-1, self.mode_height) # init bottom widgets self.bottom_line_ali = gtk.Alignment(1.0, 1.0, 1.0, 1.0) self.bottom_line_ali.set_padding(5, 5, 0, 0) self.bottom_line = HSeparator(HSEPARATOR_COLOR, 0, 0) self.bottom_line_ali.add(self.bottom_line) self.click_btn = SelectButton(_("Advanced..."), ali_padding=5) self.click_btn.set_size_request(-1, 25) # add all widgets. self.pack_start(self.hbox, False, False) self.pack_start(self.top_line_ali, False, False) self.pack_start(self.one_mode_btn, False, False) self.pack_start(self.two_mode_btn, False, False) self.pack_start(self.tree_mode_btn, False, False) self.pack_start(self.customized_mode_btn, False, False) self.pack_start(self.bottom_line_ali, False, False) self.pack_start(self.click_btn, False, False) def label_expose_event(self, widget, event): cr = widget.window.cairo_create() rect = widget.allocation # draw_text(cr, widget.get_label(), rect.x + 5, rect.y, text_color="#000000") # return True def one_mode_btn_clicked(self, widget): self.set_mode_bit(widget) self.power_settings.set_string("current-plan", "balance") def two_mode_btn_clicked(self, widget): self.set_mode_bit(widget) self.power_settings.set_string("current-plan", "saving") def tree_mode_btn_clicked(self, widget): self.set_mode_bit(widget) self.power_settings.set_string("current-plan", "high-performance") def __on_customized_mode_btn_clicked(self, widget): self.set_mode_bit(widget) self.power_settings.set_string("current-plan", "customized") def set_mode_bit(self, widget): self.one_mode_btn.text_color = "#000000" self.two_mode_btn.text_color = "#000000" self.tree_mode_btn.text_color = "#000000" self.customized_mode_btn.text_color = "#000000" self.one_mode_btn.queue_draw() self.two_mode_btn.queue_draw() self.tree_mode_btn.queue_draw() self.customized_mode_btn.queue_draw() # set press color. widget.text_color = "#3da1f7"