rpms/gnome-panel/F-9 gnome-panel-launch-with-gio.patch, NONE, 1.1 gnome-panel-use-gio.patch, NONE, 1.1 timezone-64.patch, NONE, 1.1
Matthias Clasen (mclasen)
fedora-extras-commits at redhat.com
Tue Apr 22 16:54:46 UTC 2008
Author: mclasen
Update of /cvs/extras/rpms/gnome-panel/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv20406
Added Files:
gnome-panel-launch-with-gio.patch gnome-panel-use-gio.patch
timezone-64.patch
Log Message:
add the patches
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);
gnome-panel-use-gio.patch:
--- NEW FILE gnome-panel-use-gio.patch ---
diff -up gnome-panel-2.22.1.2/gnome-panel/panel-menu-items.c.use-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.use-gio 2008-04-18 22:48:16.000000000 -0400
+++ gnome-panel-2.22.1.2/gnome-panel/panel-menu-items.c 2008-04-18 22:53:10.000000000 -0400
@@ -125,8 +125,9 @@ activate_uri (GtkWidget *menuitem,
command = g_strdup_printf ("nautilus --no-desktop %s", url);
gdk_spawn_command_line_on_screen (screen, command, &error);
- } else
- gnome_url_show_on_screen (url, screen, &error);
+ } else
+ 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) {
timezone-64.patch:
--- NEW FILE timezone-64.patch ---
diff -up gnome-panel-2.22.1.2/applets/clock/system-timezone.c.timezone-64 gnome-panel-2.22.1.2/applets/clock/system-timezone.c
--- gnome-panel-2.22.1.2/applets/clock/system-timezone.c.timezone-64 2008-04-10 08:38:24.000000000 -0400
+++ gnome-panel-2.22.1.2/applets/clock/system-timezone.c 2008-04-22 12:38:10.000000000 -0400
@@ -443,14 +443,14 @@ system_timezone_write_key_file (const ch
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;
@@ -613,16 +613,16 @@ system_timezone_read_etc_localtime_softl
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)
{
@@ -675,11 +675,11 @@ recursive_compare (struct stat *localti
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);
}
@@ -706,15 +706,15 @@ system_timezone_read_etc_localtime_hardl
}
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;
@@ -740,7 +740,7 @@ system_timezone_read_etc_localtime_conte
{
struct stat stat_localtime;
char *localtime_content = NULL;
- unsigned int localtime_content_len = -1;
+ gsize localtime_content_len = -1;
if (g_stat (ETC_LOCALTIME, &stat_localtime) != 0)
return NULL;
@@ -819,11 +819,11 @@ static gboolean
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"/")) {
@@ -878,9 +878,9 @@ static gboolean
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;
More information about the fedora-extras-commits
mailing list