def do_view_switch(self, view_type): """Switches between icon view and list view""" self.view.destroy() self.view = switch_to_view( view_type, get_game_list(filter_installed=self.filter_installed) ) self.view.contextual_menu = self.menu self.connect_signals() self.games_scrollwindow.add_with_viewport(self.view) self.view.show_all() self.view.check_resize()
def switch_view(self, view_type): """Switch between grid view and list view.""" logger.debug("Switching view") self.icon_type = self.get_icon_type(view_type) self.view.destroy() self.view = load_view( view_type, get_game_list(filter_installed=self.filter_installed), filter_text=self.search_entry.get_text(), icon_type=self.icon_type) self.view.contextual_menu = self.menu self.connect_signals() self.games_scrollwindow.add(self.view) self.view.show_all() self.view.check_resize() # Note: set_active(True *or* False) apparently makes ALL the menuitems # in the group send the activate signal... if self.icon_type == 'banner_small': self.banner_small_menuitem.set_active(True) if self.icon_type == 'icon': self.icon_menuitem.set_active(True) if self.icon_type == 'banner': self.banner_menuitem.set_active(True)
def switch_view(self, view_type): """Switche between icon view and list view.""" logger.debug("Switching view") self.icon_type = self.get_icon_type(view_type) self.view.destroy() self.view = load_view( view_type, get_game_list(filter_installed=self.filter_installed), filter_text=self.search_entry.get_text(), icon_type=self.icon_type ) self.view.contextual_menu = self.menu self.connect_signals() self.games_scrollwindow.add_with_viewport(self.view) self.view.show_all() self.view.check_resize() # Note: set_active(True *or* False) apparently makes ALL the menuitems # in the group send the activate signal... if self.icon_type == 'banner_small': self.banner_small_menuitem.set_active(True) if self.icon_type == 'icon': self.icon_menuitem.set_active(True) if self.icon_type == 'banner': self.banner_menuitem.set_active(True)
def init_game_store(self): logger.debug("Getting game list") game_list = get_game_list() self.game_store.fill_store(game_list) self.switch_splash_screen()
def __init__(self): ui_filename = os.path.join(datapath.get(), 'ui', 'LutrisWindow.ui') if not os.path.exists(ui_filename): raise IOError('File %s not found' % ui_filename) # Currently running game self.running_game = None # Emulate double click to workaround GTK bug #484640 # https://bugzilla.gnome.org/show_bug.cgi?id=484640 self.game_selection_time = 0 self.game_launch_time = 0 self.last_selected_game = None self.builder = Gtk.Builder() self.builder.add_from_file(ui_filename) # load config width = int(settings.read_setting('width') or 800) height = int(settings.read_setting('height') or 600) self.window_size = (width, height) view_type = self.get_view_type() self.icon_type = self.get_icon_type(view_type) filter_installed_setting = settings.read_setting( 'filter_installed') or 'false' self.filter_installed = filter_installed_setting == 'true' show_installed_games_menuitem = self.builder.get_object( 'filter_installed') show_installed_games_menuitem.set_active(self.filter_installed) logger.debug("Getting game list") game_list = get_game_list(self.filter_installed) logger.debug("Switching view") self.view = load_view(view_type, game_list, icon_type=self.icon_type) logger.debug("Connecting signals") self.main_box = self.builder.get_object('main_box') self.splash_box = self.builder.get_object('splash_box') # View menu 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.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 self.banner_small_menuitem = \ self.builder.get_object('banner_small_menuitem') self.banner_small_menuitem.set_active(self.icon_type == 'banner_small') 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 == 'grid') self.search_entry = self.builder.get_object('search_entry') # Scroll window self.games_scrollwindow = self.builder.get_object('games_scrollwindow') self.games_scrollwindow.add(self.view) # Status bar self.status_label = self.builder.get_object('status_label') self.joystick_icons = [] # Buttons self.stop_button = self.builder.get_object('stop_button') self.stop_button.set_sensitive(False) self.delete_button = self.builder.get_object('delete_button') self.delete_button.set_sensitive(False) self.play_button = self.builder.get_object('play_button') self.play_button.set_sensitive(False) # Contextual menu menu_callbacks = [ ('play', self.on_game_clicked), ('install', self.on_game_clicked), ('add', self.add_manually), ('configure', self.edit_game_configuration), ('browse', self.on_browse_files), ('desktop-shortcut', self.create_desktop_shortcut), ('menu-shortcut', self.create_menu_shortcut), ('remove', self.on_remove_game), ] self.menu = ContextualMenu(menu_callbacks) self.view.contextual_menu = self.menu # Timer self.timer_id = GLib.timeout_add(2000, self.refresh_status) sidebar_paned = self.builder.get_object('sidebar_paned') sidebar_paned.set_position(150) sidebar_treeview = SidebarTreeView() sidebar_treeview.connect('cursor-changed', self.on_sidebar_changed) self.sidebar_viewport = self.builder.get_object('sidebar_viewport') self.sidebar_viewport.add(sidebar_treeview) # Window initialization self.window = self.builder.get_object("window") self.window.resize_to_geometry(width, height) self.window.show_all() self.builder.connect_signals(self) self.connect_signals() # XXX Hide PGA config menu item until it actually gets implemented pga_menuitem = self.builder.get_object('pga_menuitem') pga_menuitem.hide() self.switch_splash_screen() credentials = api.read_api_key() if credentials: self.on_connect_success(None, credentials) else: self.toggle_connection(False) sync = Sync() async_call(sync.sync_steam_local, lambda r, e: async_call(self.sync_icons, None), caller=self) # Update Lutris Runtime async_call(runtime.update_runtime, None)
def __init__(self): ui_filename = os.path.join( datapath.get(), 'ui', 'LutrisWindow.ui' ) if not os.path.exists(ui_filename): raise IOError('File %s not found' % ui_filename) self.builder = Gtk.Builder() self.builder.add_from_file(ui_filename) # load config 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 'icon' filter_installed_setting = settings.read_setting( 'filter_installed' ) or 'false' self.filter_installed = filter_installed_setting == 'true' show_installed_games_menuitem = self.builder.get_object( 'filter_installed' ) show_installed_games_menuitem.set_active(self.filter_installed) logger.debug("Getting game list") game_list = get_game_list(self.filter_installed) logger.debug("Switching view") self.view = switch_to_view(view_type, game_list) logger.debug("Connecting signals") self.icon_view_menuitem = self.builder.get_object("iconview_menuitem") self.icon_view_menuitem.set_active(view_type == 'icon') self.list_view_menuitem = self.builder.get_object("listview_menuitem") self.list_view_menuitem.set_active(view_type == 'list') self.icon_view_btn = self.builder.get_object('switch_grid_view_btn') self.icon_view_btn.set_active(view_type == 'icon') self.list_view_btn = self.builder.get_object('switch_list_view_btn') self.list_view_btn.set_active(view_type == 'list') # Scroll window self.games_scrollwindow = self.builder.get_object('games_scrollwindow') self.games_scrollwindow.add(self.view) #Status bar self.status_label = self.builder.get_object('status_label') self.joystick_icons = [] # Buttons self.stop_button = self.builder.get_object('stop_button') self.stop_button.set_sensitive(False) self.delete_button = self.builder.get_object('delete_button') self.delete_button.set_sensitive(False) self.play_button = self.builder.get_object('play_button') self.play_button.set_sensitive(False) #Contextual menu menu_callbacks = [ ('play', self.on_game_clicked), ('install', self.on_game_clicked), ('add', self.add_manually), ('configure', self.edit_game_configuration), ('desktop-shortcut', self.create_desktop_shortcut), ('menu-shortcut', self.create_menu_shortcut), ('uninstall', self.on_remove_game), ] self.menu = ContextualMenu(menu_callbacks) self.view.contextual_menu = self.menu #Timer self.timer_id = GLib.timeout_add(2000, self.refresh_status) self.window = self.builder.get_object("window") self.window.resize_to_geometry(width, height) self.window.show_all() self.builder.connect_signals(self) self.connect_signals() if api.read_api_key(): self.status_label.set_text("Connected to lutris.net") self.sync_library() else: async_call(self.sync_icons, None)
def __init__(self): ui_filename = os.path.join( datapath.get(), 'ui', 'LutrisWindow.ui' ) if not os.path.exists(ui_filename): raise IOError('File %s not found' % ui_filename) # Currently running game self.running_game = None # Emulate double click to workaround GTK bug #484640 # https://bugzilla.gnome.org/show_bug.cgi?id=484640 self.game_selection_time = 0 self.game_launch_time = 0 self.last_selected_game = None self.builder = Gtk.Builder() self.builder.add_from_file(ui_filename) # load config width = int(settings.read_setting('width') or 800) height = int(settings.read_setting('height') or 600) self.window_size = (width, height) view_type = self.get_view_type() self.icon_type = self.get_icon_type(view_type) filter_installed_setting = settings.read_setting( 'filter_installed' ) or 'false' self.filter_installed = filter_installed_setting == 'true' show_installed_games_menuitem = self.builder.get_object( 'filter_installed' ) show_installed_games_menuitem.set_active(self.filter_installed) logger.debug("Getting game list") game_list = get_game_list(self.filter_installed) logger.debug("Switching view") self.view = load_view(view_type, game_list, icon_type=self.icon_type) logger.debug("Connecting signals") self.main_box = self.builder.get_object('main_box') self.splash_box = self.builder.get_object('splash_box') # View menu 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.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 self.banner_small_menuitem = \ self.builder.get_object('banner_small_menuitem') self.banner_small_menuitem.set_active(self.icon_type == 'banner_small') 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 == 'grid') self.search_entry = self.builder.get_object('search_entry') # Scroll window self.games_scrollwindow = self.builder.get_object('games_scrollwindow') self.games_scrollwindow.add(self.view) # Status bar self.status_label = self.builder.get_object('status_label') self.joystick_icons = [] # Buttons self.stop_button = self.builder.get_object('stop_button') self.stop_button.set_sensitive(False) self.delete_button = self.builder.get_object('delete_button') self.delete_button.set_sensitive(False) self.play_button = self.builder.get_object('play_button') self.play_button.set_sensitive(False) # Contextual menu menu_callbacks = [ ('play', self.on_game_clicked), ('install', self.on_game_clicked), ('add', self.add_manually), ('configure', self.edit_game_configuration), ('browse', self.on_browse_files), ('desktop-shortcut', self.create_desktop_shortcut), ('menu-shortcut', self.create_menu_shortcut), ('remove', self.on_remove_game), ] self.menu = ContextualMenu(menu_callbacks) self.view.contextual_menu = self.menu # Timer self.timer_id = GLib.timeout_add(2000, self.refresh_status) # Window initialization self.window = self.builder.get_object("window") self.window.resize_to_geometry(width, height) self.window.show_all() self.builder.connect_signals(self) self.connect_signals() # XXX Hide PGA config menu item until it actually gets implemented pga_menuitem = self.builder.get_object('pga_menuitem') pga_menuitem.hide() self.switch_splash_screen() credentials = api.read_api_key() if credentials: self.on_connect_success(None, credentials) else: self.toggle_connection(False) sync = Sync() async_call( sync.sync_steam_local, lambda r, e: async_call(self.sync_icons, None), caller=self ) # Update Lutris Runtime async_call(runtime.update_runtime, None)