[dia] Bug #570849 - Sheets&Objects still using the old gt file dialog ...



commit 7aa08564cde91661f795fd7b1a01327ac4d8419e
Author: Hans Breuer <hans breuer org>
Date:   Sun Oct 25 21:13:53 2009 +0100

    Bug #570849 - Sheets&Objects still using the old gt file dialog ...
    
    Replace the combobox/browse button stuff with a simple GtkFileChooserButton. This also gets completely rid of the "combo_entry_from_file" stuff mentioned in bug #585000

 app/sheets.c                  |    2 +
 app/sheets_dialog.c           |    3 --
 app/sheets_dialog_callbacks.c |   23 +++++++------------
 app/sheets_dialog_callbacks.h |    5 ----
 data/sheets-new-dialog.xml    |   48 +----------------------------------------
 5 files changed, 12 insertions(+), 69 deletions(-)
---
diff --git a/app/sheets.c b/app/sheets.c
index 9a286e0..cddf24b 100644
--- a/app/sheets.c
+++ b/app/sheets.c
@@ -387,6 +387,8 @@ lookup_widget (GtkWidget   *widget,
   GtkWidget *parent, *found_widget;
   GtkBuilder *builder;
 
+  g_return_val_if_fail(widget != NULL, NULL);
+
   for (;;)
     {
       if (GTK_IS_MENU (widget))
diff --git a/app/sheets_dialog.c b/app/sheets_dialog.c
index 502a49e..29b433e 100644
--- a/app/sheets_dialog.c
+++ b/app/sheets_dialog.c
@@ -162,9 +162,6 @@ create_sheets_new_dialog (void)
   g_signal_connect (GTK_OBJECT (sheets_new_dialog), "destroy",
 		      G_CALLBACK (sheets_dialog_destroyed), NULL);
 
-  g_signal_connect (gtk_builder_get_object (builder,"button_browse"), "clicked",
-                      G_CALLBACK (on_sheets_new_dialog_button_browse_clicked),
-                      NULL);
   g_signal_connect (gtk_builder_get_object (builder,"radiobutton_svg_shape"), "toggled",
                       G_CALLBACK (on_sheets_new_dialog_radiobutton_svg_shape_toggled),
                       NULL);
diff --git a/app/sheets_dialog_callbacks.c b/app/sheets_dialog_callbacks.c
index fcde522..24bef02 100644
--- a/app/sheets_dialog_callbacks.c
+++ b/app/sheets_dialog_callbacks.c
@@ -789,9 +789,15 @@ on_sheets_new_dialog_button_ok_clicked (GtkButton       *button,
 
   case SHEETS_NEW_DIALOG_TYPE_SVG_SHAPE:
 
-    entry = lookup_widget(sheets_new_dialog, "combo_entry_from_file");
+    entry = lookup_widget(sheets_new_dialog, "file_chooser_button");
     /* Since this is a file name, no utf8 translation is needed */
-    file_name = gtk_editable_get_chars(GTK_EDITABLE(entry), 0, -1);
+    file_name = gtk_file_chooser_get_preview_filename(GTK_FILE_CHOOSER(entry));
+
+    if (!file_name)
+    {
+      message_error(_("Please select a .shape file"));
+      return;
+    }
 
     p = file_name + strlen(file_name) - 6;
     if (strcmp(p, ".shape"))
@@ -954,15 +960,6 @@ on_sheets_new_dialog_button_ok_clicked (GtkButton       *button,
 static GtkWidget *sheets_shapeselection_dialog;
 
 void
-on_sheets_new_dialog_button_browse_clicked
-                                        (GtkButton       *button,
-                                        gpointer         user_data)
-{
-  sheets_shapeselection_dialog = create_sheets_shapeselection_dialog();
-  gtk_widget_show(sheets_shapeselection_dialog);
-}
-
-void
 on_sheets_shapeselection_dialog_button_cancel_clicked
                                         (GtkButton       *button,
                                         gpointer         user_data)
@@ -1172,9 +1169,7 @@ on_sheets_new_dialog_radiobutton_svg_shape_toggled
 {
   static gchar *widget_names[] =
   {
-    "combo_from_file",
-    "button_browse",
-    "label_svg_description",
+    "file_chooser_button",
     "entry_svg_description",
     NULL
   };
diff --git a/app/sheets_dialog_callbacks.h b/app/sheets_dialog_callbacks.h
index 28312d8..7a01f5c 100644
--- a/app/sheets_dialog_callbacks.h
+++ b/app/sheets_dialog_callbacks.h
@@ -63,11 +63,6 @@ on_sheets_dialog_button_close_clicked  (GtkButton       *button,
                                         gpointer         user_data);
 
 void
-on_sheets_new_dialog_button_browse_clicked
-                                        (GtkButton       *button,
-                                        gpointer         user_data);
-
-void
 on_sheets_shapeselection_dialog_cancel_button1_clicked
                                         (GtkButton       *button,
                                         gpointer         user_data);
diff --git a/data/sheets-new-dialog.xml b/data/sheets-new-dialog.xml
index ddf4b58..e13a441 100644
--- a/data/sheets-new-dialog.xml
+++ b/data/sheets-new-dialog.xml
@@ -91,25 +91,6 @@
 		  <property name="column_spacing">0</property>
 
 		  <child>
-		    <object class="GtkButton" id="button_browse">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Browse...</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		    </object>
-		    <packing>
-		      <property name="left_attach">3</property>
-		      <property name="right_attach">4</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options"/>
-		    </packing>
-		  </child>
-
-		  <child>
 		    <object class="GtkRadioButton" id="radiobutton_svg_shape">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
@@ -132,35 +113,8 @@
 		  </child>
 
 		  <child>
-		    <object class="GtkCombo" id="combo_from_file">
+		    <object class="GtkFileChooserButton" id="file_chooser_button">
 		      <property name="visible">True</property>
-		      <property name="value_in_list">False</property>
-		      <property name="allow_empty">True</property>
-		      <property name="case_sensitive">False</property>
-		      <property name="enable_arrow_keys">True</property>
-		      <property name="enable_arrows_always">False</property>
-<!--
-		      <child internal-child="entry">
-			<object class="GtkEntry" id="combo_entry_from_file">
-			  <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 name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			</object>
-		      </child>
-
-		      <child internal-child="list">
-			<object class="GtkList" id="combo-list1">
-			  <property name="visible">True</property>
-			  <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-			</object>
-		      </child>
--->
 		    </object>
 		    <packing>
 		      <property name="left_attach">1</property>



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