def _on_map_duck(self, widget): """ Load on map @param widget as Gtk.Viewport """ self._on_child_unmap(widget) self.__jump_button.hide() if self.__current_track.id is None: self.__current_track = Lp().player.current_track Lp().settings.set_value('infoswitch', GLib.Variant('s', 'duck')) if self.__artist_ids: artists = [] for artist_id in self.__artist_ids: artists.append(Lp().artists.get_name(artist_id)) search = ", ".join(artists) else: title = self.__current_track.name artists = ", ".join(Lp().player.current_track.artists) search = "%s+%s" % (artists, title) url = "https://duckduckgo.com/?q=%s&kl=%s&kd=-1&k5=2&kp=1&k1=-1"\ % (search, Gtk.get_default_language().to_string()) # Delayed load due to WebKit memory loading and Gtk animation web = self.WebView(False, True) web.show() widget.add(web) GLib.timeout_add(250, web.load, url, OpenLink.NEW)
def _on_map_duck(self, widget, force=False): """ Load on map @param widget as Gtk.Viewport """ if not self.is_visible(): return Lp.settings.set_value('infoswitch', GLib.Variant('s', 'duck')) title = Lp.player.current_track.title if self._artist is None: search = "%s+%s" % (Lp.player.get_current_artist(), title) else: search = self._artist url = "https://duckduckgo.com/?q=%s&kl=%s&kd=-1&k5=2&kp=1&k1=-1"\ % (search, Gtk.get_default_language().to_string()) # Delayed load due to WebKit memory loading GLib.timeout_add(250, self._load_web, widget, url, False, False)
def _on_map_duck(self, widget): """ Load on map @param widget as Gtk.ScrolledWindow """ child = widget.get_child() if child is not None: child.destroy() Lp.settings.set_value('infoswitch', GLib.Variant('s', 'duck')) title = Lp.player.current_track.title if self._artist is None: search = "%s+%s" % (self._get_current_artist(), title) else: search = self._artist url = "https://duckduckgo.com/?q=%s&kl=%s&kd=-1&k5=2&kp=1&k1=-1"\ % (search, Gtk.get_default_language().to_string()) # Delayed load due to WebKit memory loading GLib.timeout_add(250, self._load_web, widget, url, False, False)
def _on_map_duck(self, widget, force=False): """ Load on map @param widget as Gtk.Viewport """ self._menu.hide() if self._current is None: self._current = self._get_current() artist = Lp().artists.get_name(self._current[0]) Lp().settings.set_value('infoswitch', GLib.Variant('s', 'duck')) if self._current[2] == Type.NONE: search = artist else: title = Lp().tracks.get_name(self._current[2]) search = "%s+%s" % (artist, title) url = "https://duckduckgo.com/?q=%s&kl=%s&kd=-1&k5=2&kp=1&k1=-1"\ % (search, Gtk.get_default_language().to_string()) # Delayed load due to WebKit memory loading GLib.timeout_add(250, self._load_web, widget, url, False, False)
def _on_map_duck(self, widget): """ Load on map @param widget as Gtk.Viewport """ self._on_child_unmap(widget) self.__jump_button.hide() if self.__current_track.id is None: self.__current_track = Lp().player.current_track Lp().settings.set_value("infoswitch", GLib.Variant("s", "duck")) if self.__artist_ids: artists = [] for artist_id in self.__artist_ids: artists.append(Lp().artists.get_name(artist_id)) search = ", ".join(artists) else: if self.__current_track.id == Type.RADIOS: search = self.__current_track.name else: title = self.__current_track.name artists = ", ".join(Lp().player.current_track.artists) search = "%s+%s" % (artists, title) url = "https://duckduckgo.com/?q=%s&kl=%s&kd=-1&k5=2&kp=1&k1=-1"\ % (search, Gtk.get_default_language().to_string()) # If we do not have a webview in children, create a new one # Else load url children = widget.get_children() if not children or not isinstance(children[0], self.WebView): # Destroy previous widgets self._on_child_unmap(widget) web = self.WebView(False, True) web.show() widget.add(web) # Delayed load due to WebKit memory loading and Gtk animation GLib.timeout_add(250, web.load, url, OpenLink.NEW) elif url != children[0].url: children[0].load(url, OpenLink.NEW)
def _on_map_lyrics(self, widget): """ Load on map @param widget as Gtk.Viewport """ Lp().settings.set_value('infoswitch', GLib.Variant('s', 'lyrics')) self._jump_button.hide() if self._current_track.id is None: self._current_track = Lp().player.current_track artists = ", ".join(Lp().player.current_track.artists) title = self._current_track.name # If already searching in genius, search with duckduckgo # Vice versa duckurl = "https://duckduckgo.com/?q=%s&kl=%s&kd=-1&k5=2&kp=1&k1=-1"\ % (artists+"+"+title+" lyrics", Gtk.get_default_language().to_string()) geniusurl = url = "http://genius.com/search?q=%s" % artists+" "+title children = widget.get_children() # First time genius if not children: url = geniusurl elif children[0].url == duckurl: url = geniusurl elif children[0].url == geniusurl: url = duckurl else: url = geniusurl self._on_child_unmap(widget) # Delayed load due to WebKit memory loading and Gtk animation web = self.WebView(True, True) web.add_word('search') web.add_word('lyrics') web.show() widget.add(web) GLib.timeout_add(250, web.load, url, OpenLink.OPEN)
def _on_map_lyrics(self, widget): """ Load on map @param widget as Gtk.Viewport """ Lp().settings.set_value('infoswitch', GLib.Variant('s', 'lyrics')) self.__jump_button.hide() if self.__current_track.id is None: self.__current_track = Lp().player.current_track artists = ", ".join(Lp().player.current_track.artists) title = self.__current_track.name # If already searching in genius, search with duckduckgo # Vice versa duckurl = "https://duckduckgo.com/?q=%s&kl=%s&kd=-1&k5=2&kp=1&k1=-1"\ % (artists+"+"+title+" lyrics", Gtk.get_default_language().to_string()) geniusurl = url = "http://genius.com/search?q=%s" % artists+" "+title children = widget.get_children() # First time genius if not children: url = geniusurl elif children[0].url == duckurl: url = geniusurl elif children[0].url == geniusurl: url = duckurl else: url = geniusurl self._on_child_unmap(widget) # Delayed load due to WebKit memory loading and Gtk animation web = self.WebView(True, True) web.add_word('search') web.add_word('lyrics') web.show() widget.add(web) GLib.timeout_add(250, web.load, url, OpenLink.OPEN)