Skip to content

Commit

Permalink
caja-progress-info: show notifications with the gsettings key:
Browse files Browse the repository at this point in the history
org.mate.caja.preferences.show-notifications

Closes #1093
  • Loading branch information
sc0w committed Dec 27, 2018
1 parent d054f14 commit 08f479a
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 8 deletions.
28 changes: 21 additions & 7 deletions libcaja-private/caja-progress-info.c
Expand Up @@ -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
Expand Down Expand Up @@ -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",
Expand All @@ -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;
}
}
Expand All @@ -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;
}
}
Expand Down
2 changes: 1 addition & 1 deletion libcaja-private/org.mate.caja.gschema.xml
Expand Up @@ -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>

Expand Down

0 comments on commit 08f479a

Please sign in to comment.