gui: Add infobar for when game is running

This commit is contained in:
Patrick Griffis 2017-05-27 16:12:06 -04:00 committed by Mathieu Comandon
parent 0194cfc1e2
commit 12b2bab94e
3 changed files with 49 additions and 41 deletions

View file

@ -58,6 +58,8 @@ class LutrisWindow(Gtk.ApplicationWindow):
search_toggle = GtkTemplate.Child()
zoom_adjustment = GtkTemplate.Child()
no_results_overlay = GtkTemplate.Child()
infobar_revealer = GtkTemplate.Child()
infobar_label = GtkTemplate.Child()
def __init__(self, application, **kwargs):
self.runtime_updater = RuntimeUpdater()
@ -429,9 +431,12 @@ class LutrisWindow(Gtk.ApplicationWindow):
elif self.running_game.state == self.running_game.STATE_STOPPED:
self.set_status("Game has quit")
self.actions['stop-game'].props.enabled = False
self.infobar_revealer.set_reveal_child(False)
elif self.running_game.state == self.running_game.STATE_RUNNING:
self.set_status("Playing %s" % name)
self.actions['stop-game'].props.enabled = True
self.infobar_label.props.label = '{} running'.format(name)
self.infobar_revealer.set_reveal_child(True)
return True
# ---------

View file

@ -248,6 +248,45 @@
</child>
</object>
</child>
<child>
<object class="GtkRevealer" id="infobar_revealer">
<property name="visible">1</property>
<child>
<object class="GtkBox">
<property name="visible">1</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="infobar_label">
<property name="visible">1</property>
<property name="hexpand">1</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Game running</property>
</object>
</child>
<child>
<object class="GtkButton">
<property name="label" translatable="yes">View logs</property>
<property name="action-name">win.view-game-log</property>
<property name="visible">1</property>
</object>
</child>
<child>
<object class="GtkButton">
<property name="label" translatable="yes">Stop</property>
<property name="visible">1</property>
<property name="action-name">win.stop-game</property>
<style>
<class name="destructive-action"/>
</style>
</object>
</child>
<style>
<class name="infobar"/>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkOverlay">
<property name="visible">1</property>
@ -469,7 +508,6 @@
<property name="can_focus">1</property>
<property name="action-name">win.show-side-bar</property>
<property name="margin-top">3</property>
<property name="margin-bottom">3</property>
<accelerator key="f9" signal="clicked"/>
<child>
<object class="GtkLabel">
@ -479,46 +517,6 @@
</child>
</object>
</child>
<child>
<object class="GtkSeparator">
<property name="visible">1</property>
<property name="orientation">horizontal</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
</object>
</child>
<child>
<object class="GtkButton">
<property name="visible">1</property>
<property name="can_focus">1</property>
<property name="relief">none</property>
<property name="action-name">win.stop-game</property>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="halign">start</property>
<property name="use-underline">1</property>
<property name="label" translatable="yes">_Stop Current Game</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkButton">
<property name="visible">1</property>
<property name="can_focus">1</property>
<property name="relief">none</property>
<property name="action-name">win.view-game-log</property>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="halign">start</property>
<property name="use-underline">1</property>
<property name="label" translatable="yes">View Last Games' _Logs</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>

View file

@ -25,3 +25,8 @@
margin: 0;
border: 0;
}
.infobar {
padding: 6px 12px;
}