mirror of
https://github.com/lutris/lutris
synced 2024-09-29 20:43:37 +00:00
Fixing rebase fuck ups, round 2
This commit is contained in:
commit
f7c2955e36
|
@ -8,6 +8,7 @@ from gi.repository import GLib, Gtk, Gdk, GObject
|
|||
from lutris import api, pga, runtime, settings
|
||||
from lutris.gui.widgets.download_progress import DownloadProgressBox
|
||||
from lutris.gui.widgets.dialogs import Dialog
|
||||
from lutris.gui.logwindow import LogTextView
|
||||
from lutris.util import datapath
|
||||
from lutris.util.log import logger
|
||||
|
||||
|
@ -391,3 +392,33 @@ class WebConnectDialog(Dialog):
|
|||
if uri.startswith(self.service.redirect_uri):
|
||||
self.service.request_token(uri)
|
||||
self.destroy()
|
||||
|
||||
|
||||
class InstallerSourceDialog(Gtk.Dialog):
|
||||
"""Show install script source"""
|
||||
|
||||
def __init__(self, code, name, parent):
|
||||
Gtk.Dialog.__init__(self, "Install script for {}".format(name), parent=parent)
|
||||
self.set_size_request(500, 350)
|
||||
self.set_border_width(0)
|
||||
|
||||
self.scrolled_window = Gtk.ScrolledWindow()
|
||||
self.scrolled_window.set_hexpand(True)
|
||||
self.scrolled_window.set_vexpand(True)
|
||||
|
||||
source_buffer = Gtk.TextBuffer()
|
||||
source_buffer.set_text(code)
|
||||
|
||||
source_box = LogTextView(source_buffer, autoscroll=False)
|
||||
|
||||
self.get_content_area().add(self.scrolled_window)
|
||||
self.scrolled_window.add(source_box)
|
||||
|
||||
close_button = Gtk.Button("OK")
|
||||
close_button.connect('clicked', self.on_close)
|
||||
self.get_content_area().add(close_button)
|
||||
|
||||
self.show_all()
|
||||
|
||||
def on_close(self, *args):
|
||||
self.destroy()
|
||||
|
|
|
@ -12,7 +12,7 @@ from lutris.installer import interpreter
|
|||
from lutris.installer.errors import ScriptingError
|
||||
from lutris.game import Game
|
||||
from lutris.gui.config_dialogs import AddGameDialog
|
||||
from lutris.gui.dialogs import NoInstallerDialog, DirectoryDialog
|
||||
from lutris.gui.dialogs import NoInstallerDialog, DirectoryDialog, InstallerSourceDialog
|
||||
from lutris.gui.widgets.download_progress import DownloadProgressBox
|
||||
from lutris.gui.widgets.common import FileChooserEntry
|
||||
from lutris.gui.logwindow import LogTextView
|
||||
|
@ -90,6 +90,7 @@ class InstallerDialog(Gtk.Window):
|
|||
self.action_buttons.add(self.cancel_button)
|
||||
|
||||
self.eject_button = self.add_button("_Eject", self.on_eject_clicked)
|
||||
self.source_button = self.add_button("_View source", self.on_source_clicked)
|
||||
self.install_button = self.add_button("_Install", self.on_install_clicked)
|
||||
self.continue_button = self.add_button("_Continue")
|
||||
self.play_button = self.add_button("_Launch game", self.launch_game)
|
||||
|
@ -140,6 +141,7 @@ class InstallerDialog(Gtk.Window):
|
|||
self.close_button.hide()
|
||||
self.play_button.hide()
|
||||
self.install_button.hide()
|
||||
self.source_button.hide()
|
||||
self.eject_button.hide()
|
||||
|
||||
self.choose_installer()
|
||||
|
@ -260,6 +262,7 @@ class InstallerDialog(Gtk.Window):
|
|||
if self.continue_handler:
|
||||
self.continue_button.disconnect(self.continue_handler)
|
||||
self.continue_button.hide()
|
||||
self.source_button.show()
|
||||
self.install_button.grab_focus()
|
||||
self.install_button.show()
|
||||
|
||||
|
@ -286,6 +289,7 @@ class InstallerDialog(Gtk.Window):
|
|||
def on_install_clicked(self, button):
|
||||
"""Let the interpreter take charge of the next stages."""
|
||||
button.hide()
|
||||
self.source_button.hide()
|
||||
self.interpreter.check_runner_install()
|
||||
|
||||
def ask_user_for_file(self, message):
|
||||
|
@ -531,6 +535,13 @@ class InstallerDialog(Gtk.Window):
|
|||
self.interpreter.revert()
|
||||
self.destroy()
|
||||
|
||||
# -------------
|
||||
# View Source
|
||||
# -------------
|
||||
|
||||
def on_source_clicked(self, _button):
|
||||
InstallerSourceDialog(self.interpreter.script_pretty, self.interpreter.game_name, self)
|
||||
|
||||
# -------------
|
||||
# Utility stuff
|
||||
# -------------
|
||||
|
|
|
@ -3,7 +3,7 @@ from lutris.gui.widgets.dialogs import Dialog
|
|||
|
||||
|
||||
class LogTextView(Gtk.TextView):
|
||||
def __init__(self, buffer):
|
||||
def __init__(self, buffer, autoscroll=True):
|
||||
super().__init__()
|
||||
|
||||
self.set_buffer(buffer)
|
||||
|
@ -12,7 +12,8 @@ class LogTextView(Gtk.TextView):
|
|||
self.set_left_margin(10)
|
||||
self.set_wrap_mode(Gtk.WrapMode.CHAR)
|
||||
self.get_style_context().add_class('lutris-logview')
|
||||
self.connect("size-allocate", self.autoscroll)
|
||||
if autoscroll:
|
||||
self.connect("size-allocate", self.autoscroll)
|
||||
|
||||
def autoscroll(self, *args):
|
||||
adj = self.get_vadjustment()
|
||||
|
|
|
@ -803,5 +803,4 @@ class LutrisWindow(Gtk.ApplicationWindow):
|
|||
self.selected_platform = platform
|
||||
self.game_store.filter_runner = self.selected_runner
|
||||
self.game_store.filter_platform = self.selected_platform
|
||||
self.game_store.modelfilter.refilter()
|
||||
self.invalidate_game_filter()
|
||||
|
|
|
@ -8,6 +8,8 @@ import platform
|
|||
|
||||
from gi.repository import GLib
|
||||
|
||||
from json import dumps
|
||||
|
||||
from lutris import pga
|
||||
from lutris import settings
|
||||
from lutris.game import Game
|
||||
|
@ -66,7 +68,9 @@ class ScriptInterpreter(CommandsMixin):
|
|||
self.script = installer.get('script')
|
||||
if not self.script:
|
||||
raise ScriptingError("This installer doesn't have a 'script' section")
|
||||
|
||||
|
||||
self.script_pretty = dumps(self.script, indent=4)
|
||||
|
||||
self.runners_to_install = []
|
||||
self.prev_states = [] # Previous states for the Steam installer
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ from lutris.util.log import logger
|
|||
|
||||
class Request(object):
|
||||
def __init__(self, url, timeout=30, stop_request=None,
|
||||
thread_queue=None, headers=None, cookies=None):
|
||||
thread_queue=None, headers={}, cookies=None):
|
||||
|
||||
if not url:
|
||||
raise ValueError('An URL is required!')
|
||||
|
|
Loading…
Reference in a new issue