From 15b4b77c8ae5dabda4e3c4eb30e4345d5effdfb1 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Fri, 12 Nov 1999 03:15:30 +0000 Subject: Some message composer improvements. svn path=/trunk/; revision=1382 --- widgets/ChangeLog | 46 +++++ widgets/Makefile.am | 10 +- widgets/e-msg-composer-address-dialog.glade | 297 ++++++++++++++-------------- widgets/e-msg-composer-attachment-bar.c | 86 ++++++-- widgets/e-msg-composer-attachment.c | 20 ++ widgets/e-msg-composer-attachment.h | 3 +- widgets/e-msg-composer-hdrs.c | 55 +++++- widgets/e-msg-composer-hdrs.h | 2 + widgets/e-msg-composer.c | 8 +- widgets/e-table/ChangeLog | 46 +++++ widgets/e-table/Makefile.am | 10 +- 11 files changed, 402 insertions(+), 181 deletions(-) diff --git a/widgets/ChangeLog b/widgets/ChangeLog index 430c404172..d0c7b288e4 100644 --- a/widgets/ChangeLog +++ b/widgets/ChangeLog @@ -1,3 +1,49 @@ +1999-11-12 Ettore Perazzoli + + * e-msg-composer-address-dialog.glade: Cosmetical changes. + + * e-msg-composer-attachment-bar.c (size_to_string): New helper + function. + (update): Put the size in the icon's label using this function. + (ICON_SEPARATORS): Remove '.' to avoid wrapping of the size string + on the decimal dot. But gnome-libs is broken and this has no real + effect! :-( + (e_msg_composer_attachment_bar_new): No longer make text editable. + Use the `GTK_SELECTION_MULTIPLE' selection mode. + (remove_selected): No longer assume only one attachment is + selected. + + * e-msg-composer-attachment.c: #include + (init): Initialize all the members. + (e_msg_composer_attachment_new): Set size using `stat()'. + + * e-msg-composer-attachment.h: New member `size' in `struct + _EMsgComposerAttachment'. + + * e-msg-composer.c (setup_signals): Connect `address_dialog_cb' to + the "show_address_dialog" signal of the header widget. + + * e-msg-composer-hdrs.c (add_address_header): Renamed to + `add_header'. New parameter `addrbook_button': if true, use a + button instead of a label and make it trigger an + "show_address_dialog" signal. + (address_button_clicked_cb): Signal handler to handle this on a + "clicked" signal from the button. + (setup_headers): Updated accordingly. Also, make "Subject" the + last item. (This makes it look more like Outlook and friends.) + + * e-msg-composer-hdrs.c: New signal "show_address_dialog". + * e-msg-composer-hdrs.h: Updated accordingly. + + * e-msg-composer-hdrs.c (add_address_header): Reduce padding + considerably. + + * e-msg-composer.c (e_msg_composer_construct): Do not use any + padding in the main vbox. + + * Makefile.am: Moved the `e-table*' sources to `EXTRA_DIST'. + Compile as a shared library. + 1999-11-08 Ettore Perazzoli * e-msg-composer-address-dialog.c: Implemented cut & paste for the diff --git a/widgets/Makefile.am b/widgets/Makefile.am index 1a410e298e..875e61f6b1 100644 --- a/widgets/Makefile.am +++ b/widgets/Makefile.am @@ -13,10 +13,10 @@ INCLUDES = \ CPPFLAGS = \ -DE_GUIDIR=\"$(guidir)\" -noinst_LIBRARIES = \ - libevolutionwidgets.a +noinst_LTLIBRARIES = \ + libevolutionwidgets.la -libevolutionwidgets_a_SOURCES = \ +libevolutionwidgets_la_SOURCES = \ e-msg-composer-address-dialog.c \ e-msg-composer-address-dialog.h \ e-msg-composer-address-entry.c \ @@ -28,7 +28,9 @@ libevolutionwidgets_a_SOURCES = \ e-msg-composer-hdrs.c \ e-msg-composer-hdrs.h \ e-msg-composer.c \ - e-msg-composer.h \ + e-msg-composer.h + +EXTRA_DIST = \ e-table-group.c \ e-table-group.h \ e-table-header.c \ diff --git a/widgets/e-msg-composer-address-dialog.glade b/widgets/e-msg-composer-address-dialog.glade index 03452ea25b..2249c27daf 100644 --- a/widgets/e-msg-composer-address-dialog.glade +++ b/widgets/e-msg-composer-address-dialog.glade @@ -55,7 +55,7 @@ 2 False 0 - 0 + 2 0 True @@ -88,33 +88,79 @@ + + GtkLabel + label1 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 1 + 2 + 0 + 1 + 0 + 0 + True + True + False + False + True + True + + + GtkHBox - hbox2 - True - 0 + hbox1 + False + 5 0 1 - 2 - 3 + 0 + 1 0 0 False False False False - True - True + False + False - GtkButton - button5 + GtkLabel + label2 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 0 + False + False + + + + + GtkEntry + name_entry True - + True + True + 0 + - 10 + 5 True True @@ -122,13 +168,14 @@ GtkButton - button6 + search_button + 65 True - + - 10 - True - True + 0 + False + False @@ -136,8 +183,6 @@ GtkScrolledWindow scrolledwindow1 - 200 - 200 GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_UPDATE_CONTINUOUS @@ -147,8 +192,8 @@ 1 1 2 - 5 - 10 + 0 + 5 True True False @@ -160,9 +205,11 @@ GtkCList address_clist + 180 + 200 True 2 - 128,80 + 128,107 GTK_SELECTION_BROWSE True GTK_SHADOW_IN @@ -171,7 +218,7 @@ GtkLabel CList:title label5 - 150 + 50 GTK_JUSTIFY_LEFT False @@ -185,7 +232,7 @@ GtkLabel CList:title label6 - 1024 + 100 GTK_JUSTIFY_LEFT False @@ -197,6 +244,51 @@ + + GtkHBox + hbox2 + True + 10 + + 0 + 1 + 2 + 3 + 0 + 0 + False + False + False + False + True + True + + + + GtkButton + button5 + True + + + 0 + True + True + + + + + GtkButton + button6 + True + + + 0 + True + True + + + + GtkTable table2 @@ -211,7 +303,7 @@ 1 2 0 - 10 + 5 False False False @@ -222,16 +314,16 @@ GtkButton - cc_add_button + to_add_button 60 True - + 0 1 - 1 - 2 - 10 + 0 + 1 + 5 0 True True @@ -244,16 +336,16 @@ GtkButton - to_add_button + cc_add_button 60 True - + 0 1 - 0 - 1 - 10 + 1 + 2 + 5 0 True True @@ -269,13 +361,13 @@ bcc_add_button 60 True - + 0 1 2 3 - 10 + 5 0 True True @@ -288,7 +380,7 @@ GtkScrolledWindow - scrolledwindow2 + scrolledwindow4 GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_UPDATE_CONTINUOUS @@ -296,9 +388,9 @@ 1 2 - 0 - 1 - 5 + 2 + 3 + 2 0 True True @@ -310,8 +402,8 @@ GtkCList - to_clist - 200 + bcc_clist + 180 100 True 1 @@ -323,8 +415,8 @@ GtkLabel CList:title - label7 - + label9 + GTK_JUSTIFY_CENTER False 0.5 @@ -337,7 +429,7 @@ GtkScrolledWindow - scrolledwindow4 + scrolledwindow2 GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_UPDATE_CONTINUOUS @@ -345,9 +437,9 @@ 1 2 - 2 - 3 - 5 + 0 + 1 + 2 0 True True @@ -359,8 +451,8 @@ GtkCList - bcc_clist - 200 + to_clist + 180 100 True 1 @@ -372,8 +464,8 @@ GtkLabel CList:title - label9 - + label7 + GTK_JUSTIFY_CENTER False 0.5 @@ -396,8 +488,8 @@ 2 1 2 - 5 - 10 + 2 + 4 True True False @@ -409,7 +501,7 @@ GtkCList cc_clist - 200 + 180 100 True 1 @@ -433,98 +525,6 @@ - - - GtkLabel - label1 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 1 - 2 - 0 - 1 - 0 - 0 - True - True - False - False - True - True - - - - - GtkHBox - hbox1 - False - 0 - - 0 - 1 - 0 - 1 - 5 - 0 - False - False - False - False - False - False - - - - GtkLabel - label2 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 5 - False - False - - - - - GtkEntry - name_entry - True - True - True - 0 - - - 5 - True - True - - - - - GtkButton - search_button - 65 - True - - - 5 - False - False - - - @@ -548,6 +548,7 @@ GtkButton button1 True + True True GNOME_STOCK_BUTTON_OK diff --git a/widgets/e-msg-composer-attachment-bar.c b/widgets/e-msg-composer-attachment-bar.c index 9722741a0c..f30b953d2b 100644 --- a/widgets/e-msg-composer-attachment-bar.c +++ b/widgets/e-msg-composer-attachment-bar.c @@ -29,7 +29,7 @@ #define ICON_WIDTH 64 -#define ICON_SEPARATORS " /-_." +#define ICON_SEPARATORS " /-_" #define ICON_SPACING 2 #define ICON_ROW_SPACING ICON_SPACING #define ICON_COL_SPACING ICON_SPACING @@ -58,6 +58,43 @@ static guint signals[LAST_SIGNAL] = { 0 }; static void update (EMsgComposerAttachmentBar *bar); + +static gchar * +size_to_string (gulong size) +{ + gchar *size_string; + + /* FIXME: The following should probably go into a separate module, as + we might have to do the same thing in other places as well. Also, + I am not sure this will be OK for all the languages. */ + + if (size < 1e3L) { + if (size == 1) + size_string = g_strdup (_("1 byte")); + else + size_string = g_strdup_printf (_("%u bytes"), + (guint) size); + } else { + gdouble displayed_size; + + if (size < 1e6L) { + displayed_size = (gdouble) size / 1.0e3; + size_string = g_strdup_printf (_("%.1fK"), + displayed_size); + } else if (size < 1e9L) { + displayed_size = (gdouble) size / 1.0e6; + size_string = g_strdup_printf (_("%.1fM"), + displayed_size); + } else { + displayed_size = (gdouble) size / 1.0e9; + size_string = g_strdup_printf (_("%.1fG"), + displayed_size); + } + } + + return size_string; +} + /* Sorting. */ @@ -162,6 +199,8 @@ update (EMsgComposerAttachmentBar *bar) for (p = priv->attachments; p != NULL; p = p->next) { EMsgComposerAttachment *attachment; const gchar *icon_name; + gchar *size_string; + gchar *label; attachment = p->data; icon_name = gnome_mime_get_value (attachment->mime_type, @@ -172,8 +211,17 @@ update (EMsgComposerAttachmentBar *bar) icon_name = gnome_mime_get_value ("text/plain", "icon-filename"); - gnome_icon_list_append (icon_list, icon_name, - attachment->description); + size_string = size_to_string (attachment->size); + + /* FIXME: If GnomeIconList honoured "\n", the result would be a + lot better. */ + label = g_strconcat (attachment->description, "\n(", + size_string, ")", NULL); + + gnome_icon_list_append (icon_list, icon_name, label); + + g_free (label); + g_free (size_string); } gnome_icon_list_thaw (icon_list); @@ -184,17 +232,29 @@ remove_selected (EMsgComposerAttachmentBar *bar) { GnomeIconList *icon_list; EMsgComposerAttachment *attachment; + GList *attachment_list; + GList *p; gint num; icon_list = GNOME_ICON_LIST (bar); - num = GPOINTER_TO_INT (icon_list->selection->data); - /* FIXME do this with icon data. */ + /* Weee! I am especially proud of this piece of cheesy code: it is + truly awful. But unless one attaches a huge number of files, it + will not be as greedy as intended. FIXME of course. */ + + attachment_list = NULL; + for (p = icon_list->selection; p != NULL; p = p->next) { + num = GPOINTER_TO_INT (p->data); + attachment = E_MSG_COMPOSER_ATTACHMENT + (g_list_nth (bar->priv->attachments, num)->data); + attachment_list = g_list_prepend (attachment_list, attachment); + } + + for (p = attachment_list; p != NULL; p = p->next) + remove_attachment (bar, E_MSG_COMPOSER_ATTACHMENT (p->data)); - attachment = E_MSG_COMPOSER_ATTACHMENT - (g_list_nth (bar->priv->attachments, num)->data); + g_list_free (attachment_list); - remove_attachment (bar, attachment); update (bar); } @@ -299,7 +359,7 @@ remove_cb (GtkWidget *widget, static GnomeUIInfo icon_context_menu_info[] = { GNOMEUIINFO_ITEM (N_("Remove"), - N_("Remove this item from the attachment list"), + N_("Remove selected items from the attachment list"), remove_cb, NULL), GNOMEUIINFO_MENU_PROPERTIES_ITEM (properties_cb, NULL), GNOMEUIINFO_END @@ -481,7 +541,8 @@ init (EMsgComposerAttachmentBar *bar) /* FIXME partly hardcoded. We should compute height from the font, and allow at least 2 lines for every item. */ - icon_size = ICON_WIDTH + ICON_SPACING + ICON_BORDER + ICON_TEXT_SPACING + 24; + icon_size = ICON_WIDTH + ICON_SPACING + ICON_BORDER + ICON_TEXT_SPACING; + icon_size += 24; gtk_widget_set_usize (GTK_WIDGET (bar), icon_size * 4, icon_size); } @@ -524,15 +585,14 @@ e_msg_composer_attachment_bar_new (GtkAdjustment *adj) icon_list = GNOME_ICON_LIST (new); - gnome_icon_list_construct (icon_list, ICON_WIDTH, adj, - GNOME_ICON_LIST_IS_EDITABLE); + gnome_icon_list_construct (icon_list, ICON_WIDTH, adj, 0); gnome_icon_list_set_separators (icon_list, ICON_SEPARATORS); gnome_icon_list_set_row_spacing (icon_list, ICON_ROW_SPACING); gnome_icon_list_set_col_spacing (icon_list, ICON_COL_SPACING); gnome_icon_list_set_icon_border (icon_list, ICON_BORDER); gnome_icon_list_set_text_spacing (icon_list, ICON_TEXT_SPACING); - gnome_icon_list_set_selection_mode (icon_list, GTK_SELECTION_SINGLE); + gnome_icon_list_set_selection_mode (icon_list, GTK_SELECTION_MULTIPLE); return GTK_WIDGET (new); } diff --git a/widgets/e-msg-composer-attachment.c b/widgets/e-msg-composer-attachment.c index c9e5029c9b..4ab8de42c4 100644 --- a/widgets/e-msg-composer-attachment.c +++ b/widgets/e-msg-composer-attachment.c @@ -21,7 +21,16 @@ * Author: Ettore Perazzoli */ +/* This is the object representing an email attachment. It is implemented as a + GtkObject to make it easier for the application to handle it. For example, + the "changed" signal is emitted whenever something changes in the + attachment. Also, this contains the code to let users edit the + attachment manually. */ + +#include + #include + #include "e-msg-composer-attachment.h" @@ -122,6 +131,11 @@ class_init (EMsgComposerAttachmentClass *klass) static void init (EMsgComposerAttachment *msg_composer_attachment) { + msg_composer_attachment->editor_gui = NULL; + msg_composer_attachment->file_name = NULL; + msg_composer_attachment->description = NULL; + msg_composer_attachment->mime_type = NULL; + msg_composer_attachment->size = 0; } GtkType @@ -158,6 +172,7 @@ EMsgComposerAttachment * e_msg_composer_attachment_new (const gchar *file_name) { EMsgComposerAttachment *new; + struct stat statbuf; g_return_val_if_fail (file_name != NULL, NULL); @@ -168,6 +183,11 @@ e_msg_composer_attachment_new (const gchar *file_name) new->file_name = g_strdup (file_name); new->description = g_strdup (g_basename (new->file_name)); + if (stat (file_name, &statbuf) < 0) + new->size = 0; + else + new->size = statbuf.st_size; + init_mime_type (new); return new; diff --git a/widgets/e-msg-composer-attachment.h b/widgets/e-msg-composer-attachment.h index 07dd7f247d..7e3c88238b 100644 --- a/widgets/e-msg-composer-attachment.h +++ b/widgets/e-msg-composer-attachment.h @@ -49,12 +49,13 @@ struct _EMsgComposerAttachment { gchar *file_name; gchar *description; gchar *mime_type; + + gulong size; }; struct _EMsgComposerAttachmentClass { GtkObjectClass parent_class; - /* Signals go here */ void (*changed) (EMsgComposerAttachment *msg_composer_attachment); }; diff --git a/widgets/e-msg-composer-hdrs.c b/widgets/e-msg-composer-hdrs.c index 2fe537dabf..cc5b892ffa 100644 --- a/widgets/e-msg-composer-hdrs.c +++ b/widgets/e-msg-composer-hdrs.c @@ -46,29 +46,55 @@ struct _EMsgComposerHdrsPrivate { static GtkTableClass *parent_class = NULL; +enum { + SHOW_ADDRESS_DIALOG, + LAST_SIGNAL +}; + +static gint signals[LAST_SIGNAL]; + +static void +address_button_clicked_cb (GtkButton *button, + gpointer data) +{ + gtk_signal_emit (GTK_OBJECT (data), signals[SHOW_ADDRESS_DIALOG]); +} + static GtkWidget * -add_address_header (EMsgComposerHdrs *hdrs, - const gchar *name) +add_header (EMsgComposerHdrs *hdrs, + const gchar *name, + gboolean addrbook_button) { EMsgComposerHdrsPrivate *priv; GtkWidget *label; GtkWidget *entry; + guint pad; priv = hdrs->priv; - label = gtk_label_new (name); + if (addrbook_button) { + label = gtk_button_new_with_label (name); + gtk_signal_connect (GTK_OBJECT (label), "clicked", + GTK_SIGNAL_FUNC (address_button_clicked_cb), + hdrs); + pad = 2; + } else { + label = gtk_label_new (name); + pad = GNOME_PAD; + } + gtk_table_attach (GTK_TABLE (hdrs), label, 0, 1, priv->num_hdrs, priv->num_hdrs + 1, GTK_FILL, GTK_FILL, - GNOME_PAD, GNOME_PAD); + pad, pad); gtk_widget_show (label); entry = e_msg_composer_address_entry_new (); gtk_table_attach (GTK_TABLE (hdrs), entry, 1, 2, priv->num_hdrs, priv->num_hdrs + 1, GTK_FILL | GTK_EXPAND, GTK_FILL, - GNOME_PAD, GNOME_PAD); + 2, 2); gtk_widget_show (entry); priv->num_hdrs++; @@ -83,10 +109,10 @@ setup_headers (EMsgComposerHdrs *hdrs) priv = hdrs->priv; - priv->subject_entry = add_address_header (hdrs, _("Subject:")); - priv->to_entry = add_address_header (hdrs, _("To:")); - priv->cc_entry = add_address_header (hdrs, _("Cc:")); - priv->bcc_entry = add_address_header (hdrs, _("Bcc:")); + priv->to_entry = add_header (hdrs, _("To:"), TRUE); + priv->cc_entry = add_header (hdrs, _("Cc:"), TRUE); + priv->bcc_entry = add_header (hdrs, _("Bcc:"), TRUE); + priv->subject_entry = add_header (hdrs, _("Subject:"), FALSE); } @@ -98,6 +124,17 @@ class_init (EMsgComposerHdrsClass *klass) object_class = (GtkObjectClass*) klass; parent_class = gtk_type_class (gtk_table_get_type ()); + + signals[SHOW_ADDRESS_DIALOG] = + gtk_signal_new ("show_address_dialog", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (EMsgComposerHdrsClass, + show_address_dialog), + gtk_marshal_NONE__NONE, + GTK_TYPE_NONE, 0); + + gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL); } static void diff --git a/widgets/e-msg-composer-hdrs.h b/widgets/e-msg-composer-hdrs.h index 404a4cb8ca..d053573d85 100644 --- a/widgets/e-msg-composer-hdrs.h +++ b/widgets/e-msg-composer-hdrs.h @@ -51,6 +51,8 @@ struct _EMsgComposerHdrs { struct _EMsgComposerHdrsClass { GtkTableClass parent_class; + + void (* show_address_dialog) (EMsgComposerHdrs *hdrs); }; diff --git a/widgets/e-msg-composer.c b/widgets/e-msg-composer.c index 453bed57f0..8e83c3e11c 100644 --- a/widgets/e-msg-composer.c +++ b/widgets/e-msg-composer.c @@ -323,6 +323,10 @@ setup_signals (EMsgComposer *composer) "changed", GTK_SIGNAL_FUNC (attachment_bar_changed), composer); + + gtk_signal_connect (GTK_OBJECT (composer->hdrs), "show_address_dialog", + GTK_SIGNAL_FUNC (address_dialog_cb), + composer); } @@ -455,7 +459,7 @@ e_msg_composer_construct (EMsgComposer *composer) glade_xml_get_widget (composer->appbar_gui, "appbar")); - vbox = gtk_vbox_new (FALSE, GNOME_PAD); + vbox = gtk_vbox_new (FALSE, 0); composer->hdrs = e_msg_composer_hdrs_new (); gtk_box_pack_start (GTK_BOX (vbox), composer->hdrs, FALSE, TRUE, 0); @@ -492,7 +496,7 @@ e_msg_composer_construct (EMsgComposer *composer) composer->attachment_bar); gtk_box_pack_start (GTK_BOX (vbox), composer->attachment_scrolled_window, - FALSE, TRUE, 0); + FALSE, TRUE, GNOME_PAD_SMALL); gnome_app_set_contents (GNOME_APP (composer), vbox); gtk_widget_show (vbox); diff --git a/widgets/e-table/ChangeLog b/widgets/e-table/ChangeLog index 430c404172..d0c7b288e4 100644 --- a/widgets/e-table/ChangeLog +++ b/widgets/e-table/ChangeLog @@ -1,3 +1,49 @@ +1999-11-12 Ettore Perazzoli + + * e-msg-composer-address-dialog.glade: Cosmetical changes. + + * e-msg-composer-attachment-bar.c (size_to_string): New helper + function. + (update): Put the size in the icon's label using this function. + (ICON_SEPARATORS): Remove '.' to avoid wrapping of the size string + on the decimal dot. But gnome-libs is broken and this has no real + effect! :-( + (e_msg_composer_attachment_bar_new): No longer make text editable. + Use the `GTK_SELECTION_MULTIPLE' selection mode. + (remove_selected): No longer assume only one attachment is + selected. + + * e-msg-composer-attachment.c: #include + (init): Initialize all the members. + (e_msg_composer_attachment_new): Set size using `stat()'. + + * e-msg-composer-attachment.h: New member `size' in `struct + _EMsgComposerAttachment'. + + * e-msg-composer.c (setup_signals): Connect `address_dialog_cb' to + the "show_address_dialog" signal of the header widget. + + * e-msg-composer-hdrs.c (add_address_header): Renamed to + `add_header'. New parameter `addrbook_button': if true, use a + button instead of a label and make it trigger an + "show_address_dialog" signal. + (address_button_clicked_cb): Signal handler to handle this on a + "clicked" signal from the button. + (setup_headers): Updated accordingly. Also, make "Subject" the + last item. (This makes it look more like Outlook and friends.) + + * e-msg-composer-hdrs.c: New signal "show_address_dialog". + * e-msg-composer-hdrs.h: Updated accordingly. + + * e-msg-composer-hdrs.c (add_address_header): Reduce padding + considerably. + + * e-msg-composer.c (e_msg_composer_construct): Do not use any + padding in the main vbox. + + * Makefile.am: Moved the `e-table*' sources to `EXTRA_DIST'. + Compile as a shared library. + 1999-11-08 Ettore Perazzoli * e-msg-composer-address-dialog.c: Implemented cut & paste for the diff --git a/widgets/e-table/Makefile.am b/widgets/e-table/Makefile.am index 1a410e298e..875e61f6b1 100644 --- a/widgets/e-table/Makefile.am +++ b/widgets/e-table/Makefile.am @@ -13,10 +13,10 @@ INCLUDES = \ CPPFLAGS = \ -DE_GUIDIR=\"$(guidir)\" -noinst_LIBRARIES = \ - libevolutionwidgets.a +noinst_LTLIBRARIES = \ + libevolutionwidgets.la -libevolutionwidgets_a_SOURCES = \ +libevolutionwidgets_la_SOURCES = \ e-msg-composer-address-dialog.c \ e-msg-composer-address-dialog.h \ e-msg-composer-address-entry.c \ @@ -28,7 +28,9 @@ libevolutionwidgets_a_SOURCES = \ e-msg-composer-hdrs.c \ e-msg-composer-hdrs.h \ e-msg-composer.c \ - e-msg-composer.h \ + e-msg-composer.h + +EXTRA_DIST = \ e-table-group.c \ e-table-group.h \ e-table-header.c \ -- cgit v1.2.3