rebuild against new libnotify
This commit is contained in:
parent
ce9b3fcf81
commit
4b496fa4e2
@ -6,14 +6,14 @@
|
|||||||
%define gnome_keyring_version 2.22
|
%define gnome_keyring_version 2.22
|
||||||
%define udisks_version 1.0.0-0.git20100215
|
%define udisks_version 1.0.0-0.git20100215
|
||||||
%define unique_version 1.0.4
|
%define unique_version 1.0.4
|
||||||
%define libnotify_version 0.4.5
|
%define libnotify_version 0.7.0
|
||||||
%define nautilus_version 2.26
|
%define nautilus_version 2.26
|
||||||
%define libatasmart_version 0.14
|
%define libatasmart_version 0.14
|
||||||
|
|
||||||
Summary: Disk management application
|
Summary: Disk management application
|
||||||
Name: gnome-disk-utility
|
Name: gnome-disk-utility
|
||||||
Version: 2.32.0
|
Version: 2.32.0
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
URL: http://git.gnome.org/cgit/gnome-disk-utility
|
URL: http://git.gnome.org/cgit/gnome-disk-utility
|
||||||
@ -39,6 +39,11 @@ Requires: %{name}-libs = %{version}-%{release}
|
|||||||
Obsoletes: gnome-disk-utility-format
|
Obsoletes: gnome-disk-utility-format
|
||||||
Obsoletes: nautilus-gdu
|
Obsoletes: nautilus-gdu
|
||||||
|
|
||||||
|
# upstream patch
|
||||||
|
Patch0: no-statusicon.patch
|
||||||
|
# no need to use xkb here
|
||||||
|
Patch1: no-xkb.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package contains the Palimpsest disk management application.
|
This package contains the Palimpsest disk management application.
|
||||||
Palimpsest supports partitioning, file system creation, encryption,
|
Palimpsest supports partitioning, file system creation, encryption,
|
||||||
@ -93,6 +98,8 @@ develop applications with gnome-disk-utility-ui-libs.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1 -b .no-statusicon
|
||||||
|
%patch1 -p1 -b .no-xkb
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure
|
||||||
@ -198,6 +205,9 @@ fi
|
|||||||
%{_includedir}/gnome-disk-utility/gdu-gtk/*
|
%{_includedir}/gnome-disk-utility/gdu-gtk/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Nov 3 2010 Matthias Clasen <mclasen@redhat.com> - 2.32.0-2%{?dist}
|
||||||
|
- Rebuild against libnotify 0.7.0
|
||||||
|
|
||||||
* Tue Sep 28 2010 Matthias Clasen <mclasen@redhat.com> - 2.32.0-1%{?dist}
|
* Tue Sep 28 2010 Matthias Clasen <mclasen@redhat.com> - 2.32.0-1%{?dist}
|
||||||
- Update to 2.32.0
|
- Update to 2.32.0
|
||||||
|
|
||||||
|
202
no-statusicon.patch
Normal file
202
no-statusicon.patch
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
diff -up gnome-disk-utility-2.32.0/src/notification/notification-main.c.no-statusicon gnome-disk-utility-2.32.0/src/notification/notification-main.c
|
||||||
|
--- gnome-disk-utility-2.32.0/src/notification/notification-main.c.no-statusicon 2010-08-05 13:03:58.000000000 -0400
|
||||||
|
+++ gnome-disk-utility-2.32.0/src/notification/notification-main.c 2010-11-03 16:29:01.159241997 -0400
|
||||||
|
@@ -39,16 +39,12 @@ typedef struct
|
||||||
|
{
|
||||||
|
GduPool *pool;
|
||||||
|
|
||||||
|
- GtkStatusIcon *status_icon;
|
||||||
|
-
|
||||||
|
/* List of GduDevice objects currently being unmounted */
|
||||||
|
GList *devices_being_unmounted;
|
||||||
|
|
||||||
|
/* List of GduDevice objects with ATA SMART failures */
|
||||||
|
GList *ata_smart_failures;
|
||||||
|
|
||||||
|
- gboolean show_icon_for_ata_smart_failures;
|
||||||
|
-
|
||||||
|
NotifyNotification *ata_smart_notification;
|
||||||
|
|
||||||
|
GFileMonitor *ata_smart_ignore_monitor;
|
||||||
|
@@ -69,9 +65,7 @@ static void update_unmount_dialogs (Noti
|
||||||
|
|
||||||
|
static void update_ata_smart_failures (NotificationData *data);
|
||||||
|
|
||||||
|
-static void update_status_icon (NotificationData *data);
|
||||||
|
-
|
||||||
|
-static void show_menu_for_status_icon (NotificationData *data);
|
||||||
|
+static void update_notification (NotificationData *data);
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
@@ -119,24 +113,6 @@ on_device_job_changed (GduPool *pool,
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-on_status_icon_activate (GtkStatusIcon *status_icon,
|
||||||
|
- gpointer user_data)
|
||||||
|
-{
|
||||||
|
- NotificationData *data = user_data;
|
||||||
|
- show_menu_for_status_icon (data);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static void
|
||||||
|
-on_status_icon_popup_menu (GtkStatusIcon *status_icon,
|
||||||
|
- guint button,
|
||||||
|
- guint activate_time,
|
||||||
|
- gpointer user_data)
|
||||||
|
-{
|
||||||
|
- NotificationData *data = user_data;
|
||||||
|
- show_menu_for_status_icon (data);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static void
|
||||||
|
on_ata_smart_ignore_monitor_changed (GFileMonitor *monitor,
|
||||||
|
GFile *file,
|
||||||
|
GFile *other_file,
|
||||||
|
@@ -164,13 +140,6 @@ notification_data_new (void)
|
||||||
|
g_signal_connect (data->pool, "device-changed", G_CALLBACK (on_device_changed), data);
|
||||||
|
g_signal_connect (data->pool, "device-job-changed", G_CALLBACK (on_device_job_changed), data);
|
||||||
|
|
||||||
|
- data->status_icon = gtk_status_icon_new ();
|
||||||
|
- gtk_status_icon_set_visible (data->status_icon, FALSE);
|
||||||
|
- gtk_status_icon_set_from_icon_name (data->status_icon, "gdu-warning");
|
||||||
|
- gtk_status_icon_set_tooltip_markup (data->status_icon, _("One or more disks are failing"));
|
||||||
|
- g_signal_connect (data->status_icon, "activate", G_CALLBACK (on_status_icon_activate), data);
|
||||||
|
- g_signal_connect (data->status_icon, "popup-menu", G_CALLBACK (on_status_icon_popup_menu), data);
|
||||||
|
-
|
||||||
|
dir_path = g_build_filename (g_get_user_config_dir (),
|
||||||
|
"gnome-disk-utility",
|
||||||
|
"ata-smart-ignore",
|
||||||
|
@@ -208,10 +177,6 @@ notification_data_new (void)
|
||||||
|
static void
|
||||||
|
notification_data_free (NotificationData *data)
|
||||||
|
{
|
||||||
|
- g_signal_handlers_disconnect_by_func (data->status_icon, on_status_icon_activate, data);
|
||||||
|
- g_signal_handlers_disconnect_by_func (data->status_icon, on_status_icon_popup_menu, data);
|
||||||
|
- g_object_unref (data->status_icon);
|
||||||
|
-
|
||||||
|
g_signal_handlers_disconnect_by_func (data->pool, on_device_added, data);
|
||||||
|
g_signal_handlers_disconnect_by_func (data->pool, on_device_removed, data);
|
||||||
|
g_signal_handlers_disconnect_by_func (data->pool, on_device_changed, data);
|
||||||
|
@@ -478,72 +443,69 @@ update_ata_smart_failures (NotificationD
|
||||||
|
g_list_foreach (devices, (GFunc) g_object_unref, NULL);
|
||||||
|
g_list_free (devices);
|
||||||
|
|
||||||
|
- update_status_icon (data);
|
||||||
|
+ update_notification (data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
-static gboolean
|
||||||
|
-show_notification (NotificationData *data)
|
||||||
|
+static void
|
||||||
|
+on_examine_action_clicked (NotifyNotification *notification,
|
||||||
|
+ char *action,
|
||||||
|
+ NotificationData *data)
|
||||||
|
{
|
||||||
|
- static int count = 0;
|
||||||
|
-
|
||||||
|
- /* wait for the panel to be settled before showing a bubble */
|
||||||
|
- if (gtk_status_icon_is_embedded (data->status_icon)) {
|
||||||
|
- notify_notification_show (data->ata_smart_notification, NULL);
|
||||||
|
- } else if (count < 20) {
|
||||||
|
- count++;
|
||||||
|
- g_timeout_add_seconds (1, (GSourceFunc) show_notification, data);
|
||||||
|
- } else {
|
||||||
|
- g_warning ("No notification area. Notification bubbles will not be displayed.");
|
||||||
|
- }
|
||||||
|
- return FALSE;
|
||||||
|
+ g_spawn_command_line_async ("palimpsest", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-update_status_icon (NotificationData *data)
|
||||||
|
+update_notification (NotificationData *data)
|
||||||
|
{
|
||||||
|
- gboolean show_icon;
|
||||||
|
- gboolean old_show_icon_for_ata_smart_failures;
|
||||||
|
-
|
||||||
|
- old_show_icon_for_ata_smart_failures = data->show_icon_for_ata_smart_failures;
|
||||||
|
+ int num_drives;
|
||||||
|
|
||||||
|
- data->show_icon_for_ata_smart_failures = FALSE;
|
||||||
|
- if (g_list_length (data->ata_smart_failures) > 0)
|
||||||
|
- data->show_icon_for_ata_smart_failures = TRUE;
|
||||||
|
-
|
||||||
|
- show_icon = data->show_icon_for_ata_smart_failures;
|
||||||
|
-
|
||||||
|
- if (!show_icon) {
|
||||||
|
+ if (data->ata_smart_notification != NULL) {
|
||||||
|
if (data->ata_smart_notification != NULL) {
|
||||||
|
notify_notification_close (data->ata_smart_notification, NULL);
|
||||||
|
g_object_unref (data->ata_smart_notification);
|
||||||
|
data->ata_smart_notification = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
- gtk_status_icon_set_visible (data->status_icon, FALSE);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
- gtk_status_icon_set_visible (data->status_icon, TRUE);
|
||||||
|
-
|
||||||
|
- /* we've started showing the icon for ATA RAID failures; pop up a libnotify notification */
|
||||||
|
- if (old_show_icon_for_ata_smart_failures != data->show_icon_for_ata_smart_failures) {
|
||||||
|
+ num_drives = g_list_length (data->ata_smart_failures);
|
||||||
|
+ if (data->ata_smart_notification == NULL) {
|
||||||
|
+ data->ata_smart_notification = notify_notification_new (
|
||||||
|
+ /* Translators: This is used as the title of the notification */
|
||||||
|
+ _("Hard Disk Problems Detected"),
|
||||||
|
+ /* Translators: This is used as the text of the notification*/
|
||||||
|
+ g_dngettext (GETTEXT_PACKAGE,
|
||||||
|
+ N_("A hard disk is reporting health problems."),
|
||||||
|
+ N_("Multiple system hard disks are reporting health problems."),
|
||||||
|
+ num_drives),
|
||||||
|
+ "gdu-warning");
|
||||||
|
|
||||||
|
- data->ata_smart_notification = notify_notification_new (
|
||||||
|
- /* Translators: This is used as the title of the notification */
|
||||||
|
- _("A hard disk may be failing"),
|
||||||
|
- /* Translators: This is used as the text of the notification*/
|
||||||
|
- _("One or more hard disks report health problems. Click the icon to get more information."),
|
||||||
|
- "gtk-dialog-warning",
|
||||||
|
- NULL);
|
||||||
|
- notify_notification_attach_to_status_icon (data->ata_smart_notification,
|
||||||
|
- data->status_icon);
|
||||||
|
notify_notification_set_urgency (data->ata_smart_notification, NOTIFY_URGENCY_CRITICAL);
|
||||||
|
notify_notification_set_timeout (data->ata_smart_notification, NOTIFY_EXPIRES_NEVER);
|
||||||
|
- show_notification (data);
|
||||||
|
+ notify_notification_add_action (data->ata_smart_notification,
|
||||||
|
+ "examine",
|
||||||
|
+ _("Examine"),
|
||||||
|
+ (NotifyActionCallback) on_examine_action_clicked,
|
||||||
|
+ data,
|
||||||
|
+ NULL);
|
||||||
|
+ } else {
|
||||||
|
+ notify_notification_update (data->ata_smart_notification,
|
||||||
|
+ /* Translators: This is used as the title of the notification */
|
||||||
|
+ _("Hard Disk Problems Detected"),
|
||||||
|
+ /* Translators: This is used as the text of the notification*/
|
||||||
|
+ g_dngettext (GETTEXT_PACKAGE,
|
||||||
|
+ N_("A hard disk is reporting health problems."),
|
||||||
|
+ N_("Multiple hard disks are reporting health problems."),
|
||||||
|
+ num_drives),
|
||||||
|
+ "gdu-warning");
|
||||||
|
+
|
||||||
|
}
|
||||||
|
|
||||||
|
+ notify_notification_show (data->ata_smart_notification, NULL);
|
||||||
|
+
|
||||||
|
out:
|
||||||
|
;
|
||||||
|
}
|
||||||
|
@@ -693,7 +655,7 @@ main (int argc, char **argv)
|
||||||
|
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
||||||
|
textdomain (GETTEXT_PACKAGE);
|
||||||
|
|
||||||
|
- notify_init ("gdu-notification-daemon");
|
||||||
|
+ notify_init (_("Disk Utility"));
|
||||||
|
|
||||||
|
gtk_window_set_default_icon_name ("palimpsest");
|
||||||
|
|
46
no-xkb.patch
Normal file
46
no-xkb.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
--- gnome-disk-utility-2.32.0/src/gdu-gtk/gdu-volume-grid.c 2010-09-15 10:12:21.000000000 -0400
|
||||||
|
+++ gnome-disk-utility-2.32.0.no-xkb/src/gdu-gtk/gdu-volume-grid.c 2010-11-03 16:40:37.544241996 -0400
|
||||||
|
@@ -25,7 +25,6 @@
|
||||||
|
#include <math.h>
|
||||||
|
#include <gdk/gdkkeysyms.h>
|
||||||
|
#include <gdk/gdkx.h>
|
||||||
|
-#include <X11/XKBlib.h>
|
||||||
|
|
||||||
|
#include <gdu-gtk/gdu-gtk.h>
|
||||||
|
|
||||||
|
@@ -259,26 +258,6 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
-is_ctrl_pressed (void)
|
||||||
|
-{
|
||||||
|
- gboolean ret;
|
||||||
|
- XkbStateRec state;
|
||||||
|
- Bool status;
|
||||||
|
-
|
||||||
|
- ret = FALSE;
|
||||||
|
-
|
||||||
|
- gdk_error_trap_push ();
|
||||||
|
- status = XkbGetState (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), XkbUseCoreKbd, &state);
|
||||||
|
- gdk_error_trap_pop ();
|
||||||
|
-
|
||||||
|
- if (status == Success) {
|
||||||
|
- ret = ((state.mods & ControlMask) != 0);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- return ret;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static gboolean
|
||||||
|
gdu_volume_grid_key_press_event (GtkWidget *widget,
|
||||||
|
GdkEventKey *event)
|
||||||
|
{
|
||||||
|
@@ -332,7 +311,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
if (target != NULL) {
|
||||||
|
- if (is_ctrl_pressed ()) {
|
||||||
|
+ if ((event->state & GDK_CONTROL_MASK) != 0) {
|
||||||
|
grid->priv->focused = target;
|
||||||
|
} else {
|
||||||
|
grid->priv->selected = target;
|
Loading…
Reference in New Issue
Block a user