Merge branch 'next' into python3

This commit is contained in:
Mathieu Comandon 2015-12-16 18:50:52 -08:00
commit ac2296cfdf
3 changed files with 108 additions and 4 deletions

View file

@ -249,7 +249,7 @@ class ClientLoginDialog(GtkBuilderDialog):
self.password_entry = self.builder.get_object('password_entry')
cancel_button = self.builder.get_object('cancel_button')
cancel_button.connect('clicked', self.on_cancel)
cancel_button.connect('clicked', self.on_close)
connect_button = self.builder.get_object('connect_button')
connect_button.connect('clicked', self.on_connect)
@ -270,9 +270,6 @@ class ClientLoginDialog(GtkBuilderDialog):
else:
self.username_entry.grab_focus()
def on_cancel(self, widget):
self.dialog.destroy()
def on_connect(self, widget):
username, password = self.get_credentials()
token = api.connect(username, password)
@ -283,6 +280,15 @@ class ClientLoginDialog(GtkBuilderDialog):
self.dialog.destroy()
class ClientUpdateDialog(GtkBuilderDialog):
glade_file = 'dialog-client-update.ui'
dialog_object = "client_update_dialog"
def on_open_downloads_clicked(self, _widget):
import subprocess
subprocess.call(['xdg-open', 'https://lutris.net'])
class NoInstallerDialog(Gtk.MessageDialog):
MANUAL_CONF = 1
NEW_INSTALLER = 2

View file

@ -192,6 +192,24 @@ class LutrisWindow(object):
self.view.connect("game-selected", self.game_selection_changed)
self.window.connect("configure-event", self.on_resize)
def check_update(self):
"""Verify availability of client update."""
pass
def on_version_received(version, error):
if not version:
return
latest_version = settings.read_setting('latest_version')
if version > (latest_version or settings.VERSION):
dialogs.ClientUpdateDialog()
# Store latest version seen to avoid showing
# the dialog more than once.
settings.write_setting('latest_version', version)
import http # Move me
AsyncCall(http.download_content, on_version_received,
'https://lutris.net/version')
def get_view_type(self):
view_type = settings.read_setting('view_type')
if view_type in ['grid', 'list']:
@ -320,7 +338,10 @@ class LutrisWindow(object):
"""Open the about dialog."""
dialogs.AboutDialog(parent=self.window)
# ---------
# Callbacks
# ---------
def on_clear_search(self, widget, icon_pos, event):
if icon_pos == Gtk.EntryIconPosition.SECONDARY:
widget.set_text('')

View file

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.10"/>
<object class="GtkDialog" id="client_update_dialog">
<property name="can_focus">False</property>
<property name="title" translatable="yes">Update available</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area1">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<object class="GtkButton" id="close_button">
<property name="label" translatable="yes">_Close</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
<signal name="clicked" handler="on_close" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="open_downloads_button">
<property name="label" translatable="yes">C_heck it out</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="has_default">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
<property name="yalign">0.56000000238418579</property>
<signal name="clicked" handler="on_open_downloads_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xpad">40</property>
<property name="ypad">30</property>
<property name="label" translatable="yes">A new version of Lutris is available!</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>