[maemo-commits] [maemo-commits] r8789 - projects/haf/branches/hildon-fm/1.x/hildon-fm
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Fri Dec 15 17:31:33 EET 2006
- Previous message: [maemo-commits] r8788 - projects/haf/tags/osso-application-installer
- Next message: [maemo-commits] r8790 - projects/haf/branches/hildon-fm/1.x
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: marivoll
Date: 2006-12-15 17:31:32 +0200 (Fri, 15 Dec 2006)
New Revision: 8789
Modified:
projects/haf/branches/hildon-fm/1.x/hildon-fm/hildon-file-chooser-dialog.c
Log:
* hildon-fm/hildon-file-chooser-dialog.c (set_stub_and_ext): Call
hildon_file_chooser_dialog_do_autonaming instead of set_entry so
that the new stub name gets the required autonaming treatment.
That took a while...
Modified: projects/haf/branches/hildon-fm/1.x/hildon-fm/hildon-file-chooser-dialog.c
===================================================================
--- projects/haf/branches/hildon-fm/1.x/hildon-fm/hildon-file-chooser-dialog.c 2006-12-15 15:18:39 UTC (rev 8788)
+++ projects/haf/branches/hildon-fm/1.x/hildon-fm/hildon-file-chooser-dialog.c 2006-12-15 15:31:32 UTC (rev 8789)
@@ -394,6 +394,60 @@
return name;
}
+
+static void
+hildon_file_chooser_dialog_do_autonaming(HildonFileChooserDialogPrivate *
+ priv)
+{
+ g_assert(HILDON_IS_FILE_SELECTION(priv->filetree));
+
+ if (GTK_WIDGET_VISIBLE(priv->caption_control_name) &&
+ priv->stub_name && !priv->edited)
+ {
+ gchar *name = NULL;
+ gboolean selection;
+ gint pos;
+
+ g_signal_handler_block(priv->entry_name, priv->changed_handler);
+ if (priv->autonaming_enabled) {
+ GtkTreeIter iter;
+
+ ULOG_INFO("Trying [%s] [%s]", priv->stub_name, priv->ext_name);
+ if (hildon_file_selection_get_current_folder_iter
+ (priv->filetree, &iter)) {
+ name =
+ hildon_file_system_model_new_item(priv->model, &iter,
+ priv->stub_name,
+ priv->ext_name);
+ ULOG_INFO("Got [%s]", name);
+ }
+ }
+
+ pos = gtk_editable_get_position(GTK_EDITABLE(priv->entry_name));
+ selection =
+ gtk_editable_get_selection_bounds(GTK_EDITABLE(priv->entry_name),
+ NULL, NULL);
+
+ if (name)
+ {
+ gboolean edited = !selection &&
+ (pos != g_utf8_strlen (gtk_entry_get_text(GTK_ENTRY(priv->entry_name)), -1));
+ set_entry (priv->entry_name, name, priv->ext_name);
+ g_free(name);
+ if (!edited)
+ gtk_editable_select_region(GTK_EDITABLE(priv->entry_name), 0, -1);
+ else
+ /* if the user has already started to edit the name,
+ try to preserve cursor position and don't autoselect */
+ gtk_editable_set_position(GTK_EDITABLE(priv->entry_name), pos);
+ }
+ else
+ set_entry (priv->entry_name, priv->stub_name, priv->ext_name);
+
+ g_signal_handler_unblock(priv->entry_name, priv->changed_handler);
+ }
+}
+
/* Set PRIV->stub_name and PRIV->ext_name from NAME so that stub_name
contains everything before any potential autonaming token and
ext_name everything after it.
@@ -479,70 +533,10 @@
*dot = '\0';
}
- {
- /* We need to make sure not to mess with the 'edited' flag here
- so that autonaming will still work.
- */
- gboolean old_edited = priv->edited;
- set_entry (priv->entry_name, priv->stub_name, priv->ext_name);
- priv->edited = old_edited;
- }
+ hildon_file_chooser_dialog_do_autonaming (priv);
}
static void
-hildon_file_chooser_dialog_do_autonaming(HildonFileChooserDialogPrivate *
- priv)
-{
- g_assert(HILDON_IS_FILE_SELECTION(priv->filetree));
-
- if (GTK_WIDGET_VISIBLE(priv->caption_control_name) &&
- priv->stub_name && !priv->edited)
- {
- gchar *name = NULL;
- gboolean selection;
- gint pos;
-
- g_signal_handler_block(priv->entry_name, priv->changed_handler);
- if (priv->autonaming_enabled) {
- GtkTreeIter iter;
-
- ULOG_INFO("Trying [%s] [%s]", priv->stub_name, priv->ext_name);
- if (hildon_file_selection_get_current_folder_iter
- (priv->filetree, &iter)) {
- name =
- hildon_file_system_model_new_item(priv->model, &iter,
- priv->stub_name,
- priv->ext_name);
- ULOG_INFO("Got [%s]", name);
- }
- }
-
- pos = gtk_editable_get_position(GTK_EDITABLE(priv->entry_name));
- selection =
- gtk_editable_get_selection_bounds(GTK_EDITABLE(priv->entry_name),
- NULL, NULL);
-
- if (name)
- {
- gboolean edited = !selection &&
- (pos != g_utf8_strlen (gtk_entry_get_text(GTK_ENTRY(priv->entry_name)), -1));
- set_entry (priv->entry_name, name, priv->ext_name);
- g_free(name);
- if (!edited)
- gtk_editable_select_region(GTK_EDITABLE(priv->entry_name), 0, -1);
- else
- /* if the user has already started to edit the name,
- try to preserve cursor position and don't autoselect */
- gtk_editable_set_position(GTK_EDITABLE(priv->entry_name), pos);
- }
- else
- set_entry (priv->entry_name, priv->stub_name, priv->ext_name);
-
- g_signal_handler_unblock(priv->entry_name, priv->changed_handler);
- }
-}
-
-static void
hildon_file_chooser_dialog_finished_loading(GObject *sender, GtkTreeIter *iter, gpointer data)
{
GtkTreeIter current_iter;
- Previous message: [maemo-commits] r8788 - projects/haf/tags/osso-application-installer
- Next message: [maemo-commits] r8790 - projects/haf/branches/hildon-fm/1.x
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
