]> Pileus Git - ~andy/gtk/commitdiff
Clarify the usage of this function. (gtk_file_chooser_set_uri): Likewise.
authorFederico Mena Quintero <federico@ximian.com>
Fri, 22 Jul 2005 02:54:24 +0000 (02:54 +0000)
committerFederico Mena Quintero <federico@src.gnome.org>
Fri, 22 Jul 2005 02:54:24 +0000 (02:54 +0000)
2005-07-21  Federico Mena Quintero  <federico@ximian.com>

* gtk/gtkfilechooser.c (gtk_file_chooser_set_filename): Clarify
the usage of this function.
(gtk_file_chooser_set_uri): Likewise.
(gtk_file_chooser_set_current_name): Likewise.

* gtk/gtkfilechooserdefault.c (set_file_system_backend):
Instrument this function for profiling as well.
(gtk_file_chooser_default_init): Likewise; just to have a marker
of where instance initialization begins.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gtk/gtkfilechooser.c
gtk/gtkfilechooserdefault.c

index f1d2304399f00c1f0fbdb2f57f262bae6b744c21..8962c10fbfa6ab65b2d77548da30bc8132157a7a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2005-07-21  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtkfilechooser.c (gtk_file_chooser_set_filename): Clarify
+       the usage of this function.
+       (gtk_file_chooser_set_uri): Likewise.
+       (gtk_file_chooser_set_current_name): Likewise.
+
+       * gtk/gtkfilechooserdefault.c (set_file_system_backend):
+       Instrument this function for profiling as well.
+       (gtk_file_chooser_default_init): Likewise; just to have a marker
+       of where instance initialization begins.
+
 2005-07-21  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkwidget.c (update_pango_context): Fix a couple of leaks.
index f1d2304399f00c1f0fbdb2f57f262bae6b744c21..8962c10fbfa6ab65b2d77548da30bc8132157a7a 100644 (file)
@@ -1,3 +1,15 @@
+2005-07-21  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtkfilechooser.c (gtk_file_chooser_set_filename): Clarify
+       the usage of this function.
+       (gtk_file_chooser_set_uri): Likewise.
+       (gtk_file_chooser_set_current_name): Likewise.
+
+       * gtk/gtkfilechooserdefault.c (set_file_system_backend):
+       Instrument this function for profiling as well.
+       (gtk_file_chooser_default_init): Likewise; just to have a marker
+       of where instance initialization begins.
+
 2005-07-21  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkwidget.c (update_pango_context): Fix a couple of leaks.
index f1d2304399f00c1f0fbdb2f57f262bae6b744c21..8962c10fbfa6ab65b2d77548da30bc8132157a7a 100644 (file)
@@ -1,3 +1,15 @@
+2005-07-21  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtkfilechooser.c (gtk_file_chooser_set_filename): Clarify
+       the usage of this function.
+       (gtk_file_chooser_set_uri): Likewise.
+       (gtk_file_chooser_set_current_name): Likewise.
+
+       * gtk/gtkfilechooserdefault.c (set_file_system_backend):
+       Instrument this function for profiling as well.
+       (gtk_file_chooser_default_init): Likewise; just to have a marker
+       of where instance initialization begins.
+
 2005-07-21  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkwidget.c (update_pango_context): Fix a couple of leaks.
index ecc4701018f30308f4fb3ad783cbf5c029417400..18040f8e161b4d8eb9ce563b0c607b731b4eebb1 100644 (file)
@@ -469,16 +469,40 @@ gtk_file_chooser_get_filename (GtkFileChooser *chooser)
  * @chooser: a #GtkFileChooser
  * @filename: the filename to set as current
  * 
- * Sets @filename as the current filename for the file chooser;
- * If the file name isn't in the current folder of @chooser, then the
- * current folder of @chooser will be changed to the folder containing
- * @filename. This is equivalent to a sequence of
- * gtk_file_chooser_unselect_all() followed by gtk_file_chooser_select_filename().
+ * Sets @filename as the current filename for the file chooser, by changing
+ * to the file's parent folder and actually selecting the file in list.  If
+ * the @chooser is in #GTK_FILE_CHOOSER_ACTION_SAVE mode, the file's base name
+ * will also appear in the dialog's file name entry.
  *
- * Note that the file must exist, or nothing will be done except
- * for the directory change. To pre-enter a filename for the user, as in
- * a save-as dialog, use gtk_file_chooser_set_current_name()
+ * If the file name isn't in the current folder of @chooser, then the current
+ * folder of @chooser will be changed to the folder containing @filename. This
+ * is equivalent to a sequence of gtk_file_chooser_unselect_all() followed by
+ * gtk_file_chooser_select_filename().
  *
+ * Note that the file must exist, or nothing will be done except
+ * for the directory change.
+ *
+ * If you are implementing a <guimenuitem>File/Save As...</guimenuitem> dialog, you
+ * should use this function if you already have a file name to which the user may save; for example,
+ * when the user opens an existing file and then does <guimenuitem>File/Save As...</guimenuitem>
+ * on it.  If you don't have a file name already &mdash; for example, if the user just created
+ * a new file and is saving it for the first time, do not call this function.  Instead, use
+ * something similar to this:
+ *
+ * <programlisting>
+ * if (document_is_new)
+ *   {
+ *     /<!-- -->* the user just created a new document *<!-- -->/
+ *     gtk_file_chooser_set_current_folder (chooser, default_folder_for_saving);
+ *     gtk_file_chooser_set_current_name (chooser, "Untitled document");
+ *   }
+ * else
+ *   {
+ *     /<!-- -->* the user edited an existing document *<!-- -->/ 
+ *     gtk_file_chooser_set_filename (chooser, existing_filename);
+ *   }
+ * </programlisting>
+ * 
  * Return value: %TRUE if both the folder could be changed and the file was
  * selected successfully, %FALSE otherwise.
  *
@@ -701,8 +725,10 @@ gtk_file_chooser_get_current_folder (GtkFileChooser *chooser)
  * string rather than a filename. This function is meant for
  * such uses as a suggested name in a "Save As..." dialog.
  *
- * If you want to preselect a particular existing file, you
- * should use gtk_file_chooser_set_filename() instead.
+ * If you want to preselect a particular existing file, you should use
+ * gtk_file_chooser_set_filename() or gtk_file_chooser_set_uri() instead.
+ * Please see the documentation for those functions for an example of using
+ * gtk_file_chooser_set_current_name() as well.
  *
  * Since: 2.4
  **/
@@ -757,15 +783,38 @@ gtk_file_chooser_get_uri (GtkFileChooser *chooser)
  * @chooser: a #GtkFileChooser
  * @uri: the URI to set as current
  * 
- * Sets the file referred to by @uri as the current file for the
- * file chooser; If the file name isn't in the current folder of @chooser,
- * then the current folder of @chooser will be changed to the folder containing
- * @uri. This is equivalent to a sequence of gtk_file_chooser_unselect_all()
- * followed by gtk_file_chooser_select_uri().
- *
- * Note that the file must exist, or nothing will be done except
- * for the directory change. To pre-enter a filename for the user, as in
- * a save-as dialog, use gtk_file_chooser_set_current_name()
+ * Sets the file referred to by @uri as the current file for the file chooser,
+ * by changing to the URI's parent folder and actually selecting the URI in the
+ * list.  If the @chooser is #GTK_FILE_CHOOSER_ACTION_SAVE mode, the URI's base
+ * name will also appear in the dialog's file name entry.
+ *
+ * If the URI isn't in the current folder of @chooser, then the current folder
+ * of @chooser will be changed to the folder containing @uri. This is equivalent
+ * to a sequence of gtk_file_chooser_unselect_all() followed by
+ * gtk_file_chooser_select_uri().
+ *
+ * Note that the URI must exist, or nothing will be done except
+ * for the directory change.
+ * If you are implementing a <guimenuitem>File/Save As...</guimenuitem> dialog, you
+ * should use this function if you already have a file name to which the user may save; for example,
+ * when the user opens an existing file and then does <guimenuitem>File/Save As...</guimenuitem>
+ * on it.  If you don't have a file name already &mdash; for example, if the user just created
+ * a new file and is saving it for the first time, do not call this function.  Instead, use
+ * something similar to this:
+ *
+ * <programlisting>
+ * if (document_is_new)
+ *   {
+ *     /<!-- -->* the user just created a new document *<!-- -->/
+ *     gtk_file_chooser_set_current_folder_uri (chooser, default_folder_for_saving);
+ *     gtk_file_chooser_set_current_name (chooser, "Untitled document");
+ *   }
+ * else
+ *   {
+ *     /<!-- -->* the user edited an existing document *<!-- -->/ 
+ *     gtk_file_chooser_set_uri (chooser, existing_uri);
+ *   }
+ * </programlisting>
  *
  * Return value: %TRUE if both the folder could be changed and the URI was
  * selected successfully, %FALSE otherwise.
index 3bcaccb1eb1452f0a4d538337cc74129884cb9e5..e78aeab68883e1ec0e510191f48197e32b15781b 100644 (file)
@@ -83,7 +83,7 @@
 
 /* Profiling stuff */
 
-#undef PROFILE_FILE_CHOOSER
+#define PROFILE_FILE_CHOOSER
 #ifdef PROFILE_FILE_CHOOSER
 #include <unistd.h>
 
@@ -726,6 +726,8 @@ gtk_file_chooser_embed_default_iface_init (GtkFileChooserEmbedIface *iface)
 static void
 gtk_file_chooser_default_init (GtkFileChooserDefault *impl)
 {
+  profile_start ("start", NULL);
+
   impl->local_only = TRUE;
   impl->preview_widget_active = TRUE;
   impl->use_preview_label = TRUE;
@@ -740,6 +742,8 @@ gtk_file_chooser_default_init (GtkFileChooserDefault *impl)
   impl->tooltips = gtk_tooltips_new ();
   g_object_ref (impl->tooltips);
   gtk_object_sink (GTK_OBJECT (impl->tooltips));
+
+  profile_end ("end", NULL);
 }
 
 /* Frees the data columns for the specified iter in the shortcuts model*/
@@ -4191,6 +4195,8 @@ static void
 set_file_system_backend (GtkFileChooserDefault *impl,
                         const char *backend)
 {
+  profile_start ("start for backend", backend ? backend : "default");
+
   if (impl->file_system)
     {
       g_signal_handler_disconnect (impl->file_system, impl->volumes_changed_id);
@@ -4236,6 +4242,8 @@ set_file_system_backend (GtkFileChooserDefault *impl,
                                                     G_CALLBACK (bookmarks_changed_cb),
                                                     impl);
     }
+
+  profile_end ("end", NULL);
 }
 
 /* This function is basically a do_all function.