def __init__(self): TreeView.__init__(self, enable_drag_drop=False, enable_multiple_select=True) targets = [("text/deepin-songs", gtk.TARGET_SAME_APP, 1), ("text/uri-list", 0, 2), ("text/plain", 0, 3)] self.drag_dest_set(gtk.DEST_DEFAULT_MOTION | gtk.DEST_DEFAULT_DROP, targets, gtk.gdk.ACTION_COPY) self.pl = None self.add_song_cache = [] sort_key = ["file", "album", "genre", "#track", "artist", "title", "#playcount", "#added"] self.sort_reverse = {key : False for key in sort_key } self.connect_after("drag-data-received", self.on_drag_data_received) self.connect("double-click-item", self.double_click_item_cb) self.connect("button-press-event", self.button_press_cb) self.connect("delete-select-items", self.try_emit_empty_signal) self.connect("motion-notify-item", self.on_motion_notify_item) self.connect("press-return", self.on_press_return) self.draw_area.connect("leave-notify-event", self.on_leave_notify_event) self.set_hide_columns([1]) self.set_expand_column(None) MediaDB.connect("removed", self.__remove_songs) MediaDB.connect("simple-changed", self.__songs_changed) self.song_notify = SongNotify() self.notify_timeout_id = None self.notify_timeout = 400 # ms self.delay_notify_item = None self.notify_offset_x = 5 self.invaild_items = set()
def __init__(self, data=None, view_type=1): TreeView.__init__(self, enable_drag_drop=False, enable_multiple_select=True) # view_type 为list类型 self.connect("double-click-item", self.on_music_view_double_click) self.connect("press-return", self.on_music_view_press_return) self.connect("right-press-items", self.on_music_view_right_press_items) #self.connect("delete-select-items", #self.on_music_view_delete_select_items) self.db_file = get_cache_file("neteasecloudmusic/neteasecloudmusic.db") self.view_type = view_type self.view_data = data self.request_thread_id = 0 self.collect_thread_id = 0 self.onlinelist_thread_id = 0 self.collect_page = 0 #self.load_online_playlists() #if self.view_type == self.DEFAULT_TYPE: #self.load() #elif self.view_type == self.COLLECT_TYPE: #self.load_collect_songs() #elif self.view_type == self.PLAYLIST_TYPE: self.load_onlinelist_songs()
class AlbumDetailPage(gtk.VBox): ''' class docs ''' def __init__(self, data_manager, album_info): ''' init docs ''' gtk.VBox.__init__(self) self.treeview = TreeView(enable_drag_drop=False, expand_column=1) items = [] for software_info in album_info['softwares']: items.append(AlbumDetailItem(software_info, data_manager)) self.treeview.add_items(items) self.treeview.draw_mask = self.draw_mask self.pack_start(self.treeview, True, True) def draw_mask(self, cr, x, y, w, h): ''' Draw mask interface. @param cr: Cairo context. @param x: X coordiante of draw area. @param y: Y coordiante of draw area. @param w: Width of draw area. @param h: Height of draw area. ''' draw_vlinear(cr, x, y, w, h, [(0, ("#FFFFFF", 0.9)), (1, ("#FFFFFF", 0.9)),] )
def __init__(self): gtk.VBox.__init__(self) self.set_spacing(5) self.plugins = utils.get_main_window().plugins self.plugins_view = TreeView() self.plugins_view.add_items = self.plugins_view_add_items self.plugins_view.set_expand_column(0) self.plugins_view.draw_mask = self.plugins_view_draw_mask self.plugins_view.set_size_request(420, 330) self.plugins_view.connect("single-click-item", self.on_plugins_view_single_click) self.plugins_view.connect("press-return", self.on_plugins_view_press_return) self.plugins_view.set_column_titles([_("Name"), _("Version"), _("Enable"), ""], (self.sort_by_title, self.sort_by_title, self.sort_by_title, self.sort_by_title)) plugins_view_align = set_widget_gravity(self.plugins_view, gravity=(1, 1, 1, 1), paddings=(10, 0, 0, 0)) self.plugin_infos = PluginInfos() self.plugin_infos.set_size_request(420, 90) # plugin info self.pack_start(plugins_view_align, False, True) self.pack_start(self.plugin_infos, False, True)
def create_mirror_select_table(self): main_table = gtk.Table(3, 2) main_table.set_row_spacings(CONTENT_ROW_SPACING) mirror_select_title = Label(_("Select mirror")) self.select_best_mirror_button = Button(self.select_best_mirror_button_texts["normal"]) self.select_best_mirror_button.connect("clicked", self.select_best_mirror) self.mirrors_dir = os.path.join(get_parent_dir(__file__, 2), 'mirrors') self.current_mirror_hostname = utils.get_current_mirror_hostname() self.mirror_items = self.get_mirror_items() self.mirror_view = TreeView(self.mirror_items, enable_drag_drop=False, enable_multiple_select=False, mask_bound_height=0, ) self.mirror_view.set_expand_column(1) self.mirror_view.set_size_request(-1, 280) self.mirror_view.draw_mask = self.mirror_treeview_draw_mask main_table.attach(mirror_select_title, 0, 1, 0, 1, yoptions=gtk.FILL) main_table.attach(self.select_best_mirror_button, 1, 2, 0, 1, xoptions=gtk.FILL) main_table.attach(create_separator_box(), 0, 2, 1, 2, xoptions=gtk.FILL) main_table.attach(self.mirror_view, 0, 2, 2, 3, xoptions=gtk.FILL) return main_table
def __init__(self, has_title=False): targets = [("text/deepin-songs", gtk.TARGET_SAME_APP, 1), ("text/uri-list", 0, 2), ("text/plain", 0, 3)] TreeView.__init__(self, drag_data=(targets, gtk.gdk.ACTION_COPY, 1)) self.sorts = [ lambda items, reverse: self.sort_by_key(items, reverse, "title"), lambda items, reverse: self.sort_by_key(items, reverse, "artist"), lambda items, reverse: self.sort_by_key(items, reverse, "album"), lambda items, reverse: self.sort_by_key(items, reverse, "#added"), ] del self.keymap["Delete"] self.connect("drag-data-get", self.__on_drag_data_get) self.connect("double-click-item", self.__on_double_click_item) self.connect("right-press-items", self.popup_right_menu) self.connect("press-return", self.__on_press_return) if has_title: self.set_column_titles( [_("Title"), _("Artist"), _("Album"), _("Added Time")], self.sorts) self.set_expand_column(0)
def __init__(self, enable_multiple_select=True): TreeView.__init__(self, enable_drag_drop=False, enable_multiple_select=enable_multiple_select) #self.connect("double-click-item", self.on_music_view_double_click) #self.connect("press-return", self.on_music_view_press_return) self.connect("right-press-items", self.right_press_items)
def plugins_view_add_items(self, items, insert_pos=None, clear_first=False): for item in items: item.plugins_view = self TreeView.add_items(self.plugins_view, items, insert_pos, clear_first)
def __init__(self): TreeView.__init__(self, enable_drag_drop=False, enable_multiple_select=False) # Player.connect("instant-new-song", self.on_new_song) Dispatcher.connect("download-songs", self.on_dispatcher_download_songs) self.set_expand_column(1)
def __init_navigatebar(self): self.navigatebar = TreeView(enable_drag_drop=False, enable_multiple_select=False) self.navigatebar.connect("single-click-item", self.on_navigatebar_single_click) self.navigatebar.set_size_request(132, -1) self.navigatebar.draw_mask = self.on_navigatebar_draw_mask local_expand_item = ExpandItem(_("Library")) network_expand_item = ExpandItem(_("Internet")) self.navigatebar.add_items([ local_expand_item, network_expand_item, ]) local_expand_item.add_childs( [(_("System"), self.system_wallpapers_page), (_("Pictures"), self.picture_wallpapers_page), (_("Favorites"), self.download_wallpapaers_page)], expand=True) network_expand_item.add_childs([ (_("360 Wallpaper"), self.bizhi360_cache_page), (_("LoveWallpaper"), self.aibizhi_cache_page), ], expand=True) self.navigatebar.set_highlight_item(self.navigatebar.get_items()[1])
def __init_navigatebar(self): self.navigatebar = TreeView(enable_drag_drop=False, enable_multiple_select=False) self.navigatebar.connect("single-click-item", self.on_navigatebar_single_click) self.navigatebar.set_size_request(132, -1) self.navigatebar.draw_mask = self.on_navigatebar_draw_mask local_expand_item = ExpandItem(_("Library")) network_expand_item = ExpandItem(_("Internet")) self.navigatebar.add_items([ local_expand_item, network_expand_item, ]) local_expand_item.add_childs([ (FavoritesTitle, self.favorites_page), (LocalWallpapersTitle, self.pictures_page), ], expand=True) network_expand_item.add_childs([ (_("360 Wallpaper"), self.bizhi360_cache_page), (_("LoveWallpaper"), self.aibizhi_cache_page), ], expand=True) if get_favorite_number() == 0: self.navigatebar.set_highlight_item( self.navigatebar.get_items()[2]) self.switch_page.add(self.pictures_page) else: self.navigatebar.set_highlight_item( self.navigatebar.get_items()[1]) self.switch_page.add(self.favorites_page)
def __init__(self, data=None, view_type=1): TreeView.__init__(self, enable_drag_drop=False, enable_multiple_select=True) # view_type 为list类型 self.connect("double-click-item", self.on_music_view_double_click) self.connect("press-return", self.on_music_view_press_return) self.connect("right-press-items", self.on_music_view_right_press_items) #self.connect("delete-select-items", #self.on_music_view_delete_select_items) self.db_file = get_cache_file("neteasecloudmusic/neteasecloudmusic.db") self.view_type = view_type self.view_data = data self.request_thread_id = 0 self.collect_thread_id = 0 self.onlinelist_thread_id = 0 self.collect_page = 0 if self.view_type not in [self.PLAYING_LIST_TYPE, self.LOGIN_LIST_TYPE, self.PERSONAL_FM_ITEM]: self.load_onlinelist_songs() if self.view_type == self.PERSONAL_FM_ITEM: self.enable_multiple_select=False
def __init__(self, data_manager): ''' init docs ''' # Init. gtk.VBox.__init__(self) self.data_manager = data_manager self.keywords = [] self.all_pkg_names = [] self.message_bar = MessageBar(18) self.content_box = gtk.VBox() self.treeview = TreeView(enable_drag_drop=False, expand_column=0) global_event.register_event("delete-search-page-items", self.treeview.delete_items) self.cute_message_image = gtk.VBox() self.cute_message_pixbuf = utils.get_common_locale_image_pixbuf("info", "noresult.png") self.cute_message_image.connect("expose-event", self.expose_cute_message_image) self.content_box.pack_start(self.message_bar, False, False) self.content_box.pack_start(self.treeview) self.loading_box = LoadingBox() self.pack_start(self.loading_box, True, True) self.treeview.connect("items-change", self.update_message_bar) self.treeview.draw_mask = self.draw_mask
def __init__(self, bus_interface, data_manager): ''' init docs ''' # Init. gtk.VBox.__init__(self) self.bus_interface = bus_interface self.data_manager = data_manager self.message_bar = MessageBar(32) self.message_box = gtk.HBox() self.treeview = TreeView(enable_drag_drop=False) self.treeview.set_expand_column(0) self.cute_message_image = gtk.VBox() self.content_box = gtk.VBox() self.pack_start(self.message_box, False, False) self.pack_start(self.content_box, True, True) self.cute_message_pixbuf = utils.get_common_locale_image_pixbuf( "info", "no_download.png") self.content_box.pack_start(self.cute_message_image, True, True) self.treeview.draw_mask = self.draw_mask self.cute_message_image.connect("expose-event", self.expose_cute_message_image) self.treeview.connect("items-change", self.update_message_bar) self.treeview.connect( "items-change", lambda treeview: global_event.emit( "update-install-notify-number", self.get_installing_pkgs_number()))
def __init__(self, *args, **kwargs): TreeView.__init__(self, *args, **kwargs) targets = [ ("text/deepin-radios", gtk.TARGET_SAME_APP, 1), ] self.drag_dest_set(gtk.DEST_DEFAULT_MOTION | gtk.DEST_DEFAULT_DROP, targets, gtk.gdk.ACTION_COPY) self.connect_after("drag-data-received", self.on_drag_data_received) self.connect("double-click-item", self.on_double_click_item) self.connect("button-press-event", self.on_button_press_event) self.connect("delete-select-items", self.try_emit_empty_signal) self.connect("right-press-items", self.on_right_press_items) Dispatcher.connect("play-radio", self.on_dispatcher_play_radio) Player.connect("play-end", self.on_play_end) self.lock = threading.Lock() self.current_index = 0 self.playlist = [] self.limit_number = 25 self.preview_db_file = get_config_file("preview_radios.db") self.status_db_file = get_cache_file("musicfm/status.db") self.load_status()
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 add_switcher(self): if self.device_tree == None: self.device_tree = TreeView( [DeviceToggleItem(self.wireless_devices, 0)]) self.device_tree.set_expand_column(1) self.content_box.pack_start(self.device_tree, False, True) self.content_box.reorder_child(self.device_tree, 0) net_manager.emit_wifi_switch(0)
def __init__(self): DialogBox.__init__( self, _("Lyrics search"), 460, 300, DIALOG_MASK_MULTIPLE_PAGE, close_callback=self.hide_all, modal=False, window_hint=None, skip_taskbar_hint=False, window_pos=gtk.WIN_POS_CENTER) self.artist_entry = InputEntry() self.artist_entry.set_size(130, 23) self.title_entry = InputEntry() self.title_entry.set_size(130, 23) artist_label = Label(_("Artist:")) title_label = Label(_("Title:")) right_align = gtk.Alignment() right_align.set(0, 0, 0, 1) self.search_button = Button(_("Search")) self.search_button.connect("clicked", self.search_lyric_cb) self.process_id = 0 info_box = gtk.HBox(spacing=25) control_box = gtk.HBox(spacing=5) title_box = gtk.HBox(spacing=5) title_box.pack_start(title_label, False, False) title_box.pack_start(self.title_entry) artist_box = gtk.HBox(spacing=5) artist_box.pack_start(artist_label, False, False) artist_box.pack_start(self.artist_entry) control_box.pack_start(title_box, False, False) control_box.pack_start(artist_box, False, False) info_box.pack_start(control_box, False, False) info_box.pack_start(self.search_button, False, False) sort_items = [ lambda items, reverse : self.sort_by_key(items, reverse, "title"), lambda items, reverse : self.sort_by_key(items, reverse, "artist")] self.result_view = TreeView() self.result_view.set_expand_column(0) self.result_view.connect("double-click-item", self.double_click_cb) self.result_view.set_column_titles([_("Title"), _("Artist")], sort_items) self.result_view.draw_mask = self.draw_view_mask self.prompt_label = Label("") download_button = Button(_("Download")) download_button.connect("clicked", self.download_lyric_cb) cancel_button = Button(_("Close")) cancel_button.connect("clicked", lambda w: self.hide_all()) info_box_align = gtk.Alignment() info_box_align.set_padding(5, 0, 5, 0) info_box_align.add(info_box) self.body_box.set_spacing(5) self.body_box.pack_start(info_box_align, False, False) self.body_box.pack_start(self.result_view, True, True) self.left_button_box.set_buttons([self.prompt_label]) self.right_button_box.set_buttons([download_button, cancel_button]) self.lrc_manager = LrcManager()
def __init__(self): TreeView.__init__(self, enable_drag_drop=False, enable_multiple_select=True) # view_type 为list类型 self.connect("double-click-item", self.on_music_view_double_click) self.connect("press-return", self.on_music_view_press_return) self.connect("right-press-items", self.on_music_view_right_press_items) self.onlinelist_thread_id = 0
def add_switcher(self): if not hasattr(self, "device_tree") or not self.device_tree: self.device_tree = TreeView([DeviceItem()], mask_bound_height=0) self.device_tree.set_expand_column(1) self.wireless_box.pack_start(self.device_tree, False, False) self.wireless_box.reorder_child( self.wireless_box.get_children()[-2], len(self.wireless_box.get_children())) tray_log.debug(self.wireless_box.get_children()) net_manager.emit_wifi_switch(0)
def __init__(self, window_width, window_height): ''' init docs ''' # Init. Window.__init__( self, # shadow_visible=False, shape_frame_function=self.shape_completion_window_frame, expose_frame_function=self.expose_completion_window_frame) self.window_width = window_width self.window_height = window_height self.window_offset_x = 8 self.window_offset_y = 34 self.align_size = 2 self.treeview = TreeView( [], enable_highlight=False, enable_multiple_select=False, enable_drag_drop=False, expand_column=0, ) self.treeview.scrolled_window.tag_by_popup_grab_window = True self.treeview_align = gtk.Alignment() self.treeview_align.set(0.5, 0.5, 1, 1) self.treeview_align.set_padding(self.align_size, self.align_size, self.align_size, self.align_size) self.treeview_align.add(self.treeview) self.treeview.connect("press-return", self.treeview_press_return) self.treeview.draw_mask = self.draw_mask self.window_frame.pack_start(self.treeview_align, True, True) self.connect("realize", self.realize_completion_window) self.get_scrolledwindow = self.get_scrolledwindow wrap_grab_window(completion_grab_window, self) completion_grab_window.connect("input-method-focus-in", self.input_method_focus_in) completion_grab_window.connect("input-method-commit", self.input_method_commit) self.keymap = { "Home": self.treeview.select_first_item, "End": self.treeview.select_last_item, "Page_Up": self.treeview.scroll_page_up, "Page_Down": self.treeview.scroll_page_down, "Up": self.treeview.select_prev_item, "Down": self.treeview.select_next_item, }
def __init__(self): TreeView.__init__(self, enable_drag_drop=False, enable_multiple_select=True) self.connect("double-click-item", self.on_music_view_double_click) self.connect("press-return", self.on_music_view_press_return) event_manager.connect("add-songs", self.on_event_add_songs) event_manager.connect("play-songs", self.on_event_play_songs) self.db_file = get_config_file("baidumusic.db") self.load() self.request_thread_id = 0
def __init_widget(self): self.buttonbox = gtk.VBox() self.pack_start(self.buttonbox, False, False) style.add_separator(self) #self.connection_tree = EntryTreeView() self.add_button = AddSettingItem(_("New Connection") ,self.add_new_connection) add_setting_tree = TreeView([self.add_button]) add_setting_tree.set_expand_column(1) self.pack_start(add_setting_tree, False, False) self.set_size_request(160, -1) self.show_all() self.__init_signals()
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 __init_widget(self): self.buttonbox = gtk.VBox() self.pack_start(self.buttonbox, False, False) style.add_separator(self) #self.connection_tree = EntryTreeView() self.add_button = AddSettingItem(_("New Connection"), self.add_new_connection) add_setting_tree = TreeView([self.add_button]) add_setting_tree.set_expand_column(1) self.pack_start(add_setting_tree, False, False) self.set_size_request(160, -1) self.show_all() self.__init_signals()
def __init_webcastbar(self): self.webcastbar = TreeView(enable_drag_drop=False, enable_multiple_select=False) self.webcastbar.connect("single-click-item", self.on_webcastbar_single_click_item) items = [] for category in self.__categorys: items.append( CategoryTreeItem(self.__category_gettexts[category], category=category)) items.append(CollectTreeItem(_("Favorites"))) self.webcastbar.add_items(items) self.webcastbar.select_items([self.webcastbar.visible_items[0]]) self.webcastbar.set_size_request(121, -1) self.webcastbar.draw_mask = self.on_webcastbar_draw_mask
def add_switcher(self): if self.device_tree == None: self.device_tree = TreeView([DeviceToggleItem(self.wireless_devices, 0)]) self.device_tree.set_expand_column(1) self.content_box.pack_start(self.device_tree, False, True) self.content_box.reorder_child(self.device_tree, 0) net_manager.emit_wifi_switch(0)
def __init__(self, bus_interface, data_manager): ''' init docs ''' # Init. gtk.VBox.__init__(self) self.bus_interface = bus_interface self.data_manager = data_manager self.message_bar = MessageBar(32) self.message_box = gtk.HBox() self.treeview = TreeView(enable_drag_drop=False) self.treeview.set_expand_column(0) self.cute_message_image = gtk.VBox() self.content_box = gtk.VBox() self.pack_start(self.message_box, False, False) self.pack_start(self.content_box, True, True) self.cute_message_pixbuf = utils.get_common_locale_image_pixbuf("info", "no_download.png") self.content_box.pack_start(self.cute_message_image, True, True) self.treeview.draw_mask = self.draw_mask self.cute_message_image.connect("expose-event", self.expose_cute_message_image) self.treeview.connect("items-change", self.update_message_bar) self.treeview.connect("items-change", lambda treeview: global_event.emit("update-install-notify-number", self.get_installing_pkgs_number()))
def __init_navigatebar(self): self.navigatebar = TreeView(enable_drag_drop=False, enable_multiple_select=False) self.navigatebar.connect("single-click-item", self.on_navigatebar_single_click) self.navigatebar.set_size_request(132, -1) self.navigatebar.draw_mask = self.on_navigatebar_draw_mask local_expand_item = ExpandItem(_("Library")) network_expand_item = ExpandItem(_("Internet")) self.navigatebar.add_items([local_expand_item, network_expand_item, ]) local_expand_item.add_childs([ (FavoritesTitle, self.favorites_page), (LocalWallpapersTitle, self.pictures_page), ], expand=True) network_expand_item.add_childs([(_("360 Wallpaper"), self.bizhi360_cache_page), (_("LoveWallpaper"), self.aibizhi_cache_page), ], expand=True) if get_favorite_number() == 0: self.navigatebar.set_highlight_item(self.navigatebar.get_items()[2]) self.switch_page.add(self.pictures_page) else: self.navigatebar.set_highlight_item(self.navigatebar.get_items()[1]) self.switch_page.add(self.favorites_page)
def __init__(self, bus_interface, data_manager): ''' init docs ''' # Init. gtk.VBox.__init__(self) self.bus_interface = bus_interface self.data_manager = data_manager self.search_flag = False self.uninstall_change_items = {"add": [], "delete": []} self.message_bar = MessageBar(32) self.message_bar.search_entry.entry.connect("changed", self.search_cb) self.message_bar.search_button.connect("clicked", self.search_cb) self.treeview = TreeView(enable_drag_drop=False) self.treeview.set_expand_column(0) top_hbox = gtk.HBox() top_hbox.pack_start(self.message_bar) self.pack_start(top_hbox, False, False) self.pack_start(self.treeview, True, True) self.treeview.connect("items-change", self.update_message_bar) self.fetch_uninstall_info() self.treeview.draw_mask = self.draw_mask
def __init__(self, data_manager): ''' init docs ''' # Init. gtk.VBox.__init__(self) self.data_manager = data_manager self.keywords = [] self.all_pkg_names = [] self.message_bar = MessageBar(18) self.content_box = gtk.VBox() self.treeview = TreeView(enable_drag_drop=False, expand_column=0) self.cute_message_image = gtk.VBox() self.cute_message_pixbuf = utils.get_common_locale_image_pixbuf("info", "noresult.png") self.cute_message_image.connect("expose-event", self.expose_cute_message_image) self.content_box.pack_start(self.message_bar, False, False) self.content_box.pack_start(self.treeview) self.loading_box = LoadingBox() self.pack_start(self.loading_box, True, True) self.treeview.connect("items-change", self.update_message_bar) self.treeview.draw_mask = self.draw_mask
def load(self, toggle, content=[]): self.toggle = toggle self.content_box = gtk.VBox(spacing=0) self.pack_start(self.toggle, False, False) self.toggle.switch.connect("toggled", self.toggle_callback) self.tree = TreeView([]) self.tree.set_expand_column(1) self.tree.draw_mask = self.draw_mask content.insert(0, self.tree) for c in content: self.content_box.pack_start(c, False, False) self.align = self._set_align() self.pack_start(self.align, False, False) self.show_all()
def __init__(self, data_manager, album_info): ''' init docs ''' gtk.VBox.__init__(self) self.treeview = TreeView(enable_drag_drop=False, expand_column=1) items = [] album_detail_infos = album_info['softwares'] album_detail_infos = sorted(album_detail_infos, key=lambda info: info.get('order'), reverse=True) for software_info in album_detail_infos: items.append(AlbumDetailItem(software_info, data_manager)) self.treeview.add_items(items) self.treeview.draw_mask = self.draw_mask self.pack_start(self.treeview, True, True)
def __init__(self): super(PreferenceDialog, self).__init__(_("Preferences"), 575, 495, mask_type=DIALOG_MASK_MULTIPLE_PAGE, close_callback=self.hide_all) self.set_position(gtk.WIN_POS_CENTER) self.main_box = gtk.VBox() close_button = Button(_("Close")) close_button.connect("clicked", lambda w: self.hide_all()) # Init widget. self.general_setting = GeneralSetting() self.hotkey_setting = HotKeySetting() self.desktop_lyrics_setting = DesktopLyricsSetting() self.scroll_lyrics_setting = ScrollLyricsSetting() self.plugins_manager = PluginsManager() # Category bar self.category_bar = TreeView(enable_drag_drop=False, enable_multiple_select=False) self.category_bar.set_expand_column(0) self.category_bar.draw_mask = self.draw_treeview_mask self.category_bar.set_size_request(132, 516) self.category_bar.connect("single-click-item", self.on_categorybar_single_click) # Init catagory bar. self.__init_category_bar() category_box = gtk.VBox() background_box = BackgroundBox() background_box.set_size_request(132, 11) background_box.draw_mask = self.draw_treeview_mask category_box.pack_start(background_box, False, False) category_bar_align = gtk.Alignment() category_bar_align.set(0, 0, 1, 1,) category_bar_align.set_padding(0, 1, 0, 0) category_bar_align.add(self.category_bar) category_box.pack_start(category_bar_align, True, True) # Pack widget. left_box = gtk.VBox() self.right_box = gtk.VBox() left_box.add(category_box) self.right_box.add(self.general_setting) right_align = gtk.Alignment() right_align.set_padding(0, 0, 10, 0) right_align.add(self.right_box) body_box = gtk.HBox() body_box.pack_start(left_box, False, False) body_box.pack_start(right_align, False, False) self.main_box.add(body_box) # DialogBox code. self.body_box.pack_start(self.main_box, True, True) self.right_button_box.set_buttons([close_button])
def init_ui(self): self.wire = Section(app_theme.get_pixbuf("network/cable.png"), _("Wired")) self.wireless = Section(app_theme.get_pixbuf("network/wifi.png"), _("Wireless")) self.mobile = Section(app_theme.get_pixbuf("network/3g.png"), _("Mobile Network")) # vpn self.vpn = Section(app_theme.get_pixbuf("network/vpn.png"), _("VPN Network")) self.dsl = Section(app_theme.get_pixbuf("network/dsl.png"), _("DSL")) self.ssid_list = [] self.tree_box = gtk.VBox(spacing=0) self.button_more = SelectButton(_("Advanced..."), font_size=10, ali_padding=5) self.button_more.set_size_request(-1, 25) #self.pack_start(self.button_more, False, False) self.ap_tree = TreeView(mask_bound_height=0) self.ap_tree.set_expand_column(0) self.vpn_list = ConList() self.dsl_list = DSLConList() self.wire_box = self.section_box([self.wire]) self.wireless_box = self.section_box([self.wireless, self.tree_box]) self.mobile_box = self.section_box([self.mobile]) self.vpn_box = self.section_box([self.vpn, self.vpn_list]) self.dsl_box = self.section_box([self.dsl, self.dsl_list]) self.wire_state = False self.wireless_state = False self.mobile_state = False self.vpn_state = False self.dsl_state = False self.device_tree = None self.pack_start(self.wire_box, False, False) self.pack_start(self.wireless_box, False, False) self.pack_start(self.mobile_box, False, False) self.pack_start(self.vpn_box, False, False) self.pack_start(self.dsl_box, False, False) self.pack_start(self.button_more, False, False)
def __init__(self): gtk.VBox.__init__(self) self.open_dialog = False self.tmp_editing_session = None # UI style style.draw_background_color(self) self.tree = TreeView( [], enable_drag_drop=False, enable_hover=True, enable_multiple_select=False, ) self.tree.set_expand_column(3) self.tree.set_column_titles( (_("Active"), _("Application"), _("Description"), _("Exec")), ) self.tree.set_size_request(800, -1) self.tree.connect("right-press-items", self.right_press_item) self.tree.draw_mask = self.draw_mask self.tree.add_items(self.get_list()) align = gtk.Alignment(0, 0, 0, 1) align.set_padding(15, 0, 20, 20) align.add(self.tree) align.connect("expose-event", self.expose_line) add_button = Button(_("New")) self.delete_button = Button(_("Delete")) add_button.connect("clicked", self.add_autostart) self.delete_button.connect("clicked", self.delete_autostart) self.delete_button.set_sensitive(False) foot_box = FootBox(adjustment=15) foot_box.set_buttons([add_button, self.delete_button]) self.pack_start(align, True, True) self.pack_end(foot_box, False, False) #self.pack_end(self.new_box, False, False) self.show_all() self._init_monitor()
def __init_sourcebar(self): self.sourcebar = TreeView(enable_drag_drop=False, enable_multiple_select=False) items = [] for index, (key, value) in enumerate(self.source_data.items()): if index == 0: show_icon = True else: show_icon = False items.append( CategroyItem(value, key, self.sourcebar, index, show_icon)) items.append( CustomItem( "我的收藏", lambda: switch_tab(self.switch_view_box, self.collect_sw))) self.sourcebar.add_items(items) self.sourcebar.set_size_request(121, -1) self.sourcebar.draw_mask = self.on_sourcebar_draw_mask self.sourcebar.draw_area.tag_by_poup_panel_grab_window = True popup_grab_window.focus_out_callback = self.handle_focus_out
def __init_webcastbar(self): self.webcastbar = TreeView(enable_drag_drop=False, enable_multiple_select=False) self.webcastbar.connect("single-click-item", self.on_webcastbar_single_click_item) items = [] for category in self.__categorys: items.append(CategoryTreeItem(self.__category_gettexts[category], category=category)) items.append(CollectTreeItem(_("Favorites"))) self.webcastbar.add_items(items) self.webcastbar.select_items([self.webcastbar.visible_items[0]]) self.webcastbar.set_size_request(121, -1) self.webcastbar.draw_mask = self.on_webcastbar_draw_mask
def __init_radiobar(self): self.radiobar = TreeView(enable_drag_drop=False, enable_multiple_select=False) items = [] items.append(CategroyTreeItem(_("Home"), "home", lambda : switch_tab(self.page_box, self.home_page))) items.append(CategroyTreeItem(_("Hot MHz"), "hot", lambda : switch_tab(self.page_box, self.hot_page_sw))) items.append(CategroyTreeItem(_("Genres MHz"), "genre", lambda : switch_tab(self.page_box, self.genre_page))) items.append(CategroyTreeItem(_("Pop MHz"), "up", lambda : switch_tab(self.page_box, self.fast_page_sw))) self.radiobar.add_items(items) self.radiobar.select_items([self.radiobar.visible_items[0]]) self.radiobar.set_size_request(121, -1) self.radiobar.draw_mask = self.on_radiobar_draw_mask
def __init__(self, window_width, window_height): ''' init docs ''' # Init. Window.__init__( self, shadow_visible=False, shadow_radius = 0, shape_frame_function=self.shape_completion_window_frame, expose_frame_function=self.expose_completion_window_frame, # window_type=gtk.WINDOW_POPUP, ) self.window_width = window_width self.window_height = window_height self.window_offset_x = 0 self.window_offset_y = 0 self.align_size = 2 self.treeview = TreeView( enable_highlight=False, enable_multiple_select=False, enable_drag_drop=False,) self.treeview.draw_mask = self.treeview_draw_mask self.treeview.scrolled_window.tag_by_popup_grab_window = True self.treeview_align = gtk.Alignment() self.treeview_align.set(0.5, 0.5, 1, 1) self.treeview_align.set_padding(self.align_size, self.align_size, self.align_size, self.align_size) self.treeview_align.add(self.treeview) self.window_frame.pack_start(self.treeview_align, True, True) self.connect("realize", self.realize_completion_window) self.get_scrolledwindow = self.get_scrolledwindow wrap_grab_window(completion_grab_window, self)
def __init__(self, bus_interface, data_manager): ''' init docs ''' # Init. gtk.VBox.__init__(self) self.bus_interface = bus_interface self.data_manager = data_manager self.search_flag = False self.uninstall_change_items = {"add": [], "delete": []} ### init UI widgets self.message_bar = MessageBar(32) self.message_bar.search_entry.entry.connect("changed", self.search_cb) self.message_bar.search_button.connect("clicked", self.search_cb) self.top_hbox = gtk.HBox() self.top_hbox.pack_start(self.message_bar) self.treeview = TreeView(enable_drag_drop=False) self.treeview.set_expand_column(0) self.treeview.connect("items-change", self.update_message_bar) self.loading_box = LoadingBox() self.loading_box_align = create_align((0.5, 0.5, 1, 1), (10, 10, 10, 10)) self.loading_box_align.add(self.loading_box) ### init UI widgets self.white_kernel_pkg_names = self.get_white_kernel_pkg_names() global_event.register_event("uninstall-items-filtered", self.load_uninstall_items) self.show_loading_page() self.fetch_uninstall_info() self.treeview.draw_mask = self.draw_mask
def __init__(self, data_manager, album_info): ''' init docs ''' gtk.VBox.__init__(self) self.treeview = TreeView(enable_drag_drop=False, expand_column=1) items = [] for software_info in album_info['softwares']: items.append(AlbumDetailItem(software_info, data_manager)) self.treeview.add_items(items) self.treeview.draw_mask = self.draw_mask self.pack_start(self.treeview, True, True)
def __init__(self, window_width, window_height): ''' init docs ''' # Init. Window.__init__( self, # shadow_visible=False, shape_frame_function=self.shape_completion_window_frame, expose_frame_function=self.expose_completion_window_frame) self.window_width = window_width self.window_height = window_height self.window_offset_x = 8 self.window_offset_y = 34 self.align_size = 2 self.treeview = TreeView( [], enable_highlight=False, enable_multiple_select=False, enable_drag_drop=False, expand_column=0, ) self.treeview.scrolled_window.tag_by_popup_grab_window = True self.treeview_align = gtk.Alignment() self.treeview_align.set(0.5, 0.5, 1, 1) self.treeview_align.set_padding(self.align_size, self.align_size, self.align_size, self.align_size) self.treeview_align.add(self.treeview) self.treeview.connect("press-return", self.treeview_press_return) self.treeview.draw_mask = self.draw_mask self.window_frame.pack_start(self.treeview_align, True, True) self.connect("realize", self.realize_completion_window) self.get_scrolledwindow = self.get_scrolledwindow wrap_grab_window(completion_grab_window, self) completion_grab_window.connect("input-method-focus-in", self.input_method_focus_in) completion_grab_window.connect("input-method-commit", self.input_method_commit) self.keymap = { "Home" : self.treeview.select_first_item, "End" : self.treeview.select_last_item, "Page_Up" : self.treeview.scroll_page_up, "Page_Down" : self.treeview.scroll_page_down, "Up" : self.treeview.select_prev_item, "Down" : self.treeview.select_next_item, }
def __init__(self, has_title=False): targets = [("text/deepin-songs", gtk.TARGET_SAME_APP, 1), ("text/uri-list", 0, 2), ("text/plain", 0, 3)] TreeView.__init__(self, drag_data=(targets, gtk.gdk.ACTION_COPY, 1)) self.sorts = [ lambda items, reverse : self.sort_by_key(items, reverse, "title"), lambda items, reverse : self.sort_by_key(items, reverse, "artist"), lambda items, reverse : self.sort_by_key(items, reverse, "album"), lambda items, reverse : self.sort_by_key(items, reverse, "#added"), ] del self.keymap["Delete"] self.connect("drag-data-get", self.__on_drag_data_get) self.connect("double-click-item", self.__on_double_click_item) self.connect("right-press-items", self.popup_right_menu) self.connect("press-return", self.__on_press_return) if has_title: self.set_column_titles([_("Title"), _("Artist"), _("Album"), _("Added Time")], self.sorts) self.set_expand_column(0)
def __init_sourcebar(self): self.sourcebar = TreeView(enable_drag_drop=False, enable_multiple_select=False) items = [] for index, (key, value) in enumerate(self.source_data.items()): if index == 0: show_icon = True else: show_icon = False items.append(CategroyItem(value, key, self.sourcebar, index, show_icon)) items.append(CustomItem("我的收藏", lambda : switch_tab(self.switch_view_box, self.collect_sw))) self.sourcebar.add_items(items) self.sourcebar.set_size_request(121, -1) self.sourcebar.draw_mask = self.on_sourcebar_draw_mask self.sourcebar.draw_area.tag_by_poup_panel_grab_window = True popup_grab_window.focus_out_callback = self.handle_focus_out
class AlbumDetailPage(gtk.VBox): ''' class docs ''' def __init__(self, data_manager, album_info): ''' init docs ''' gtk.VBox.__init__(self) self.treeview = TreeView(enable_drag_drop=False, expand_column=1) items = [] album_detail_infos = album_info['softwares'] album_detail_infos = sorted(album_detail_infos, key=lambda info: info.get('order'), reverse=True) for software_info in album_detail_infos: items.append(AlbumDetailItem(software_info, data_manager)) self.treeview.add_items(items) self.treeview.draw_mask = self.draw_mask self.pack_start(self.treeview, True, True) def draw_mask(self, cr, x, y, w, h): ''' Draw mask interface. @param cr: Cairo context. @param x: X coordiante of draw area. @param y: Y coordiante of draw area. @param w: Width of draw area. @param h: Height of draw area. ''' draw_vlinear(cr, x, y, w, h, [ (0, ("#FFFFFF", 0.9)), (1, ("#FFFFFF", 0.9)), ])
def __init_navigatebar(self): self.navigatebar = TreeView(enable_drag_drop=False, enable_multiple_select=False) self.navigatebar.connect("single-click-item", self.on_navigatebar_single_click) self.navigatebar.set_size_request(132, -1) self.navigatebar.draw_mask = self.on_navigatebar_draw_mask local_expand_item = ExpandItem(_("Library")) network_expand_item = ExpandItem(_("Internet")) self.navigatebar.add_items([local_expand_item, network_expand_item, ]) local_expand_item.add_childs([(_("System"), self.system_wallpapers_page), (_("Pictures"), self.picture_wallpapers_page), (_("Favorites"), self.download_wallpapaers_page)], expand=True) network_expand_item.add_childs([(_("360 Wallpaper"), self.bizhi360_cache_page), (_("LoveWallpaper"), self.aibizhi_cache_page), ], expand=True) self.navigatebar.set_highlight_item(self.navigatebar.get_items()[1])
def init_listview(self): ''' docs ''' items = self.paged_items[self.page_index] self.listview = TreeView(items) self.listview.draw_mask = self.on_listview_draw_mask self.listview.set_expand_column(0) if self.owner == "detail": self.listview.set_column_titles([_("Content of messages"), _("Time")], [self.sort_by_content, self.sort_by_time]) self.listview.draw_area.connect_after("button-press-event", self.on_listview_button_pressed, self.listview) self.listview.draw_area.connect_after("motion-notify-event", self.on_listview_motion_notify, self.listview) self.listview.connect("right-press-items", self.on_listview_right_press_items) self.listview.scrolled_window.connect("vscrollbar-state-changed", self.update_listview) event_manager.emit("listview-items-added", items)