[shotwell] Make ManifestWidget templated
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [shotwell] Make ManifestWidget templated
- Date: Wed, 20 Dec 2017 21:50:25 +0000 (UTC)
commit f489c26f64aa16b989c397002c076553845d5cf7
Author: Jens Georg <mail jensge org>
Date: Wed Dec 20 14:13:21 2017 +0100
Make ManifestWidget templated
org.gnome.Shotwell.gresource.xml | 1 +
src/dialogs/Preferences.vala | 2 +-
src/plugins/ManifestWidget.vala | 32 ++++++----------------
ui/manifest_widget.ui | 55 ++++++++++++++++++++++++++++++++++++++
ui/shotwell.ui | 50 ----------------------------------
5 files changed, 66 insertions(+), 74 deletions(-)
---
diff --git a/org.gnome.Shotwell.gresource.xml b/org.gnome.Shotwell.gresource.xml
index 538f919..fac0103 100644
--- a/org.gnome.Shotwell.gresource.xml
+++ b/org.gnome.Shotwell.gresource.xml
@@ -12,6 +12,7 @@
<file preprocess="xml-stripblanks">ui/import.ui</file>
<file preprocess="xml-stripblanks">ui/media.ui</file>
<file preprocess="xml-stripblanks">ui/multitextentrydialog.ui</file>
+ <file preprocess="xml-stripblanks">ui/manifest_widget.ui</file>
<file preprocess="xml-stripblanks">ui/offline.ui</file>
<file preprocess="xml-stripblanks">ui/photo_context.ui</file>
<file preprocess="xml-stripblanks">ui/photo.ui</file>
diff --git a/src/dialogs/Preferences.vala b/src/dialogs/Preferences.vala
index 6bbe28a..3286cb2 100644
--- a/src/dialogs/Preferences.vala
+++ b/src/dialogs/Preferences.vala
@@ -135,7 +135,7 @@ public class PreferencesDialog : Gtk.Dialog {
lowercase.toggled.connect(on_lowercase_toggled);
- (preferences_notebook.get_nth_page (2) as Gtk.Container).add (plugins_mediator.widget);
+ (preferences_notebook.get_nth_page (2) as Gtk.Container).add (plugins_mediator);
populate_preference_options();
diff --git a/src/plugins/ManifestWidget.vala b/src/plugins/ManifestWidget.vala
index b6897ba..8fb0ba2 100644
--- a/src/plugins/ManifestWidget.vala
+++ b/src/plugins/ManifestWidget.vala
@@ -6,29 +6,20 @@
namespace Plugins {
-public class ManifestWidgetMediator {
- public Gtk.Widget widget {
- get {
- return builder.get_object("plugin-manifest") as Gtk.Widget;
- }
- }
+
+[GtkTemplate (ui = "/org/gnome/Shotwell/ui/manifest_widget.ui")]
+public class ManifestWidgetMediator : Gtk.Box {
+ [GtkChild]
+ private Gtk.Button about_button;
- private Gtk.Button about_button {
- get {
- return builder.get_object("about-plugin-button") as Gtk.Button;
- }
- }
+ [GtkChild]
+ private Gtk.ScrolledWindow list_bin;
- private Gtk.ScrolledWindow list_bin {
- get {
- return builder.get_object("plugin-list-scrolled-window") as Gtk.ScrolledWindow;
- }
- }
-
- private Gtk.Builder builder = AppWindow.create_builder();
private ManifestListView list = new ManifestListView();
public ManifestWidgetMediator() {
+ Object();
+
list_bin.add(list);
about_button.clicked.connect(on_about);
@@ -37,11 +28,6 @@ public class ManifestWidgetMediator {
set_about_button_sensitivity();
}
- ~ManifestWidgetMediator() {
- about_button.clicked.disconnect(on_about);
- list.get_selection().changed.disconnect(on_selection_changed);
- }
-
private void on_about() {
string[] ids = list.get_selected_ids();
if (ids.length == 0)
diff --git a/ui/manifest_widget.ui b/ui/manifest_widget.ui
new file mode 100644
index 0000000..edbeb59
--- /dev/null
+++ b/ui/manifest_widget.ui
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
+<interface domain="shotwell">
+ <requires lib="gtk+" version="3.18"/>
+ <template class="ManifestWidgetMediator" parent="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkScrolledWindow" id="list_bin">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="hscrollbar_policy">never</property>
+ <property name="shadow_type">etched-in</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButtonBox" id="hbuttonbox1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="about_button">
+ <property name="label" translatable="yes">_About</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </template>
+</interface>
diff --git a/ui/shotwell.ui b/ui/shotwell.ui
index 8d1e315..f8659d6 100644
--- a/ui/shotwell.ui
+++ b/ui/shotwell.ui
@@ -10,56 +10,6 @@
<placeholder/>
</child>
</object>
- <object class="GtkBox" id="plugin-manifest">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">12</property>
- <child>
- <object class="GtkScrolledWindow" id="plugin-list-scrolled-window">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
- <property name="hscrollbar_policy">never</property>
- <property name="shadow_type">etched-in</property>
- <child>
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButtonBox" id="hbuttonbox1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="layout_style">end</property>
- <child>
- <object class="GtkButton" id="about-plugin-button">
- <property name="label">_About</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
<object class="GtkBox" id="progress_pane_widget">
<property name="visible">True</property>
<property name="can_focus">False</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]