[baobab/wip/gtkmaster] Add close button
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [baobab/wip/gtkmaster] Add close button
- Date: Sun, 2 Jun 2013 10:26:30 +0000 (UTC)
commit fe327ebe89c7e86c12766be71c6d376695d2dc2b
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Sun Jun 2 12:26:19 2013 +0200
Add close button
src/baobab-main-window.ui | 31 +++++++++++++++++++++++++++++++
src/baobab-window.vala | 14 ++++++++++++++
2 files changed, 45 insertions(+), 0 deletions(-)
---
diff --git a/src/baobab-main-window.ui b/src/baobab-main-window.ui
index 8d55105..34d85b0 100644
--- a/src/baobab-main-window.ui
+++ b/src/baobab-main-window.ui
@@ -110,6 +110,37 @@
<property name="pack_type">end</property>
</packing>
</child>
+ <child>
+ <object class="GtkSeparator" id="close_button_separator">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="valign">fill</property>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="close_button">
+ <property name="visible">True</property>
+ <property name="valign">center</property>
+ <property name="relief">none</property>
+ <signal name="clicked" handler="close_button_clicked" object="BaobabWindow" swapped="no"/>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="close_image">
+ <property name="visible">True</property>
+ <property name="icon_size">1</property>
+ <property name="icon_name">window-close-symbolic</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
</object>
</child>
<child>
diff --git a/src/baobab-window.vala b/src/baobab-window.vala
index 74efaba..56c5d8d 100644
--- a/src/baobab-window.vala
+++ b/src/baobab-window.vala
@@ -115,6 +115,20 @@ namespace Baobab {
{"text/uri-list", 0, DndTargets.URI_LIST}
};
+ [GtkCallback]
+ private void close_button_clicked(Gtk.Button button)
+ {
+ Gdk.Event event;
+
+ event = new Gdk.Event(Gdk.EventType.DELETE);
+
+ event.any.window = this.get_window();
+ event.any.send_event = 1;
+
+ Gtk.main_do_event(event);
+ event.free();
+ }
+
public Window (Application app) {
Object (application: app);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]