aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Meeks <michael@helixcode.com>2000-10-19 10:56:53 +0800
committerMichael Meeks <mmeeks@src.gnome.org>2000-10-19 10:56:53 +0800
commit78bdc918f67fb9597f3c1c22c166a9f3087497be (patch)
treef814d14f132cc7ba5d30be7152c60dbf7df55b3b
parenteef1bb9ef244e68edffd14980de2fd518a69b09c (diff)
downloadgsoc2013-evolution-78bdc918f67fb9597f3c1c22c166a9f3087497be.tar.gz
gsoc2013-evolution-78bdc918f67fb9597f3c1c22c166a9f3087497be.tar.zst
gsoc2013-evolution-78bdc918f67fb9597f3c1c22c166a9f3087497be.zip
kill. (create_toolbar): die. (setup_ui): impl. (e_msg_composer_construct):
2000-10-19 Michael Meeks <michael@helixcode.com> * e-msg-composer.c (create_menubar_file, create_menubar_edit), (create_menubar_format, create_menubar_view, create_menubar): kill. (create_toolbar): die. (setup_ui): impl. (e_msg_composer_construct): hook in. (menu_format_html_cb): update. (menu_view_attachments_activate_cb): ditto. (destroy): upd. (e_msg_composer_construct): upd. (e_msg_composer_set_send_html): upd. svn path=/trunk/; revision=6018
-rw-r--r--composer/ChangeLog13
-rw-r--r--composer/Makefile.am1
-rw-r--r--composer/e-msg-composer.c283
-rw-r--r--composer/e-msg-composer.h2
4 files changed, 96 insertions, 203 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog
index b8ea2b41ef..3f38d969c1 100644
--- a/composer/ChangeLog
+++ b/composer/ChangeLog
@@ -1,3 +1,16 @@
+2000-10-19 Michael Meeks <michael@helixcode.com>
+
+ * e-msg-composer.c (create_menubar_file, create_menubar_edit),
+ (create_menubar_format, create_menubar_view, create_menubar): kill.
+ (create_toolbar): die.
+ (setup_ui): impl.
+ (e_msg_composer_construct): hook in.
+ (menu_format_html_cb): update.
+ (menu_view_attachments_activate_cb): ditto.
+ (destroy): upd.
+ (e_msg_composer_construct): upd.
+ (e_msg_composer_set_send_html): upd.
+
2000-10-16 Iain Holmes <iain@helixcode.com>
* e-msg-composer-hdrs.c (init): Don't need the ID anymore.
diff --git a/composer/Makefile.am b/composer/Makefile.am
index ea7407b326..5d1b396bfc 100644
--- a/composer/Makefile.am
+++ b/composer/Makefile.am
@@ -44,6 +44,7 @@ INCLUDES = \
$(BONOBO_GNOME_CFLAGS) \
$(GTKHTML_CFLAGS) \
$(UNICODE_CFLAGS) \
+ -DEVOLUTION_DATADIR=\"$(datadir)\" \
-DE_GLADEDIR=\"$(gladedir)\" \
-DG_LOG_DOMAIN=\"composer\"
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index e05dc71103..f614c6512d 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -564,7 +564,7 @@ do_exit (EMsgComposer *composer)
/* Menu callbacks. */
static void
-menu_file_open_cb (BonoboUIHandler *uih,
+menu_file_open_cb (BonoboUIComponent *uic,
void *data,
const char *path)
{
@@ -583,7 +583,7 @@ menu_file_open_cb (BonoboUIHandler *uih,
}
static void
-menu_file_save_cb (BonoboUIHandler *uih,
+menu_file_save_cb (BonoboUIComponent *uic,
void *data,
const char *path)
{
@@ -608,7 +608,7 @@ menu_file_save_cb (BonoboUIHandler *uih,
}
static void
-menu_file_save_as_cb (BonoboUIHandler *uih,
+menu_file_save_as_cb (BonoboUIComponent *uic,
void *data,
const char *path)
{
@@ -620,7 +620,7 @@ menu_file_save_as_cb (BonoboUIHandler *uih,
}
static void
-menu_file_send_cb (BonoboUIHandler *uih,
+menu_file_send_cb (BonoboUIComponent *uic,
void *data,
const char *path)
{
@@ -628,7 +628,7 @@ menu_file_send_cb (BonoboUIHandler *uih,
}
static void
-menu_file_send_later_cb (BonoboUIHandler *uih,
+menu_file_send_later_cb (BonoboUIComponent *uic,
void *data,
const char *path)
{
@@ -636,7 +636,7 @@ menu_file_send_later_cb (BonoboUIHandler *uih,
}
static void
-menu_file_close_cb (BonoboUIHandler *uih,
+menu_file_close_cb (BonoboUIComponent *uic,
void *data,
const char *path)
{
@@ -647,7 +647,7 @@ menu_file_close_cb (BonoboUIHandler *uih,
}
static void
-menu_file_add_attachment_cb (BonoboUIHandler *uih,
+menu_file_add_attachment_cb (BonoboUIComponent *uic,
void *data,
const char *path)
{
@@ -661,14 +661,21 @@ menu_file_add_attachment_cb (BonoboUIHandler *uih,
}
static void
-menu_view_attachments_activate_cb (BonoboUIHandler *uih,
- void *data,
- const char *path)
+menu_view_attachments_activate_cb (BonoboUIComponent *component,
+ const char *path,
+ Bonobo_UIComponent_EventType type,
+ const char *state,
+ gpointer user_data)
+
{
- gboolean state;
+ gboolean new_state;
+
+ if (type != Bonobo_UIComponent_STATE_CHANGED)
+ return;
+
+ new_state = atoi (state);
- state = bonobo_ui_handler_menu_get_toggle_state (uih, path);
- e_msg_composer_show_attachments (E_MSG_COMPOSER (data), state);
+ e_msg_composer_show_attachments (E_MSG_COMPOSER (user_data), new_state);
}
#if 0
@@ -811,7 +818,7 @@ static void fs_selection_get (GtkWidget *widget, GtkSelectionData *sdata,
#endif
static void
-menu_file_insert_file_cb (BonoboUIHandler *uih,
+menu_file_insert_file_cb (BonoboUIComponent *uic,
void *data,
const char *path)
{
@@ -837,205 +844,76 @@ menu_file_insert_file_cb (BonoboUIHandler *uih,
}
static void
-menu_format_html_cb (BonoboUIHandler *uih,
- void *data,
- const char *path)
+menu_format_html_cb (BonoboUIComponent *component,
+ const char *path,
+ Bonobo_UIComponent_EventType type,
+ const char *state,
+ gpointer user_data)
+
{
EMsgComposer *composer;
gboolean new_state;
- composer = E_MSG_COMPOSER (data);
+ if (type != Bonobo_UIComponent_STATE_CHANGED)
+ return;
+
+ composer = E_MSG_COMPOSER (user_data);
- new_state = bonobo_ui_handler_menu_get_toggle_state (uih, path);
- if ((new_state && composer->send_html) || (! new_state && ! composer->send_html))
+ new_state = atoi (state);
+
+ if ((new_state && composer->send_html) ||
+ (! new_state && ! composer->send_html))
return;
e_msg_composer_set_send_html (composer, new_state);
}
-/* Menu bar creation. */
+static BonoboUIVerb verbs [] = {
-static void
-create_menubar_file (EMsgComposer *composer,
- BonoboUIHandler *uih)
-{
- bonobo_ui_handler_menu_new_subtree (uih, "/File",
- _("_File"),
- NULL, -1,
- BONOBO_UI_HANDLER_PIXMAP_NONE, NULL,
- 0, 0);
-
- bonobo_ui_handler_menu_new_item (uih, "/File/Open",
- _("_Open..."),
- _("Load a previously saved message"),
- -1,
- BONOBO_UI_HANDLER_PIXMAP_STOCK,
- GNOME_STOCK_MENU_OPEN,
- 0, 0,
- menu_file_open_cb, composer);
-
- bonobo_ui_handler_menu_new_item (uih, "/File/Save",
- _("_Save..."),
- _("Save message"),
- -1,
- BONOBO_UI_HANDLER_PIXMAP_STOCK,
- GNOME_STOCK_MENU_SAVE,
- 0, 0,
- menu_file_save_cb, composer);
-
- bonobo_ui_handler_menu_new_item (uih, "/File/Save as",
- _("Save _as..."),
- _("Save message with a different name"),
- -1,
- BONOBO_UI_HANDLER_PIXMAP_STOCK,
- GNOME_STOCK_MENU_SAVE_AS,
- 0, 0,
- menu_file_save_as_cb, composer);
-
- bonobo_ui_handler_menu_new_item (uih, "/File/Save in folder",
- _("Save in _folder..."),
- _("Save the message in a specified folder"),
- -1,
- BONOBO_UI_HANDLER_PIXMAP_NONE, NULL,
- 0, 0,
- NULL, composer);
-
- bonobo_ui_handler_menu_new_separator (uih, "/File/Separator1", -1);
-
- bonobo_ui_handler_menu_new_item (uih, "/File/Insert text file",
- _("_Insert text file... (FIXME)"),
- _("Insert a file as text into the message"),
- -1,
- BONOBO_UI_HANDLER_PIXMAP_NONE, NULL,
- 0, 0,
- menu_file_insert_file_cb, composer);
-
- bonobo_ui_handler_menu_new_separator (uih, "/File/Separator2", -1);
-
- bonobo_ui_handler_menu_new_item (uih, "/File/Send Now",
- _("Send _Now"),
- _("Send the message now"),
- -1,
- BONOBO_UI_HANDLER_PIXMAP_STOCK,
- GNOME_STOCK_MENU_MAIL_SND,
- 0, 0,
- menu_file_send_cb, composer);
-
- bonobo_ui_handler_menu_new_item (uih, "/File/Send Later",
- _("Send _Later"),
- _("Send the message later"),
- -1,
- BONOBO_UI_HANDLER_PIXMAP_STOCK,
- GNOME_STOCK_MENU_MAIL_SND,
- 0, 0,
- menu_file_send_later_cb, composer);
-
- bonobo_ui_handler_menu_new_separator (uih, "/File/Separator3", -1);
-
- bonobo_ui_handler_menu_new_item (uih, "/File/Close",
- _("_Close..."),
- _("Quit the message composer"),
- -1,
- BONOBO_UI_HANDLER_PIXMAP_STOCK,
- GNOME_STOCK_MENU_CLOSE,
- 0, 0,
- menu_file_close_cb, composer);
-}
+ BONOBO_UI_UNSAFE_VERB ("FileOpen", menu_file_open_cb),
+ BONOBO_UI_UNSAFE_VERB ("FileSave", menu_file_save_cb),
+ BONOBO_UI_UNSAFE_VERB ("FileSaveAs", menu_file_save_as_cb),
+ BONOBO_UI_UNSAFE_VERB ("FileClose", menu_file_close_cb),
-static void
-create_menubar_edit (EMsgComposer *composer,
- BonoboUIHandler *uih)
-{
- bonobo_ui_handler_menu_new_subtree (uih, "/Edit",
- _("_Edit"),
- NULL, -1,
- BONOBO_UI_HANDLER_PIXMAP_NONE, NULL,
- 0, 0);
-}
+ BONOBO_UI_UNSAFE_VERB ("FileInsertFile", menu_file_insert_file_cb),
+ BONOBO_UI_UNSAFE_VERB ("FileAttach", menu_file_add_attachment_cb),
-static void
-create_menubar_format (EMsgComposer *composer,
- BonoboUIHandler *uih)
-{
- bonobo_ui_handler_menu_new_subtree (uih, "/Format",
- _("F_ormat"),
- NULL, -1,
- BONOBO_UI_HANDLER_PIXMAP_NONE, NULL,
- 0, 0);
-
- bonobo_ui_handler_menu_new_toggleitem (uih, "/Format/HTML",
- _("HTML"),
- _("Send the mail in HTML format"),
- -1,
- 0, 0,
- menu_format_html_cb, composer);
-
- bonobo_ui_handler_menu_set_toggle_state (uih, "/Format/HTML", composer->send_html);
-}
+ BONOBO_UI_UNSAFE_VERB ("FileSend", menu_file_send_cb),
+ BONOBO_UI_UNSAFE_VERB ("FileSendLater", menu_file_send_later_cb),
-static void
-create_menubar_view (EMsgComposer *composer,
- BonoboUIHandler *uih)
-{
- bonobo_ui_handler_menu_new_subtree (uih, "/View",
- _("_View"),
- NULL, -1,
- BONOBO_UI_HANDLER_PIXMAP_NONE, NULL,
- 0, 0);
-
- bonobo_ui_handler_menu_new_toggleitem (uih, "/View/Show attachments",
- _("Show _attachments"),
- _("Show/hide attachments"),
- -1,
- 0, 0,
- menu_view_attachments_activate_cb, composer);
-}
+ BONOBO_UI_VERB_END
+};
static void
-create_menubar (EMsgComposer *composer)
+setup_ui (EMsgComposer *composer)
{
- BonoboUIHandler *uih;
-
- uih = composer->uih;
- bonobo_ui_handler_create_menubar (uih);
-
- create_menubar_file (composer, uih);
- create_menubar_edit (composer, uih);
- create_menubar_format (composer, uih);
- create_menubar_view (composer, uih);
-}
+ BonoboUIContainer *container;
-
-/* Toolbar implementation. */
+ container = bonobo_ui_container_new ();
+ bonobo_ui_container_set_win (container, BONOBO_WIN (composer));
-static void
-create_toolbar (EMsgComposer *composer)
-{
- BonoboUIHandler *uih;
-
- uih = composer->uih;
- bonobo_ui_handler_create_toolbar (uih, "Toolbar");
-
- bonobo_ui_handler_toolbar_new_item (uih,
- "/Toolbar/Send",
- _("Send"),
- _("Send this message"),
- -1,
- BONOBO_UI_HANDLER_PIXMAP_STOCK,
- GNOME_STOCK_PIXMAP_MAIL_SND,
- 0, 0,
- menu_file_send_cb, composer);
-
- bonobo_ui_handler_toolbar_new_item (uih,
- "/Toolbar/Attach",
- _("Attach"),
- _("Attach a file"),
- -1,
- BONOBO_UI_HANDLER_PIXMAP_STOCK,
- GNOME_STOCK_PIXMAP_ATTACH,
- 0, 0,
- menu_file_add_attachment_cb, composer);
+ composer->uic = bonobo_ui_component_new ("evolution-message-composer");
+ bonobo_ui_component_set_container (
+ composer->uic, bonobo_object_corba_objref (BONOBO_OBJECT (container)));
+
+ bonobo_ui_component_add_verb_list_with_data (
+ composer->uic, verbs, composer);
+
+ bonobo_ui_util_set_ui (composer->uic, EVOLUTION_DATADIR,
+ "evolution-message-composer.xml",
+ "evolution-message-composer");
+
+ bonobo_ui_component_set_prop (composer->uic, "/commands/FormatHtml",
+ "state", composer->send_html ? "1" : "0", NULL);
+
+ bonobo_ui_component_add_listener (
+ composer->uic, "FormatHtml",
+ menu_format_html_cb, composer);
+
+ bonobo_ui_component_add_listener (
+ composer->uic, "ViewAttach",
+ menu_view_attachments_activate_cb, composer);
}
@@ -1066,7 +944,9 @@ destroy (GtkObject *object)
composer = E_MSG_COMPOSER (object);
- bonobo_object_unref (BONOBO_OBJECT (composer->uih));
+ if (composer->uic)
+ bonobo_object_unref (BONOBO_OBJECT (composer->uic));
+ composer->uic = NULL;
/* FIXME? I assume the Bonobo widget will get destroyed
normally? */
@@ -1188,7 +1068,7 @@ class_init (EMsgComposerClass *klass)
static void
init (EMsgComposer *composer)
{
- composer->uih = NULL;
+ composer->uic = NULL;
composer->hdrs = NULL;
composer->extra_hdr_names = g_ptr_array_new ();
@@ -1262,8 +1142,7 @@ e_msg_composer_construct (EMsgComposer *composer)
gtk_signal_connect (GTK_OBJECT (composer), "drag_data_received",
GTK_SIGNAL_FUNC (drag_data_received), NULL);
- composer->uih = bonobo_ui_handler_new ();
- bonobo_ui_handler_set_app (composer->uih, BONOBO_WIN (composer));
+ setup_ui (composer);
vbox = gtk_vbox_new (FALSE, 0);
@@ -1272,12 +1151,10 @@ e_msg_composer_construct (EMsgComposer *composer)
gtk_widget_show (composer->hdrs);
/* Editor component. */
-
- create_menubar (composer);
- create_toolbar (composer);
composer->editor = bonobo_widget_new_control (
HTML_EDITOR_CONTROL_ID,
- bonobo_ui_compat_get_container (composer->uih));
+ bonobo_ui_component_get_container (composer->uic));
+
if (!composer->editor)
return;
@@ -1767,7 +1644,9 @@ e_msg_composer_set_send_html (EMsgComposer *composer,
return;
composer->send_html = send_html;
- bonobo_ui_handler_menu_set_toggle_state (composer->uih, "/Format/HTML", send_html);
+
+ bonobo_ui_component_set_prop (composer->uic, "/commands/FormatHtml",
+ "state", composer->send_html ? "1" : "0", NULL);
}
/**
diff --git a/composer/e-msg-composer.h b/composer/e-msg-composer.h
index 48a933329e..68ab9bef7c 100644
--- a/composer/e-msg-composer.h
+++ b/composer/e-msg-composer.h
@@ -49,7 +49,7 @@ typedef struct _EMsgComposerClass EMsgComposerClass;
struct _EMsgComposer {
BonoboWin parent;
- BonoboUIHandler *uih;
+ BonoboUIComponent *uic;
GtkWidget *hdrs;
GPtrArray *extra_hdr_names, *extra_hdr_values;