Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:Update
nautilus
nautilus-show-notification.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File nautilus-show-notification.patch of Package nautilus
Index: nautilus-3.20.3/libnautilus-private/nautilus-file-operations.c =================================================================== --- nautilus-3.20.3.orig/libnautilus-private/nautilus-file-operations.c +++ nautilus-3.20.3/libnautilus-private/nautilus-file-operations.c @@ -63,6 +63,7 @@ #include "nautilus-file-conflict-dialog.h" #include "nautilus-file-undo-operations.h" #include "nautilus-file-undo-manager.h" +#include "nautilus-ui-utilities.h" /* TODO: TESTING!!! */ @@ -2364,6 +2365,12 @@ do_unmount (UnmountData *data) } else { mount_op = gtk_mount_operation_new (data->parent_window); } + + g_signal_connect (mount_op, "show-unmount-progress", + G_CALLBACK (file_show_unmount_progress_cb), NULL); + g_signal_connect (mount_op, "aborted", + G_CALLBACK (file_show_unmount_progress_aborted_cb), NULL); + if (data->eject) { g_mount_eject_with_operation (data->mount, 0, Index: nautilus-3.20.3/libnautilus-private/nautilus-ui-utilities.c =================================================================== --- nautilus-3.20.3.orig/libnautilus-private/nautilus-ui-utilities.c +++ nautilus-3.20.3/libnautilus-private/nautilus-ui-utilities.c @@ -32,6 +32,7 @@ #include <libgd/gd.h> #include <string.h> #include <glib/gi18n.h> +#include "src/nautilus-application.h" static GMenuModel * find_gmenu_model (GMenuModel *model, @@ -434,3 +435,85 @@ get_text_for_date_range (GPtrArray *date return label; } +static void +notify_unmount_done (GMountOperation *op, + const gchar *message) +{ + NautilusApplication *application; + gchar *notification_id; + + application = nautilus_application_get_default (); + notification_id = g_strdup_printf ("nautilus-mount-operation-%p", op); + nautilus_application_withdraw_notification (application, notification_id); + + if (message != NULL) + { + GNotification *unplug; + GIcon *icon; + gchar **strings; + + strings = g_strsplit (message, "\n", 0); + icon = g_themed_icon_new ("media-removable"); + unplug = g_notification_new (strings[0]); + g_notification_set_body (unplug, strings[1]); + g_notification_set_icon (unplug, icon); + + nautilus_application_send_notification (application, notification_id, unplug); + g_object_unref (unplug); + g_object_unref (icon); + g_strfreev (strings); + } + + g_free (notification_id); +} + +static void +notify_unmount_show (GMountOperation *op, + const gchar *message) +{ + NautilusApplication *application; + GNotification *unmount; + gchar *notification_id; + GIcon *icon; + gchar **strings; + + application = nautilus_application_get_default (); + strings = g_strsplit (message, "\n", 0); + icon = g_themed_icon_new ("media-removable"); + + unmount = g_notification_new (strings[0]); + g_notification_set_body (unmount, strings[1]); + g_notification_set_icon (unmount, icon); + g_notification_set_priority (unmount, G_NOTIFICATION_PRIORITY_URGENT); + + notification_id = g_strdup_printf ("nautilus-mount-operation-%p", op); + nautilus_application_send_notification (application, notification_id, unmount); + g_object_unref (unmount); + g_object_unref (icon); + g_strfreev (strings); + g_free (notification_id); +} + +void +file_show_unmount_progress_cb (GMountOperation *op, + const gchar *message, + gint64 time_left, + gint64 bytes_left, + gpointer user_data) +{ + if (bytes_left == 0) + { + notify_unmount_done (op, message); + } + else + { + notify_unmount_show (op, message); + } +} + +void +file_show_unmount_progress_aborted_cb (GMountOperation *op, + gpointer user_data) +{ + notify_unmount_done (op, NULL); +} Index: nautilus-3.20.3/libnautilus-private/nautilus-ui-utilities.h =================================================================== --- nautilus-3.20.3.orig/libnautilus-private/nautilus-ui-utilities.h +++ nautilus-3.20.3/libnautilus-private/nautilus-ui-utilities.h @@ -52,4 +52,12 @@ gboolean nautilus_file_date_in_between GDateTime *end_date); gchar* get_text_for_date_range (GPtrArray *date_range); + +void file_show_unmount_progress_cb (GMountOperation *op, + const gchar *message, + gint64 time_left, + gint64 bytes_left, + gpointer user_data); +void file_show_unmount_progress_aborted_cb (GMountOperation *op, + gpointer user_data); #endif /* NAUTILUS_UI_UTILITIES_H */ Index: nautilus-3.20.3/src/Makefile.am =================================================================== --- nautilus-3.20.3.orig/src/Makefile.am +++ nautilus-3.20.3/src/Makefile.am @@ -5,6 +5,99 @@ bin_PROGRAMS= \ nautilus-autorun-software \ $(NULL) +noinst_LIBRARIES=libnautilus-test.a + +libnautilus_test_a_LDFLAGS = \ + -no-undefined \ + $(NULL) + +libnautilus_test_a_SOURCES = \ + $(nautilus_built_sources) \ + gtk/nautilusgtkplacesview.c \ + gtk/nautilusgtkplacesviewprivate.h \ + gtk/nautilusgtkplacesviewrow.c \ + gtk/nautilusgtkplacesviewrowprivate.h \ + nautilus-application.c \ + nautilus-application.h \ + nautilus-bookmark-list.c \ + nautilus-bookmark-list.h \ + nautilus-canvas-view.c \ + nautilus-canvas-view.h \ + nautilus-canvas-view-container.c \ + nautilus-canvas-view-container.h \ + nautilus-dbus-manager.c \ + nautilus-dbus-manager.h \ + nautilus-desktop-canvas-view.c \ + nautilus-desktop-canvas-view.h \ + nautilus-desktop-item-properties.c \ + nautilus-desktop-item-properties.h \ + nautilus-desktop-window.c \ + nautilus-desktop-window.h \ + nautilus-error-reporting.c \ + nautilus-error-reporting.h \ + nautilus-preferences-window.c \ + nautilus-preferences-window.h \ + nautilus-files-view.c \ + nautilus-files-view.h \ + nautilus-files-view-dnd.c \ + nautilus-files-view-dnd.h \ + nautilus-floating-bar.c \ + nautilus-floating-bar.h \ + nautilus-freedesktop-dbus.c \ + nautilus-freedesktop-dbus.h \ + nautilus-image-properties-page.c \ + nautilus-image-properties-page.h \ + nautilus-list-model.c \ + nautilus-list-model.h \ + nautilus-list-view.c \ + nautilus-list-view.h \ + nautilus-list-view-private.h \ + nautilus-list-view-dnd.c \ + nautilus-list-view-dnd.h \ + nautilus-location-entry.c \ + nautilus-location-entry.h \ + nautilus-mime-actions.c \ + nautilus-mime-actions.h \ + nautilus-notebook.c \ + nautilus-notebook.h \ + nautilus-pathbar.c \ + nautilus-pathbar.h \ + nautilus-places-view.c \ + nautilus-places-view.h \ + nautilus-previewer.c \ + nautilus-previewer.h \ + nautilus-progress-info-widget.c \ + nautilus-progress-info-widget.h \ + nautilus-progress-persistence-handler.c \ + nautilus-progress-persistence-handler.h \ + nautilus-properties-window.c \ + nautilus-properties-window.h \ + nautilus-query-editor.c \ + nautilus-query-editor.h \ + nautilus-search-popover.c \ + nautilus-search-popover.h \ + nautilus-self-check-functions.c \ + nautilus-self-check-functions.h \ + nautilus-shell-search-provider.h \ + nautilus-shell-search-provider.c \ + nautilus-special-location-bar.c \ + nautilus-special-location-bar.h \ + nautilus-toolbar.c \ + nautilus-toolbar.h \ + nautilus-trash-bar.c \ + nautilus-trash-bar.h \ + nautilus-view.c \ + nautilus-view.h \ + nautilus-window-slot.c \ + nautilus-window-slot.h \ + nautilus-window-slot-dnd.c \ + nautilus-window-slot-dnd.h \ + nautilus-window.c \ + nautilus-window.h \ + nautilus-x-content-bar.c \ + nautilus-x-content-bar.h \ + $(NULL) + AM_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_srcdir)/libnautilus-private \ Index: nautilus-3.20.3/test/Makefile.am =================================================================== --- nautilus-3.20.3.orig/test/Makefile.am +++ nautilus-3.20.3/test/Makefile.am @@ -12,12 +12,22 @@ AM_CPPFLAGS =\ $(NULL) LDADD =\ - $(top_builddir)/libnautilus-private/libnautilus-private.la \ + libmerge.a \ + $(top_builddir)/libnautilus-extension/libnautilus-extension.la \ + $(TRACKER_LIBS) \ + $(SELINUX_LIBS) \ + $(CORE_LIBS) \ + $(EXIF_LIBS) \ + $(EXEMPI_LIBS) \ + $(POPT_LIBS) \ $(BASE_LIBS) \ $(COMMON_LIBS) \ $(NAUTILUS_LIBS) \ $(NULL) +libmerge.a: + ar -rcT $@ $(top_builddir)/src/libnautilus-test.a $(top_builddir)/libnautilus-private/.libs/libnautilus-private.a + noinst_PROGRAMS =\ test-nautilus-search-engine \ test-nautilus-directory-async \
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor