[gnome-music/wip/jfelder/playback-status-v4: 141/147] searchview: Add annotations to the constructor
- From: Jean Felder <jfelder src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/wip/jfelder/playback-status-v4: 141/147] searchview: Add annotations to the constructor
- Date: Fri, 6 Nov 2020 19:14:58 +0000 (UTC)
commit e067b73d531265d624bece7bc89f5650b0867629
Author: Jean Felder <jfelder src gnome org>
Date: Fri Nov 6 19:49:05 2020 +0100
searchview: Add annotations to the constructor
gnomemusic/views/searchview.py | 38 ++++++++++++++++++++++++--------------
1 file changed, 24 insertions(+), 14 deletions(-)
---
diff --git a/gnomemusic/views/searchview.py b/gnomemusic/views/searchview.py
index ae4d83090..f41a2093a 100644
--- a/gnomemusic/views/searchview.py
+++ b/gnomemusic/views/searchview.py
@@ -22,10 +22,13 @@
# code, but you are not obligated to do so. If you do not wish to do so,
# delete this exception statement from your version.
+from __future__ import annotations
from enum import IntEnum
from gettext import gettext as _
+from typing import Optional
+import typing
-from gi.repository import Gdk, GObject, Gtk
+from gi.repository import Gdk, Gfm, GObject, Gtk
from gnomemusic.search import Search
from gnomemusic.widgets.albumcover import AlbumCover
@@ -34,6 +37,11 @@ from gnomemusic.widgets.headerbar import HeaderBar
from gnomemusic.widgets.artistalbumswidget import ArtistAlbumsWidget
from gnomemusic.widgets.artistsearchtile import ArtistSearchTile
from gnomemusic.widgets.songwidget import SongWidget
+if typing.TYPE_CHECKING:
+ from gnomemusic.application import Application
+ from gnomemusic.coremodel import CoreModel
+ from gnomemusic.player import Player
+ from gnomemusic.window import Window
@Gtk.Template(resource_path="/org/gnome/Music/ui/SearchView.ui")
@@ -73,7 +81,7 @@ class SearchView(Gtk.Stack):
_view_all_albums = Gtk.Template.Child()
_view_all_artists = Gtk.Template.Child()
- def __init__(self, application):
+ def __init__(self, application: Application) -> None:
"""Initialize SearchView
:param GtkApplication application: The Application object
@@ -82,16 +90,18 @@ class SearchView(Gtk.Stack):
self.props.name = "search"
- self._application = application
- self._coremodel = application.props.coremodel
- self._model = self._coremodel.props.songs_search
- self._album_model = self._coremodel.props.albums_search
- self._album_filter = self._coremodel.props.albums_search_filter
+ self._application: Application = application
+ self._coremodel: CoreModel = application.props.coremodel
+
+ model_type: Gfm.FilterListModel = Gfm.FilterListModel
+ self._model: model_type = self._coremodel.props.songs_search
+ self._album_model: model_type = self._coremodel.props.albums_search
+ self._album_filter: model_type = self._coremodel.props.albums_search_filter # noqa :E501
self._album_filter.set_filter_func(
self._core_filter, self._album_model, 12)
- self._artist_model = self._coremodel.props.artists_search
- self._artist_filter = self._coremodel.props.artists_search_filter
+ self._artist_model: model_type = self._coremodel.props.artists_search
+ self._artist_filter: model_type = self._coremodel.props.artists_search_filter # noqa :E501
self._artist_filter.set_filter_func(
self._core_filter, self._artist_model, 6)
@@ -116,10 +126,10 @@ class SearchView(Gtk.Stack):
"size-allocate", self._on_artist_flowbox_size_allocate)
self._on_artist_model_items_changed(self._artist_filter, 0, 0, 0)
- self._player = self._application.props.player
+ self._player: Player = self._application.props.player
- self._window = application.props.window
- self._headerbar = self._window._headerbar
+ self._window: Window = application.props.window
+ self._headerbar: HeaderBar = self._window._headerbar
self.connect("notify::selection-mode", self._on_selection_mode_changed)
@@ -135,9 +145,9 @@ class SearchView(Gtk.Stack):
self.add(self._album_widget)
- self._scrolled_artist_window = None
+ self._scrolled_artist_window: Optional[Gtk.ScrolledWindow] = None
- self._search_mode_active = False
+ self._search_mode_active: bool = False
def _core_filter(self, coreitem, coremodel, nr_items):
if coremodel.get_n_items() <= 5:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]