[geary/wip/geary-inspector: 7/10] Update the UI when the switcher pane changes
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/wip/geary-inspector: 7/10] Update the UI when the switcher pane changes
- Date: Sun, 7 Apr 2019 01:31:05 +0000 (UTC)
commit 400fc0a275c86afa98aaeb9335a5e81ae848a20a
Author: Michael Gratton <mike vee net>
Date: Sat Apr 6 17:24:48 2019 +1100
Update the UI when the switcher pane changes
src/client/components/components-inspector.vala | 24 ++++++++++++++++++++++++
ui/components-inspector.ui | 7 ++++---
2 files changed, 28 insertions(+), 3 deletions(-)
---
diff --git a/src/client/components/components-inspector.vala b/src/client/components/components-inspector.vala
index 7798d4c5..7540c280 100644
--- a/src/client/components/components-inspector.vala
+++ b/src/client/components/components-inspector.vala
@@ -15,6 +15,18 @@ public class Components.Inspector : Gtk.Window {
[GtkChild]
private Gtk.HeaderBar header_bar;
+ [GtkChild]
+ private Gtk.Stack stack;
+
+ [GtkChild]
+ private Gtk.Button copy_button;
+
+ [GtkChild]
+ private Gtk.Widget logs_pane;
+
+ [GtkChild]
+ private Gtk.Button search_button;
+
[GtkChild]
private Hdy.SearchBar search_bar;
@@ -69,6 +81,18 @@ public class Components.Inspector : Gtk.Window {
this.details = details.str;
}
+ private void update_ui() {
+ bool logs_visible = this.stack.visible_child == this.logs_pane;
+ uint logs_selected = this.logs_view.get_selection().count_selected_rows();
+ this.copy_button.set_sensitive(!logs_visible || logs_selected > 0);
+ this.search_button.set_visible(logs_visible);
+ }
+
+ [GtkCallback]
+ private void on_visible_child_changed() {
+ update_ui();
+ }
+
[GtkCallback]
private void on_copy_clicked() {
get_clipboard(Gdk.SELECTION_CLIPBOARD).set_text(this.details, -1);
diff --git a/ui/components-inspector.ui b/ui/components-inspector.ui
index 1478fcec..e577aed9 100644
--- a/ui/components-inspector.ui
+++ b/ui/components-inspector.ui
@@ -25,7 +25,7 @@
<property name="can_focus">False</property>
<property name="show_close_button">True</property>
<child>
- <object class="GtkButton">
+ <object class="GtkButton" id="search_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
@@ -50,7 +50,7 @@
</object>
</child>
<child>
- <object class="GtkButton">
+ <object class="GtkButton" id="copy_button">
<property name="label" translatable="yes">Copy to Clipboard</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -71,8 +71,9 @@
<object class="GtkStack" id="stack">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <signal name="notify::visible-child" handler="on_visible_child_changed" swapped="no"/>
<child>
- <object class="GtkGrid">
+ <object class="GtkGrid" id="logs_pane">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]