Skip to content
Permalink
Browse files

caja-progress-info: show notifications with the gsettings key:

org.mate.caja.preferences.show-notifications

Closes #1093
  • Loading branch information...
sc0w committed Dec 17, 2018
1 parent d054f14 commit 08f479a8540b60dccef47a2d30cb83deba54bdcd
Showing with 22 additions and 8 deletions.
  1. +21 −7 libcaja-private/caja-progress-info.c
  2. +1 −1 libcaja-private/org.mate.caja.gschema.xml
@@ -28,6 +28,7 @@
#include <gtk/gtk.h>
#include <eel/eel-glib-extensions.h>
#include "caja-progress-info.h"
#include "caja-global-preferences.h"
#include <string.h>

enum
@@ -599,9 +600,12 @@ update_status_icon_and_window (void)
GNotification *notification;
static gboolean window_shown = FALSE;

notification = g_notification_new ("caja");
icon = g_themed_icon_new ("system-file-manager");
g_notification_set_icon (notification, icon);
if (g_settings_get_boolean (caja_preferences, CAJA_PREFERENCES_SHOW_NOTIFICATIONS))
{
notification = g_notification_new ("caja");
icon = g_themed_icon_new ("system-file-manager");
g_notification_set_icon (notification, icon);
}

tooltip = g_strdup_printf (ngettext ("%'d file operation active",
"%'d file operations active",
@@ -620,8 +624,13 @@ update_status_icon_and_window (void)
if (window_shown)
{
gtk_widget_hide (get_progress_window ());
g_notification_set_body (notification, _("Process completed"));
g_application_send_notification (g_application_get_default (), "caja", notification);

if (g_settings_get_boolean (caja_preferences, CAJA_PREFERENCES_SHOW_NOTIFICATIONS))
{
g_notification_set_body (notification, _("Process completed"));
g_application_send_notification (g_application_get_default (), "caja", notification);
}

window_shown = FALSE;
}
}
@@ -630,8 +639,13 @@ update_status_icon_and_window (void)
gtk_widget_show_all (get_progress_window ());
gtk_status_icon_set_visible (status_icon, TRUE);
gtk_window_present (GTK_WINDOW (get_progress_window ()));
g_notification_set_body (notification, _("Working..."));
g_application_send_notification (g_application_get_default (), "caja", notification);

if (g_settings_get_boolean (caja_preferences, CAJA_PREFERENCES_SHOW_NOTIFICATIONS))
{
g_notification_set_body (notification, _("Working..."));
g_application_send_notification (g_application_get_default (), "caja", notification);
}

window_shown = TRUE;
}
}
@@ -256,7 +256,7 @@
<key name="show-notifications" type="b">
<default>true</default>
<summary>Whether to show desktop notifications</summary>
<description>If set to true, Caja will show desktop notifications for eject events</description>
<description>If set to true, Caja will show desktop notifications.</description>
</key>
</schema>

0 comments on commit 08f479a

Please sign in to comment.
You can’t perform that action at this time.