Commit Graph

1122 Commits

Author SHA1 Message Date
Matthew Barnes 1d6ecf87aa Fix mismatched quotes. 2010-04-07 12:25:57 +01:00
Paolo Borelli f248caf515 Bug 614892 - String leak in the composer 2010-04-06 23:35:12 -04:00
Matthew Barnes 04305b8fa3 Revert some bad assumptions I made in EPluginUI.
We can't require the use of EUIManager everywhere because we don't
control all the UI manager instances -- the most compelling example
being the composer, whose UI manager comes from GtkhtmlEditor.

Instead, EPluginUI will check the instance type and pick an appropriate
"load_from_string" function.
2010-03-15 12:14:36 -04:00
Matthew Barnes 58d0d111af Prevent future bugs like #612792.
Add G_GNUC_NULL_TERMINATED to EAlert functions with variable-length
parameter lists and drop the unnecessary "arg0" parameter so the
function attribute works correctly.
2010-03-15 10:38:59 -04:00
Matthew Barnes d7494c8f16 Shell and UI manager cleanups.
Replace the EVO_EXPRESS environment variable with an --express command
line option.  (Note, this adds a new translatable string for --help.)

Add an EUIManager class with an "express-mode" property and custom load
functions that use our new "express" preprocessor.  This replaces the UI
manager functions in e-utils.c.

(Also going to see if I can get GTK+ to add an "add_ui_from_string"
method to GtkUIManagerClass that we can override.  Then we could just
call gtk_ui_manager_add_ui_from_string() and the preprocessor would
automatically do its thing and chain up.)

Add an "express-mode" read-only GObject property to EShell.

Add e_shell_configure_ui_manager() to e-shell-utils.c.  For now this
just creates a one-way property binding:

    EShell:express-mode -> EUIManager:express-mode

Call this immediately after e_ui_manager_new().  (EUIManager can't do
this itself because it lives too low in the dependency hierarchy and
doesn't know about EShell.)
2010-03-13 20:53:17 -05:00
Matthew Barnes 08b9fa7c73 Coding style and whitespace cleanup. 2010-03-07 19:55:27 -05:00
Marcel Stimberg 6c56bea75f Bug 593789 - Most of the toolbar buttons in the Evolution composer window have no tooltips. 2010-02-22 15:20:46 +05:30
Matthew Barnes 3b5864586c Bug 610124 - Autosave errors dialogues can't be dismissed 2010-02-16 12:51:20 -05:00
Matthew Barnes d7dbab49b5 Bug 554663 - Swap "Save" and "Save as Draft" accelerators in composer 2010-02-16 07:44:44 -05:00
Matthew Barnes 1460590b4a Rearrange composer options.
Renamed the "Security" menu to "Options" moved other options there:

  Request Read Receipt
  Prioritize Message
  Character Encoding
2010-01-23 10:58:01 -05:00
Matthew Barnes 9acd121a93 Coding style and whitespace cleanups. 2010-01-22 23:04:56 -05:00
Jan Holesovsky 5f2fd41ef4 Don't stomp on GConf's identifier namespace. 2010-01-19 10:02:26 -05:00
Matthew Barnes 3e7c7808cc Improve clipboard behavior.
Add "copy-target-list" and "paste-target-list" to the ESelectable
interface.  These are underutilized for the moment, but will eventually
be used to help integrate drag-and-drop support into ESelectable.

Add cut and paste support to EWebView, along with a new "editable"
property and new clipboard signals "copy-clipboard", "cut-clipboard" and
"paste-clipboard".

In EFocusTracker, listen for "owner-changed" signals from the default
clipboard as another trigger to update actions, particularly the Paste
action.  (Unfortunately this doesn't work for EWebView since GtkHtml
implements its own clipboard.)

In EMsgComposer, convert GtkhtmlEditor's clipboard methods to empty
stubs, since EFocusTracker will now trigger EWebView's clipboard
actions.  Also, intercept EWebView::paste-clipboard signals and improve
the interaction between the HTML editor and the attachment bar based on
use cases in bug #603715.
2010-01-17 12:11:08 -05:00
Matthew Barnes cae22334fa Remove dead assignments found by clang. 2010-01-15 21:50:05 -05:00
Milan Crha 4d114e022c Bug #606874 - mktemp disabled in latest glibc-2.11.90-8 2010-01-13 20:01:53 +01:00
Matthew Barnes 16a90e4338 Bug 606542 - Broken paste action on to/cc/subject fields 2010-01-10 11:33:53 -05:00
Matthew Barnes 7636c47051 Bug 606344 - Clicking "Reply to All" button causes Evo to dump core
Adding a GtkhtmlEditor::uri-requested repeater signal was a mistake.
It unnecessarily complicates URI handling and so the composer no longer
uses it -- instead it connects to GtkHTML::url-requested directly.

This also requires commit 203ce61e6ea19323914b9c459b2e79bde5db15be from
GtkHTML to work right.  That commit changes GtkHTML::url-requested to a
G_SIGNAL_RUN_LAST so the composer's signal handler runs first.  If the
composer can handle the URI request, it stops the signal emission so
that nothing else tries to use the freed GtkHTMLStream.

Henceforth consider GtkhtmlEditor::uri-requested to be deprecated.
2010-01-08 15:58:45 -05:00
Matthew Barnes e77ee5d5d3 Coding style and whitespace cleanup. 2010-01-03 12:15:01 -06:00
Matthew Barnes 59bd81691d Compiler and linker flag cleanups. 2009-12-27 14:32:39 -05:00
Matthew Barnes bd31f49bac Coding style and whitespace cleanup. 2009-12-26 00:26:18 -05:00
Matthew Barnes abc0e4c694 Introduce ESelectable and EFocusTracker.
EFocusTracker tracks the input focus within a window and helps keep
the sensitivity of "selectable" actions in the main menu up-to-date.
Selectable actions include Cut, Copy, Paste, Select All and Delete.

EFocusTracker has built-in support for widgets that implement the
GtkEditable interface such as GtkEntry and GtkTextView.  It also
supports custom widgets that implement the ESelectable interface,
which is a subset of GtkEditable and can apply to anything that
displays selectable content (esp. tree views and ETables).

This commit integrates EFocusTracker with EShellWindow, CompEditor,
EMsgComposer, and ESignatureManager.

It also bumps the GtkHTML requirement to 2.29.5 to utilize the new
GtkhtmlEditor:html constructor property.
2009-12-25 15:42:17 -05:00
Milan Crha 83dc762598 Bug #520816 - S/MIME shares "Do not sign meeting requests" with PGP 2009-12-23 19:31:47 +01:00
Paul Bolle bac350343c Bug #604838 - Drop unused alert dialog 2009-12-20 11:20:37 +01:00
Paul Bolle 64dddd6c7c Bug 604822 - Drop more alert titles
Drop all alert titles to be found in *.error.xml. HIG suggests alerts
do not have a title.
2009-12-20 11:08:05 +01:00
Matthew Barnes 12d86c1f7a Merge some composer header changes for Anjal. 2009-12-17 10:55:07 -05:00
Milan Crha 859c8b5a8f Bug #603342 - Memory leak fixes 2009-12-15 11:12:41 +01:00
Jonathon Jongsma 31204c9cc2 Port all error code to use GObject-ified EAlert / EAlertDialog
The changes are mainly including the e-alert-header.h header instead of just
e-alert.h.  This allows us to include e-alert.h in non-UI situations when
necessary.
2009-12-07 12:25:23 -06:00
Matthew Barnes f0adcbbdf7 Bug 551464 - Paste files into composer as attachments 2009-12-03 14:27:05 -05:00
Matthew Barnes d94534c367 Merge bits and pieces of the anjal-evo-2-30 branch. 2009-11-30 18:34:38 -05:00
Jonathon Jongsma c2ee0afbc8 Rename EError to EAlert to match general use better
The EError mechanism is used both for error dialogs as well as basic alerts or
user prompts, so we should give it a more general name which matches this use.

This patch also cleans up a few includes of e-alert.h (formerly e-error.h) that
were not actually being used.

https://bugzilla.gnome.org/show_bug.cgi?id=602963
2009-11-30 13:33:04 -06:00
Jonathon Jongsma ac1f847f7b port composer/ to user new EError API
https://bugzilla.gnome.org/show_bug.cgi?id=602963
2009-11-30 13:31:19 -06:00
Matthew Barnes 0b98cf60cb Fix some details in our asynchronous functions.
Don't unref the GAsyncResult in finish functions.  Do it after calling
g_simple_async_result_complete().  This allows the GAsyncReadyCallback
to be optional, and we'll still clean up resources properly.

Also, don't call g_simple_async_result_complete_in_idle() unless we're
completing an operation from a separate thread, which we're not in any
of the current cases.
2009-11-20 14:24:45 -05:00
Matthew Barnes 054c088169 Bug 589153 - Use GtkBuilder instead of libglade 2009-11-16 19:33:32 -05:00
Matthew Barnes 5a53fa86ce Whitespace cleanup. 2009-11-14 11:55:17 -05:00
Milan Crha b9953ceaed Bug #250046 - Composer addresses reading fixes
- Check for no addresses properly (in post-to only when shown)
- Check for garbage addresses and warn user about those
- Use garbage text in To/CC/Bcc fields when user typed them
2009-11-10 11:46:41 +01:00
Jonathon Jongsma 214f3a8038 Bug 600926 - Fails to build due to missing dependencies 2009-11-09 19:11:03 -05:00
Yan Li 950401c29d Bug 600926 - Fails to build due to missing dependencies 2009-11-09 19:07:52 -05:00
Matthew Barnes f6ba97d964 Bug 601219 - Transient dialogs in composer window blocks main window 2009-11-09 12:31:31 -05:00
Yan Li d209b89674 Bug #599792 - Anjal composer's Send button doesn't work after pressed Save Drafts button
This is due to an old hack that hiding a composer means we're closing
it so save_draft_done() destroys the composer after saved draft. But
in Anjal, the composer widget is always hidden (since the editor is
reparented to the tab), and will be wrongly destroyed by
save_draft_done() when you clicked "Save Draft" button.

This patch improved the old hack, by adding a new API
e_msg_composer_request_close() that can be used to request closing a
composer (so the old hack is no longer needed). Internally,
composer->priv->application_exiting is used to store this exiting
status.

So by this we no longer use a composer's visibility to check whether
we're to close it. When you no longer need a composer after saved
draft, call e_msg_composer_request_close() before sending the
save-draft signal.

The e_msg_composer_is_exiting() (removed by 983bea9) has to be bring
back, which is needed by other programs that use the composer (Anjal
here).

(forward ported from 08150f6 of gnome-2-28)
2009-11-06 16:43:58 +08:00
Milan Crha 4fd8fbc29a Bug #573304 - Forward an email shouldn't strip signature 2009-11-05 20:52:15 +01:00
Yan Li df1f9b3b33 Bug #596027: In Anjal, although invalid mail address warning popup, mail's tab closed automatically
A new field "mail_sent" is added to the Composer to indicate whether the
mail is sent successfully or not. This is needed by Anjal to know
whether it can destroy the composer or not.
2009-11-05 11:50:34 +08:00
Milan Crha 64892e739d Bug #599124 - Signature always includes an empty line in front of text 2009-11-03 19:49:22 +01:00
Matthew Barnes bb1f281304 Bug 598567 - Can only insert local image files 2009-10-20 16:38:46 -04:00
Milan Crha 3827cbee4c Bug #522783 - Signature separator for HTML E-mails
Reapplied patch from bug #551470, as this got dropped on merging.

Be sure you all also
gconftool-2 --install-schema-file=$PREFIX/etc/gconf/schemas/evolution-mail.schemas
as new key had been added.
2009-10-16 11:20:31 +02:00
Milan Crha 527e9e472f Bug #545851 - Set properly sign type on reply of signed message 2009-10-16 10:40:58 +02:00
Milan Crha 3766e19a2a Bug #245683 - Use QP encoding when composing message with "\nFrom "
(QP - Quoted Printable)
2009-10-15 20:42:07 +02:00
Milan Crha 51f9daed70 Bug #597123 - Composer's Send Options doesn't work 2009-10-13 18:50:20 +02:00
Matthew Barnes 027c7e7279 Remove unneeded composer autosave functions. 2009-10-01 23:40:39 -04:00
H.Habighorst f62728b55e Bug 596848 - Use per-target CPPFLAGS in automake files 2009-09-30 23:37:50 -04:00
Matthew Barnes da3ae4fd5f Various composer autosave fixes. 2009-09-30 20:18:37 -04:00