[gnome-color-manager] Switch the profile viewer to be a dialog window



commit e6008c6c21203a29df725de59a81a08646ed30cd
Author: Richard Hughes <richard hughsie com>
Date:   Tue Feb 12 12:17:07 2013 +0000

    Switch the profile viewer to be a dialog window
    
    This allows the user to close the window by pressing escape and also lets us
    add a close button.

 data/gcm-viewer.ui |   41 +++++++++++++++++++++++++++++++++++------
 src/gcm-viewer.c   |   12 ++++++++++++
 2 files changed, 47 insertions(+), 6 deletions(-)
---
diff --git a/data/gcm-viewer.ui b/data/gcm-viewer.ui
index 68b463f..061e125 100644
--- a/data/gcm-viewer.ui
+++ b/data/gcm-viewer.ui
@@ -1,17 +1,43 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <requires lib="gtk+" version="3.0"/>
-  <object class="GtkWindow" id="dialog_viewer">
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkDialog" id="dialog_viewer">
     <property name="can_focus">False</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Color Profile Viewer</property>
-    <property name="window_position">center-always</property>
-    <child>
-      <object class="GtkBox" id="dialog-vbox1">
-        <property name="visible">True</property>
+    <property name="window_position">center</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox2">
         <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="button_close">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkHBox" id="hbox5">
             <property name="visible">True</property>
@@ -1613,6 +1639,9 @@
         </child>
       </object>
     </child>
+    <action-widgets>
+      <action-widget response="0">button_close</action-widget>
+    </action-widgets>
   </object>
   <object class="GtkSizeGroup" id="sizegroup_profiles">
     <widgets>
diff --git a/src/gcm-viewer.c b/src/gcm-viewer.c
index b0867d0..36d52e6 100644
--- a/src/gcm-viewer.c
+++ b/src/gcm-viewer.c
@@ -156,6 +156,15 @@ gcm_viewer_image_prev_cb (GtkWidget *widget, GcmViewerPrivate *viewer)
 }
 
 /**
+ * gcm_viewer_button_close_cb:
+ **/
+static void
+gcm_viewer_button_close_cb (GtkWidget *widget, GcmViewerPrivate *viewer)
+{
+	g_application_release (G_APPLICATION (viewer->application));
+}
+
+/**
  * gcm_viewer_profile_kind_to_icon_name:
  **/
 static const gchar *
@@ -1626,6 +1635,9 @@ gcm_viewer_startup_cb (GApplication *application, GcmViewerPrivate *viewer)
 	widget = GTK_WIDGET (gtk_builder_get_object (viewer->builder, "button_image_prev1"));
 	g_signal_connect (widget, "clicked",
 			  G_CALLBACK (gcm_viewer_image_prev_cb), viewer);
+	widget = GTK_WIDGET (gtk_builder_get_object (viewer->builder, "button_close"));
+	g_signal_connect (widget, "clicked",
+			  G_CALLBACK (gcm_viewer_button_close_cb), viewer);
 
 	/* use named colors */
 	widget = GTK_WIDGET (gtk_builder_get_object (viewer->builder,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]