Package: peacock
Version: 1.9.1-6
Severity: normal
Tags: patch

Peacock is using GtkFileSelector in peacock-utils.c, that makes the app
look old and out of date. I already emailed you the patch but got no
response.

I'm attaching a patch

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12
Locale: LANG=es_PE.UTF-8, LC_CTYPE=es_PE.UTF-8 (charmap=UTF-8)

Versions of packages peacock depends on:
ii  gtkhtml3.6                3.6.2-1        HTML rendering/editing library - b
ii  libart-2.0-2              2.3.17-1       Library of functions for 2D graphi
ii  libatk1.0-0               1.10.1-2       The ATK accessibility toolkit
ii  libbonobo2-0              2.10.0-1       Bonobo CORBA interfaces library
ii  libbonoboui2-0            2.10.0-1       The Bonobo UI library
ii  libc6                     2.3.5-1        GNU C Library: Shared libraries an
ii  libgconf2-4               2.10.0-2       GNOME configuration database syste
ii  libglade2-0               1:2.5.1-2      library to load .glade files at ru
ii  libglib2.0-0              2.6.5-1        The GLib library of C routines
ii  libgnome2-0               2.10.0-3       The GNOME 2 library - runtime file
ii  libgnomecanvas2-0         2.10.2-2       A powerful object-oriented display
ii  libgnomeprint2.2-0        2.10.3-2       The GNOME 2.2 print architecture -
ii  libgnomeui-0              2.10.0-2       The GNOME 2 libraries (User Interf
ii  libgnomevfs2-0            2.10.1-5       The GNOME virtual file-system libr
ii  libgtk2.0-0               2.6.8-1        The GTK+ graphical user interface 
ii  libgtksourceview1.0-0     1.2.0-2        shared libraries for the GTK+ synt
ii  libice6                   6.8.2.dfsg.1-3 Inter-Client Exchange library
ii  liborbit2                 1:2.12.2-1     libraries for ORBit2 - a CORBA ORB
ii  libpango1.0-0             1.8.1-1        Layout and rendering of internatio
ii  libpopt0                  1.7-5          lib for parsing cmdline parameters
ii  libsm6                    6.8.2.dfsg.1-3 X Window System Session Management
ii  libxml2                   2.6.20-1       GNOME XML library
ii  xlibs                     6.8.2.dfsg.1-3 X Window System client libraries m
ii  zlib1g                    1:1.2.2-4      compression library - runtime

peacock recommends no packages.

-- no debconf information
diff -uN peacock-1.9.1/src/peacock-file-client.c peacock-1.9.1-d/src/peacock-file-client.c
--- peacock-1.9.1/src/peacock-file-client.c	2003-09-06 15:12:28.000000000 -0500
+++ peacock-1.9.1-d/src/peacock-file-client.c	2005-07-19 15:06:49.000000000 -0500
@@ -217,7 +217,7 @@
 	const gchar *uri;
 	PeacockFileClient *fileClient;
 
-	uri = peacock_util_get_uri (_("Open URI"));
+	uri = peacock_util_get_uri ("Open URI", GTK_FILE_CHOOSER_ACTION_OPEN);
 
 	/* If Ok is not pressed, can be Cancel or delete_event. */
 	if (uri == NULL)
@@ -257,8 +257,8 @@
 {
 	PeacockFileClient *fileClient;
 	const gchar *uri;
-
-	uri = peacock_util_get_uri (_("Save As"));
+	
+	uri = peacock_util_get_uri ("Save As", GTK_FILE_CHOOSER_ACTION_SAVE);
 
 	/* In case of Cancel or other failures. */
 	if (!uri) return;
diff -uN peacock-1.9.1/src/peacock-utils.c peacock-1.9.1-d/src/peacock-utils.c
--- peacock-1.9.1/src/peacock-utils.c	2003-09-03 14:56:08.000000000 -0500
+++ peacock-1.9.1-d/src/peacock-utils.c	2005-07-19 15:23:25.000000000 -0500
@@ -34,28 +34,48 @@
  * Show a GtkFileSelector Dialog to get filenames from local harddisk.
  * 
  * Return Value: filename selected.
+ ***
+ * Diego Escalante Urrelo <[EMAIL PROTECTED]>
+ * 19 - July - 2005
+ * Change this function to use GtkFileChooser (the new dialog in gtk 2.4 and forth)
  **/
 static const gchar *
-peacock_util_get_local_uri (const gchar *title)
+peacock_util_get_local_uri (const gchar *title, GtkFileChooserAction action)
 {
 	gchar *filename = NULL;
-	GtkWidget *filesel;
+	GtkWidget *filechooser;
 	gint response;
+	
+	switch (action) {
+	case GTK_FILE_CHOOSER_ACTION_OPEN:
+		filechooser = gtk_file_chooser_dialog_new (	title, NULL, 
+											GTK_FILE_CHOOSER_ACTION_OPEN,
+				      						GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+				     						GTK_STOCK_OPEN, GTK_RESPONSE_OK,
+				      						NULL);
+		break;
+	case GTK_FILE_CHOOSER_ACTION_SAVE:
+		filechooser = gtk_file_chooser_dialog_new (title, NULL, 
+											GTK_FILE_CHOOSER_ACTION_SAVE,
+				      						GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+				     						GTK_STOCK_SAVE_AS, GTK_RESPONSE_OK,
+				      						NULL);
+		break;
+	}
+	
+	gtk_widget_show (filechooser);
 
-	filesel = gtk_file_selection_new (title);
-	gtk_widget_show (filesel);
-
-	response = gtk_dialog_run (GTK_DIALOG (filesel));
+	response = gtk_dialog_run (GTK_DIALOG (filechooser));
 
 	switch (response) {
 	case GTK_RESPONSE_OK:
-		filename = gtk_file_selection_get_filename (GTK_FILE_SELECTION (filesel));
+		filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (filechooser));
 		break;
 	default:
 		filename = NULL;
 	}
 
-	gtk_widget_destroy (filesel);
+	gtk_widget_destroy (filechooser);
 
 	return filename;
 }
@@ -71,9 +91,9 @@
  * Return Value: filename selected.
  **/
 const gchar *
-peacock_util_get_uri (const gchar *title)
+peacock_util_get_uri (const gchar *title, GtkFileChooserAction action)
 {
-	return peacock_util_get_local_uri (title);
+	return peacock_util_get_local_uri (title, action);
 }
 
 /**
diff -uN peacock-1.9.1/src/peacock-utils.h peacock-1.9.1-d/src/peacock-utils.h
--- peacock-1.9.1/src/peacock-utils.h	2003-09-03 14:56:25.000000000 -0500
+++ peacock-1.9.1-d/src/peacock-utils.h	2005-07-19 15:07:56.000000000 -0500
@@ -30,7 +30,7 @@
 #include <glade/glade-xml.h>
 #include <bonobo/bonobo-widget.h>
 
-const gchar *	peacock_util_get_uri (const gchar *title);
+const gchar *	peacock_util_get_uri (const gchar *title, GtkFileChooserAction action);
 
 void		peacock_util_show_ui_error (const gchar *err_msg);
 

Reply via email to