def __on_button_clicked(self, button): """ Popup menu for track relative to button @param button as Gtk.Button """ self.__context_timeout_id = None image = self.__menu_button.get_image() if self.__context is None: image.set_from_icon_name("go-next-symbolic", Gtk.IconSize.MENU) self.__context = ContextWidget(self._track, button) self.__context.set_property("halign", Gtk.Align.END) self.__context.show() self._duration_label.hide() self._grid.insert_next_to(button, Gtk.PositionType.LEFT) self._grid.attach_next_to(self.__context, button, Gtk.PositionType.LEFT, 1, 1) self.set_indicator(Lp().player.current_track.id == self._track.id, False) else: image.set_from_icon_name("go-previous-symbolic", Gtk.IconSize.MENU) self.__context.destroy() self._duration_label.show() self.__context = None self.set_indicator(Lp().player.current_track.id == self._track.id, utils.is_loved(self._track.id))
def __on_indicator_button_release_event(self, button, event): """ Popup menu for track relative to button @param button as Gtk.Button @param event as Gdk.EventButton """ def on_hide(widget): self.__on_indicator_button_release_event(button, event) self.__context_timeout_id = None image = self.__menu_button.get_image() if self.__context is None: image.set_from_icon_name("go-next-symbolic", Gtk.IconSize.MENU) self.__context = ContextWidget(self._track, button) self.__context.connect("hide", on_hide) self.__context.set_property("halign", Gtk.Align.END) self.__context.show() self._duration_label.hide() self._grid.insert_next_to(button, Gtk.PositionType.LEFT) self._grid.attach_next_to(self.__context, button, Gtk.PositionType.LEFT, 1, 1) self.set_indicator(App().player.current_track.id == self._track.id, False) else: image.set_from_icon_name("go-previous-symbolic", Gtk.IconSize.MENU) self.__context.destroy() self._duration_label.show() self.__context = None self.set_indicator(App().player.current_track.id == self._track.id, self._track.loved) return True
def __on_indicator_button_release_event(self, button, event, box, disc): """ Popup menu for track relative to button @param button as Gtk.Button @param event as Gdk.EventButton @param box as Gtk.Box @param disc as Disc """ def on_hide(widget): button.emit("clicked") from lollypop.widgets_context import ContextWidget context_widget = None for child in box.get_children(): if isinstance(child, ContextWidget): context_widget = child break image = button.get_image() if context_widget is None: image.set_from_icon_name("go-previous-symbolic", Gtk.IconSize.MENU) context_widget = ContextWidget(disc, button) context_widget.connect("hide", on_hide) context_widget.show() box.add(context_widget) else: image.set_from_icon_name("go-next-symbolic", Gtk.IconSize.MENU) context_widget.destroy() return True
def _on_context_clicked(self, button): """ Show context widget @param button as Gtk.Button """ image = button.get_image() if self.__context is None: image.set_from_icon_name('go-previous-symbolic', Gtk.IconSize.MENU) self.__context = ContextWidget(self._album, button) self.__context.set_property('halign', Gtk.Align.START) self.__context.set_property('valign', Gtk.Align.CENTER) self.__context.show() self.__header.insert_next_to(button, Gtk.PositionType.RIGHT) self.__header.attach_next_to(self.__context, button, Gtk.PositionType.RIGHT, 1, 1) else: image.set_from_icon_name('go-next-symbolic', Gtk.IconSize.MENU) self.__context.destroy() self.__context = None
def __on_context_clicked(self, button): """ Show context widget @param button as Gtk.Button """ def on_hide(widget): button.emit("clicked") image = button.get_image() if self.__context is None: image.set_from_icon_name("go-previous-symbolic", Gtk.IconSize.MENU) self.__context = ContextWidget(self._album, button) self.__context.connect("hide", on_hide) self.__context.set_property("halign", Gtk.Align.START) self.__context.set_property("valign", Gtk.Align.CENTER) self.__context.show() self.__header.insert_next_to(button, Gtk.PositionType.RIGHT) self.__header.attach_next_to(self.__context, button, Gtk.PositionType.RIGHT, 1, 1) else: image.set_from_icon_name("go-next-symbolic", Gtk.IconSize.MENU) self.__context.destroy() self.__context = None