Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
dev:xfdesktop:port-to-gio [2010/09/12 16:55] – jannis | dev:xfdesktop:port-to-gio [2010/10/17 13:01] – 217.229.117.83 | ||
---|---|---|---|
Line 40: | Line 40: | ||
Make the interface method '' | Make the interface method '' | ||
- | |||
==== xfdesktop-file-icon-manager.{c, | ==== xfdesktop-file-icon-manager.{c, | ||
Line 182: | Line 181: | ||
=== xfdesktop_file_icon_manager_add_removable_volume() === | === xfdesktop_file_icon_manager_add_removable_volume() === | ||
- | TODO | + | The calls to '' |
+ | need to be replaced with something similar based on '' | ||
+ | same problem solved with this code: | ||
+ | |||
+ | * http:// | ||
+ | * http:// | ||
=== xfdesktop_file_icon_manager_volumes_added() === | === xfdesktop_file_icon_manager_volumes_added() === | ||
- | TODO | + | This will be replaced with a handler for the '' |
+ | '' | ||
+ | '' | ||
=== xfdesktop_file_icon_manager_volumes_removed() === | === xfdesktop_file_icon_manager_volumes_removed() === | ||
- | TODO | + | Similar to the previous function, this one should be replaced with one |
+ | that handles a single '' | ||
=== xfdesktop_file_icon_manager_load_removable_media() === | === xfdesktop_file_icon_manager_load_removable_media() === | ||
- | TODO | + | Use the '' |
+ | We'll need new callbacks for some of them. | ||
=== xfdesktop_file_icon_manager_remove_removable_media() === | === xfdesktop_file_icon_manager_remove_removable_media() === | ||
- | TODO | + | Needs to iterate over the volumes hash table, disconnect from all |
+ | returned volumes, destroy all volume icons and disconnect from the | ||
+ | '' | ||
=== xfdesktop_file_icon_manager_real_init() === | === xfdesktop_file_icon_manager_real_init() === | ||
- | TODO | + | Get rid of the '' |
+ | The hash table needs to use either URIs or '' | ||
+ | and equal functions for them. URIs are easier due to the availability of string | ||
+ | hash and equal functions, I guess. | ||
+ | |||
+ | We'll have to change the '' | ||
+ | to a '' | ||
+ | '' | ||
+ | if the '' | ||
=== xfdesktop_file_icon_manager_fini() === | === xfdesktop_file_icon_manager_fini() === | ||
- | TODO | + | The counterpart to the previous function. Same deal. |
=== xfdesktop_file_icon_manager_drag_drop() === | === xfdesktop_file_icon_manager_drag_drop() === | ||
- | TODO | + | Use ''' |
+ | can then be determined with '' | ||
+ | |||
+ | Use '' | ||
+ | instead of '' | ||
=== xfdesktop_file_icon_manager_drag_data_received() === | === xfdesktop_file_icon_manager_drag_data_received() === | ||
- | TODO | + | Use '' |
+ | '' | ||
+ | of '' | ||
+ | |||
+ | * http:// | ||
+ | |||
+ | We'll need a bit of custom code to execute the executable target file with the dropped | ||
+ | files as parameters. There are two possibilities: | ||
+ | then we can parse it into a '' | ||
+ | then we can simply spawn it (make sure to pass the file parameters and implement startup | ||
+ | notification). | ||
+ | |||
+ | The code block dealing with jobs needs to be reworked around '' | ||
+ | and the Thunar D-Bus API completely. Maybe danielm' | ||
=== xfdesktop_file_icon_manager_drag_data_get() === | === xfdesktop_file_icon_manager_drag_data_get() === | ||
- | TODO | + | We need to replace '' |
+ | like '' | ||
+ | '' | ||
+ | Thunar can serve as an inspiration here: | ||
+ | |||
+ | * http:// | ||
=== xfdesktop_file_icon_manager_new() === | === xfdesktop_file_icon_manager_new() === | ||
- | TODO | + | Change the '' |
=== _XfdesktopFileIconManagerPrivate === | === _XfdesktopFileIconManagerPrivate === | ||
- | TODO | + | Change the '' |
+ | |||
+ | Replace the '' | ||
+ | the '' | ||
+ | |||
+ | Remove the '' | ||
=== xfdesktop_file_icon_manager_class_init() === | === xfdesktop_file_icon_manager_class_init() === | ||
- | TODO | + | Alter the " |
+ | using the '' | ||
=== xfdesktop_file_icon_manager_set_property() === | === xfdesktop_file_icon_manager_set_property() === | ||
- | TODO | + | Change the " |
+ | type made in the class_init function. | ||
=== xfdesktop_file_icon_manager_get_property() === | === xfdesktop_file_icon_manager_get_property() === | ||
- | TODO | + | Same here, see above. |
=== xfdesktop_file_icon_manager_finalize() === | === xfdesktop_file_icon_manager_finalize() === | ||
- | TODO | + | Use '' |
=== xfdesktop_file_icon_manager_check_create_desktop_folder() === | === xfdesktop_file_icon_manager_check_create_desktop_folder() === | ||
+ | |||
+ | Replace the code with something similar based on '' | ||
+ | '' | ||
+ | |||
+ | ==== xfdesktop-file-properties-dialog.{c, | ||
+ | |||
+ | Remove entirely. We'll re-use Thunar' | ||
+ | ==== xfdesktop-file-utils.{c, | ||
+ | |||
+ | === xfdesktop_file_utils_interactive_job_ask() === | ||
+ | |||
+ | Remove. We'll no longer implement anything job-related in xfdesktop itself. | ||
+ | |||
+ | === xfdesktop_file_utils_handle_fileop_error() === | ||
+ | |||
+ | Remove as well. | ||
+ | |||
+ | === xfdesktop_file_utils_get_file_kind() === | ||
+ | |||
+ | If this is still needed after refactoring, | ||
+ | and rewrite the checks based on '' | ||
+ | |||
+ | === xfdesktop_file_utils_file_icon_list_to_path_list() === | ||
+ | |||
+ | Replace with a function called '' | ||
+ | that creates a list of '' | ||
+ | |||
+ | === xfdesktop_file_utils_get_fallback_icon() === | ||
+ | |||
+ | No longer needed, remove. '' | ||
+ | |||
+ | === xfdesktop_file_utils_get_file_icon() === | ||
+ | |||
+ | We have two options here: either remove and use '' | ||
+ | load and return a '' | ||
+ | |||
+ | TODO We'll have to investigate where '' | ||
+ | being used and how. | ||
+ | |||
+ | === xfdesktop_file_utils_launch_fallback() === | ||
+ | |||
+ | Remove. We don't use a D-Bus fallback here as we rely on the D-Bus API of Thunar so | ||
+ | hard that we can't provide any real functionality without it anyway. | ||
+ | |||
+ | === xfdesktop_file_utils_display_folder_cb() === | ||
+ | |||
+ | Remove fallback code. | ||
+ | ==== xfdesktop-regular-file-icon.{c, | ||
+ | |||
+ | === _XfdesktopRegularFileIconPrivate === | ||
+ | |||
+ | Replace the '' | ||
+ | |||
+ | === xfdesktop_regular_file_icon_peek_info() === | ||
+ | |||
+ | Return a '' | ||
+ | |||
+ | === xfdesktop_regular_file_icon_update_info() === | ||
+ | |||
+ | TODO: Replace the '' | ||
+ | to add a '' | ||
+ | |||
+ | === xfdesktop_delete_regular_file_finished() === | ||
+ | |||
+ | Remove. | ||
+ | |||
+ | === xfdesktop_regular_file_icon_finalize() === | ||
+ | |||
+ | Call '' | ||
+ | new '' | ||
+ | |||
+ | === xfdesktop_regular_file_icon_tfi_init() === | ||
+ | |||
+ | Update this to Thunarx 2. Need to set '' | ||
+ | and '' | ||
+ | |||
+ | === xfdesktop_regular_file_icon_peek_pixbuf() === | ||
+ | |||
+ | Need to rewrite this to make use of '' | ||
+ | or icon factory class like in thunar could be introduced. | ||
+ | |||
+ | === xfdesktop_regular_file_icon_get_allowed_drag_actions() === | ||
+ | |||
+ | Use '' | ||
+ | to query '' | ||
+ | |||
+ | === xfdesktop_regular_file_icon_get_allowed_drop_actions() === | ||
+ | |||
+ | See the previous function. | ||
+ | |||
+ | === xfdesktop_regular_file_icon_drag_job_error() === | ||
+ | |||
+ | I don't think we need this any longer. Thunar will display errors for us. | ||
+ | |||
+ | === xfdesktop_regular_file_icon_interactive_job_ask() === | ||
+ | |||
+ | Remove. | ||
+ | |||
+ | === xfdesktop_regular_file_icon_drag_job_finished() === | ||
+ | |||
+ | Remove. | ||
+ | |||
+ | === xfdesktop_regular_file_icon_do_drop_dest() === | ||
+ | |||
+ | Rewrite the code based on '' | ||
+ | to launch executable files. Use a NULL check with '' | ||
+ | replace the call to '' | ||
+ | '' | ||
+ | |||
+ | Instead of implement the Thunar D-Bus client manually we could rely on code | ||
+ | generation. | ||
+ | |||
+ | === xfdesktop_regular_file_icon_peek_tooltip() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_regular_file_can_write_parent() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_delete_file_error() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_delete_file_finished() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_regular_file_icon_delete_file() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_regular_file_icon_rename_file() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_regular_file_icon_peek_info() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_regular_file_icon_update_info() === | ||
+ | |||
+ | TODO: Check how and where this function is being used and what we can do in order | ||
+ | to replace the '' | ||
+ | |||
+ | === xfdesktop_regular_file_icon_new() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | ==== xfdesktop_special_file_icon.{c, | ||
+ | |||
+ | === _XfdesktopSpecialFileIconPrivate === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_special_file_icon_finalize() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_special_file_icon_tfi_init() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_special_file_icon_get_allowed_drag_actions() === | ||
+ | |||
+ | TODO: we no longer need the thunar-vfs workaround I think. | ||
+ | |||
+ | === xfdesktop_special_file_icon_get_allowed_drop_actions() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_special_file_icon_drag_job_error() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_special_file_icon_interactive_job_ask() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_special_file_icon_drag_job_finished() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_special_file_icon_do_drop_dest() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_special_file_icon_peek_tooltip() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_special_file_icon_peek_info() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_special_file_icon_new() === | ||
+ | |||
+ | TODO | ||
+ | ==== xfdesktop-volume-icon.{c, | ||
+ | |||
+ | === _XfdesktopVolumeIconPrivate === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_finalize() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_tfi_init() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_volume_changed_cb() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_peek_pixbuf() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_peek_label() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_get_allowed_drag_actions() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_get_allowed_drop_actions() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_drag_job_error() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_interactive_job_ask() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_drag_job_finished() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_do_drop_dest() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_peek_tooltip() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_menu_toggle_mount() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_menu_eject() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_populate_context_menu() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_peek_info() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_update_info() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_activated() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_new() === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === xfdesktop_volume_icon_peek_volume() === | ||
TODO | TODO |