[maemo-commits] [maemo-commits] r13009 - in projects/haf/trunk/hildon-fm: . debian hildon-fm
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu Aug 2 22:28:43 EEST 2007
- Previous message: [maemo-commits] r13008 - projects/haf/trunk/hildon-fm/hildon-fm
- Next message: [maemo-commits] r13010 - in projects/haf/trunk/gtk+: . gtk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: marivoll Date: 2007-08-02 22:28:40 +0300 (Thu, 02 Aug 2007) New Revision: 13009 Modified: projects/haf/trunk/hildon-fm/ChangeLog projects/haf/trunk/hildon-fm/debian/changelog projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-chooser-dialog.c projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-common-private.h projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-details-dialog.c projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-selection.c projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-remote-device.c Log: * hildon-fm/hildon-file-chooser-dialog.c (hildon_file_chooser_dialog_set_property): Update CSM menu items when selection mode changes (N58786). (check_for_location_update): New. (hildon_file_chooser_dialog_constructor): Connect it (N59520). * hildon-fm/hildon-file-common-private.h (SORT_WEIGHT_REMOTE_DEVICE): New. * hildon-fm/hildon-file-system-remote-device.c: Use it to show remote devices together and below MMC cards (N61730). * hildon-fm/hildon-file-details-dialog.c (hildon_file_details_dialog_init): Set width of dialog to 400 pixels, enable horizontal scrolling and disable ellipsization (N53155). * hildon-fm/hildon-file-selection.c (hildon_file_selection_close_load_banner): Set cursor to first row also when user hasn't touched the list yet (N52827). Modified: projects/haf/trunk/hildon-fm/ChangeLog =================================================================== --- projects/haf/trunk/hildon-fm/ChangeLog 2007-08-02 17:11:49 UTC (rev 13008) +++ projects/haf/trunk/hildon-fm/ChangeLog 2007-08-02 19:28:40 UTC (rev 13009) @@ -1,3 +1,41 @@ +2007-08-02 Marius Vollmer <marius.vollmer at nokia.com> + + * hildon-fm/hildon-file-chooser-dialog.c + (hildon_file_chooser_dialog_set_property): Update CSM menu items + when selection mode changes (N58786). + (check_for_location_update): New. + (hildon_file_chooser_dialog_constructor): Connect it (N59520). + + * hildon-fm/hildon-file-common-private.h + (SORT_WEIGHT_REMOTE_DEVICE): New. + * hildon-fm/hildon-file-system-remote-device.c: Use it to show + remote devices together and below MMC cards (N61730). + + * hildon-fm/hildon-file-details-dialog.c + (hildon_file_details_dialog_init): Set width of dialog to 400 + pixels, enable horizontal scrolling and disable ellipsization + (N53155). + + * hildon-fm/hildon-file-selection.c + (hildon_file_selection_close_load_banner): Set cursor to first row + also when user hasn't touched the list yet (N52827). + + * hildon-fm/hildon-file-system-model.c: Removed machinery for + delaying node adding and reloads. The GtkFilesystem API is now + sufficiently asynchronous to make our own trick unnecessary. + (hildon_file_system_model_load_uri): Wait for scan of root folder + to be complete (N62546, N62972). + (hildon_file_system_model_load_path): Wait for the parent to be + fully loaded and then expect to find the path instead of just + adding a 'ghost' node. + + * hildon-fm/hildon-file-system-smb.c (struct _MyFileFolder): Added + n_children_waiting. + (my_file_folder_child_files_added, + my_file_folder_root_files_added): Maintain it. + (my_file_folder_is_finished_loading): Return FALSE as long as + there are still child folders outstanding. + 2007-07-31 Marius Vollmer <marius.vollmer at nokia.com> * hildon-fm/hildon-file-details-dialog.c Modified: projects/haf/trunk/hildon-fm/debian/changelog =================================================================== --- projects/haf/trunk/hildon-fm/debian/changelog 2007-08-02 17:11:49 UTC (rev 13008) +++ projects/haf/trunk/hildon-fm/debian/changelog 2007-08-02 19:28:40 UTC (rev 13009) @@ -1,6 +1,10 @@ libhildonfm (1:1.9.37~unreleased) unstable; urgency=low - * Fixes: NB#62101, NB#52599. + * Removed most of the video game character of folder listing by relying + on the asynchronous GtkFilesystem API instead of doing our own magic. + * Fixes: NB#62101, NB#52599, NB#62546, NB#62972, NB#55972, NB#60272. + Fixes: NB#64004, NB#64453, NB#52827, NB#53155, NB61730, NB#58786. + Fixes: NB#59520. -- Marius Vollmer <marius.vollmer at nokia.com> Mon, 30 Jul 2007 20:09:58 +0300 Modified: projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-chooser-dialog.c =================================================================== --- projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-chooser-dialog.c 2007-08-02 17:11:49 UTC (rev 13008) +++ projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-chooser-dialog.c 2007-08-02 19:28:40 UTC (rev 13009) @@ -647,6 +647,40 @@ hildon_file_chooser_dialog_do_autonaming(priv); } +/* If a row changes in the model, we check if the location label + should be updated */ + +static void +check_for_location_update (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) +{ + HildonFileChooserDialogPrivate *priv = data; + GtkTreeIter current_iter; + GtkTreePath *current_path = NULL; + + if (!priv) + return; + + if (!path) + return; + + if (!model) + return; + + if (priv->filetree && HILDON_IS_FILE_SELECTION (priv->filetree)) + { + hildon_file_selection_get_current_folder_iter (priv->filetree, + ¤t_iter); + current_path = gtk_tree_model_get_path (model, ¤t_iter); + } + + if (current_path + && gtk_tree_path_compare (path, current_path) == 0) + hildon_file_chooser_dialog_update_location_info(priv); +} + static gboolean hildon_file_chooser_dialog_set_current_folder(GtkFileChooser * chooser, const GtkFilePath * path, @@ -1491,6 +1525,12 @@ g_assert(HILDON_IS_FILE_SELECTION(priv->filetree)); hildon_file_selection_set_mode(priv->filetree, g_value_get_enum (value)); + if (g_value_get_enum (value) == HILDON_FILE_SELECTION_MODE_LIST) + gtk_check_menu_item_set_active + (GTK_CHECK_MENU_ITEM(priv->mode_list), TRUE); + else + gtk_check_menu_item_set_active + (GTK_CHECK_MENU_ITEM(priv->mode_thumbnails), TRUE); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); @@ -2036,6 +2076,8 @@ g_signal_connect_object(priv->model, "finished-loading", G_CALLBACK(hildon_file_chooser_dialog_finished_loading), obj, 0); + g_signal_connect (G_OBJECT (priv->model), "row-changed", + G_CALLBACK (check_for_location_update), priv); gtk_dialog_set_has_separator(GTK_DIALOG(obj), FALSE); hildon_file_chooser_dialog_set_limit(HILDON_FILE_CHOOSER_DIALOG(obj)); Modified: projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-common-private.h =================================================================== --- projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-common-private.h 2007-08-02 17:11:49 UTC (rev 13008) +++ projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-common-private.h 2007-08-02 19:28:40 UTC (rev 13009) @@ -54,6 +54,7 @@ #define SORT_WEIGHT_DEVICE -5 #define SORT_WEIGHT_INTERNAL_MMC -8 #define SORT_WEIGHT_EXTERNAL_MMC -7 +#define SORT_WEIGHT_REMOTE_DEVICE -4 /* An easy way to add tracing to functions, used while debugging */ #if 0 Modified: projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-details-dialog.c =================================================================== --- projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-details-dialog.c 2007-08-02 17:11:49 UTC (rev 13008) +++ projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-details-dialog.c 2007-08-02 19:28:40 UTC (rev 13009) @@ -358,9 +358,10 @@ priv->file_device = g_object_new(GTK_TYPE_LABEL, "xalign", 0.0f, NULL); priv->file_location = g_object_new(GTK_TYPE_LABEL, "xalign", 0.0f, NULL); - gtk_label_set_ellipsize(GTK_LABEL(priv->file_location), PANGO_ELLIPSIZE_END); + gtk_label_set_ellipsize(GTK_LABEL(priv->file_location), + PANGO_ELLIPSIZE_NONE); priv->file_name = g_object_new(GTK_TYPE_LABEL, "xalign", 0.0f, NULL); - gtk_label_set_ellipsize(GTK_LABEL(priv->file_name), PANGO_ELLIPSIZE_END); + gtk_label_set_ellipsize(GTK_LABEL(priv->file_name), PANGO_ELLIPSIZE_NONE); priv->file_type = g_object_new(GTK_TYPE_LABEL, "xalign", 0.0f, NULL); priv->file_size = g_object_new(GTK_TYPE_LABEL, "xalign", 0.0f, NULL); priv->file_date = g_object_new(GTK_TYPE_LABEL,"xalign", 0.0f, NULL); @@ -436,7 +437,7 @@ gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scroll), vbox); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), - GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_set_border_width(GTK_CONTAINER(scroll), HILDON_MARGIN_DEFAULT); /* Both scrolled window and viewport have separate shadows... */ @@ -482,6 +483,8 @@ priv->toggle_handler = g_signal_connect(priv->file_readonly, "toggled", G_CALLBACK(hildon_file_details_dialog_read_only_toggled), self); + + gtk_widget_set_usize (GTK_WIDGET (self), 400, -1); } static void Modified: projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-selection.c =================================================================== --- projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-selection.c 2007-08-02 17:11:49 UTC (rev 13008) +++ projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-selection.c 2007-08-02 19:28:40 UTC (rev 13009) @@ -1351,7 +1351,7 @@ GtkTreePath *cursor_path; gtk_tree_view_get_cursor (GTK_TREE_VIEW (view), &cursor_path, NULL); - if (cursor_path == NULL) + if (cursor_path == NULL || priv->user_touched == FALSE) { GtkTreePath *path = gtk_tree_path_new_first (); gtk_tree_view_set_cursor (GTK_TREE_VIEW (view), path, Modified: projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-remote-device.c =================================================================== --- projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-remote-device.c 2007-08-02 17:11:49 UTC (rev 13008) +++ projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-remote-device.c 2007-08-02 19:28:40 UTC (rev 13009) @@ -73,9 +73,13 @@ hildon_file_system_remote_device_init (HildonFileSystemRemoteDevice *device) { HildonFileSystemSettings *fs_settings; + HildonFileSystemSpecialLocation *location; fs_settings = _hildon_file_system_settings_get_instance (); + location = HILDON_FILE_SYSTEM_SPECIAL_LOCATION (device); + location->sort_weight = SORT_WEIGHT_REMOTE_DEVICE; + g_object_get (fs_settings, "flight-mode", &device->accessible, NULL); device->accessible = !device->accessible;
- Previous message: [maemo-commits] r13008 - projects/haf/trunk/hildon-fm/hildon-fm
- Next message: [maemo-commits] r13010 - in projects/haf/trunk/gtk+: . gtk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]