evolution r35254 - branches/mbarnes-composer/composer
- From: mbarnes svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution r35254 - branches/mbarnes-composer/composer
- Date: Wed, 26 Mar 2008 19:21:46 +0000 (GMT)
Author: mbarnes
Date: Wed Mar 26 19:21:46 2008
New Revision: 35254
URL: http://svn.gnome.org/viewvc/evolution?rev=35254&view=rev
Log:
Bug fixes:
- "From" header visibility glitches.
- Move dispose/finalize logic into e-composer-private.c.
- Unbind GConfBridge bindings when destroying window.
Modified:
branches/mbarnes-composer/composer/e-composer-from-header.c
branches/mbarnes-composer/composer/e-composer-header-table.c
branches/mbarnes-composer/composer/e-composer-private.h
branches/mbarnes-composer/composer/e-msg-composer.c
Modified: branches/mbarnes-composer/composer/e-composer-from-header.c
==============================================================================
--- branches/mbarnes-composer/composer/e-composer-from-header.c (original)
+++ branches/mbarnes-composer/composer/e-composer-from-header.c Wed Mar 26 19:21:46 2008
@@ -53,7 +53,6 @@
widget, "refreshed",
G_CALLBACK (composer_from_header_refreshed_cb), header);
E_COMPOSER_HEADER (header)->input_widget = widget;
- gtk_widget_show (widget);
}
GType
Modified: branches/mbarnes-composer/composer/e-composer-header-table.c
==============================================================================
--- branches/mbarnes-composer/composer/e-composer-header-table.c (original)
+++ branches/mbarnes-composer/composer/e-composer-header-table.c Wed Mar 26 19:21:46 2008
@@ -663,13 +663,11 @@
composer_header_table_bind_widget ("signature", "changed", widget);
composer_header_table_bind_widget ("signature-list", "refreshed", widget);
table->priv->signature_combo_box = g_object_ref_sink (widget);
- gtk_widget_show (widget);
widget = gtk_label_new_with_mnemonic (_("Si_gnature:"));
gtk_label_set_mnemonic_widget (
GTK_LABEL (widget), table->priv->signature_combo_box);
table->priv->signature_label = g_object_ref_sink (widget);
- gtk_widget_show (widget);
}
GType
Modified: branches/mbarnes-composer/composer/e-composer-private.h
==============================================================================
--- branches/mbarnes-composer/composer/e-composer-private.h (original)
+++ branches/mbarnes-composer/composer/e-composer-private.h Wed Mar 26 19:21:46 2008
@@ -4,6 +4,7 @@
#include "e-msg-composer.h"
#include <glib/gi18n.h>
+#include "gconf-bridge.h"
#include "e-attachment-bar.h"
#include "e-composer-actions.h"
@@ -35,6 +36,7 @@
gint visible_mask;
GPtrArray *extra_hdr_names, *extra_hdr_values;
+ GArray *gconf_bridge_binding_ids;
GtkWidget *focused_entry;
Modified: branches/mbarnes-composer/composer/e-msg-composer.c
==============================================================================
--- branches/mbarnes-composer/composer/e-msg-composer.c (original)
+++ branches/mbarnes-composer/composer/e-msg-composer.c Wed Mar 26 19:21:46 2008
@@ -116,7 +116,6 @@
#include "e-composer-private.h"
#include "e-composer-header-table.h"
#include "e-msg-composer-select-file.h"
-#include "gconf-bridge.h"
#include "evolution-shell-component-utils.h"
#include <e-util/e-icon-factory.h>
@@ -2323,11 +2322,15 @@
static void
msg_composer_dispose (GObject *object)
{
+ EMsgComposer *composer = E_MSG_COMPOSER (object);
+
/* When destroy () is called, the contents of the window
* (including the remote editor control) will already have
* been destroyed, so we have to do this here.
*/
- autosave_manager_unregister (E_MSG_COMPOSER (object));
+ autosave_manager_unregister (composer);
+
+ e_composer_private_dispose (composer);
/* Chain up to parent's dispose () method. */
G_OBJECT_CLASS (parent_class)->dispose (object);
@@ -2337,28 +2340,8 @@
msg_composer_finalize (GObject *object)
{
EMsgComposer *composer = E_MSG_COMPOSER (object);
- EMsgComposerPrivate *p = composer->priv;
-
- if (p->extra_hdr_names) {
- gint i;
- for (i = 0; i < p->extra_hdr_names->len; i++) {
- g_free (p->extra_hdr_names->pdata[i]);
- g_free (p->extra_hdr_values->pdata[i]);
- }
- g_ptr_array_free (p->extra_hdr_names, TRUE);
- g_ptr_array_free (p->extra_hdr_values, TRUE);
- }
-
- g_hash_table_destroy (p->inline_images);
- g_hash_table_destroy (p->inline_images_by_url);
-
- g_free (p->charset);
- g_free (p->mime_type);
- g_free (p->mime_body);
-
- if (p->redirect)
- camel_object_unref (p->redirect);
+ e_composer_private_finalize (composer);
/* Chain up to parent's finalize () method. */
G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -2369,9 +2352,6 @@
{
EMsgComposer *composer = (EMsgComposer *)object;
EMsgComposerPrivate *p = composer->priv;
- CORBA_Environment ev;
-
- CORBA_exception_init (&ev);
#if 0 /* GTKHTML-EDITOR */
if (p->menu) {
@@ -2388,11 +2368,6 @@
p->address_dialog = NULL;
}
- if (p->header_table != NULL) {
- gtk_widget_destroy (p->header_table);
- p->header_table = NULL;
- }
-
if (p->notify_id) {
GConfClient *gconf = gconf_client_get_default ();
gconf_client_notify_remove (gconf, p->notify_id);
@@ -2545,6 +2520,9 @@
static void
msg_composer_init (EMsgComposer *composer)
{
+ GArray *array;
+ guint binding_id;
+
composer->priv = E_MSG_COMPOSER_GET_PRIVATE (composer);
all_composers = g_slist_prepend (all_composers, composer);
@@ -2553,40 +2531,49 @@
gtk_window_set_title (GTK_WINDOW (composer), _("Compose Message"));
gtk_window_set_icon_name (GTK_WINDOW (composer), "mail-message-new");
- gconf_bridge_bind_property (
+ array = composer->priv->gconf_bridge_binding_ids;
+
+ binding_id = gconf_bridge_bind_property (
gconf_bridge_get (),
COMPOSER_GCONF_CURRENT_FOLDER_KEY,
G_OBJECT (composer), "current-folder");
+ g_array_append_val (array, binding_id);
- gconf_bridge_bind_property (
+ binding_id = gconf_bridge_bind_property (
gconf_bridge_get (),
COMPOSER_GCONF_VIEW_BCC_KEY,
G_OBJECT (ACTION (VIEW_BCC)), "active");
+ g_array_append_val (array, binding_id);
- gconf_bridge_bind_property (
+ binding_id = gconf_bridge_bind_property (
gconf_bridge_get (),
COMPOSER_GCONF_VIEW_CC_KEY,
G_OBJECT (ACTION (VIEW_CC)), "active");
+ g_array_append_val (array, binding_id);
- gconf_bridge_bind_property (
+ binding_id = gconf_bridge_bind_property (
gconf_bridge_get (),
COMPOSER_GCONF_VIEW_FROM_KEY,
G_OBJECT (ACTION (VIEW_FROM)), "active");
+ g_array_append_val (array, binding_id);
- gconf_bridge_bind_property (
+ binding_id = gconf_bridge_bind_property (
gconf_bridge_get (),
COMPOSER_GCONF_VIEW_POST_TO_KEY,
G_OBJECT (ACTION (VIEW_POST_TO)), "active");
+ g_array_append_val (array, binding_id);
- gconf_bridge_bind_property (
+ binding_id = gconf_bridge_bind_property (
gconf_bridge_get (),
COMPOSER_GCONF_VIEW_REPLY_TO_KEY,
G_OBJECT (ACTION (VIEW_REPLY_TO)), "active");
+ g_array_append_val (array, binding_id);
- gconf_bridge_bind_window (
+ binding_id = gconf_bridge_bind_window (
gconf_bridge_get (),
COMPOSER_GCONF_WINDOW_PREFIX,
GTK_WINDOW (composer), TRUE, FALSE);
+ g_array_append_val (array, binding_id);
#if 0 /* GTKHTML-EDITOR */
/** @HookPoint-EMMenu: Main Mail Menu
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]