mirror of
https://github.com/lutris/lutris
synced 2024-10-06 07:50:16 +00:00
Move DownloadDialog to the dialogs package
This commit is contained in:
parent
ebe1381391
commit
91397f58e7
|
@ -6,7 +6,6 @@ from lutris import api, pga, runtime, settings
|
|||
from lutris.gui.util import open_uri
|
||||
from lutris.gui.logdialog import LogTextView
|
||||
from lutris.gui.widgets.dialogs import Dialog
|
||||
from lutris.gui.widgets.download_progress import DownloadProgressBox
|
||||
from lutris.util import datapath
|
||||
from lutris.util.log import logger
|
||||
|
||||
|
@ -132,38 +131,6 @@ class FileDialog(Gtk.FileChooserDialog):
|
|||
self.destroy()
|
||||
|
||||
|
||||
class DownloadDialog(Gtk.Dialog):
|
||||
"""Dialog showing a download in progress."""
|
||||
|
||||
def __init__(self, url=None, dest=None, title=None, label=None, downloader=None):
|
||||
Gtk.Dialog.__init__(self, title or "Downloading file")
|
||||
self.set_size_request(485, 104)
|
||||
self.set_border_width(12)
|
||||
params = {"url": url, "dest": dest, "title": label or "Downloading %s" % url}
|
||||
self.download_box = DownloadProgressBox(params, downloader=downloader)
|
||||
|
||||
self.download_box.connect("complete", self.download_complete)
|
||||
self.download_box.connect("cancel", self.download_cancelled)
|
||||
self.connect("response", self.on_response)
|
||||
|
||||
self.get_content_area().add(self.download_box)
|
||||
self.show_all()
|
||||
self.download_box.start()
|
||||
|
||||
def download_complete(self, _widget, _data):
|
||||
self.response(Gtk.ResponseType.OK)
|
||||
self.destroy()
|
||||
|
||||
def download_cancelled(self, _widget, data):
|
||||
self.response(Gtk.ResponseType.CANCEL)
|
||||
self.destroy()
|
||||
|
||||
def on_response(self, dialog, response):
|
||||
if response == Gtk.ResponseType.DELETE_EVENT:
|
||||
self.download_box.downloader.cancel()
|
||||
self.destroy()
|
||||
|
||||
|
||||
class InstallOrPlayDialog(Gtk.Dialog):
|
||||
def __init__(self, game_name):
|
||||
Gtk.Dialog.__init__(self, "%s is already installed" % game_name)
|
34
lutris/gui/dialogs/download.py
Normal file
34
lutris/gui/dialogs/download.py
Normal file
|
@ -0,0 +1,34 @@
|
|||
from gi.repository import Gtk
|
||||
from lutris.gui.widgets.download_progress import DownloadProgressBox
|
||||
|
||||
|
||||
class DownloadDialog(Gtk.Dialog):
|
||||
"""Dialog showing a download in progress."""
|
||||
|
||||
def __init__(self, url=None, dest=None, title=None, label=None, downloader=None):
|
||||
Gtk.Dialog.__init__(self, title or "Downloading file")
|
||||
self.set_size_request(485, 104)
|
||||
self.set_border_width(12)
|
||||
params = {"url": url, "dest": dest, "title": label or "Downloading %s" % url}
|
||||
self.download_box = DownloadProgressBox(params, downloader=downloader)
|
||||
|
||||
self.download_box.connect("complete", self.download_complete)
|
||||
self.download_box.connect("cancel", self.download_cancelled)
|
||||
self.connect("response", self.on_response)
|
||||
|
||||
self.get_content_area().add(self.download_box)
|
||||
self.show_all()
|
||||
self.download_box.start()
|
||||
|
||||
def download_complete(self, _widget, _data):
|
||||
self.response(Gtk.ResponseType.OK)
|
||||
self.destroy()
|
||||
|
||||
def download_cancelled(self, _widget, data):
|
||||
self.response(Gtk.ResponseType.CANCEL)
|
||||
self.destroy()
|
||||
|
||||
def on_response(self, dialog, response):
|
||||
if response == Gtk.ResponseType.DELETE_EVENT:
|
||||
self.download_box.downloader.cancel()
|
||||
self.destroy()
|
|
@ -9,7 +9,8 @@ from lutris import runners
|
|||
from lutris import settings
|
||||
from lutris.util.log import logger
|
||||
from lutris.gui.util import open_uri
|
||||
from lutris.gui.dialogs import ErrorDialog, GtkBuilderDialog, DownloadDialog
|
||||
from lutris.gui.dialogs import ErrorDialog, GtkBuilderDialog
|
||||
from lutris.gui.dialogs.download import DownloadDialog
|
||||
from lutris.gui.config.runner import RunnerConfigDialog
|
||||
from lutris.gui.runnerinstalldialog import RunnerInstallDialog
|
||||
from lutris.gui.widgets.utils import get_icon, ICON_SIZE, get_builder_from_file
|
||||
|
|
|
@ -2,7 +2,8 @@ import os.path
|
|||
import logging
|
||||
|
||||
from lutris.config import LutrisConfig
|
||||
from lutris.gui.dialogs import DownloadDialog, ErrorDialog
|
||||
from lutris.gui.dialogs.download import DownloadDialog
|
||||
from lutris.gui.dialogs import ErrorDialog
|
||||
from lutris.runners.runner import Runner
|
||||
from lutris.util import display, extract, system
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import shutil
|
|||
|
||||
from lutris import runtime
|
||||
from lutris.settings import RUNTIME_DIR
|
||||
from lutris.gui.dialogs import FileDialog
|
||||
from lutris.gui.dialogs import FileDialog, ErrorDialog
|
||||
from lutris.runners.runner import Runner
|
||||
from lutris.util.jobs import thread_safe_call
|
||||
from lutris.util import display, system
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
import time
|
||||
import urllib
|
||||
import sys
|
||||
import os
|
||||
import gi
|
||||
gi.require_version('Gdk', '3.0')
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, Gdk, GObject
|
||||
|
||||
|
||||
sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
|
||||
from lutris.gui.dialogs import DownloadDialog
|
||||
|
||||
TEST_URL = "https://lutris.net/releases/lutris_0.3.0.tar.gz"
|
||||
TEST_FILE_SIZE = 4582508
|
||||
|
||||
|
||||
def timed(function):
|
||||
def _wrapped(*args, **kwargs):
|
||||
start_time = time.time()
|
||||
retval = function(*args, **kwargs)
|
||||
total = time.time() - start_time
|
||||
print(function.__name__, (TEST_FILE_SIZE / total) / 1048576)
|
||||
return retval
|
||||
return _wrapped
|
||||
|
||||
|
||||
@timed
|
||||
def test_urlretrieve():
|
||||
urllib.urlretrieve(TEST_URL, "/tmp/test-dl")
|
||||
|
||||
|
||||
class DownloadDialogBenchmark(DownloadDialog):
|
||||
def download_complete(self, _widget, _data):
|
||||
print("Complete")
|
||||
self.destroy()
|
||||
Gtk.main_quit()
|
||||
|
||||
|
||||
@timed
|
||||
def test_download_dialog():
|
||||
DownloadDialogBenchmark(TEST_URL, "/tmp/test-downloader")
|
||||
Gtk.main()
|
||||
|
||||
|
||||
test_download_dialog()
|
||||
# test_urlretrieve()
|
Loading…
Reference in a new issue