def __init__(self, player, parentview): Gtk.EventBox.__init__(self) self.player = player self.iterToClean = None self.parentview = parentview self.ui = Gtk.Builder() self.ui.add_from_resource('/org/gnome/Music/AlbumWidget.ui') self._create_model() self.view = Gd.MainView(shadow_type=Gtk.ShadowType.NONE) self.view.set_view_type(Gd.MainViewType.LIST) self.album = None self.header_bar = None self.view.connect('item-activated', self._on_item_activated) view_box = self.ui.get_object('view') self.ui.get_object('scrolledWindow').set_placement( Gtk.CornerType.TOP_LEFT) self.view.connect('selection-mode-request', self._on_selection_mode_request) child_view = self.view.get_children()[0] child_view.set_margin_top(64) child_view.set_margin_bottom(64) child_view.set_margin_end(32) self.view.remove(child_view) view_box.add(child_view) self.add(self.ui.get_object('AlbumWidget')) self.star_handler = StarHandler(self, 9) self._add_list_renderers() self.get_style_context().add_class('view') self.get_style_context().add_class('content-view') self.view.get_generic_view().get_style_context().remove_class('view') self.show_all()
def _setup_view(self, view_type): self.view = Gd.MainView(shadow_type=Gtk.ShadowType.NONE) self.view.set_view_type(view_type) self.view.click_handler = self.view.connect('item-activated', self._on_item_activated) self.view.connect('selection-mode-request', self._on_selection_mode_request) self.view.bind_property('selection-mode', self, 'selection_mode', GObject.BindingFlags.BIDIRECTIONAL) self.view.connect('view-selection-changed', self._on_view_selection_changed) self._box.pack_start(self.view, True, True, 0)
def __init__(self, player, parent_view): """Initialize the AlbumWidget. :param player: The player object :param parent_view: The view this widget is part of """ Gtk.EventBox.__init__(self) scale = self.get_scale_factor() self._cache = AlbumArtCache(scale) self._loading_icon_surface = DefaultIcon(scale).get( DefaultIcon.Type.loading, ArtSize.large) self._player = player self._iter_to_clean = None self._ui = Gtk.Builder() self._ui.add_from_resource('/org/gnome/Music/AlbumWidget.ui') self._create_model() self.view = Gd.MainView(shadow_type=Gtk.ShadowType.NONE) self.view.set_view_type(Gd.MainViewType.LIST) self._album = None self._header_bar = None self.view.connect('item-activated', self._on_item_activated) view_box = self._ui.get_object('view') self._ui.get_object('scrolledWindow').set_placement( Gtk.CornerType.TOP_LEFT) self.view.connect('selection-mode-request', self._on_selection_mode_request) child_view = self.view.get_children()[0] child_view.set_margin_top(64) child_view.set_margin_bottom(64) child_view.set_margin_end(32) self.view.remove(child_view) view_box.add(child_view) self.add(self._ui.get_object('AlbumWidget')) self._star_handler = StarHandlerWidget(self, 9) self._add_list_renderers() self.get_style_context().add_class('view') self.get_style_context().add_class('content-view') self.view.get_generic_view().get_style_context().remove_class('view') self.show_all()
def __init__(self, title, header_bar): Stack.__init__(self, transition_type=StackTransitionType.CROSSFADE) self.grid = Gtk.Grid(orientation=Gtk.Orientation.VERTICAL) self.view = Gd.MainView(shadow_type=Gtk.ShadowType.NONE) self.title = title self.header_bar = header_bar if hasattr(self, "model"): self.view.set_model(self.model) self.filter = self.model.filter_new(None) self.view.set_model(self.filter) box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) box.pack_start(self.view, True, True, 0) button = Gtk.Button(label=title) #self.add(button) self.grid.add(box) self.add(self.grid) if hasattr(self, "on_item_activated"): self.view.connect('item-activated', self.on_item_activated) self.show_all()
def __init__(self, title, header_bar, selection_toolbar, useStack=False): Stack.__init__(self, transition_type=StackTransitionType.CROSSFADE) self._grid = Gtk.Grid(orientation=Gtk.Orientation.VERTICAL) self._iconWidth = -1 self._iconHeight = 128 self._offset = 0 self._adjustmentValueId = 0 self._adjustmentChangedId = 0 self._scrollbarVisibleId = 0 self._model = Gtk.ListStore(GObject.TYPE_STRING, GObject.TYPE_STRING, GObject.TYPE_STRING, GObject.TYPE_STRING, GdkPixbuf.Pixbuf, GObject.TYPE_OBJECT, GObject.TYPE_BOOLEAN, GObject.TYPE_INT, GObject.TYPE_STRING, GObject.TYPE_BOOLEAN, GObject.TYPE_BOOLEAN) self.view = Gd.MainView(shadow_type=Gtk.ShadowType.NONE) self.view.set_view_type(Gd.MainViewType.ICON) self.view.set_model(self._model) self.filter = self._model.filter_new(None) self.view.set_model(self.filter) self.vadjustment = self.view.get_vadjustment() self.selection_toolbar = selection_toolbar box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) box.pack_start(self.view, True, True, 0) if useStack: self.stack = Stack( transition_type=StackTransitionType.SLIDE_RIGHT, ) dummy = Gtk.Frame(visible=False) self.stack.add_named(dummy, 'dummy') self.stack.add_named(box, 'artists') self.stack.set_visible_child_name('dummy') self._grid.add(self.stack) else: self._grid.add(box) self._cached_count = -1 self._loadMore = Widgets.LoadMoreButton(self._get_remaining_item_count) box.pack_end(self._loadMore.widget, False, False, 0) self._loadMore.widget.connect('clicked', self._populate) self.view.connect('item-activated', self._on_item_activated) self.view.connect('selection-mode-request', self._on_selection_mode_request) self._cursor = None self.header_bar = header_bar self.header_bar._select_button.connect('toggled', self._on_header_bar_toggled) self.header_bar._cancel_button.connect('clicked', self._on_cancel_button_clicked) self.title = title self.add(self._grid) self.show_all() self._items = [] self._loadMore.widget.hide() self._connect_view() self.cache = albumArtCache.get_default() self._symbolicIcon = self.cache.make_default_icon( self._iconHeight, self._iconWidth) self._init = False grilo.connect('ready', self._on_grilo_ready) self.header_bar.header_bar.connect('state-changed', self._on_state_changed) self.view.connect('view-selection-changed', self._on_view_selection_changed) self._discovering_urls = {}
def __init__(self, window, player): self.playlists_sidebar = Gd.MainView() BaseView.__init__(self, 'playlists', _("Playlists"), window, Gd.MainViewType.LIST, True, self.playlists_sidebar) self.view.get_generic_view().get_style_context()\ .add_class('songs-list') self._add_list_renderers() self.view.get_generic_view().get_style_context().remove_class( 'content-view') builder = Gtk.Builder() builder.add_from_resource('/org/gnome/Music/PlaylistControls.ui') self.headerbar = builder.get_object('grid') self.name_label = builder.get_object('playlist_name') self.songs_count_label = builder.get_object('songs_count') self.menubutton = builder.get_object('playlist_menubutton') playlistPlayAction = Gio.SimpleAction.new('playlist_play', None) playlistPlayAction.connect('activate', self._on_play_activate) window.add_action(playlistPlayAction) self.playlistDeleteAction = Gio.SimpleAction.new( 'playlist_delete', None) self.playlistDeleteAction.connect('activate', self._on_delete_activate) window.add_action(self.playlistDeleteAction) self._grid.insert_row(0) self._grid.attach(self.headerbar, 1, 0, 1, 1) self.playlists_model = Gtk.ListStore( GObject.TYPE_STRING, GObject.TYPE_STRING, GObject.TYPE_STRING, GObject.TYPE_STRING, GdkPixbuf.Pixbuf, GObject.TYPE_OBJECT, GObject.TYPE_BOOLEAN, GObject.TYPE_INT, GObject.TYPE_STRING, GObject.TYPE_INT, GObject.TYPE_BOOLEAN, GObject.TYPE_INT) self.playlists_sidebar.set_view_type(Gd.MainViewType.LIST) self.playlists_sidebar.set_model(self.playlists_model) self.playlists_sidebar.set_hexpand(False) self.playlists_sidebar.get_style_context().add_class('side-panel') self.playlists_sidebar.get_generic_view().get_selection().set_mode( Gtk.SelectionMode.SINGLE) self.playlists_sidebar.connect('item-activated', self._on_playlist_activated) self._grid.insert_column(0) self._grid.child_set_property(self.stack, 'top-attach', 0) self._grid.child_set_property(self.stack, 'height', 2) self._add_sidebar_renderers() self.playlists_sidebar.get_generic_view().get_style_context( ).remove_class('content-view') self.iter_to_clean = None self.iter_to_clean_model = None self.current_playlist = None self.current_playlist_index = None self.pl_todelete = None self.pl_todelete_index = None self.really_delete = True self.songs_count = 0 self.window = window self._update_songs_count() self.player = player self.player.connect('playlist-item-changed', self.update_model) playlists.connect('playlist-created', self._on_playlist_created) playlists.connect('playlist-updated', self.on_playlist_update) playlists.connect('song-added-to-playlist', self._on_song_added_to_playlist) playlists.connect('song-removed-from-playlist', self._on_song_removed_from_playlist) self.show_all()