diff --git a/.gitignore b/.gitignore
index 5b216fc09..3c5478ff6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+/data/ui/LutrisWindow.ui~
nbproject
build
.project
diff --git a/data/ui/LutrisWindow.ui b/data/ui/LutrisWindow.ui
index 4dc2d0d3c..89aee4d02 100644
--- a/data/ui/LutrisWindow.ui
+++ b/data/ui/LutrisWindow.ui
@@ -124,10 +124,10 @@
True
False
-
diff --git a/lutris/gui/lutriswindow.py b/lutris/gui/lutriswindow.py
index 8307e33d1..26a49dd1b 100644
--- a/lutris/gui/lutriswindow.py
+++ b/lutris/gui/lutriswindow.py
@@ -26,16 +26,16 @@ from lutris.gui.config_dialogs import (
AddGameDialog, EditGameConfigDialog, SystemConfigDialog
)
from lutris.gui.widgets import (
- GameTreeView, GameIconView, ContextualMenu
+ GameListView, GameGridView, ContextualMenu
)
def load_view(view, games=[], filter_text=None, icon_type=None):
- if view == 'icon':
- view = GameIconView(games, filter_text=filter_text,
+ if view == 'grid':
+ view = GameGridView(games, filter_text=filter_text,
icon_type=icon_type)
elif view == 'list':
- view = GameTreeView(games, filter_text=filter_text,
+ view = GameListView(games, filter_text=filter_text,
icon_type=icon_type)
return view
@@ -66,7 +66,7 @@ class LutrisWindow(object):
width = int(settings.read_setting('width') or 800)
height = int(settings.read_setting('height') or 600)
self.window_size = (width, height)
- view_type = settings.read_setting('view_type') or settings.GAME_VIEW
+ view_type = self.get_view_type()
self.icon_type = self.get_icon_type(view_type)
filter_installed_setting = settings.read_setting(
'filter_installed'
@@ -85,13 +85,13 @@ class LutrisWindow(object):
self.main_box = self.builder.get_object('main_box')
self.splash_box = self.builder.get_object('splash_box')
# View menu
- self.icon_view_menuitem = self.builder.get_object("iconview_menuitem")
- self.icon_view_menuitem.set_active(view_type == 'icon')
+ 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")
self.list_view_menuitem.set_active(view_type == 'list')
# View buttons
- self.icon_view_btn = self.builder.get_object('switch_grid_view_btn')
- self.icon_view_btn.set_active(view_type == 'icon')
+ self.grid_view_btn = self.builder.get_object('switch_grid_view_btn')
+ self.grid_view_btn.set_active(view_type == 'grid')
self.list_view_btn = self.builder.get_object('switch_list_view_btn')
self.list_view_btn.set_active(view_type == 'list')
# Icon type menu
@@ -101,7 +101,7 @@ class LutrisWindow(object):
self.banner_menuitem = self.builder.get_object('banner_menuitem')
self.banner_menuitem.set_active(self.icon_type == 'banner')
self.icon_menuitem = self.builder.get_object('icon_menuitem')
- self.icon_menuitem.set_active(self.icon_type == 'icon')
+ self.icon_menuitem.set_active(self.icon_type == 'grid')
self.search_entry = self.builder.get_object('search_entry')
@@ -157,8 +157,8 @@ class LutrisWindow(object):
@property
def current_view_type(self):
- return 'icon' \
- if self.view.__class__.__name__ == "GameIconView" \
+ return 'grid' \
+ if self.view.__class__.__name__ == "GameGridView" \
else 'list'
def switch_splash_screen(self):
@@ -183,14 +183,20 @@ class LutrisWindow(object):
self.view.connect("game-selected", self.game_selection_changed)
self.window.connect("configure-event", self.get_size)
+ def get_view_type(self):
+ view_type = settings.read_setting('view_type')
+ if view_type in ['grid', 'list']:
+ return view_type
+ return settings.GAME_VIEW
+
def get_icon_type(self, view_type):
"""Return the icon style depending on the type of view."""
- if view_type == 'icon':
- icon_type = settings.read_setting('icon_type_iconview')
- default = settings.ICON_TYPE_ICONVIEW
- elif view_type == 'list':
+ if view_type == 'list':
icon_type = settings.read_setting('icon_type_listview')
default = settings.ICON_TYPE_LISTVIEW
+ else:
+ icon_type = settings.read_setting('icon_type_gridview')
+ default = settings.ICON_TYPE_GRIDVIEW
if icon_type not in ("banner_small", "banner", "icon"):
icon_type = default
return icon_type
@@ -249,7 +255,7 @@ class LutrisWindow(object):
def on_destroy(self, *args):
"""Signal for window close."""
- view_type = 'icon' if 'IconView' in str(type(self.view)) else 'list'
+ view_type = 'grid' if 'GridView' in str(type(self.view)) else 'list'
settings.write_setting('view_type', view_type)
width, height = self.window_size
settings.write_setting('width', width)
@@ -376,23 +382,23 @@ class LutrisWindow(object):
EditGameConfigDialog(self, game)
def on_viewmenu_toggled(self, menuitem):
- view_type = 'icon' if menuitem.get_active() else 'list'
+ view_type = 'grid' if menuitem.get_active() else 'list'
if view_type == self.current_view_type:
return
self.switch_view(view_type)
- self.icon_view_btn.set_active(view_type == 'icon')
+ self.grid_view_btn.set_active(view_type == 'grid')
self.list_view_btn.set_active(view_type == 'list')
def on_viewbtn_toggled(self, widget):
- view_type = 'icon' if widget.get_active() else 'list'
+ view_type = 'grid' if widget.get_active() else 'list'
if view_type == self.current_view_type:
return
self.switch_view(view_type)
- self.icon_view_menuitem.set_active(view_type == 'icon')
+ self.grid_view_menuitem.set_active(view_type == 'grid')
self.list_view_menuitem.set_active(view_type == 'list')
def switch_view(self, view_type):
- """Switche between icon view and list view."""
+ """Switch between grid view and list view."""
logger.debug("Switching view")
self.icon_type = self.get_icon_type(view_type)
self.view.destroy()
@@ -420,8 +426,8 @@ class LutrisWindow(object):
icon_type = menuitem.get_name()
if icon_type == self.view.icon_type or not menuitem.get_active():
return
- if self.current_view_type == 'icon':
- settings.write_setting('icon_type_iconview', icon_type)
+ if self.current_view_type == 'grid':
+ settings.write_setting('icon_type_gridview', icon_type)
elif self.current_view_type == 'list':
settings.write_setting('icon_type_listview', icon_type)
self.switch_view(self.current_view_type)
diff --git a/lutris/gui/widgets.py b/lutris/gui/widgets.py
index cf07603a6..68c6fc3ac 100644
--- a/lutris/gui/widgets.py
+++ b/lutris/gui/widgets.py
@@ -124,9 +124,9 @@ class ContextualMenu(Gtk.Menu):
event.button, event.time)
-class IconViewCellRenderer(Gtk.CellRendererText):
+class GridViewCellRenderer(Gtk.CellRendererText):
def __init__(self, width=None, *args, **kwargs):
- super(IconViewCellRenderer, self).__init__(*args, **kwargs)
+ super(GridViewCellRenderer, self).__init__(*args, **kwargs)
self.props.alignment = Pango.Alignment.CENTER
self.props.wrap_mode = Pango.WrapMode.WORD
self.props.xalign = 0.5
@@ -198,7 +198,7 @@ class GameView(object):
self.remove_row(row.iter)
def remove_row(self, model_iter):
- """Remove a game from the treeview."""
+ """Remove a game from the view."""
store = self.game_store.store
store.remove(model_iter)
@@ -224,7 +224,7 @@ class GameView(object):
return
try:
view.current_path = view.get_path_at_pos(event.x, event.y)
- if type(view) is GameIconView and view.current_path:
+ if type(view) is GameGridView and view.current_path:
view.select_path(view.current_path)
except ValueError:
(_, path) = view.get_selection().get_selected()
@@ -234,7 +234,7 @@ class GameView(object):
self.contextual_menu.popup(event, game_row)
-class GameTreeView(Gtk.TreeView, GameView):
+class GameListView(Gtk.TreeView, GameView):
"""Show the main list of games."""
__gsignals__ = GameView.__gsignals__
@@ -244,7 +244,7 @@ class GameTreeView(Gtk.TreeView, GameView):
self.game_store = GameStore(games, icon_type=icon_type,
filter_text=self.filter_text)
self.model = self.game_store.modelfilter.sort_new_with_model()
- super(GameTreeView, self).__init__(self.model)
+ super(GameListView, self).__init__(self.model)
self.set_rules_hint(True)
# Icon column
@@ -297,7 +297,7 @@ class GameTreeView(Gtk.TreeView, GameView):
self.emit("game-selected")
-class GameIconView(Gtk.IconView, GameView):
+class GameGridView(Gtk.IconView, GameView):
__gsignals__ = GameView.__gsignals__
icon_padding = 1
@@ -307,15 +307,15 @@ class GameIconView(Gtk.IconView, GameView):
self.game_store = GameStore(games, icon_type=icon_type,
filter_text=self.filter_text)
self.model = self.game_store.modelfilter
- super(GameIconView, self).__init__(model=self.model)
+ super(GameGridView, self).__init__(model=self.model)
self.set_columns(1)
self.set_column_spacing(1)
self.set_pixbuf_column(COL_ICON)
self.cell_width = BANNER_SIZE[0] if icon_type == "banner" \
else BANNER_SMALL_SIZE[0]
- iconview_cell_renderer = IconViewCellRenderer(width=self.cell_width)
- self.pack_end(iconview_cell_renderer, False)
- self.add_attribute(iconview_cell_renderer, 'markup', COL_NAME)
+ gridview_cell_renderer = GridViewCellRenderer(width=self.cell_width)
+ self.pack_end(gridview_cell_renderer, False)
+ self.add_attribute(gridview_cell_renderer, 'markup', COL_NAME)
self.set_item_padding(self.icon_padding)
self.connect('item-activated', self.on_item_activated)
diff --git a/lutris/settings.py b/lutris/settings.py
index e40fe11e4..d68a5ce44 100644
--- a/lutris/settings.py
+++ b/lutris/settings.py
@@ -36,8 +36,8 @@ LIB64_URL = SITE_URL + "files/lib64/"
# Default config options
KEEP_CACHED_ASSETS = True
-GAME_VIEW = 'icon'
-ICON_TYPE_ICONVIEW = 'banner'
+GAME_VIEW = 'grid'
+ICON_TYPE_GRIDVIEW = 'banner'
ICON_TYPE_LISTVIEW = 'icon'
read_setting = sio.read_setting