def define_menu(self): popup = Menu(self.plugin, self.shell) popup.load_from_file('N/A', 'ui/coverart_entryview_full_pop_rb3.ui') signals = { 'ev_full_play_track_menu_item': self.play_track_menu_item_callback, 'ev_full_play_next_track_menu_item': self.play_next_track_menu_item_callback, 'ev_full_queue_track_menu_item': self.queue_track_menu_item_callback, 'ev_full_add_to_playing_menu_item': self.add_to_playing_menu_item_callback, 'ev_full_new_playlist': self.add_playlist_menu_item_callback, 'ev_full_show_properties_menu_item': self.show_properties_menu_item_callback, 'ev_full_similar_track_menu_item': self.play_similar_track_menu_item_callback, 'ev_full_similar_artist_menu_item': self.play_similar_artist_menu_item_callback, 'ev_full_similar_genre_menu_item': self.play_similar_genre_menu_item_callback } popup.connect_signals(signals) popup.connect('pre-popup', self.pre_popup_menu_callback) self.popup = popup
def define_menu(self): popup = Menu(self.plugin, self.shell) popup.load_from_file('N/A', 'ui/coverart_play_pop_rb3.ui') signals = { 'remove_from_playlist_menu_item': self.remove_from_playlist_menu_item_callback } popup.connect_signals(signals) popup.connect('pre-popup', self.pre_popup_menu_callback) self.popup = popup
def initialise(self, source): if self._has_initialised: return self._has_initialised = True self.view_name = "artist_view" super(ArtistView, self).initialise(source) self.album_manager = source.album_manager self.shell = source.shell self.props.has_tooltip = True self.set_enable_tree_lines(True) col = Gtk.TreeViewColumn(' ', Gtk.CellRendererText(), text=6) self.append_column(col) pixbuf = Gtk.CellRendererPixbuf() col = Gtk.TreeViewColumn(_('Covers'), pixbuf, pixbuf=1) self.append_column(col) col = Gtk.TreeViewColumn(_('Artist'), Gtk.CellRendererText(), markup=5) self._artist_col = col col.set_clickable(True) col.set_sort_column_id(0) col.set_sort_indicator(True) col.connect('clicked', self._artist_sort_clicked) self.append_column(col) col = Gtk.TreeViewColumn('', Gtk.CellRendererText(), text=4) self.append_column(col) # dummy column to expand horizontally self.artist_manager = self.album_manager.artist_man self.artist_manager.model.store.set_sort_column_id(0, Gtk.SortType.ASCENDING) self.set_model(self.artist_manager.model.store) # setup iconview drag&drop support # first drag and drop on the coverart view to receive coverart self.enable_model_drag_dest([], Gdk.DragAction.COPY) self.drag_dest_add_image_targets() self.drag_dest_add_text_targets() self.connect('drag-drop', self.on_drag_drop) self.connect('drag-data-received', self.on_drag_data_received) # lastly support drag-drop from coverart to devices/nautilus etc # n.b. enabling of drag-source is controlled by the selection-changed to ensure # we dont allow drag from artists self.connect('drag-begin', self.on_drag_begin) self._targets = Gtk.TargetList.new([Gtk.TargetEntry.new("text/uri-list", 0, 0) ]) # N.B. values taken from rhythmbox v2.97 widgets/rb_entry_view.c self._targets.add_uri_targets(1) self.connect("drag-data-get", self.on_drag_data_get) # define artist specific popup menu self.artist_popup_menu = Menu(self.plugin, self.shell) self.artist_popup_menu.load_from_file('ui/coverart_artist_pop_rb2.ui', 'ui/coverart_artist_pop_rb3.ui') signals = \ { 'play_album_menu_item': self.source.play_album_menu_item_callback, 'queue_album_menu_item': self.source.queue_album_menu_item_callback, 'new_playlist': self.source.add_playlist_menu_item_callback, 'artist_cover_search_menu_item': self.cover_search_menu_item_callback } self.artist_popup_menu.connect_signals(signals) self.artist_popup_menu.connect('pre-popup', self.add_external_menu) # connect properties and signals self._connect_properties() self._connect_signals()
def _create_ui(self): ''' Creates the ui for the source and saves the important widgets onto properties. ''' print("CoverArtBrowser DEBUG - _create_ui") # dialog has not been created so lets do so. cl = CoverLocale() ui = Gtk.Builder() ui.set_translation_domain(cl.Locale.LOCALE_DOMAIN) ui.add_from_file( rb.find_plugin_file(self.plugin, 'ui/coverart_browser.ui')) ui.connect_signals(self) # load the page and put it in the source self.page = ui.get_object('main_box') self.pack_start(self.page, True, True, 0) # get widgets for main icon-view self.status_label = ui.get_object('status_label') window = ui.get_object('scrolled_window') self.viewmgr = ViewManager(self, window) # get widgets for the artist paned self.artist_paned = ui.get_object('vertical_paned') Gdk.threads_add_timeout(GLib.PRIORITY_DEFAULT_IDLE, 50, self._change_artist_paned_pos, self.viewmgr.view_name) self.viewmgr.connect('new-view', self.on_view_changed) self.artist_treeview = ui.get_object('artist_treeview') self.artist_scrolledwindow = ui.get_object('artist_scrolledwindow') # define menu's self.popup_menu = Menu(self.plugin, self.shell) self.popup_menu.load_from_file('ui/coverart_browser_pop_rb2.ui', 'ui/coverart_browser_pop_rb3.ui') self._external_plugins = None signals = \ { 'play_album_menu_item': self.play_album_menu_item_callback, 'queue_album_menu_item': self.queue_album_menu_item_callback, 'new_playlist': self.add_playlist_menu_item_callback, 'cover_search_menu_item': self.cover_search_menu_item_callback, 'export_embed_menu_item': self.export_embed_menu_item_callback, 'show_properties_menu_item': self.show_properties_menu_item_callback, 'play_similar_artist_menu_item': self.play_similar_artist_menu_item_callback} self.popup_menu.connect_signals(signals) self.popup_menu.connect('pre-popup', self.add_external_menu) self.status_label = ui.get_object('status_label') self.request_status_box = ui.get_object('request_status_box') self.request_spinner = ui.get_object('request_spinner') self.request_statusbar = ui.get_object('request_statusbar') self.request_cancel_button = ui.get_object('request_cancel_button') self.paned = ui.get_object('paned') self.notebook = ui.get_object('bottom_notebook') #---- set up info pane -----# info_scrolled_window = ui.get_object('info_scrolled_window') info_button_box = ui.get_object('info_button_box') artist_info_paned = ui.get_object('vertical_info_paned') self.artist_info = ArtistInfoPane(info_button_box, info_scrolled_window, artist_info_paned, self) # quick search self.quick_search = ui.get_object('quick_search_entry') print("CoverArtBrowser DEBUG - end _create_ui")