rpms/gnome-panel/devel gnome-panel-launch-with-gio.patch, NONE, 1.1 timezone-64.patch, NONE, 1.1 gnome-panel.spec, 1.293, 1.294
Matthias Clasen (mclasen)
fedora-extras-commits at redhat.com
Tue Apr 22 16:12:18 UTC 2008
Author: mclasen
Update of /cvs/extras/rpms/gnome-panel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv16710
Modified Files:
gnome-panel.spec
Added Files:
gnome-panel-launch-with-gio.patch timezone-64.patch
Log Message:
grr, finally
gnome-panel-launch-with-gio.patch:
--- NEW FILE gnome-panel-launch-with-gio.patch ---
diff -up gnome-panel-2.22.1.2/gnome-panel/panel-menu-items.c.launch-with-gio gnome-panel-2.22.1.2/gnome-panel/panel-menu-items.c
--- gnome-panel-2.22.1.2/gnome-panel/panel-menu-items.c.launch-with-gio 2008-04-20 23:54:37.000000000 -0400
+++ gnome-panel-2.22.1.2/gnome-panel/panel-menu-items.c 2008-04-20 23:54:37.000000000 -0400
@@ -41,6 +41,7 @@
#include <libgnome/gnome-url.h>
#include <libgnomeui/gnome-url.h>
+#include <libgnomeui/gnome-password-dialog.h>
#include "menu.h"
#include "panel-action-button.h"
@@ -96,6 +97,51 @@ struct _PanelDesktopMenuItemPrivate {
guint append_lock_logout : 1;
};
+typedef struct {
+ GMountOperation *mount_op;
+ GdkScreen *screen;
+} MountOperationHandle;
+
+static void
+mount_async_callback (GObject *source_object,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GError *error = NULL;
+ GFile *file;
+ MountOperationHandle *handle = user_data;
+
+ file = G_FILE (source_object);
+ if (g_file_mount_enclosing_volume_finish (file, result, &error)) {
+ char *uri = g_file_get_uri (file);
+ // FIXME use an app launch context
+ g_app_info_launch_default_for_uri (uri, NULL, &error);
+ g_free (uri);
+ }
+ else {
+ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED) &&
+ !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_FAILED_HANDLED)) {
+ char *primary, *escaped, *url;
+ url = g_file_get_uri (file);
+ escaped = g_markup_escape_text (url, -1);
+ g_free (url);
+ primary = g_strdup_printf (_("Could not open location '%s'"),
+ escaped);
+ g_free (escaped);
+ panel_error_dialog (NULL, handle->screen,
+ "cannot_show_url", TRUE,
+ primary, error->message);
+ g_free (primary);
+ }
+ g_error_free (error);
+ }
+
+ if (handle->mount_op)
+ g_object_unref (handle->mount_op);
+
+ g_free (handle);
+}
+
static void
activate_uri (GtkWidget *menuitem,
const char *path)
@@ -125,12 +171,28 @@ activate_uri (GtkWidget *menuitem,
command = g_strdup_printf ("nautilus --no-desktop %s", url);
gdk_spawn_command_line_on_screen (screen, command, &error);
- } else
+ } else {
+ // FIXME use an app launch context
g_app_info_launch_default_for_uri (url, NULL, &error);
- //gnome_url_show_on_screen (url, screen, &error);
+ }
if (error != NULL) {
- if (error->code != GNOME_URL_ERROR_CANCELLED) {
+ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_NOT_MOUNTED)) {
+ MountOperationHandle *handle;
+
+ handle = g_new (MountOperationHandle, 1);
+ file = g_file_new_for_uri (url);
+
+ /* If it's not mounted, try to mount it ourselves */
+ handle->mount_op = panel_mount_operation_new (NULL);
+ handle->screen = screen;
+
+ g_file_mount_enclosing_volume (file, G_MOUNT_MOUNT_NONE, handle->mount_op,
+ NULL, mount_async_callback, handle);
+ g_object_unref (file);
+
+ }
+ else {
char *primary;
escaped = g_markup_escape_text (url, -1);
primary = g_strdup_printf (_("Could not open location '%s'"),
diff -up gnome-panel-2.22.1.2/gnome-panel/panel-mount-operation.c.launch-with-gio gnome-panel-2.22.1.2/gnome-panel/panel-mount-operation.c
--- gnome-panel-2.22.1.2/gnome-panel/panel-mount-operation.c.launch-with-gio 2008-04-21 00:10:20.000000000 -0400
+++ gnome-panel-2.22.1.2/gnome-panel/panel-mount-operation.c 2008-04-21 00:13:35.000000000 -0400
@@ -102,6 +102,18 @@ password_dialog_button_clicked (GtkDialo
anon = gnome_password_dialog_anon_selected (gpd);
g_mount_operation_set_anonymous (op, anon);
+ switch (gnome_password_dialog_get_remember (gpd)) {
+ case GNOME_PASSWORD_DIALOG_REMEMBER_NOTHING:
+ g_mount_operation_set_password_save (op, G_PASSWORD_SAVE_NEVER);
+ break;
+ case GNOME_PASSWORD_DIALOG_REMEMBER_SESSION:
+ g_mount_operation_set_password_save (op, G_PASSWORD_SAVE_FOR_SESSION);
+ break;
+ case GNOME_PASSWORD_DIALOG_REMEMBER_FOREVER:
+ g_mount_operation_set_password_save (op, G_PASSWORD_SAVE_PERMANENTLY);
+ break;
+ }
+
g_mount_operation_reply (op, G_MOUNT_OPERATION_HANDLED);
} else {
g_mount_operation_reply (op, G_MOUNT_OPERATION_ABORTED);
@@ -136,6 +148,9 @@ ask_password (GMountOperation *op,
flags & G_ASK_PASSWORD_NEED_DOMAIN);
gnome_password_dialog_set_show_userpass_buttons (GNOME_PASSWORD_DIALOG (dialog),
flags & G_ASK_PASSWORD_ANONYMOUS_SUPPORTED);
+ gnome_password_dialog_set_show_remember (GNOME_PASSWORD_DIALOG (dialog),
+ flags & G_ASK_PASSWORD_SAVING_SUPPORTED);
+
if (default_domain) {
gnome_password_dialog_set_domain (GNOME_PASSWORD_DIALOG (dialog),
default_domain);
timezone-64.patch:
--- NEW FILE timezone-64.patch ---
--- trunk/applets/clock/system-timezone.c 2008/04/11 12:11:19 11053
+++ trunk/applets/clock/system-timezone.c 2008/04/11 13:11:59 11054
@@ -447,14 +447,14 @@
const char *value,
GError **error)
{
- GError *our_error;
- char *content;
- unsigned int len;
- char *key_eq;
- char **lines;
- gboolean replaced;
- gboolean retval;
- int n;
+ GError *our_error;
+ char *content;
+ gsize len;
+ char *key_eq;
+ char **lines;
+ gboolean replaced;
+ gboolean retval;
+ int n;
if (!g_file_test (filename, G_FILE_TEST_IS_REGULAR))
return TRUE;
@@ -647,16 +647,16 @@
return tz;
}
-typedef gboolean (*CompareFiles) (struct stat *a_stat,
- struct stat *b_stat,
- const char *a_content,
- unsigned int a_content_len,
- const char *b_filename);
+typedef gboolean (*CompareFiles) (struct stat *a_stat,
+ struct stat *b_stat,
+ const char *a_content,
+ gsize a_content_len,
+ const char *b_filename);
static char *
recursive_compare (struct stat *localtime_stat,
const char *localtime_content,
- unsigned int localtime_content_len,
+ gsize localtime_content_len,
char *file,
CompareFiles compare_func)
{
@@ -709,11 +709,11 @@
static gboolean
-files_are_identical_inode (struct stat *a_stat,
- struct stat *b_stat,
- const char *a_content,
- unsigned int a_content_len,
- const char *b_filename)
+files_are_identical_inode (struct stat *a_stat,
+ struct stat *b_stat,
+ const char *a_content,
+ gsize a_content_len,
+ const char *b_filename)
{
return (a_stat->st_ino == b_stat->st_ino);
}
@@ -740,15 +740,15 @@
}
static gboolean
-files_are_identical_content (struct stat *a_stat,
- struct stat *b_stat,
- const char *a_content,
- unsigned int a_content_len,
- const char *b_filename)
-{
- char *b_content = NULL;
- unsigned int b_content_len = -1;
- int cmp;
+files_are_identical_content (struct stat *a_stat,
+ struct stat *b_stat,
+ const char *a_content,
+ gsize a_content_len,
+ const char *b_filename)
+{
+ char *b_content = NULL;
+ gsize b_content_len = -1;
+ int cmp;
if (a_stat->st_size != b_stat->st_size)
return FALSE;
@@ -772,10 +772,10 @@
static char *
system_timezone_read_etc_localtime_content (void)
{
- struct stat stat_localtime;
- char *localtime_content = NULL;
- unsigned int localtime_content_len = -1;
- char *retval;
+ struct stat stat_localtime;
+ char *localtime_content = NULL;
+ gsize localtime_content_len = -1;
+ char *retval;
if (g_stat (ETC_LOCALTIME, &stat_localtime) != 0)
return NULL;
@@ -866,11 +866,11 @@
system_timezone_is_zone_file_valid (const char *zone_file,
GError **error)
{
- GError *our_error;
- GIOChannel *channel;
- GIOStatus status;
- char buffer[strlen (TZ_MAGIC)];
- unsigned int read;
+ GError *our_error;
+ GIOChannel *channel;
+ GIOStatus status;
+ char buffer[strlen (TZ_MAGIC)];
+ gsize read;
/* First, check the zone_file is properly rooted */
if (!g_str_has_prefix (zone_file, SYSTEM_ZONEINFODIR"/")) {
@@ -925,9 +925,9 @@
system_timezone_set_etc_timezone (const char *zone_file,
GError **error)
{
- GError *our_error;
- char *content;
- unsigned int len;
+ GError *our_error;
+ char *content;
+ gsize len;
if (!system_timezone_is_zone_file_valid (zone_file, error))
return FALSE;
Index: gnome-panel.spec
===================================================================
RCS file: /cvs/extras/rpms/gnome-panel/devel/gnome-panel.spec,v
retrieving revision 1.293
retrieving revision 1.294
diff -u -r1.293 -r1.294
--- gnome-panel.spec 18 Apr 2008 14:30:37 -0000 1.293
+++ gnome-panel.spec 22 Apr 2008 16:11:33 -0000 1.294
@@ -22,7 +22,7 @@
Summary: GNOME panel
Name: gnome-panel
Version: 2.22.1.2
-Release: 3%{?dist}
+Release: 4%{?dist}
URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/gnome-panel/2.22/%{name}-%{version}.tar.bz2
@@ -122,6 +122,12 @@
Patch32: clock-help.patch
+Patch33: gnome-panel-use-gio.patch
+# http://bugzilla.gnome.org/show_bug.cgi?id=529243
+Patch34: gnome-panel-launch-with-gio.patch
+# fixed in upstream svn
+Patch35: timezone-64.patch
+
Conflicts: gnome-power-manager < 2.15.3
%description
@@ -173,6 +179,9 @@
%patch30 -p1 -b .clock1
%patch31 -p1 -b .clock2
%patch32 -p1 -b .clock-help
+%patch33 -p1 -b .use-gio
+%patch34 -p1 -b .launch-with-gio
+%patch35 -p1 -b .timezone-64
. %{SOURCE6}
@@ -357,6 +366,10 @@
%{_datadir}/gtk-doc/html/*
%changelog
+* Fri Apr 18 2008 Matthias Clasen <mclasen at redhat.com> - 2.22.1.2-4
+- Use gio to open places
+- Fix a 64bit issue with timezone handling in the clock
+
* Fri Apr 18 2008 Matthias Clasen <mclasen at redhat.com> - 2.22.1.2-3
- Move the trash applet back where it belongs, to the corner (#439416)
More information about the scm-commits
mailing list