./hildon-fm/debian r365: * Merge upstream releases from 1:2.0.0 to 1:2.0.5 (up to r591); no API
Loïc Minier
lool at dooz.org
Sun Aug 24 17:49:12 UTC 2008
------------------------------------------------------------
revno: 365
committer: Loïc Minier <lool at dooz.org>
branch nick: debian
timestamp: Sun 2008-08-24 19:49:12 +0200
message:
* Merge upstream releases from 1:2.0.0 to 1:2.0.5 (up to r591); no API
change.
- Fix merge conflict in hildon-fm/hildon-file-chooser-dialog.c
(create_folder_callback): reapply the changes of upstream r562.
- Upstream changes:
* Add checks to hildon-file-system-smb.c signal handlers to avoid a crash.
Fixes: NB#79106
* Make read-only check insensitive in the Details dialog when the
permissions can not be changed.
* Fixes: NB#79697, NB#77225, NB#83593, NB#83955, NB#77409.
* Add "currently-dragging" property to HildonFileSelection. Related to
NB#83827
* Reverted the patch for NB#79697, it made Bookmarks to crash in startup.
* Fixes: NB#76517, NB#79427, NB#76380, NB#76271, NB#79697.
* Fixes: NB#76327, NB#74397, NB#75049, NB#80021, NB#81354.
* Fixes: NB#79056.
* Re-released 1:1.9.49 as 1:2.0.0 for the Hildon 2.0 release.
modified:
ChangeLog
configure.ac
debian/changelog
hildon-fm/hildon-file-chooser-dialog.c
hildon-fm/hildon-file-details-dialog.c
hildon-fm/hildon-file-selection.c
hildon-fm/hildon-file-system-mmc.c
hildon-fm/hildon-file-system-model.c
hildon-fm/hildon-file-system-old-gateway.c
hildon-fm/hildon-file-system-private.c
hildon-fm/hildon-file-system-smb.c
------------------------------------------------------------
revno: 320.1.239
committer: marivoll
timestamp: Wed 2008-01-09 10:36:28 +0000
message:
libhildonfm (1:2.0.0) unstable; urgency=low
* Re-released 1:1.9.49 as 1:2.0.0 for the Hildon 2.0 release.
-- Marius Vollmer <marius.vollmer at nokia.com> Wed, 09 Jan 2008 12:32:45 +0200
modified:
ChangeLog
configure.ac
debian/changelog
------------------------------------------------------------
revno: 320.1.240
committer: marivoll
timestamp: Wed 2008-02-20 14:48:12 +0000
message:
(no message)
modified:
debian/changelog
------------------------------------------------------------
revno: 320.1.241
committer: marivoll
timestamp: Wed 2008-02-20 14:49:40 +0000
message:
Prepare 2.0.1
modified:
configure.ac
debian/changelog
------------------------------------------------------------
revno: 320.1.242
committer: marivoll
timestamp: Wed 2008-02-20 14:51:08 +0000
message:
* hildon-fm/hildon-file-chooser-dialog.c (create_folder_callback):
Ignore unexpected handles instead of aborting (N76517).
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-chooser-dialog.c
------------------------------------------------------------
revno: 320.1.243
committer: marivoll
timestamp: Wed 2008-02-20 14:54:20 +0000
message:
* hildon-fm/hildon-file-system-smb.c
(my_file_folder_collaps_path): Avoid calling strcpy with
two pointers into the same string (N79427).
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-system-smb.c
------------------------------------------------------------
revno: 320.1.244
committer: marivoll
timestamp: Wed 2008-02-20 14:59:51 +0000
message:
* hildon-fm/hildon-file-chooser-dialog.c (sync_extensions_combo):
Do not change the extensions combobox selection if there's already
a valid extension selected. (N76380)
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-chooser-dialog.c
------------------------------------------------------------
revno: 320.1.245
committer: marivoll
timestamp: Wed 2008-02-20 15:07:15 +0000
message:
* hildon-fm/hildon-file-system-model.c (handle_finished_node): Do
not kick nodes that are in the process of being linked (N76271).
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-system-model.c
------------------------------------------------------------
revno: 320.1.246
committer: marivoll
timestamp: Wed 2008-02-20 16:34:50 +0000
message:
* hildon-fm/hildon-file-selection.c
(hildon_file_selection_matches_current_view): Also recognize a
path that has just been deleted (N79697).
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-selection.c
------------------------------------------------------------
revno: 320.1.247
committer: marivoll
timestamp: Wed 2008-02-20 16:40:34 +0000
message:
* hildon-fm/hildon-file-system-private.c
(_hildon_file_system_compare_ignore_last_separator): actually
ignore all appended slashes in both paths instead of just removing
one to each. This way paths like upnpav:/// and upnpav:// are
equivalent. (N76327)
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-system-private.c
------------------------------------------------------------
revno: 320.1.248
committer: marivoll
timestamp: Wed 2008-02-20 16:44:02 +0000
message:
* hildon-fm/hildon-file-chooser-dialog.c
(handle_folder_popup): Do not change current name unless there has
been actually a change in the subdialog. (N74397)
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-chooser-dialog.c
------------------------------------------------------------
revno: 320.1.249
committer: marivoll
timestamp: Wed 2008-02-20 16:47:01 +0000
message:
* hildon-fm/hildon-file-chooser-dialog.c
(hildon_file_chooser_entry_changed): save the filename entry
content as the internal file name as soon as it changes, so there
isn't any mismatch between the internally stored name and the
displayed one. (N75049)
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-chooser-dialog.c
------------------------------------------------------------
revno: 320.1.250
committer: marivoll
timestamp: Wed 2008-02-20 16:56:36 +0000
message:
(hildon_file_chooser_dialog_create_sub_dialog): Copy "local-only",
"show-hidden", and "show-upnp" properties into
sub-dialog (N80021).
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-chooser-dialog.c
------------------------------------------------------------
revno: 320.1.251
committer: marivoll
timestamp: Fri 2008-02-29 15:39:43 +0000
message:
* hildon-fm/hildon-file-system-mmc.c,
hildon-fm/hildon-file-system-old-gateway.c: Avoid using old
logical_ids (N81354).
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-system-mmc.c
hildon-fm/hildon-file-system-old-gateway.c
------------------------------------------------------------
revno: 320.1.252
committer: marivoll
timestamp: Thu 2008-03-06 16:30:48 +0000
message:
* hildon-fm/hildon-file-system-smb.c (strchr_reverse): Be more
constant.
modified:
hildon-fm/hildon-file-system-smb.c
------------------------------------------------------------
revno: 320.1.253
committer: marivoll
timestamp: Thu 2008-03-06 16:30:57 +0000
message:
* hildon-fm/hildon-file-system-model.c (get_folder_callback):
Reverse order of calls to handle_finished_node and
handle_load_error (N79056).
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-system-model.c
------------------------------------------------------------
revno: 320.1.254
committer: marivoll
timestamp: Thu 2008-03-06 16:49:45 +0000
message:
libhildonfm (1:2.0.1) unstable; urgency=low
* Fixes: NB#76517, NB#79427, NB#76380, NB#76271, NB#79697.
* Fixes: NB#76327, NB#74397, NB#75049, NB#80021, NB#81354.
* Fixes: NB#79056.
modified:
ChangeLog
debian/changelog
------------------------------------------------------------
revno: 320.1.255
committer: marivoll
timestamp: Thu 2008-03-06 16:54:49 +0000
message:
Prepare 2.0.2.
modified:
configure.ac
debian/changelog
------------------------------------------------------------
revno: 320.1.256
committer: kihamala
timestamp: Tue 2008-03-18 15:08:18 +0000
message:
revert fix for NB#79697
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-selection.c
------------------------------------------------------------
revno: 320.1.257
committer: kihamala
timestamp: Tue 2008-03-18 15:32:54 +0000
message:
tagging and releasing
modified:
debian/changelog
------------------------------------------------------------
revno: 320.1.258
committer: marivoll
timestamp: Thu 2008-04-03 17:05:09 +0000
message:
* hildon-fm/hildon-file-selection.c
(hildon_file_selection_selection_changed): Use a path for the
dir_sort model when getting the row reference from it.
(hildon_file_selection_matches_current_view): Return FALSE when
the current_folder row reference is invalid. This happens when
the current folder has been deleted (N79697, again).
(sort_function): Items with negative sort weight (such as folders)
are always sorted by name (N77225).
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-selection.c
------------------------------------------------------------
revno: 320.1.259
committer: kihamala
timestamp: Thu 2008-04-17 11:30:56 +0000
message:
added "currently-dragging" property
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-selection.c
------------------------------------------------------------
revno: 320.1.260
committer: marivoll
timestamp: Thu 2008-04-17 15:56:43 +0000
message:
* hildon-fm/hildon-file-selection.c
(_hildon_file_selection_get_current_folder_path): Return the goal
uri if we have one (N83593).
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-selection.c
------------------------------------------------------------
revno: 320.1.261
committer: marivoll
timestamp: Thu 2008-04-17 15:59:46 +0000
message:
(drag_data_get): Don't pass NULL to
gtk_selection_data_set_uris (N83955).
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-selection.c
------------------------------------------------------------
revno: 320.1.262
committer: marivoll
timestamp: Thu 2008-04-17 16:12:11 +0000
message:
Permissions are only changed when closing the dialog, not
immediately when toggling the checkbox (N77409).
* hildon-fm/hildon-file-details-dialog.c
(hildon_file_details_dialog_read_only_toggled): Removed.
(hildon_file_details_dialog_init): Don't connect it.
(hildon_file_details_dialog_response): Call change_state here.
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-details-dialog.c
------------------------------------------------------------
revno: 320.1.263
committer: marivoll
timestamp: Thu 2008-04-17 16:20:14 +0000
message:
libhildonfm (1:2.0.3) unstable; urgency=low
* Fixes: NB#79697, NB#77225, NB#83593, NB#83955, NB#77409.
* Add "currently-dragging" property to HildonFileSelection. Related to
NB#83827
-- Marius Vollmer <marius.vollmer at nokia.com> Thu, 17 Apr 2008 19:17:28 +0300
modified:
ChangeLog
debian/changelog
------------------------------------------------------------
revno: 320.1.264
committer: marivoll
timestamp: Thu 2008-04-17 16:21:30 +0000
message:
Prepare 2.0.4.
modified:
configure.ac
debian/changelog
------------------------------------------------------------
revno: 320.1.265
committer: marivoll
timestamp: Wed 2008-04-23 14:13:52 +0000
message:
* hildon-fm/hildon-file-details-dialog.c (change_state): Don't use
the dialog as the parent for showing the information banner, it is
already gone.
(can_change_permissions): New.
(hildon_file_details_dialog_set_file_iter): Use it to set the
sensitivity of the read-only checkbox.
modified:
ChangeLog
hildon-fm/hildon-file-details-dialog.c
------------------------------------------------------------
revno: 320.1.266
committer: marivoll
timestamp: Wed 2008-04-23 14:22:33 +0000
message:
libhildonfm (1:2.0.4) unstable; urgency=low
* Make read-only check insensitive in the Details dialog when the
permissions can not be changed.
-- Marius Vollmer <marius.vollmer at nokia.com> Thu, 17 Apr 2008 19:18:13 +0300
modified:
ChangeLog
debian/changelog
------------------------------------------------------------
revno: 320.1.267
committer: marivoll
timestamp: Wed 2008-04-23 14:24:31 +0000
message:
Prepare 2.0.5
modified:
configure.ac
debian/changelog
------------------------------------------------------------
revno: 320.1.268
committer: kihamala
timestamp: Thu 2008-04-24 09:52:33 +0000
message:
patch for 79106
modified:
ChangeLog
debian/changelog
hildon-fm/hildon-file-system-smb.c
------------------------------------------------------------
revno: 320.1.269
committer: kihamala
timestamp: Thu 2008-04-24 09:56:45 +0000
message:
added credit
modified:
ChangeLog
------------------------------------------------------------
revno: 320.1.270
committer: marivoll
timestamp: Thu 2008-04-24 09:57:41 +0000
message:
Show information banner when tapping a insensitive read-only
checkbox.
* hildon-fm/hildon-file-details-dialog.c (can_change_permissions)
(guess_change_permissions_result): Renamed former to latter.
Return result code instead of boolean success flag.
(permissions_insensitive_press): New.
(hildon_file_details_dialog_init): Connect it.
(hildon_file_details_dialog_set_file_iter): Remember result code
for permission changes for permissions_insensitive_press.
modified:
ChangeLog
hildon-fm/hildon-file-details-dialog.c
------------------------------------------------------------
revno: 320.1.271
committer: kihamala
timestamp: Mon 2008-04-28 15:25:07 +0000
message:
releasing
modified:
ChangeLog
debian/changelog
-------------- next part --------------
=== modified file 'ChangeLog'
--- a/ChangeLog 2007-11-16 17:12:31 +0000
+++ b/ChangeLog 2008-04-28 15:25:07 +0000
@@ -1,3 +1,146 @@
+2008-04-28 Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>
+
+ Released 2.0.5
+
+2008-04-24 Marius Vollmer <marius.vollmer at nokia.com>
+
+ Show information banner when tapping a insensitive read-only
+ checkbox.
+
+ * hildon-fm/hildon-file-details-dialog.c (can_change_permissions)
+ (guess_change_permissions_result): Renamed former to latter.
+ Return result code instead of boolean success flag.
+ (permissions_insensitive_press): New.
+ (hildon_file_details_dialog_init): Connect it.
+ (hildon_file_details_dialog_set_file_iter): Remember result code
+ of permission changes for permissions_insensitive_press.
+
+2008-04-24 Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>
+
+ * hildon-fm/hildon-file-system-smb.c
+ (my_file_folder_child_files_added): Add MY_IS_FILE_FOLDER() check.
+ (my_file_folder_child_folder_added): Add MY_IS_FILE_FOLDER() check.
+ Patch from Valentin. Fixes: NB#79106
+
+2008-04-23 Marius Vollmer <marius.vollmer at nokia.com>
+
+ Released 2.0.4
+
+ * hildon-fm/hildon-file-details-dialog.c (change_state): Don't use
+ the dialog as the parent for showing the information banner, it is
+ already gone.
+ (can_change_permissions): New.
+ (hildon_file_details_dialog_set_file_iter): Use it to set the
+ sensitivity of the read-only checkbox.
+
+2008-04-17 Marius Vollmer <marius.vollmer at nokia.com>
+
+ Released 2.0.3
+
+ Permissions are only changed when closing the dialog, not
+ immediately when toggling the checkbox (N77409).
+
+ * hildon-fm/hildon-file-details-dialog.c
+ (hildon_file_details_dialog_read_only_toggled): Removed.
+ (hildon_file_details_dialog_init): Don't connect it.
+ (hildon_file_details_dialog_response): Call change_state here.
+
+ * hildon-fm/hildon-file-selection.c
+ (_hildon_file_selection_get_current_folder_path): Return the goal
+ uri if we have one (N83593).
+ (drag_data_get): Don't pass NULL to
+ gtk_selection_data_set_uris (N83955).
+
+2008-04-17 Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>
+
+ * hildon-fm/hildon-file-selection.c: Add new property PROP_DRAGGING
+ and currently_dragging member for it to _HildonFileSelectionPrivate
+ struct.
+ (hildon_file_selection_get_property): Add PROP_DRAGGING.
+ (hildon_file_selection_set_property): Add PROP_DRAGGING.
+ (hildon_file_selection_class_init): Add "currently-dragging" property.
+ (drag_begin): Set currently_dragging to TRUE.
+ (drag_end): New function. Set currently_dragging to FALSE.
+ (hildon_file_selection_setup_dnd_view): Connect drag_end() to
+ "drag-end" signal. Related to NB#83827
+
+2008-04-03 Marius Vollmer <marius.vollmer at nokia.com>
+
+ * hildon-fm/hildon-file-selection.c
+ (hildon_file_selection_selection_changed): Use a path for the
+ dir_sort model when getting the row reference from it.
+ (hildon_file_selection_matches_current_view): Return FALSE when
+ the current_folder row reference is invalid. This happens when
+ the current folder has been deleted (N79697, again).
+ (sort_function): Items with negative sort weight (such as folders)
+ are always sorted by name (N77225).
+
+2008-18-03 Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>
+
+ * hildon-fm/hildon-file-selection.c
+ (hildon_file_selection_matches_current_view): Revert patch to fix
+ N79697. It made Bookmarks to jam and then crash.
+
+2008-03-06 Marius Vollmer <marius.vollmer at nokia.com>
+
+ Released 2.0.1
+
+ * hildon-fm/hildon-file-system-smb.c (strchr_reverse): Be more
+ constant.
+
+ * hildon-fm/hildon-file-system-model.c (get_folder_callback):
+ Reverse order of calls to handle_finished_node and
+ handle_load_error (N79056).
+
+2008-02-29 Marius Vollmer <marius.vollmer at nokia.com>
+
+ * hildon-fm/hildon-file-system-mmc.c,
+ hildon-fm/hildon-file-system-old-gateway.c: Avoid using old
+ logical_ids (N81354).
+
+2008-02-20 Marius Vollmer <marius.vollmer at nokia.com>
+
+ * hildon-fm/hildon-file-chooser-dialog.c
+ (hildon_file_chooser_entry_changed): save the filename entry
+ content as the internal file name as soon as it changes, so there
+ isn't any mismatch between the internally stored name and the
+ displayed one. (N75049)
+ (hildon_file_chooser_dialog_create_sub_dialog): Copy "local-only",
+ "show-hidden", and "show-upnp" properties into
+ sub-dialog (N80021).
+
+ * hildon-fm/hildon-file-chooser-dialog.c
+ (handle_folder_popup): Do not change current name unless there has
+ been actually a change in the subdialog. (N74397)
+
+ * hildon-fm/hildon-file-system-private.c
+ (_hildon_file_system_compare_ignore_last_separator): actually
+ ignore all appended slashes in both paths instead of just removing
+ one to each. This way paths like upnpav:/// and upnpav:// are
+ equivalent. (N76327)
+
+ * hildon-fm/hildon-file-selection.c
+ (hildon_file_selection_matches_current_view): Also recognize a
+ path that has just been deleted (N79697).
+
+ * hildon-fm/hildon-file-system-model.c (handle_finished_node): Do
+ not kick nodes that are in the process of being linked (N76271).
+
+ * hildon-fm/hildon-file-chooser-dialog.c (sync_extensions_combo):
+ Do not change the extensions combobox selection if there's already
+ a valid extension selected. (N76380)
+
+ * hildon-fm/hildon-file-system-smb.c
+ (my_file_folder_collaps_path): Avoid calling strcpy with
+ two pointers into the same string (N79427).
+
+ * hildon-fm/hildon-file-chooser-dialog.c (create_folder_callback):
+ Ignore unexpected handles instead of aborting (N76517).
+
+2008-01-09 Marius Vollmer <marius.vollmer at nokia.com>
+
+ Released 1.9.49 again as 2.0.0 for the Hildon 2.0 release.
+
2007-11-16 Marius Vollmer <marius.vollmer at nokia.com>
Released 1.9.49
=== modified file 'configure.ac'
--- a/configure.ac 2007-12-27 09:54:51 +0000
+++ b/configure.ac 2008-08-24 17:49:12 +0000
@@ -1,5 +1,5 @@
AC_INIT(hildon-fm/hildon-file-system-model.c)
-AM_INIT_AUTOMAKE(libhildonfm, 1.9.49)
+AM_INIT_AUTOMAKE(libhildonfm, 2.0.5)
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
=== modified file 'debian/changelog'
--- a/debian/changelog 2008-01-08 22:17:49 +0000
+++ b/debian/changelog 2008-08-24 17:49:12 +0000
@@ -1,3 +1,54 @@
+libhildonfm (1:2.0.5.debian-1) UNRELEASED; urgency=low
+
+ * Merge upstream releases from 1:2.0.0 to 1:2.0.5 (up to r591); no API
+ change.
+ - Fix merge conflict in hildon-fm/hildon-file-chooser-dialog.c
+ (create_folder_callback): reapply the changes of upstream r562.
+
+ -- Loic Minier <lool at dooz.org> Sun, 24 Aug 2008 19:32:37 +0200
+
+libhildonfm (1:2.0.5) unstable; urgency=low
+
+ * Add checks to hildon-file-system-smb.c signal handlers to avoid a crash.
+ Fixes: NB#79106
+
+ -- Marius Vollmer <marius.vollmer at nokia.com> Wed, 23 Apr 2008 17:21:24 +0300
+
+libhildonfm (1:2.0.4) unstable; urgency=low
+
+ * Make read-only check insensitive in the Details dialog when the
+ permissions can not be changed.
+
+ -- Marius Vollmer <marius.vollmer at nokia.com> Thu, 17 Apr 2008 19:18:13 +0300
+
+libhildonfm (1:2.0.3) unstable; urgency=low
+
+ * Fixes: NB#79697, NB#77225, NB#83593, NB#83955, NB#77409.
+ * Add "currently-dragging" property to HildonFileSelection. Related to
+ NB#83827
+
+ -- Marius Vollmer <marius.vollmer at nokia.com> Thu, 17 Apr 2008 19:17:28 +0300
+
+libhildonfm (1:2.0.2) unstable; urgency=low
+
+ * Reverted the patch for NB#79697, it made Bookmarks to crash in startup.
+
+ -- Kimmo Hämäläinen <kimmo.hamalainen at nokia.com> Tue, 18 Mar 2008 16:56:44 +0200
+
+libhildonfm (1:2.0.1) unstable; urgency=low
+
+ * Fixes: NB#76517, NB#79427, NB#76380, NB#76271, NB#79697.
+ * Fixes: NB#76327, NB#74397, NB#75049, NB#80021, NB#81354.
+ * Fixes: NB#79056.
+
+ -- Marius Vollmer <marius.vollmer at nokia.com> Thu, 06 Mar 2008 18:42:34 +0200
+
+libhildonfm (1:2.0.0) unstable; urgency=low
+
+ * Re-released 1:1.9.49 as 1:2.0.0 for the Hildon 2.0 release.
+
+ -- Marius Vollmer <marius.vollmer at nokia.com> Wed, 09 Jan 2008 12:32:45 +0200
+
libhildonfm (1:1.9.49.debian-1) unstable; urgency=low
[ Loic Minier ]
=== modified file 'hildon-fm/hildon-file-chooser-dialog.c'
--- a/hildon-fm/hildon-file-chooser-dialog.c 2007-12-28 01:57:34 +0000
+++ b/hildon-fm/hildon-file-chooser-dialog.c 2008-08-24 17:49:12 +0000
@@ -437,9 +437,9 @@
hildon_file_chooser_dialog_do_autonaming(HildonFileChooserDialogPrivate *
priv)
{
+ gboolean changed;
+
g_assert(HILDON_IS_FILE_SELECTION(priv->filetree));
-
- gboolean changed;
if (GTK_WIDGET_VISIBLE(priv->caption_control_name) &&
priv->stub_name && priv->stub_name[0] && !priv->edited)
@@ -1207,13 +1207,23 @@
action)
{
GtkWidget *dialog;
+ gboolean local_only = FALSE;
+ gboolean show_hidden = FALSE;
+ gboolean show_upnp = TRUE;
+
+ g_object_get (self->priv->filetree, "local-only", &local_only, NULL);
+ g_object_get (self->priv->filetree, "show-hidden", &show_hidden, NULL);
+ g_object_get (self->priv->filetree, "show-upnp", &show_upnp, NULL);
- dialog =
- hildon_file_chooser_dialog_new_with_properties(GTK_WINDOW(self),
- "action", action,
- "file-system-model",
- self->priv->model,
- NULL);
+ dialog = hildon_file_chooser_dialog_new_with_properties
+ (GTK_WINDOW(self),
+ "action", action,
+ "file-system-model",
+ self->priv->model,
+ "local-only", local_only,
+ "show-hidden", show_hidden,
+ "show-upnp", show_upnp,
+ NULL);
gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
sync_current_folders(self, HILDON_FILE_CHOOSER_DIALOG(dialog));
@@ -1229,7 +1239,12 @@
g_assert(HILDON_IS_FILE_CHOOSER_DIALOG(data));
self = HILDON_FILE_CHOOSER_DIALOG(data);
- g_assert(self->priv->create_folder_handle == handle);
+
+ /* There can be still pending cancelled handles
+ * from previous operations, just ignore them
+ */
+ if (self->priv->create_folder_handle != handle)
+ return;
self->priv->create_folder_handle = NULL;
dialog = GTK_DIALOG(self);
@@ -1259,6 +1274,7 @@
GtkWidget *dialog;
gint response;
gchar *uri = NULL;
+ gboolean edit_entry = FALSE;
g_return_if_fail(HILDON_IS_FILE_CHOOSER_DIALOG(self));
@@ -1273,14 +1289,6 @@
self->priv->popup_protect = TRUE;
- if (self->priv->edited)
- {
- self->priv->edited = FALSE;
- hildon_file_chooser_dialog_set_current_name
- (GTK_FILE_CHOOSER(self),
- get_entry (self->priv->entry_name, self->priv->ext_name));
- }
-
backend = _hildon_file_system_model_get_file_system(self->priv->model);
if (self->priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
@@ -1335,6 +1343,7 @@
hildon_file_selection_move_cursor_to_uri (self->priv->filetree,
uri);
}
+ edit_entry = TRUE;
}
gtk_file_path_free(file_path);
}
@@ -1344,7 +1353,18 @@
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK)
- sync_current_folders(HILDON_FILE_CHOOSER_DIALOG(dialog), self);
+ {
+ sync_current_folders(HILDON_FILE_CHOOSER_DIALOG(dialog), self);
+ edit_entry = TRUE;
+ }
+ }
+
+ if (edit_entry && self->priv->edited)
+ {
+ self->priv->edited = FALSE;
+ hildon_file_chooser_dialog_set_current_name
+ (GTK_FILE_CHOOSER(self),
+ get_entry (self->priv->entry_name, self->priv->ext_name));
}
gtk_widget_destroy(dialog);
@@ -1946,6 +1966,10 @@
priv = HILDON_FILE_CHOOSER_DIALOG( data )->priv;
priv->edited = TRUE;
+
+ g_free (priv->stub_name);
+ priv->stub_name = g_strdup (gtk_entry_get_text (GTK_ENTRY (widget)));
+
gtk_dialog_set_response_sensitive(GTK_DIALOG(data),
GTK_RESPONSE_OK,
strlen(gtk_entry_get_text(GTK_ENTRY(widget))) > 0);
@@ -2260,6 +2284,20 @@
model = gtk_combo_box_get_model (GTK_COMBO_BOX (priv->extensions_combo));
+ /* if there is a valid extension selected, just leave it */
+ if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (priv->extensions_combo), &iter))
+ {
+ gboolean matches;
+ gchar *ext;
+
+ gtk_tree_model_get (model, &iter, 1, &ext, -1);
+ matches = (strcmp (ext, priv->ext_name + 1) == 0);
+ g_free (ext);
+
+ if (matches)
+ return;
+ }
+
i = 0;
valid = gtk_tree_model_get_iter_first (model, &iter);
while (valid)
=== modified file 'hildon-fm/hildon-file-details-dialog.c'
--- a/hildon-fm/hildon-file-details-dialog.c 2007-10-08 17:46:38 +0000
+++ b/hildon-fm/hildon-file-details-dialog.c 2008-04-24 09:57:41 +0000
@@ -71,6 +71,8 @@
GtkWidget *ok_button;
GtkWidget *scroll;
+ GnomeVFSResult change_permissions_result;
+
GtkTreeRowReference *active_file;
gboolean checkbox_original_state;
gulong toggle_handler;
@@ -147,6 +149,27 @@
return result;
}
+static GnomeVFSResult guess_change_permissions_result (const gchar *uri)
+{
+ GnomeVFSFileInfo *info;
+ gboolean result;
+
+ /* Get information about file */
+ info = gnome_vfs_file_info_new ();
+ result = gnome_vfs_get_file_info (uri, info, GNOME_VFS_FILE_INFO_DEFAULT);
+ if (result == GNOME_VFS_OK)
+ {
+ if (info->valid_fields & GNOME_VFS_FILE_INFO_FIELDS_PERMISSIONS)
+ result = gnome_vfs_set_file_info (uri, info,
+ GNOME_VFS_SET_FILE_INFO_PERMISSIONS);
+ else
+ result = GNOME_VFS_ERROR_GENERIC;
+ }
+
+ gnome_vfs_file_info_unref(info);
+ return result;
+}
+
/* When model deletes a file, we check if our reference is still valid.
If not, we emit response, which usually closes the dialog */
static void check_validity(GtkTreeModel *model,
@@ -197,9 +220,9 @@
}
if (result != GNOME_VFS_OK)
- hildon_banner_show_information (GTK_WIDGET (self), NULL,
- gnome_vfs_result_to_string (result));
-
+ hildon_banner_show_information (NULL, NULL,
+ gnome_vfs_result_to_string (result));
+
gnome_vfs_file_info_unref(info);
g_free(uri);
}
@@ -209,7 +232,7 @@
static void
hildon_file_details_dialog_response(GtkDialog *dialog, gint response_id)
{
- if (response_id == GTK_RESPONSE_CANCEL)
+ if (response_id == GTK_RESPONSE_OK)
{
HildonFileDetailsDialog *self;
gboolean state;
@@ -218,18 +241,11 @@
state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self->priv->file_readonly));
if (state != self->priv->checkbox_original_state)
- change_state(self, self->priv->checkbox_original_state);
+ change_state(self, state);
}
}
static void
-hildon_file_details_dialog_read_only_toggled(GtkWidget *widget, gpointer data)
-{
- change_state(HILDON_FILE_DETAILS_DIALOG(data),
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
-}
-
-static void
hildon_file_details_dialog_map(GtkWidget *widget)
{
HildonFileDetailsDialogPrivate *priv;
@@ -253,6 +269,16 @@
}
static void
+permissions_insensitive_press (GtkWidget *widget, gpointer data)
+{
+ HildonFileDetailsDialog* self = HILDON_FILE_DETAILS_DIALOG (data);
+ const char *msg
+ = gnome_vfs_result_to_string (self->priv->change_permissions_result);
+
+ hildon_banner_show_information (GTK_WIDGET (self), NULL, msg);
+}
+
+static void
hildon_file_details_dialog_class_init(HildonFileDetailsDialogClass * klass)
{
GObjectClass *gobject_class;
@@ -369,6 +395,8 @@
priv->file_date = g_object_new(GTK_TYPE_LABEL,"xalign", 0.0f, NULL);
priv->file_time = g_object_new(GTK_TYPE_LABEL, "xalign", 0.0f, NULL);
priv->file_readonly = gtk_check_button_new();
+ g_signal_connect (priv->file_readonly, "insensitive-press",
+ G_CALLBACK (permissions_insensitive_press), self);
hbox_type = gtk_hbox_new (FALSE, HILDON_MARGIN_DEFAULT);
hbox_location = gtk_hbox_new(FALSE, HILDON_MARGIN_DEFAULT);
@@ -481,10 +509,6 @@
gtk_dialog_add_button(GTK_DIALOG(self),
_("sfil_bd_filetype_details_dialog_cancel"),
GTK_RESPONSE_CANCEL);
-
- priv->toggle_handler = g_signal_connect(priv->file_readonly, "toggled",
- G_CALLBACK(hildon_file_details_dialog_read_only_toggled),
- self);
gtk_widget_set_size_request (GTK_WIDGET (self), 400, -1);
g_signal_connect (G_OBJECT (self), "show",
@@ -874,9 +898,13 @@
g_signal_handler_block(self->priv->file_readonly, self->priv->toggle_handler);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self->priv->file_readonly),
- location_readonly || !write_access(uri));
- gtk_widget_set_sensitive(self->priv->file_readonly, !location_readonly);
+ location_readonly || !write_access(uri));
+ self->priv->change_permissions_result =
+ guess_change_permissions_result (uri);
+ gtk_widget_set_sensitive(self->priv->file_readonly,
+ (self->priv->change_permissions_result
+ == GNOME_VFS_OK));
self->priv->checkbox_original_state = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(self->priv->file_readonly));
=== modified file 'hildon-fm/hildon-file-selection.c'
--- a/hildon-fm/hildon-file-selection.c 2007-12-27 09:54:51 +0000
+++ b/hildon-fm/hildon-file-selection.c 2008-08-24 17:49:12 +0000
@@ -129,7 +129,8 @@
PROP_SAFE_FOLDER,
PROP_ACTIVE_PANE,
PROP_SHOW_UPNP,
- PROP_PANE_POSITION
+ PROP_PANE_POSITION,
+ PROP_DRAGGING
};
struct _HildonFileSelectionPrivate {
@@ -184,6 +185,7 @@
gboolean local_only;
gboolean show_hidden;
gboolean show_upnp;
+ gboolean currently_dragging;
GtkFilePath *safe_folder;
gchar **drag_data_uris;
@@ -737,6 +739,9 @@
return diff;
}
+ /* In case of fodlers sort only by name */
+ if (weight_a < 0) key = HILDON_FILE_SELECTION_SORT_NAME;
+
if (key == HILDON_FILE_SELECTION_SORT_MODIFIED) {
GtkFileTime time_a, time_b;
gint retval;
@@ -771,7 +776,7 @@
/* Sort by name. This allways applies for directories and also for
files when name sorting is selected */
- if (weight_a < 0 || key == HILDON_FILE_SELECTION_SORT_NAME) {
+ if (key == HILDON_FILE_SELECTION_SORT_NAME) {
gchar *title_a, *title_b;
gint value;
@@ -930,7 +935,9 @@
gtk_paned_set_position (GTK_PANED (priv->hpaned),
g_value_get_int (value));
break;
-
+ case PROP_DRAGGING:
+ ULOG_ERR_F("PROP_DRAGGING is a read-only property");
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
break;
@@ -977,6 +984,9 @@
g_value_set_int (value,
gtk_paned_get_position (GTK_PANED (priv->hpaned)));
break;
+ case PROP_DRAGGING:
+ g_value_set_boolean(value, priv->currently_dragging);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
break;
@@ -1199,6 +1209,11 @@
"the both panes",
0, INT_MAX, 250,
G_PARAM_CONSTRUCT | G_PARAM_READWRITE));
+
+ g_object_class_install_property(object, PROP_DRAGGING,
+ g_param_spec_boolean("currently-dragging", "Currently dragging",
+ "Whether or not dragging is ongoing",
+ FALSE, G_PARAM_READABLE));
}
static gboolean
@@ -1240,14 +1255,17 @@
{
if (GTK_IS_TREE_MODEL_FILTER(priv->view_filter)) {
GtkTreePath *current_path;
- gint result;
+ gint result = 1;
g_object_get(priv->view_filter, "virtual-root", ¤t_path,
NULL);
g_assert(current_path); /* Content pane should always have root
(no local device level allowed) */
- result = gtk_tree_path_compare(path, current_path);
+ if (!gtk_tree_path_compare(path, current_path) && gtk_tree_row_reference_valid(priv->current_folder))
+ /* after deleting a folder the new and current (deleted) paths are same
+ but current_folder is invalid for the current (deleted) row */
+ result = 0;
gtk_tree_path_free(current_path);
return (result == 0);
@@ -1546,7 +1564,7 @@
if (gtk_tree_selection_get_selected(selection, &model, &iter)) {
GtkTreeIter sort_iter, main_iter;
- GtkTreePath *sort_path;
+ GtkTreePath *sort_path, *dir_sort_path;
g_assert(model == priv->dir_filter
&& GTK_IS_TREE_MODEL_FILTER(model));
@@ -1559,11 +1577,13 @@
&sort_iter);
sort_path =
gtk_tree_model_get_path(priv->main_model, &main_iter);
+ dir_sort_path = gtk_tree_model_get_path(priv->dir_sort, &sort_iter);
/* Check that we have actually changed the folder */
if (hildon_file_selection_matches_current_view(priv, sort_path))
{
gtk_tree_path_free(sort_path);
+ gtk_tree_path_free(dir_sort_path);
ULOG_INFO("Current folder re-selected => Asked to reload (if on gateway)");
_hildon_file_system_model_queue_reload(
HILDON_FILE_SYSTEM_MODEL(priv->main_model),
@@ -1582,7 +1602,8 @@
}
gtk_tree_row_reference_free (priv->current_folder);
- priv->current_folder = gtk_tree_row_reference_new(priv->dir_sort, sort_path);
+ priv->current_folder = gtk_tree_row_reference_new(priv->dir_sort, dir_sort_path);
+ gtk_tree_path_free(dir_sort_path);
if (hildon_file_selection_content_pane_visible(priv)) {
gint sort_column = GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID;
@@ -2728,6 +2749,8 @@
/* We do not want GtkTreeView to create the default drag cursor */
g_signal_stop_emission_by_name(widget, "drag-begin");
+
+ self->priv->currently_dragging = TRUE;
}
static void drag_data_get(GtkWidget * widget,
@@ -2741,7 +2764,9 @@
/* We use only uri-list internally, but somebody else
can use text format as well. */
- if (!gtk_selection_data_set_uris(selection_data, self->priv->drag_data_uris))
+ if (!self->priv->drag_data_uris
+ || !gtk_selection_data_set_uris(selection_data,
+ self->priv->drag_data_uris))
{
gchar *plain = g_strjoinv("\n", self->priv->drag_data_uris);
gtk_selection_data_set_text(selection_data, plain, -1);
@@ -2842,6 +2867,14 @@
return valid_location;
}
+static void drag_end(GtkWidget *widget, GdkDragContext *context,
+ gpointer user_data)
+{
+ HildonFileSelectionPrivate *priv;
+ priv = HILDON_FILE_SELECTION(user_data)->priv;
+ priv->currently_dragging = FALSE;
+}
+
static gboolean drag_drop(GtkWidget *widget, GdkDragContext *context,
gint x, gint y, guint time, gpointer user_data)
{
@@ -2891,6 +2924,8 @@
g_signal_connect_object(view, "drag-drop", G_CALLBACK(drag_drop),
self, G_CONNECT_AFTER);
+ g_signal_connect_object(view, "drag-end", G_CALLBACK(drag_end), self, 0);
+
/* We don't connect "drag-data-delete", because file system
notifications tell us about what to update */
/* g_signal_connect(view, "drag-data-delete",
@@ -3458,7 +3493,14 @@
_hildon_file_selection_get_current_folder_path (HildonFileSelection *self)
{
GtkTreeIter iter;
+ HildonFileSystemModel *model =
+ HILDON_FILE_SYSTEM_MODEL(self->priv->main_model);
+ if (self->priv->cursor_goal_uri)
+ return (gtk_file_system_uri_to_path
+ (_hildon_file_system_model_get_file_system(model),
+ self->priv->cursor_goal_uri));
+
if (hildon_file_selection_get_current_folder_iter(self, &iter)) {
GtkFilePath *path;
=== modified file 'hildon-fm/hildon-file-system-mmc.c'
--- a/hildon-fm/hildon-file-system-mmc.c 2007-05-23 11:13:25 +0000
+++ b/hildon-fm/hildon-file-system-mmc.c 2008-02-29 15:39:43 +0000
@@ -286,14 +286,6 @@
return g_strdup (KE("card_ib_memory_card_corrupted"));
}
- if (is_connected && mmc_is_used)
- {
- return g_strdup (_("sfil_ib_mmc_usb_connected"));
- }
- else
- {
- return g_strdup (_("hfil_ib_mmc_not_present"));
- }
}
return NULL;
=== modified file 'hildon-fm/hildon-file-system-model.c'
--- a/hildon-fm/hildon-file-system-model.c 2007-11-09 13:58:28 +0000
+++ b/hildon-fm/hildon-file-system-model.c 2008-03-06 16:30:57 +0000
@@ -88,9 +88,10 @@
HildonFileSystemModel *model;
HildonThumbnailFactoryHandle thumbnail_handle;
time_t load_time;
- gboolean present_flag : 1;
- gboolean available : 1; /* Set by code */
- gboolean accessed : 1; /* Replaces old gateway_accessed from model */
+ guint present_flag : 1;
+ guint available : 1; /* Set by code */
+ guint accessed : 1; /* Replaces old gateway_accessed from model */
+ guint linking : 1; /* whether it's being linked */
GError *error; /* Set if cannot get children */
gchar *thumb_title, *thumb_author;
HildonFileSystemSpecialLocation *location;
@@ -238,7 +239,8 @@
/* We do not want to ever kick permanent special locations. */
if (model_node->present_flag
- || (model_node->location && model_node->location->permanent))
+ || (model_node->location && model_node->location->permanent) ||
+ model_node->linking)
child_node = g_node_next_sibling(child_node);
else
child_node = hildon_file_system_model_kick_node(child_node, model);
@@ -1487,6 +1489,7 @@
model_node->get_folder_handle = NULL;
model_node->folder = folder;
model_node->error = error? g_error_copy (error) : NULL;
+ model_node->linking = FALSE;
if (folder == NULL)
{
@@ -1503,8 +1506,8 @@
if (model_node->error)
{
+ handle_finished_node (node);
handle_load_error (node);
- handle_finished_node (node);
return;
}
@@ -1595,6 +1598,7 @@
g_assert(HILDON_IS_FILE_SYSTEM_MODEL(model));
model_node->load_time = time(NULL);
+ model_node->linking = TRUE;
ULOG_INFO_F("%s", (char *) path);
@@ -1642,6 +1646,7 @@
{
ULOG_ERR_F ("Failed to create monitor for path %s", (char *) path);
DBG ("Failed to create monitor for path %s", (char *) path);
+ model_node->linking = FALSE;
free_handle_data (handle_data);
return FALSE;
}
=== modified file 'hildon-fm/hildon-file-system-old-gateway.c'
--- a/hildon-fm/hildon-file-system-old-gateway.c 2007-09-04 13:59:57 +0000
+++ b/hildon-fm/hildon-file-system-old-gateway.c 2008-02-29 15:39:43 +0000
@@ -157,11 +157,6 @@
gtk_file_system_volume_free (fs, vol);
}
- if (!name)
- {
- name = g_strdup (_("sfil_li_gateway_root"));
- }
-
return name;
}
@@ -205,7 +200,7 @@
}
else if (!gateway->available)
{
- return g_strdup (_("sfil_ib_no_connection_support"));
+ return g_strdup (_("sfil_ib_cannot_connect_device"));
}
return NULL;
=== modified file 'hildon-fm/hildon-file-system-private.c'
--- a/hildon-fm/hildon-file-system-private.c 2007-11-01 16:53:56 +0000
+++ b/hildon-fm/hildon-file-system-private.c 2008-02-20 16:40:34 +0000
@@ -74,9 +74,10 @@
len_a = strlen(a);
len_b = strlen(b);
- if (len_a > 1 && a[len_a - 1] == G_DIR_SEPARATOR)
+ while (len_a > 1 && a[len_a - 1] == G_DIR_SEPARATOR)
len_a--;
- if (len_b > 1 && b[len_b - 1] == G_DIR_SEPARATOR)
+
+ while (len_b > 1 && b[len_b - 1] == G_DIR_SEPARATOR)
len_b--;
if (len_a != len_b)
=== modified file 'hildon-fm/hildon-file-system-smb.c'
--- a/hildon-fm/hildon-file-system-smb.c 2007-11-01 13:37:22 +0000
+++ b/hildon-fm/hildon-file-system-smb.c 2008-04-24 09:52:33 +0000
@@ -354,8 +354,8 @@
return TRUE;
}
-static char *
-strchr_reverse (char *front, char *start, char ch)
+static const char *
+strchr_reverse (const char *front, const char *start, char ch)
{
if (front == NULL)
return NULL;
@@ -381,11 +381,11 @@
const char *str = gtk_file_path_get_string (from);
char *new_str = g_strdup (str);
- char *last_slash = strchr_reverse (new_str, NULL, '/');
- char *second_last_slash = strchr_reverse (new_str, last_slash, '/');
+ const char *last_slash = strchr_reverse (str, NULL, '/');
+ const char *second_last_slash = strchr_reverse (str, last_slash, '/');
- if (second_last_slash)
- strcpy (second_last_slash + 1, last_slash + 1);
+ if (second_last_slash && new_str)
+ strcpy (new_str + (second_last_slash - str) + 1, last_slash + 1);
return gtk_file_path_new_steal (new_str);
}
@@ -395,9 +395,15 @@
GSList *paths,
gpointer data)
{
- MyFileFolder *my_folder = MY_FILE_FOLDER (data);
-
+ MyFileFolder *my_folder;
GSList *my_paths;
+
+ if (MY_IS_FILE_FOLDER(data))
+ my_folder = MY_FILE_FOLDER (data);
+ else {
+ return;
+ }
+
my_paths = NULL;
while (paths)
{
@@ -424,8 +430,15 @@
const GError *error,
gpointer data)
{
- MyFileFolder *my_folder = MY_FILE_FOLDER (data);
+ MyFileFolder *my_folder;
+ if (MY_IS_FILE_FOLDER(data))
+ my_folder = MY_FILE_FOLDER (data);
+ else {
+ g_object_unref (handle);
+ return;
+ }
+
my_folder->handles = g_slist_remove (my_folder->handles, handle);
g_object_unref (handle);
More information about the pkg-maemo-commits
mailing list