def switch_to_listview(self, category, title):
        self.text_prompt.set_text(title)
        self.webcast_view.clear()

        songs = self.__db_query.get_songs(category, title)
        self.webcast_view.add_webcasts(songs)
        switch_tab(self.page_box, self.listview_page)
Пример #2
0
 def completed_animation(self, source, widget):    
     self.draw_animation = False        
     self.active_alpha = 1.0
     self.target_alpha = 0.0
     self.in_animation = False
     self.queue_draw()
     switch_tab(self.body_box, widget)
 def on_event_login_success(self, obj, data):
     if self.list_type == self.COLLECT_TYPE:
         self.song_view.load_collect_songs(clear=True)
         switch_tab(self.main_box, self.song_view)
         
         self.normal_pixbuf = gtk.gdk.pixbuf_new_from_file(get_image("collect_list.png"))
         self.emit_redraw_request()
 def switch_to_listview(self, category, title):    
     self.text_prompt.set_text(title)
     self.webcast_view.clear()
     
     songs = self.__db_query.get_songs(category, title)
     self.webcast_view.add_webcasts(songs)
     switch_tab(self.page_box, self.listview_page)
Пример #5
0
 def check_network_connection(self, auto=False):
     if is_network_connected():
         switch_tab(self, self.body_paned)
         if not auto:
             self.start_fetch_channels()
     else:
         switch_tab(self, self.network_failed_box)
 def check_network_connection(self, auto=False):    
     if is_network_connected():
         switch_tab(self, self.body_paned)
         if not auto:
             self.start_fetch_channels()
     else:    
         switch_tab(self, self.network_failed_box)
 def update_preview_line_number(self, widget, label, allocated_data, index):    
     if allocated_data == 1:
         switch_tab(self.line_align_hbox, self.single_align_combo_box)
     else:    
         switch_tab(self.line_align_hbox, self.double_align_combo_box)
         
     config.set("lyrics", "line_count", str(allocated_data))
Пример #8
0
 def start_search_songs(self, keyword):
     songs = self.song_view.get_search_songs(keyword)
     if songs:
         self.song_view.add_songs(songs)
         switch_tab(self, self.song_view)
     else:
         self.search_prompt.update_keyword(keyword)
         switch_tab(self, self.search_prompt)
Пример #9
0
 def start_search_songs(self, keyword):    
     songs = self.song_view.get_search_songs(keyword)
     if songs:
         self.song_view.add_songs(songs)
         switch_tab(self, self.song_view)
     else:    
         self.search_prompt.update_keyword(keyword)
         switch_tab(self, self.search_prompt)
    def on_event_login_success(self, obj, data):
        if self.list_type == self.COLLECT_TYPE:
            self.song_view.load_collect_songs(clear=True)
            switch_tab(self.main_box, self.song_view)

            self.normal_pixbuf = gtk.gdk.pixbuf_new_from_file(
                get_image("collect_list.png"))
            self.emit_redraw_request()
 def __init__(self, tag, padding_x=0, padding_y=0):
     gtk.VBox.__init__(self)
     
     self.radio_view, self.radio_view_sw = self.get_icon_view(tag=tag, padding_x=padding_x, padding_y=padding_y)
     self.network_connect_timeout = NetworkConnectTimeout(self.radio_view.start_fetch_channels)
     prompt_label = AutoLabel("正在加载数据...")
     self.radio_view.fetch_failed = lambda : switch_tab(self, self.network_connect_timeout)
     self.radio_view.fetch_successed = lambda : switch_tab(self, self.radio_view_sw)
     self.add(prompt_label)
Пример #12
0
 def __init__(self, tag, padding_x=0, padding_y=0):
     gtk.VBox.__init__(self)
     
     self.radio_view, self.radio_view_sw = self.get_icon_view(tag=tag, padding_x=padding_x, padding_y=padding_y)
     self.network_connect_timeout = NetworkConnectTimeout(self.radio_view.start_fetch_channels)
     prompt_label = AutoLabel("正在加载数据...")
     self.radio_view.fetch_failed = lambda : switch_tab(self, self.network_connect_timeout)
     self.radio_view.fetch_successed = lambda : switch_tab(self, self.radio_view_sw)
     self.add(prompt_label)
Пример #13
0
 def check_network_connection(self, auto=False):
     if is_network_connected():
         self.network_connected_flag = True
         switch_tab(self, self.webview)
         if not auto:
             self.reload_browser()
     else:
         self.network_connected_flag = False
         switch_tab(self, self.network_failed_box)
 def check_network_connection(self, auto=False):
     if is_network_connected():
         self.network_connected_flag = True
         switch_tab(self, self.webview)
         if not auto:
             self.reload_browser()
     else:
         self.network_connected_flag = False
         switch_tab(self, self.network_failed_box)
Пример #15
0
 def on_item_press(self, press_item):
     if press_item.index == self.current_index:
         return
     self.current_index = press_item.index
     for item in self.items:
         if item == press_item:
             continue
         item.clear_selected_status()
     switch_tab(self.__container, press_item.list_widget)
     self.emit("switch-tab", press_item)
 def on_back_button_clicked(self, obj):    
     # clear entry text.
     self.search_entry.entry.set_text("")
     
     widget = self.get_current_view_sw()
     if widget: switch_tab(self.switch_view_box, widget)
     
     # hide backhbox.
     self.back_hbox.hide_all()
     self.back_hbox.set_no_show_all(True)
Пример #17
0
    def active_item(self, active_item):
        if active_item in self.items:
            if active_item.index == self.current_index:
                return

            for item in self.items:
                item.clear_selected_status()
            active_item.manual_select()
            self.current_index = active_item.index
            switch_tab(self.__container, active_item.list_widget)
Пример #18
0
 def active_item(self, active_item):    
     if active_item in self.items:
         if active_item.index == self.current_index:
             return 
             
         for item in self.items:
             item.clear_selected_status()
         active_item.manual_select()    
         self.current_index = active_item.index
         switch_tab(self.__container, active_item.list_widget)
Пример #19
0
 def on_item_press(self, press_item):            
     if press_item.index == self.current_index:
         return
     self.current_index = press_item.index 
     for item in self.items:
         if item == press_item:
             continue
         item.clear_selected_status()
     switch_tab(self.__container, press_item.list_widget)    
     self.emit("switch-tab", press_item)    
Пример #20
0
    def on_back_button_clicked(self, obj):
        # clear entry text.
        self.search_entry.entry.set_text("")

        widget = self.get_current_view_sw()
        if widget: switch_tab(self.switch_view_box, widget)

        # hide backhbox.
        self.back_hbox.hide_all()
        self.back_hbox.set_no_show_all(True)
    def list_widget(self):
        switch_tab(self.main_box, self.song_view)        
        if self.list_type == self.DEFAULT_TYPE:
            pass

        elif self.list_type == self.COLLECT_TYPE:    
            if not bplayer.is_login:
                switch_tab(self.main_box, self.login_box)            
                
        return self.main_box
    def list_widget(self):
        switch_tab(self.main_box, self.song_view)
        if self.list_type == self.DEFAULT_TYPE:
            pass

        elif self.list_type == self.COLLECT_TYPE:
            if not bplayer.is_login:
                switch_tab(self.main_box, self.login_box)

        return self.main_box
 def on_webcastbar_single_click_item(self, widget, item, column, x, y):    
     if hasattr(item, "collect_flag"):
         switch_tab(self.page_box, self.collected_view_sw)
     else:    
         widget = self.page_box.get_children()[0]
         if widget != self.metro_view_sw:
             switch_tab(self.page_box, self.metro_view_sw)            
         
         if self.current_category != item.category:
             self.current_category = item.category
             self.load_view_data()
 def on_webview_load_finished(self, *args):    
     if not self.is_reload_flag:
         self.webview.reload()
         self.is_reload_flag = True
     elif self.is_reload_flag and self.update_progress_flag:    
         self.update_progress_flag = False
         if self.network_connected_flag:
             switch_tab(self, self.webview)
         
     # inject object.    
     self.injection_object()            
    def on_webcastbar_single_click_item(self, widget, item, column, x, y):
        if hasattr(item, "collect_flag"):
            switch_tab(self.page_box, self.collected_view_sw)
        else:
            widget = self.page_box.get_children()[0]
            if widget != self.metro_view_sw:
                switch_tab(self.page_box, self.metro_view_sw)

            if self.current_category != item.category:
                self.current_category = item.category
                self.load_view_data()
Пример #26
0
    def on_webview_load_finished(self, *args):
        if not self.is_reload_flag:
            self.webview.reload()
            self.is_reload_flag = True
        elif self.is_reload_flag and self.update_progress_flag:
            self.update_progress_flag = False
            if self.network_connected_flag:
                switch_tab(self, self.webview)

        # inject object.
        self.webview.injection_object()
 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 search(self, *kwargs):
     string = self.search_entry.get_text()
     index = self.search_combobox.get_active()
     if string:
         if index == 0:
             switch_tab(self.result_box, self.song_list)
             self.song_list.add_items([SearchSongItem(Song(song)) for song in
                 nplayer.search(string)], clear_first=True)
         else:
             switch_tab(self.result_box, self.playlist_list)
             self.playlist_list.add_items([PlaylistItem(playlist) for
                 playlist in nplayer.search(string, 1000)], clear_first=True)
 def change_search_type(self, obj):
     string = self.search_entry.get_text()
     if not string:
         return
     index = self.search_combobox.get_active()
     if index == 0:
         switch_tab(self.result_box, self.song_list)
         self.song_list.add_items([SearchSongItem(Song(song)) for song in
             nplayer.search(string)], clear_first=True)
     elif index == 1:
         switch_tab(self.result_box, self.playlist_list)
         self.playlist_list.add_items([PlaylistItem(playlist) for playlist in
             nplayer.search(string, 1000)], clear_first=True)
 def __on_double_click_item(self, widget, item, x, y):
     self.search_entry.entry.set_text("")        
     
     songs = self.get_item_songs(item)
     self.songs_view.clear()        
     self.songs_view.add_songs(songs)
     
     # todo: switch view mode fixed the back.
     switch_tab(self.switch_view_box, self.songs_view)
     
     # show back button.
     self.prompt_button.set_infos((item.pixbuf, item.name_label))
     self.back_hbox.set_no_show_all(False)
     self.back_hbox.show_all()
Пример #31
0
    def __on_double_click_item(self, widget, item, x, y):
        self.search_entry.entry.set_text("")

        songs = self.get_item_songs(item)
        self.songs_view.clear()
        self.songs_view.add_songs(songs)

        # todo: switch view mode fixed the back.
        switch_tab(self.switch_view_box, self.songs_view)

        # show back button.
        self.prompt_button.set_infos((item.pixbuf, item.name_label))
        self.back_hbox.set_no_show_all(False)
        self.back_hbox.show_all()
Пример #32
0
    def switch_filter_view(self, tag):

        # clear search entry
        self.search_entry.entry.set_text("")

        widget = None
        if tag == "artist": widget = self.artists_sw
        elif tag == "album": widget = self.albums_sw
        elif tag == "genre": widget = self.genres_sw
        elif tag == "folder": widget = self.folders_sw

        if widget:
            self.back_hbox.hide_all()
            self.back_hbox.set_no_show_all(True)
            switch_tab(self.switch_view_box, widget)
 def switch_filter_view(self, tag):    
     
     # clear search entry
     self.search_entry.entry.set_text("")
     
     widget = None
     if tag == "artist" : widget = self.artists_sw
     elif tag == "album": widget = self.albums_sw
     elif tag == "genre": widget = self.genres_sw
     elif tag == "folder" : widget = self.folders_sw
         
     if widget:    
         self.back_hbox.hide_all()
         self.back_hbox.set_no_show_all(True)
         switch_tab(self.switch_view_box, widget)
Пример #34
0
    def change_view(self, widget):    

        if not widget.get_active():
            Dispatcher.change_window_mode("simple")
            config.set("setting", "window_mode", "simple")
            switch_tab(self.header_box, self.simple_header_bar)
            self.browser_align.hide_all()
            self.browser_align.set_no_show_all(True)
            self.window.set_default_size(330, 625)
            self.window.set_geometry_hints(None, 330, 300, 330, 700, -1, -1, -1, -1, -1, -1)
            self.window.resize(330, 625)
            self.window.queue_draw()
        else:
            Dispatcher.change_window_mode("full")
            config.set("setting", "window_mode", "full")
            switch_tab(self.header_box, self.full_header_bar)
            self.browser_align.set_no_show_all(False)
            self.browser_align.show_all()
            self.window.set_default_size(816, 625)            
            self.window.set_geometry_hints(None, 816, 625, -1, -1,  -1, -1, -1, -1, -1, -1)
            self.window.resize(816, 625)
        Dispatcher.volume(float(config.get("player", "volume", "1.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
Пример #36
0
 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"), "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
Пример #37
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
Пример #38
0
 def switch_result_view(self, item):
     switch_tab(self.result_page, item.search_view)
Пример #39
0
    def on_event_login_success(self, obj, data):
        self.song_view.load_online_playlists(clear=True)
        switch_tab(self.main_box, self.song_view)

        self.emit_redraw_request()
Пример #40
0
 def on_radio_view_begin_add(self, widget):
     switch_tab(self, self.radio_view)
Пример #41
0
 def on_dispatcher_switch_browser(self, obj, item, is_switched):    
     self.last_browser = item.browser_widget
     if is_switched:
         search_entry.clear()            
         switch_tab(self.bottom_box, item.browser_widget)
    def list_widget(self):
        switch_tab(self.main_box, self.song_view)
        if not nplayer.is_login and self.list_type == MusicView.LOGIN_LIST_TYPE:
            switch_tab(self.main_box, self.login_box)

        return self.main_box
    def switch_view(self, item):
        ''' switch view_box's content '''

        self.category_list.set_highlight_item(item)
        switch_tab(self.view_box, item.list_widget)
Пример #44
0
 def on_dispatcher_webcast_info(self, obj, parent, key):
     items = WebcastsDB.get_items(parent, key)
     self.source_view.clear()
     if items:
         self.source_view.add_items([WebcastListItem(tag) for tag in items])
         switch_tab(self.switch_view_box, self.source_sw)
 def on_backbutton_clicked(self, widget):
     switch_tab(self.page_box, self.metro_view_sw)
    def switch_view(self, item):
        """ switch view_box's content """

        self.category_list.set_highlight_item(item)
        switch_tab(self.view_box, item.list_widget)
Пример #47
0
 def switch_to_radio_view(self):   
     switch_tab(self, self.radio_view_sw)
Пример #48
0
    def list_widget(self):
        switch_tab(self.main_box, self.song_view)
        if not nplayer.is_login and self.list_type == MusicView.LOGIN_LIST_TYPE:
            switch_tab(self.main_box, self.login_box)

        return self.main_box
Пример #49
0
 def on_quell_button_clicked(self, widget):    
     main_window = get_main_window()
     main_window.change_app_mode("normal")
     switch_tab(self.body_box, self.info_box)
 def switch_result_view(self, item):    
     switch_tab(self.result_page, item.search_view)
Пример #51
0
 def start_search_songs(self, keyword):    
     self.radio_view.clear_items(add_more=False)
     switch_tab(self, self.radio_view_sw)
     self.radio_view.set_keyword(keyword)
     self.radio_view.start_fetch_channels()
     self.keyword = keyword
Пример #52
0
 def on_searchbox_search(self, widget, keyword):    
     # completion_grab_window.popup_grab_window_focus_out()
     if keyword:
         self.global_search.begin_search(keyword)    
         switch_tab(self.bottom_box, self.global_search)
Пример #53
0
 def switch_to_search_prompt(self):    
     self.search_prompt.update_keyword(self.keyword)
     switch_tab(self, self.search_prompt)
Пример #54
0
 def on_global_search_close(self, widget):        
     search_entry.clear()
     switch_tab(self.bottom_box, self.last_browser)