[gnome-usage] storage-actionbar: Port to Gtk+ widget template
- From: Petr Štětka <pstetka src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-usage] storage-actionbar: Port to Gtk+ widget template
- Date: Tue, 31 Oct 2017 15:55:58 +0000 (UTC)
commit 64aac4b27da8ecd08fa5355f27089b74a22a04fc
Author: Petr Štětka <pstetka redhat com>
Date: Tue Aug 22 13:38:30 2017 +0200
storage-actionbar: Port to Gtk+ widget template
https://bugzilla.gnome.org/show_bug.cgi?id=781542
data/org.gnome.Usage.gresource.xml | 1 +
data/ui/storage-actionbar.ui | 80 ++++++++++++++++++++++++++++++++++++
src/storage-actionbar.vala | 57 ++++++++++----------------
3 files changed, 103 insertions(+), 35 deletions(-)
---
diff --git a/data/org.gnome.Usage.gresource.xml b/data/org.gnome.Usage.gresource.xml
index 9d4b8e2..84e4e4d 100644
--- a/data/org.gnome.Usage.gresource.xml
+++ b/data/org.gnome.Usage.gresource.xml
@@ -6,6 +6,7 @@
<file preprocess="xml-stripblanks">ui/no-results-found-view.ui</file>
<file preprocess="xml-stripblanks">ui/performance-view.ui</file>
<file preprocess="xml-stripblanks">ui/process-dialog.ui</file>
+ <file preprocess="xml-stripblanks">ui/storage-actionbar.ui</file>
<file preprocess="xml-stripblanks">ui/storage-view.ui</file>
<file preprocess="xml-stripblanks">ui/process-row.ui</file>
<file preprocess="xml-stripblanks">ui/sub-process-sub-row.ui</file>
diff --git a/data/ui/storage-actionbar.ui b/data/ui/storage-actionbar.ui
new file mode 100644
index 0000000..1c5fda6
--- /dev/null
+++ b/data/ui/storage-actionbar.ui
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.0 -->
+<interface>
+ <requires lib="gtk+" version="3.12"/>
+ <template class="UsageStorageActionBar" parent="GtkActionBar">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkButton" id="move_to_button">
+ <property name="label" translatable="yes">Move to</property>
+ <property name="visible">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="move_to_clicked" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="delete_button">
+ <property name="label" translatable="yes">Delete</property>
+ <property name="visible">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="delete_clicked" swapped="no"/>
+ <style>
+ <class name="destructive-action"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="move_to_trash_button">
+ <property name="label" translatable="yes">Move to Trash</property>
+ <property name="visible">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="move_to_trash_clicked" swapped="no"/>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="empty_folder_button">
+ <property name="label" translatable="yes">Empty folder</property>
+ <property name="visible">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="empty_folder_clicked" swapped="no"/>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="restore_button">
+ <property name="label" translatable="yes">Restore</property>
+ <property name="visible">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="restore_clicked" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="delete_from_trash_button">
+ <property name="label" translatable="yes">Delete from Trash</property>
+ <property name="visible">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="delete_from_trash_clicked" swapped="no"/>
+ <style>
+ <class name="destructive-action"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </template>
+</interface>
diff --git a/src/storage-actionbar.vala b/src/storage-actionbar.vala
index 1abb517..6171e03 100644
--- a/src/storage-actionbar.vala
+++ b/src/storage-actionbar.vala
@@ -20,45 +20,26 @@
namespace Usage
{
- public class StorageActionBar : Gtk.ActionBar
- {
- private Gtk.Button move_to_button;
- private Gtk.Button delete_button;
- private Gtk.Button move_to_trash_button;
- private Gtk.Button empty_folder_button;
- private Gtk.Button restore_button;
- private Gtk.Button delete_from_trash_button;
-
- public StorageActionBar()
- {
- //common
- move_to_button = new Gtk.Button.with_label(_("Move to"));
- move_to_button.clicked.connect(move_to_clicked);
- delete_button = new Gtk.Button.with_label(_("Delete"));
- delete_button.clicked.connect(delete_clicked);
- delete_button.get_style_context().add_class ("destructive-action");
- move_to_trash_button = new Gtk.Button.with_label(_("Move to Trash"));
- move_to_trash_button.clicked.connect(move_to_trash_clicked);
- this.pack_start(move_to_button);
- this.pack_end(delete_button);
- this.pack_end(move_to_trash_button);
-
- //root
- empty_folder_button = new Gtk.Button.with_label(_("Empty folder"));
- empty_folder_button.clicked.connect(empty_folder_clicked);
- this.pack_end(empty_folder_button);
-
- //trash
- restore_button = new Gtk.Button.with_label(_("Restore"));
- restore_button.clicked.connect(restore_clicked);
- delete_from_trash_button = new Gtk.Button.with_label(_("Delete from Trash"));
- delete_from_trash_button.clicked.connect(delete_from_trash_clicked);
- delete_from_trash_button.get_style_context().add_class ("destructive-action");
- this.pack_start(restore_button);
- this.pack_end(delete_from_trash_button);
+ [GtkTemplate (ui = "/org/gnome/Usage/ui/storage-actionbar.ui")]
+ public class StorageActionBar : Gtk.ActionBar
+ {
+ [GtkChild]
+ private Gtk.Button move_to_button;
- hide_all();
- }
+ [GtkChild]
+ private Gtk.Button delete_button;
+
+ [GtkChild]
+ private Gtk.Button move_to_trash_button;
+
+ [GtkChild]
+ private Gtk.Button empty_folder_button;
+
+ [GtkChild]
+ private Gtk.Button restore_button;
+
+ [GtkChild]
+ private Gtk.Button delete_from_trash_button;
public void show_common()
{
@@ -101,6 +82,7 @@ namespace Usage
delete_from_trash_button.set_sensitive(sensitive);
}
+ [GtkCallback]
private void move_to_clicked()
{
Gtk.FileChooserDialog chooser = new Gtk.FileChooserDialog (
@@ -145,6 +127,7 @@ namespace Usage
chooser.destroy();
}
+ [GtkCallback]
private void delete_clicked()
{
string files = "";
@@ -181,6 +164,7 @@ namespace Usage
}
+ [GtkCallback]
private void move_to_trash_clicked()
{
Timeout.add(0, () => {
@@ -198,6 +182,7 @@ namespace Usage
});
}
+ [GtkCallback]
private void empty_folder_clicked()
{
Timeout.add(0, () => {
@@ -253,6 +238,7 @@ namespace Usage
});
}
+ [GtkCallback]
private void restore_clicked()
{
Timeout.add(0, () => {
@@ -270,6 +256,7 @@ namespace Usage
});
}
+ [GtkCallback]
private void delete_from_trash_clicked()
{
Timeout.add(0, () => {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]