Apply filter_installed at startup with FlowBox (Fixes #355)

This commit is contained in:
Mathieu Comandon 2016-09-28 19:41:24 -07:00
parent dd9d2bb0b0
commit df35cd1439
2 changed files with 7 additions and 8 deletions

View file

@ -64,7 +64,7 @@ class GameFlowBox(Gtk.FlowBox):
"game-installed": (GObject.SIGNAL_RUN_FIRST, None, (int,)),
}
def __init__(self, game_list):
def __init__(self, game_list, filter_installed):
super(GameFlowBox, self).__init__()
self.set_valign(Gtk.Align.START)
@ -79,7 +79,7 @@ class GameFlowBox(Gtk.FlowBox):
self.filter_text = ''
self.filter_runner = ''
self.filter_installed = False
self.filter_installed = filter_installed
self.game_list = game_list
self.fill_store(self.game_list)
@ -196,7 +196,7 @@ class GameFlowBox(Gtk.FlowBox):
def update_row(self, game):
for index, _game in enumerate(self.game_list):
if game['id '] == _game['id']:
if game['id'] == _game['id']:
self.update_image(game['id'], _game['installed'])
def update_image(self, game_id, is_installed):

View file

@ -69,7 +69,7 @@ class LutrisWindow(Gtk.Application):
window.resize(width, height)
view_type = self.get_view_type()
self.icon_type = self.get_icon_type(view_type)
filter_installed = \
self.filter_installed = \
settings.read_setting('filter_installed') == 'true'
self.sidebar_visible = \
settings.read_setting('sidebar_visible') in ['true', None]
@ -84,7 +84,7 @@ class LutrisWindow(Gtk.Application):
# Load view
logger.debug("Loading view")
self.game_store = GameStore([], self.icon_type, filter_installed)
self.game_store = GameStore([], self.icon_type, self.filter_installed)
self.view = self.get_view(view_type)
logger.debug("Connecting signals")
@ -94,7 +94,7 @@ class LutrisWindow(Gtk.Application):
# View menu
installed_games_only_menuitem =\
self.builder.get_object('filter_installed')
installed_games_only_menuitem.set_active(filter_installed)
installed_games_only_menuitem.set_active(self.filter_installed)
self.grid_view_menuitem = self.builder.get_object("gridview_menuitem")
self.grid_view_menuitem.set_active(view_type == 'grid')
self.list_view_menuitem = self.builder.get_object("listview_menuitem")
@ -244,7 +244,7 @@ class LutrisWindow(Gtk.Application):
def get_view(self, view_type):
if view_type == 'grid':
# view_type = GameGridView(self.game_store)
return GameFlowBox(self.game_list)
return GameFlowBox(self.game_list, filter_installed=self.filter_installed)
elif view_type == 'list':
return GameListView(self.game_store)
@ -335,7 +335,6 @@ class LutrisWindow(Gtk.Application):
"""Synchronize games with local stuff and server."""
def update_gui(result, error):
if result:
logger.debug('results ok')
added_ids, updated_ids = result
added_games = pga.get_game_by_field(added_ids, 'id', all=True)
self.game_store.fill_store(added_games)