evolution-data-server r9792 - trunk/libedataserverui
- From: mcrha svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution-data-server r9792 - trunk/libedataserverui
- Date: Wed, 3 Dec 2008 11:36:22 +0000 (UTC)
Author: mcrha
Date: Wed Dec 3 11:36:22 2008
New Revision: 9792
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9792&view=rev
Log:
2008-12-03 Milan Crha <mcrha redhat com>
** Fix for bug #357948
* e-categories-dialog.c: (update_preview), (load_properties_dialog):
Show preview of the selected image file when choosing new icon.
Modified:
trunk/libedataserverui/ChangeLog
trunk/libedataserverui/e-categories-dialog.c
Modified: trunk/libedataserverui/e-categories-dialog.c
==============================================================================
--- trunk/libedataserverui/e-categories-dialog.c (original)
+++ trunk/libedataserverui/e-categories-dialog.c Wed Dec 3 11:36:22 2008
@@ -60,6 +60,25 @@
GtkWidget *category_icon;
} CategoryPropertiesDialog;
+static void
+update_preview (GtkFileChooser *chooser, gpointer user_data)
+{
+ GtkImage *image;
+ char *filename;
+
+ g_return_if_fail (chooser != NULL);
+
+ image = GTK_IMAGE (gtk_file_chooser_get_preview_widget (chooser));
+ g_return_if_fail (image != NULL);
+
+ filename = gtk_file_chooser_get_preview_filename (chooser);
+
+ gtk_image_set_from_file (image, filename);
+ gtk_file_chooser_set_preview_widget_active (chooser, filename != NULL);
+
+ g_free (filename);
+}
+
static CategoryPropertiesDialog *
load_properties_dialog (ECategoriesDialog *parent)
{
@@ -87,6 +106,21 @@
prop_dialog->category_name = glade_xml_get_widget (prop_dialog->gui, "category-name");
prop_dialog->category_icon = glade_xml_get_widget (prop_dialog->gui, "category-icon");
+ if (prop_dialog->category_icon) {
+ GtkFileChooser *chooser = GTK_FILE_CHOOSER (prop_dialog->category_icon);
+
+ if (chooser) {
+ GtkWidget *image = gtk_image_new ();
+
+ gtk_widget_show (image);
+
+ gtk_file_chooser_set_preview_widget (chooser, image);
+ gtk_file_chooser_set_preview_widget_active (chooser, TRUE);
+
+ g_signal_connect (G_OBJECT (chooser), "update-preview", (GCallback) update_preview, NULL);
+ }
+ }
+
return prop_dialog;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]