gnome-terminal r2634 - trunk/src



Author: chpe
Date: Thu May 29 19:40:31 2008
New Revision: 2634
URL: http://svn.gnome.org/viewvc/gnome-terminal?rev=2634&view=rev

Log:
Convert the new-profile dialogue to gtkbuilder.


Added:
   trunk/src/profile-new-dialog.ui
Modified:
   trunk/src/Makefile.am
   trunk/src/gnome-terminal.glade2
   trunk/src/terminal-app.c

Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am	(original)
+++ trunk/src/Makefile.am	Thu May 29 19:40:31 2008
@@ -94,6 +94,7 @@
 	encodings-dialog.ui \
 	keybinding-editor.ui \
 	profile-manager.ui \
+	profile-new-dialog.ui \
 	skey-challenge.ui \
 	$(NULL)
 

Modified: trunk/src/gnome-terminal.glade2
==============================================================================
--- trunk/src/gnome-terminal.glade2	(original)
+++ trunk/src/gnome-terminal.glade2	Thu May 29 19:40:31 2008
@@ -4,261 +4,6 @@
 <glade-interface>
 <requires lib="gnome"/>
 
-<widget class="GtkDialog" id="new-profile-dialog">
-  <property name="border_width">5</property>
-  <property name="title" translatable="yes">New Profile</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">False</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <property name="has_separator">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox5">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">2</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area5">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="new-profile-cancel-button">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="new-profile-create-button">
-	      <property name="visible">True</property>
-	      <property name="sensitive">False</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-3</property>
-
-	      <child>
-		<widget class="GtkAlignment" id="alignment34">
-		  <property name="visible">True</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xscale">0</property>
-		  <property name="yscale">0</property>
-		  <property name="top_padding">0</property>
-		  <property name="bottom_padding">0</property>
-		  <property name="left_padding">0</property>
-		  <property name="right_padding">0</property>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox10">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">2</property>
-
-		      <child>
-			<widget class="GtkImage" id="icon-1212">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-apply</property>
-			  <property name="icon_size">4</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="create-button">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">C_reate</property>
-			  <property name="use_underline">True</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vbox7">
-	  <property name="border_width">5</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">0</property>
-
-	  <child>
-	    <widget class="GtkTable" id="new-profile-table">
-	      <property name="visible">True</property>
-	      <property name="n_rows">2</property>
-	      <property name="n_columns">2</property>
-	      <property name="homogeneous">False</property>
-	      <property name="row_spacing">6</property>
-	      <property name="column_spacing">12</property>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox77">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <placeholder/>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="new-profile-name-label">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Profile _name:</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="mnemonic_widget">new-profile-name-entry</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkEntry" id="new-profile-name-entry">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="visibility">True</property>
-		  <property name="max_length">0</property>
-		  <property name="text" translatable="yes"></property>
-		  <property name="has_frame">True</property>
-		  <property name="invisible_char">*</property>
-		  <property name="activates_default">False</property>
-		  <property name="width_chars">14</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="new-profile-base-label">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">_Base on:</property>
-		  <property name="use_underline">True</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
 <widget class="GtkDialog" id="profile-editor-dialog">
   <property name="border_width">5</property>
   <property name="visible">True</property>

Added: trunk/src/profile-new-dialog.ui
==============================================================================
--- (empty file)
+++ trunk/src/profile-new-dialog.ui	Thu May 29 19:40:31 2008
@@ -0,0 +1,164 @@
+<?xml version="1.0"?>
+<interface>
+  <object class="GtkDialog" id="new-profile-dialog">
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">New Profile</property>
+    <property name="role">gnome-terminal-new-profile</property>
+    <property name="resizable">False</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox5">
+        <property name="visible">True</property>
+        <property name="spacing">2</property>
+        <child>
+          <object class="GtkVBox" id="vbox7">
+            <property name="visible">True</property>
+            <property name="border_width">5</property>
+            <child>
+              <object class="GtkTable" id="new-profile-table">
+                <property name="visible">True</property>
+                <property name="n_rows">2</property>
+                <property name="n_columns">2</property>
+                <property name="column_spacing">12</property>
+                <property name="row_spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="new-profile-base-label">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">_Base on:</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="new-profile-name-entry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="width_chars">14</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="dummy">
+                        <property name="AtkObject::accessible-description" translatable="yes">Enter profile name</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="new-profile-name-label">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Profile _name:</property>
+                    <property name="use_underline">True</property>
+                    <property name="mnemonic_widget">new-profile-name-entry</property>
+                  </object>
+                  <packing>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkVBox" id="vbox77">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area5">
+            <property name="visible">True</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="new-profile-cancel-button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="label">gtk-cancel</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">0</property>
+              </object>
+            </child>
+            <child>
+              <object class="GtkButton" id="new-profile-create-button">
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="response_id">0</property>
+                <child>
+                  <object class="GtkAlignment" id="alignment34">
+                    <property name="visible">True</property>
+                    <property name="xscale">0</property>
+                    <property name="yscale">0</property>
+                    <child>
+                      <object class="GtkHBox" id="hbox10">
+                        <property name="visible">True</property>
+                        <property name="spacing">2</property>
+                        <child>
+                          <object class="GtkImage" id="icon-1212">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-apply</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="create-button">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">C_reate</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>

Modified: trunk/src/terminal-app.c
==============================================================================
--- trunk/src/terminal-app.c	(original)
+++ trunk/src/terminal-app.c	Thu May 29 19:40:31 2008
@@ -1156,62 +1156,41 @@
 
   if (app->new_profile_dialog == NULL)
     {
-      GladeXML *xml;
-      GtkWidget *w, *wl;
-      GtkWidget *create_button, *combo;
-      GtkSizeGroup *size_group, *size_group_labels;
+      GtkWidget *create_button, *table, *name_label, *name_entry, *base_label, *combo;
 
-      xml = terminal_util_load_glade_file (TERM_GLADE_FILE, "new-profile-dialog", transient_parent);
-
-      if (xml == NULL)
+      if (!terminal_util_load_builder_file ("profile-new-dialog.ui",
+                                            "new-profile-dialog", &app->new_profile_dialog,
+                                            "new-profile-create-button", &create_button,
+                                            "new-profile-table", &table,
+                                            "new-profile-name-label", &name_label,
+                                            "new-profile-name-entry", &name_entry,
+                                            "new-profile-base-label", &base_label,
+                                            NULL))
         return;
 
-      app->new_profile_dialog = glade_xml_get_widget (xml, "new-profile-dialog");
       g_signal_connect (G_OBJECT (app->new_profile_dialog), "response", G_CALLBACK (new_profile_response_callback), app);
-
-      terminal_util_set_unique_role (GTK_WINDOW (app->new_profile_dialog), "gnome-terminal-new-profile");
-  
       g_object_add_weak_pointer (G_OBJECT (app->new_profile_dialog), (void**) &app->new_profile_dialog);
 
-      create_button = glade_xml_get_widget (xml, "new-profile-create-button");
       g_object_set_data (G_OBJECT (app->new_profile_dialog), "create_button", create_button);
       gtk_widget_set_sensitive (create_button, FALSE);
 
-      size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-      size_group_labels = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-
       /* the name entry */
-      w = glade_xml_get_widget (xml, "new-profile-name-entry");
-      g_object_set_data (G_OBJECT (app->new_profile_dialog), "name_entry", w);
-      g_signal_connect (G_OBJECT (w), "changed", G_CALLBACK (new_profile_name_entry_changed_callback), create_button);
-      gtk_entry_set_activates_default (GTK_ENTRY (w), TRUE);
-      gtk_widget_grab_focus (w);
-      terminal_util_set_atk_name_description (w, NULL, _("Enter profile name"));
-      gtk_size_group_add_widget (size_group, w);
-
-      wl = glade_xml_get_widget (xml, "new-profile-name-label");
-      gtk_label_set_mnemonic_widget (GTK_LABEL (wl), w);
-      gtk_size_group_add_widget (size_group_labels, wl);
- 
+      g_object_set_data (G_OBJECT (app->new_profile_dialog), "name_entry", name_entry);
+      g_signal_connect (name_entry, "changed", G_CALLBACK (new_profile_name_entry_changed_callback), create_button);
+      gtk_entry_set_activates_default (GTK_ENTRY (name_entry), TRUE);
+      gtk_widget_grab_focus (name_entry);
+
+      gtk_label_set_mnemonic_widget (GTK_LABEL (name_label), name_entry);
+
       /* the base profile option menu */
-      w = glade_xml_get_widget (xml, "new-profile-table");
       combo = profile_combo_box_new ();
-      gtk_table_attach_defaults (GTK_TABLE (w), combo, 1, 2, 1, 2);
-      w = combo;
-      g_object_set_data (G_OBJECT (app->new_profile_dialog), "base_option_menu", w);
-      terminal_util_set_atk_name_description (w, NULL, _("Choose base profile"));
-      gtk_size_group_add_widget (size_group, w);
-
-      wl = glade_xml_get_widget (xml, "new-profile-base-label");
-      gtk_label_set_mnemonic_widget (GTK_LABEL (wl), w);
-      gtk_size_group_add_widget (size_group_labels, wl);
-
-      gtk_dialog_set_default_response (GTK_DIALOG (app->new_profile_dialog), RESPONSE_CREATE);
+      gtk_table_attach_defaults (GTK_TABLE (table), combo, 1, 2, 1, 2);
+      g_object_set_data (G_OBJECT (app->new_profile_dialog), "base_option_menu", combo);
+      terminal_util_set_atk_name_description (combo, NULL, _("Choose base profile"));
 
-      g_object_unref (G_OBJECT (size_group));
-      g_object_unref (G_OBJECT (size_group_labels));
+      gtk_label_set_mnemonic_widget (GTK_LABEL (base_label), combo);
 
-      g_object_unref (G_OBJECT (xml));
+      gtk_dialog_set_default_response (GTK_DIALOG (app->new_profile_dialog), RESPONSE_CREATE);
     }
 
   gtk_window_set_transient_for (GTK_WINDOW (app->new_profile_dialog),



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