From c0a255eb90769638d57ae4122932f75c46e4e531 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 11 Sep 2008 15:34:29 +0000 Subject: Merge revisions 36016:36303 from trunk. svn path=/branches/kill-bonobo/; revision=36307 --- mail/em-folder-selector.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'mail/em-folder-selector.c') diff --git a/mail/em-folder-selector.c b/mail/em-folder-selector.c index 8d7351b049..ff935674e2 100644 --- a/mail/em-folder-selector.c +++ b/mail/em-folder-selector.c @@ -1,26 +1,26 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* - * Authors: Jeffrey Stedfast * - * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) version 3. * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * You should have received a copy of the GNU Lesser General Public + * License along with the program; if not, see * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Authors: + * Jeffrey Stedfast + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) * */ - #ifdef HAVE_CONFIG_H #include #endif -- cgit v1.2.3 From e7a31c5035a0afeed6c1675e30487c1e2bdc139f Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 24 Oct 2008 23:02:33 +0000 Subject: Commit recent work so I can merge from trunk. svn path=/branches/kill-bonobo/; revision=36684 --- mail/em-folder-selector.c | 135 +++++++++++++++++++++++----------------------- 1 file changed, 68 insertions(+), 67 deletions(-) (limited to 'mail/em-folder-selector.c') diff --git a/mail/em-folder-selector.c b/mail/em-folder-selector.c index ff935674e2..ee7a515716 100644 --- a/mail/em-folder-selector.c +++ b/mail/em-folder-selector.c @@ -21,14 +21,8 @@ * */ -#ifdef HAVE_CONFIG_H -#include -#endif - #include - #include - #include #include @@ -42,87 +36,84 @@ #define d(x) - extern CamelSession *session; +static gpointer parent_class; +static void +folder_selector_finalize (GObject *object) +{ + EMFolderSelector *emfs = EM_FOLDER_SELECTOR (object); -static void em_folder_selector_class_init (EMFolderSelectorClass *klass); -static void em_folder_selector_init (EMFolderSelector *emfs); -static void em_folder_selector_destroy (GtkObject *obj); -static void em_folder_selector_finalize (GObject *obj); - - -static GtkDialogClass *parent_class = NULL; + g_free (emfs->selected_path); + g_free (emfs->selected_uri); + g_free (emfs->created_uri); + /* Chain up to parent's finalize() method. */ + G_OBJECT_CLASS (parent_class)->finalize (object); +} -GType -em_folder_selector_get_type (void) +static void +folder_selector_destroy (GtkObject *object) { - static GType type = 0; - - if (!type) { - static const GTypeInfo info = { - sizeof (EMFolderSelectorClass), - NULL, /* base_class_init */ - NULL, /* base_class_finalize */ - (GClassInitFunc) em_folder_selector_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (EMFolderSelector), - 0, /* n_preallocs */ - (GInstanceInitFunc) em_folder_selector_init, - }; + EMFolderSelector *emfs = EM_FOLDER_SELECTOR (object); + EMFolderTreeModel *model; - type = g_type_register_static (GTK_TYPE_DIALOG, "EMFolderSelector", &info, 0); + if (emfs->created_id != 0) { + model = em_folder_tree_get_model (emfs->emft); + g_signal_handler_disconnect (model, emfs->created_id); + emfs->created_id = 0; } - return type; + /* Chain up to parent's destroy() method. */ + GTK_OBJECT_CLASS (parent_class)->destroy (object); } static void -em_folder_selector_class_init (EMFolderSelectorClass *klass) +folder_selector_class_init (EMFolderSelectorClass *class) { - GObjectClass *object_class = G_OBJECT_CLASS (klass); - GtkObjectClass *gtk_object_class = GTK_OBJECT_CLASS (klass); + GObjectClass *object_class; + GtkObjectClass *gtk_object_class; - parent_class = g_type_class_ref (GTK_TYPE_DIALOG); + parent_class = g_type_class_peek_parent (class); - object_class->finalize = em_folder_selector_finalize; - gtk_object_class->destroy = em_folder_selector_destroy; + object_class = G_OBJECT_CLASS (class); + object_class->finalize = folder_selector_finalize; + + gtk_object_class = GTK_OBJECT_CLASS (class); + gtk_object_class->destroy = folder_selector_destroy; } static void -em_folder_selector_init (EMFolderSelector *emfs) +folder_selector_init (EMFolderSelector *emfs) { emfs->selected_path = NULL; emfs->selected_uri = NULL; } -static void -em_folder_selector_destroy (GtkObject *obj) +GType +em_folder_selector_get_type (void) { - EMFolderSelector *emfs = (EMFolderSelector *) obj; - EMFolderTreeModel *model; - - if (emfs->created_id != 0) { - model = em_folder_tree_get_model (emfs->emft); - g_signal_handler_disconnect (model, emfs->created_id); - emfs->created_id = 0; - } - - GTK_OBJECT_CLASS (parent_class)->destroy (obj); -} + static GType type = 0; -static void -em_folder_selector_finalize (GObject *obj) -{ - EMFolderSelector *emfs = (EMFolderSelector *) obj; + if (G_UNLIKELY (type == 0)) { + static const GTypeInfo type_info = { + sizeof (EMFolderSelectorClass), + (GBaseInitFunc) NULL, + (GBaseFinalizeFunc) NULL, + (GClassInitFunc) folder_selector_class_init, + (GClassFinalizeFunc) NULL, + NULL, /* class_data */ + sizeof (EMFolderSelector), + 0, /* n_preallocs */ + (GInstanceInitFunc) folder_selector_init, + NULL /* value_table */ + }; - g_free (emfs->selected_path); - g_free (emfs->selected_uri); - g_free (emfs->created_uri); + type = g_type_register_static ( + GTK_TYPE_DIALOG, "EMFolderSelector", &type_info, 0); + } - G_OBJECT_CLASS (parent_class)->finalize (obj); + return type; } static void @@ -172,7 +163,7 @@ folder_activated_cb (EMFolderTree *emft, const char *path, const char *uri, EMFo void em_folder_selector_construct (EMFolderSelector *emfs, EMFolderTree *emft, guint32 flags, const char *title, const char *text, const char *oklabel) { - GtkWidget *label; + GtkWidget *widget; gtk_window_set_modal (GTK_WINDOW (emfs), FALSE); gtk_window_set_default_size (GTK_WINDOW (emfs), 350, 300); @@ -194,19 +185,29 @@ em_folder_selector_construct (EMFolderSelector *emfs, EMFolderTree *emft, guint3 gtk_dialog_set_response_sensitive (GTK_DIALOG (emfs), GTK_RESPONSE_OK, FALSE); gtk_dialog_set_default_response (GTK_DIALOG (emfs), GTK_RESPONSE_OK); + widget = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy ( + GTK_SCROLLED_WINDOW (widget), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type ( + GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_IN); + gtk_box_pack_end ( + GTK_BOX (GTK_DIALOG (emfs)->vbox), widget, TRUE, TRUE, 6); + gtk_widget_show (widget); + emfs->emft = emft; - gtk_widget_show ((GtkWidget *) emft); + gtk_container_add (GTK_CONTAINER (widget), GTK_WIDGET (emft)); + gtk_widget_show (GTK_WIDGET (emft)); g_signal_connect (emfs->emft, "folder-selected", G_CALLBACK (folder_selected_cb), emfs); g_signal_connect (emfs->emft, "folder-activated", G_CALLBACK (folder_activated_cb), emfs); - gtk_box_pack_end (GTK_BOX (GTK_DIALOG (emfs)->vbox), (GtkWidget *)emft, TRUE, TRUE, 6); if (text != NULL) { - label = gtk_label_new (text); - gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); - gtk_widget_show (label); + widget = gtk_label_new (text); + gtk_label_set_justify (GTK_LABEL (widget), GTK_JUSTIFY_LEFT); + gtk_widget_show (widget); - gtk_box_pack_end (GTK_BOX (GTK_DIALOG (emfs)->vbox), label, FALSE, TRUE, 6); + gtk_box_pack_end (GTK_BOX (GTK_DIALOG (emfs)->vbox), widget, FALSE, TRUE, 6); } gtk_widget_grab_focus ((GtkWidget *) emfs->emft); -- cgit v1.2.3 From faf1c14c11f3e6026f786e9587715c10b13c723e Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 25 Apr 2009 10:16:00 -0400 Subject: Manual conflict resolution --- mail/em-folder-selector.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'mail/em-folder-selector.c') diff --git a/mail/em-folder-selector.c b/mail/em-folder-selector.c index 32eac59d39..1f5140701a 100644 --- a/mail/em-folder-selector.c +++ b/mail/em-folder-selector.c @@ -123,7 +123,9 @@ emfs_response (GtkWidget *dialog, int response, EMFolderSelector *emfs) return; g_object_set_data ((GObject *)emfs->emft, "select", GUINT_TO_POINTER (1)); - em_folder_utils_create_folder (NULL, emfs->emft, GTK_WINDOW (dialog)); + + /* FIXME Pass a parent window. */ + em_folder_utils_create_folder (NULL, emfs->emft, NULL); g_signal_stop_emission_by_name (emfs, "response"); } -- cgit v1.2.3 From e4afd3f9fb962ea1295a0657ec9f83a427829171 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 26 May 2009 23:21:02 -0400 Subject: Remove trailing whitespace, again. --- mail/em-folder-selector.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mail/em-folder-selector.c') diff --git a/mail/em-folder-selector.c b/mail/em-folder-selector.c index 3762e05bf2..ae6a8965a4 100644 --- a/mail/em-folder-selector.c +++ b/mail/em-folder-selector.c @@ -11,7 +11,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with the program; if not, see + * License along with the program; if not, see * * * Authors: -- cgit v1.2.3 From 948235c3d1076dbe6ed2e57a24c16a083bbd9f01 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 27 May 2009 10:29:19 -0400 Subject: Prefer GLib basic types over C types. --- mail/em-folder-selector.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'mail/em-folder-selector.c') diff --git a/mail/em-folder-selector.c b/mail/em-folder-selector.c index e04460b7ac..c9c001f0cd 100644 --- a/mail/em-folder-selector.c +++ b/mail/em-folder-selector.c @@ -117,7 +117,7 @@ em_folder_selector_get_type (void) } static void -emfs_response (GtkWidget *dialog, int response, EMFolderSelector *emfs) +emfs_response (GtkWidget *dialog, gint response, EMFolderSelector *emfs) { if (response != EM_FOLDER_SELECTOR_RESPONSE_NEW) return; @@ -133,8 +133,8 @@ emfs_response (GtkWidget *dialog, int response, EMFolderSelector *emfs) static void emfs_create_name_changed (GtkEntry *entry, EMFolderSelector *emfs) { - char *path; - const char *text = NULL; + gchar *path; + const gchar *text = NULL; gboolean active; if (emfs->name_entry->text_length > 0) @@ -148,7 +148,7 @@ emfs_create_name_changed (GtkEntry *entry, EMFolderSelector *emfs) } static void -folder_selected_cb (EMFolderTree *emft, const char *path, const char *uri, guint32 flags, EMFolderSelector *emfs) +folder_selected_cb (EMFolderTree *emft, const gchar *path, const gchar *uri, guint32 flags, EMFolderSelector *emfs) { if (emfs->name_entry) emfs_create_name_changed (emfs->name_entry, emfs); @@ -157,13 +157,13 @@ folder_selected_cb (EMFolderTree *emft, const char *path, const char *uri, guint } static void -folder_activated_cb (EMFolderTree *emft, const char *path, const char *uri, EMFolderSelector *emfs) +folder_activated_cb (EMFolderTree *emft, const gchar *path, const gchar *uri, EMFolderSelector *emfs) { gtk_dialog_response ((GtkDialog *) emfs, GTK_RESPONSE_OK); } void -em_folder_selector_construct (EMFolderSelector *emfs, EMFolderTree *emft, guint32 flags, const char *title, const char *text, const char *oklabel) +em_folder_selector_construct (EMFolderSelector *emfs, EMFolderTree *emft, guint32 flags, const gchar *title, const gchar *text, const gchar *oklabel) { GtkWidget *widget; @@ -216,7 +216,7 @@ em_folder_selector_construct (EMFolderSelector *emfs, EMFolderTree *emft, guint3 } GtkWidget * -em_folder_selector_new (EMFolderTree *emft, guint32 flags, const char *title, const char *text, const char *oklabel) +em_folder_selector_new (EMFolderTree *emft, guint32 flags, const gchar *title, const gchar *text, const gchar *oklabel) { EMFolderSelector *emfs; @@ -231,8 +231,8 @@ static void emfs_create_name_activate (GtkEntry *entry, EMFolderSelector *emfs) { if (emfs->name_entry->text_length > 0) { - char *path; - const char *text; + gchar *path; + const gchar *text; text = gtk_entry_get_text (emfs->name_entry); path = em_folder_tree_get_selected_uri(emfs->emft); @@ -244,7 +244,7 @@ emfs_create_name_activate (GtkEntry *entry, EMFolderSelector *emfs) } GtkWidget * -em_folder_selector_create_new (EMFolderTree *emft, guint32 flags, const char *title, const char *text) +em_folder_selector_create_new (EMFolderTree *emft, guint32 flags, const gchar *title, const gchar *text) { EMFolderSelector *emfs; GtkWidget *hbox, *w; @@ -276,7 +276,7 @@ em_folder_selector_create_new (EMFolderTree *emft, guint32 flags, const char *ti void -em_folder_selector_set_selected (EMFolderSelector *emfs, const char *uri) +em_folder_selector_set_selected (EMFolderSelector *emfs, const gchar *uri) { em_folder_tree_set_selected (emfs->emft, uri, FALSE); } @@ -287,11 +287,11 @@ em_folder_selector_set_selected_list (EMFolderSelector *emfs, GList *list) em_folder_tree_set_selected_list (emfs->emft, list, FALSE); } -const char * +const gchar * em_folder_selector_get_selected_uri (EMFolderSelector *emfs) { - char *uri; - const char *name; + gchar *uri; + const gchar *name; if (!(uri = em_folder_tree_get_selected_uri (emfs->emft))) { d(printf ("no selected folder?\n")); @@ -301,7 +301,7 @@ em_folder_selector_get_selected_uri (EMFolderSelector *emfs) if (uri && emfs->name_entry) { CamelProvider *provider; CamelURL *url; - char *newpath; + gchar *newpath; provider = camel_provider_get(uri, NULL); @@ -316,7 +316,7 @@ em_folder_selector_get_selected_uri (EMFolderSelector *emfs) camel_url_set_fragment (url, newpath); } else { - char *path; + gchar *path; path = g_strdup_printf("%s/%s", (url->path == NULL || strcmp(url->path, "/") == 0) ? "":url->path, name); camel_url_set_path(url, path); @@ -352,10 +352,10 @@ em_folder_selector_get_selected_paths (EMFolderSelector *emfs) return em_folder_tree_get_selected_paths (emfs->emft); } -const char * +const gchar * em_folder_selector_get_selected_path (EMFolderSelector *emfs) { - char *uri, *path; + gchar *uri, *path; if (emfs->selected_path) { /* already did the work in a previous call */ @@ -370,8 +370,8 @@ em_folder_selector_get_selected_path (EMFolderSelector *emfs) path = em_folder_tree_get_selected_path(emfs->emft); if (emfs->name_entry) { - const char *name; - char *newpath; + const gchar *name; + gchar *newpath; name = gtk_entry_get_text (emfs->name_entry); newpath = g_strdup_printf ("%s/%s", path?path:"", name); -- cgit v1.2.3 From 174c942e0945a2017f0c479883dce2950e42e786 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 24 Jun 2009 00:40:49 -0400 Subject: Split store and local folder management out from shell backend. --- mail/em-folder-selector.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'mail/em-folder-selector.c') diff --git a/mail/em-folder-selector.c b/mail/em-folder-selector.c index c9c001f0cd..03970bbc05 100644 --- a/mail/em-folder-selector.c +++ b/mail/em-folder-selector.c @@ -56,10 +56,10 @@ static void folder_selector_destroy (GtkObject *object) { EMFolderSelector *emfs = EM_FOLDER_SELECTOR (object); - EMFolderTreeModel *model; + GtkTreeModel *model; if (emfs->created_id != 0) { - model = em_folder_tree_get_model (emfs->emft); + model = gtk_tree_view_get_model (GTK_TREE_VIEW (emfs->emft)); g_signal_handler_disconnect (model, emfs->created_id); emfs->created_id = 0; } -- cgit v1.2.3 From 374bd42f69aca2e132fd854c9619f3d7491f1f96 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sun, 12 Jul 2009 23:33:07 -0400 Subject: Fix excessive whitespace. --- mail/em-folder-selector.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'mail/em-folder-selector.c') diff --git a/mail/em-folder-selector.c b/mail/em-folder-selector.c index 03970bbc05..198264e62b 100644 --- a/mail/em-folder-selector.c +++ b/mail/em-folder-selector.c @@ -226,7 +226,6 @@ em_folder_selector_new (EMFolderTree *emft, guint32 flags, const gchar *title, c return (GtkWidget *) emfs; } - static void emfs_create_name_activate (GtkEntry *entry, EMFolderSelector *emfs) { @@ -274,7 +273,6 @@ em_folder_selector_create_new (EMFolderTree *emft, guint32 flags, const gchar *t return (GtkWidget *) emfs; } - void em_folder_selector_set_selected (EMFolderSelector *emfs, const gchar *uri) { -- cgit v1.2.3