Exemplo n.º 1
0
 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()
Exemplo n.º 2
0
    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()
Exemplo n.º 3
0
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)),]
                     )
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
    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
Exemplo n.º 6
0
    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)
Exemplo n.º 8
0
 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)
Exemplo n.º 10
0
    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])
Exemplo n.º 11
0
    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
Exemplo n.º 13
0
    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
Exemplo n.º 14
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()))
Exemplo n.º 15
0
    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
Exemplo n.º 16
0
    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()
Exemplo n.º 17
0
    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()
Exemplo n.º 18
0
 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()
Exemplo n.º 19
0
    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)
Exemplo n.º 21
0
    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)
Exemplo n.º 22
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)
Exemplo n.º 25
0
    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
Exemplo n.º 26
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()
Exemplo n.º 31
0
 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
Exemplo n.º 32
0
 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)
Exemplo n.º 33
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()))
Exemplo n.º 34
0
    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_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()
Exemplo n.º 39
0
    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)
Exemplo n.º 40
0
    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()
Exemplo n.º 43
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
 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)
Exemplo n.º 47
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.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
Exemplo n.º 48
0
    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)
Exemplo n.º 49
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,
            }
Exemplo n.º 50
0
 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
Exemplo n.º 52
0
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)),
        ])
Exemplo n.º 53
0
    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)
Exemplo n.º 54
0
    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()
Exemplo n.º 55
0
 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)