| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both EWebView and EMailDisplay listen for "changed" signals from a
GSettings instance, passing itself as the 'user_data' to the signal
handler e_web_view_update_fonts(). But in both cases the signal
handler was left connected after EWebView and EMailDisplay were
finalized, resulting in the signal handler receiving a dangling pointer.
Not using g_signal_connect_object() here because of the unresolved
reference leak issue in GObject. The GSettings instance is likely
cached internally and lives well beyond EWebView and EMailDisplay.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Workaround for a WebKit bug [0] which appeared in 1.9.x series.
When message is loaded, the content is zoomed in and out to force
WebKit to recalculate and redraw the iframe so that the content
is correctly visible
[0] https://bugs.webkit.org/show_bug.cgi?id=89553
|
| |
|
|
|
|
|
|
|
| |
The GtkStyle's GTK_STATE_ACTIVE background color can match background
color of GTK_STATE_NORMAL, when there is not visible selected days
in the calendar, thus fallback to GTK_STATE_SELECTED colors in that
case.
|
|
|
|
|
|
| |
This reverts commit 485704419b11685e4753024dabec53d1668aaa9d.
WebKit reverted its API break in 1.9.91, so revert our workaround.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
JavaScript is disabled in EWebView, so any attempt to evaluate
a JavaScript code will fail. We are using DOM bindings
instead to interact with the document.
This commit removes some helper functions created in the early
days of WebKit port which are not used anymore and also fixes
mail-to-task plugin, which was relying on some JavaScript.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to [1], we don't need to worry about GDK's global lock since
we don't call gdk_threads_init() or gdk_threads_set_lock_functions().
The GDK threads API is being aggressively deprecated by GTK+ developers
so let's just abandon it entirely. I've never really understood when
you're supposed to use it or not use it anyway, so it's good to be rid
of this confusion.
[1] https://mail.gnome.org/archives/desktop-devel-list/2012-August/msg00005.html
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Boxed GdkColors are allocated with the slice allocator, not malloc().
This has been causing me frequent and random Evolution crashes.
|
|
|
|
| |
Reverts part of commit 6c05b09be16ac8eceb17653c3c26c0c6f963ef10.
|
| |
|
| |
|
|
|
|
| |
G_DEFINE_TYPE macros define a static "parent_class" variable.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This required some reworking of assumptions I made early on when I first
wrote ESourceConfig, before I thought up the whole "collection" concept.
Not all ESourceConfigBackends will use a fixed parent UID, specifically
collection backends. In fact we may use multiple instances of the same
ESourceConfigBackend subclass if, for example, a user has two different
Exchange Web Services accounts configured. We would need to show both
EWS account (or "collection") names in the "Type" combo box.
For the moment collection-based ESourceConfigBackends are not listed
when creating a new calendar or address book since we lack support for
creating new resources on a remote server. A D-Bus interface for that
is in the works.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This is a read-only property, set when editing an existing data source
which is a collection member. We'll use this to lock down certain UI
elements.
|
|
|
|
|
|
| |
ECalSourceConfig drags in no additional dependencies, and although we do
publish a libevolution-calendar.so, this keeps all the ESource config UI
in one place so it can more easily be moved to Evolution-Data-Server.
|
|
|
|
|
|
|
|
|
|
|
| |
EBookSourceConfig drags in no additional dependencies, and allows us to
delay publishing a libevolution-addressbook.so since 3rd party packages
will need to subclass EBookSourceConfig.
The address book source code will need to be flattened into a single
library before we could publish a libevolution-addressbook.so anyway.
That would be a good thing to do regardless -- Evolution has way too
many internal libraries -- but it's out of scope at the moment.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
All mail-parsing and formatting code has been moved to em-format.
Parsing is handeled by EMailParser class, formatting by EMailFormatter.
Both classes have registry which hold extensions - simple classes
that do actual parsing and formatting. Each supported mime-type
has it's own parser and formatter extension class.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Base class for building address book and calendar configuration dialogs.
|
|
|
|
|
|
| |
This reverts commit f25826211b007a615118f9b583a66d7027eddeac.
Not an issue on the account-mgmt branch. We can do without this hack.
|
|
|
|
| |
One last time.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This splits the giant EMailRequest to individual EFileRequest, EStockRequest, EHTTPRequest and EMailRequest,
making the first two available globally from e-utils, the othe two are loaded only with mailer,
since no other component uses them.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Check if the "org.gnome.settings-daemon.plugins.xsettings" schema is
available before creating a GSettings object for it, to avoid a hard
dependency on gnome-settings-daemon.
|
| |
|
| |
|
|
|
|
|
| |
Replace 8-space indentation with tab characters, and various other
automated cleanups.
|
| |
|
|
|
|
|
| |
attachment-button: set "linked" style class on the button to get a
unified look for themes that support it.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
libevolution-utils.
|
| |
|
|
|
|
| |
with other mnemonics in the affected dialogs.
|
|
|
|
|
|
|
| |
GTK's file chooser dialog provides one-click access to recently used
documents now, so we can remove the redundancy from Evolution's mail
composer main menu and calendar component editor main menu and leave
it at "Insert -> Attachment".
|
| |
|
|
|
|
| |
A follow-up for bug #670073
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
These libraries are bound for E-D-S so they live at the lowest layer of
Evolution for now -- even libeutil can link to them (but please don't).
This is the first step toward moving mail handing to a D-Bus service.
|
| |
|
|
|
|
|
|
|
| |
Use the OpenStreetMap geoclue provider instead of the deprecated and
likely disabled Yahoo geoclue v1 API.
Requires geoclue >= 0.12.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements https://bugzilla.gnome.org/show_bug.cgi?id=663527#c3.
Account reordering is now done by drag-and-drop instead of up/down
buttons.
Turned out to be a wee bit more complicated than I initially thought.
This scraps EAccountManager and EAccountTreeView and replaces them with
new classes centered around EMailAccountStore, which EMailSession owns.
EMailAccountStore is the model behind the account list in Preferences.
The folder tree model now uses it to sort its own top-level rows using
gtk_tree_path_compare(). It also broadcasts account operations through
signals so we don't have to rely so heavily on EAccountList signals,
since EAccountList is going away soon.
Also as part of this work, the e-mail-local.h and e-mail-store.h APIs
have been merged into EMailSession and MailFolderCache.
|
|\
| |
| |
| |
| | |
Conflicts:
mail/e-mail-paned-view.c
|
| |
| |
| |
| |
| |
| |
| | |
Means EMailBrowser no longer has to.
Also, EMailReader now provides a default implementation for
get_alert_sink() which just calls get_preview_pane() and casts.
|
| |
| |
| |
| |
| | |
Replaces the 'Dismiss' button. All alerts appearing in an alert bar
should be dismissable (i.e. non-modal). For modal alerts use a dialog.
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of stuffing host/port/user/etc into CamelURLs.
To enforce this in 3rd party extensions, remove EAccounts from
EMConfigTargetAccount and rename it EMConfigTargetSettings with
the following struct members:
const gchar *email_address;
const gchar *storage_protocol;
CamelSettings *storage_settings;
const gchar *transport_protocol;
CamelSettings *transport_settings;
|
| |
| |
| |
| | |
To be used in the Account Editor to list authentication mechanisms.
|
|\| |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
| |
Slightly more efficient and convenient than:
g_simple_async_result_set_from_error (simple, error);
g_error_free (error);
One less GError to copy and destroy.
|
|
|
|
|
|
| |
GtkFileChooser in GTK+ 3.2 now keeps track of the last-used-folder
itself, even across applications, so get out of its way and let it
handle it.
|
|
|
|
|
| |
GtkEntry in GTK+ 3.2 now provides this functionality through the new
GtkEntry:placeholder-text property.
|
|
|
|
|
|
|
|
|
| |
Similiar to the new GtkExpander:resize-toplevel property in GTK+ 3.2,
but adapted to the fact that EAttachmentPaned's expander has no direct
child widget, and instead acts on the child widget in the lower pane.
CompEditor now uses this to fix the weird vertical resizing behavior
when its attachment bar is expanded and then collapsed again.
|
|
|
|
|
|
|
|
|
| |
We have a confusing array of nearly-identical CFLAGS/LIBS definitions in
configure.ac. Time to simplify. Instead let's just have one definition
that includes all the libraries provided by Evolution-Data-Server (incl.
Camel). That, in combination with GNOME_PLATFORM, gives us most of what
we need for compliation and linking, and we can sprinkle definitions for
additional library dependencies in Makefile.am's as needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From ccc980da1fd84ebfca25cf8caf9a5d62333099fc Mon Sep 17 00:00:00 2001
From: Paul Menzel <paulepanter@users.sourceforge.net>
Date: Wed, 28 Sep 2011 10:18:18 +0200
Subject: [PATCH] Remove Ctrl + l () character from source files
The following commits
git show aac3f2c8
git show 1510304c
git show 13cabd9e
git show 350a7a33
git show 9b7cc54d
git show e6972011
git show 1d3a7938
git show 934524b9
git show b2954936
git show a7f677b5
git show 4369c400
git show d509f47a
git show a6d5818f
git show c3876df7
git show 4583098b
git show 2831ada5
git show 4e1bce59
git show 1609f699
git show 4e4c1676
git show d6fade43
among others(?) introduced several occurrences of Ctrl + l (). Probably this was caused by the used editor.
These control characters can be searched for using the following command [1].
$ git grep ^L
[1] http://unstableme.blogspot.com/2009/10/grep-and-print-control-characters-in.html
|
|
|
|
|
| |
Reducing diff noise so I can see important changes easier when comparing
branches. A few API changes, but nothing that affects functionality.
|
|
|
|
|
|
|
|
| |
The EModule, EExtensible and EExtension classes as well as the
e_type_traverse() function have been moved to Evolution-Data-Server's
libebackend library to replace e-data-server-module.c.
Now Evolution-Data-Server modules use the same framework as Evolution.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is an enum property of type CAMEL_TYPE_NETWORK_SECURITY_METHOD.
We can then bind it to CamelNetworkSettings:security-method.
|
| |
|
| |
|
| |
|
|
|
|
| |
Opens a GtkAppChooserDialog based on the attachment's content type.
|
| |
|
| |
|
| |
|
|
|
|
| |
GLib is finally dropping this hack.
|
| |
|
| |
|
|
|
|
|
| |
ETableItem is the last user of e_hsv_tweak().
This allows us to remove widgets/misc/e-hsv-utils.[ch].
|
|
|
|
|
|
|
|
| |
ETableHeaderItem is the last user of EPopupMenu. Move it to
/widgets/table to discourage further use and strip out unused features.
The functionality it provides has long since been superseded by
GtkUIManager and GtkAction.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This adds a "handle-uris" GAction which takes a string array argument,
so the URIs can be passed to the primary process verbatim.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Need to convert the icon filename to a URI for use in <img> tags.
|
|
|
|
| |
Shows alerts directly in the HTML area, similar to GtkInfoBar.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With lockdown settings available through GSettings, widgets can handle
lockdown integration themselves without having to use EShellSettings.
Also fixed a few places where printing or save-to-disk actions were
either not properly wired up or not responding to lockdown settings,
but much more work needs done. Attachments, for example, are not
honoring the disable-save-to-disk setting at all.
This too requires the recently-added gsettings-desktop-schemas
dependency.
|
|
|
|
|
|
|
|
|
| |
This adds a dependency on gsettings-desktop-schemas >= 2.91.92.
The version was chosen for the change from "picture-filename" to
"picture-uri" in the "org.gnome.desktop.background" schema.
Also, we now save the background image under ~/Pictures since the old
directory (~/.gnome2/wallpapers) is presumed deprecated in GNOME 3.
|
|
|
|
|
|
| |
Warnings are generally meant for transient errors. No need to leave
them up indefinitely. Close them automatically if the user hasn't
responded after a reasonable period of time has elapsed.
|
|
|
|
|
| |
Use height-for-width size requests instead of width-for-height.
Height is still not as small as I'd like, but it's a little better.
|
|
|
|
|
|
|
|
|
| |
Adds a new EPortEntry widget which appears alongside "host" entry boxes
so users don't have to know about the "host:port" syntax to specify a
custom port number.
Currently only used in the mail account editor, but we'll generalize it
futher so it can be used everywhere.
|
| |
|
|
|
|
|
| |
So it can inherit the theme from the widget below. Was previously a
GtkEventBox for historical reasons that no one remembers.
|
| |
|
| |
|
| |
|
|
|
|
| |
Seeing lots of what I assume to be doxygen syntax in comment blocks.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
As of GLib 2.28 all GObject virtual methods, including constructed(),
are safe to chain up to unconditionally. Remove unnecessary checks.
|
|
|
|
| |
GCC learned how to find dead assignments.
|
|
|
|
| |
Opens the Preferences window to the Composer Preferences section.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Simplifies the drawing code a bit.
Public API removed:
GnomeCanvas.center_scroll_region (is always TRUE)
GnomeCanvas.pixels_per_unit (is always 1.0)
gnome_canvas_set_center_scroll_region()
gnome_canvas_get_center_scroll_region()
gnome_canvas_set_pixels_per_unit()
|
|
|
|
| |
Mostly coding style and whitespace changes, to reduce diff noise.
|
|
|
|
|
|
| |
Yes, the GtkScrollable interface is implemented by more than just
GtkLayout, but it turns out GtkLayout is the only thing Evolution
uses the GtkScrollable API for on the gtk3 branch.
|
|
|
|
|
| |
Easy enough to fake gtk_widget_get_preferred_size() in gtk2 using
gtk_widget_size_request(). Reduces diff noise with gtk3 branch.
|
|
|
|
| |
GtkIconView changed some implementation details, apparently.
|
|
|
|
| |
GtkComboBox changed some implementation details, apparently.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Passing a random GtkWidget and then searching its ancestors for an
EAlertSink turned out to be not as useful as I thought. Most of the
time we know about and have access to the widget that implements
EAlertSink, so just pass it directly as an EAlertSink.
|
| |
|
|
|
|
|
|
|
| |
Restore the update() method in ECanvasBackground. Without a redraw
request the draw() method is never called. For some reason this isn't
noticeable on gtk+-3.0 -- ETable and ETree backgrounds are still white
-- but on gtk+-2.0 the backgrounds are grey.
|
| |
|
|
|
|
|
| |
No need to use magic visuals and colormaps anymore, we're all cairo
these days.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Instead of hacky magic, we now use cairo and a naïve implementation of
tweening.
|
|
|
|
|
|
|
| |
Way easier than to try to get the coordinates right.
Includes refactoring to introduce e_map_world_to_render_surface() that
computes coordinates on the background surface to make this stuff
easier.
|
|
|
|
| |
... and use it when zooming out
|
|
|
|
| |
Nothing but a massive code cleanup
|
|
|
|
|
|
|
| |
The in_view() check is broken because it doesn't repaint points that are
1px outside the window. The point take 2 extra pixels in every direction
after all. And gtk_widget_queue_draw_area() will automatically discard
out-of-range rects anyway.
|
|
|
|
| |
Doing performance optimizations on the client is not a good idea...
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The signal handler will no-op the operations anyway, because nothing
changed.
|
|
|
|
|
| |
For the zoom, we now use the long-deprecated gtk_widget_draw() to force
repaints.
|
|
|
|
| |
We cannot move parts of the window with GTK3 APIs, so stop doing it.
|
| |
|
|
|
|
|
| |
Also update the GnomeCanvasItem.update vfunc to take a cairo_matrix_t
and no longer pass the clip_path (what was it used for anyway?).
|
|
|
|
|
| |
It's used without specifying a clip rectangle every time, so remove that
property. Also do all drawing with Cairo.
|
|
|
|
|
|
|
|
| |
Previously the function returned the distance to the nearest item. Now
it only returns an item that is hit. This slightly changes semantics
(button events are no longer dispatched to the nearest item, but only to
the item actually clicked on), but makes the code way simpler and
actually does what one would expect.
|
| |
|
|
|
|
| |
The anti-aliased code was never used, so remove it.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With unintrusive error dialogs gone, we can cut some unnecessary bits
out of EActivity.
I'm also adding a new enum property called "state", which is one of:
E_ACTIVITY_RUNNING
E_ACTIVITY_WAITING
E_ACTIVITY_CANCELLED
E_ACTIVITY_COMPLETED
The state of an activity must be explicitly changed. In particular,
when the user cancels an activity the state should be set only after
confirming the operation has been cancelled and not when cancellation
is requested (e.g. after receiving a G_IO_ERROR_CANCELLED, not when
the GCancellable emits "cancelled"). EActivityBar and EActivityProxy
widgets have been updated to make this distinction clearer in the UI.
E_ACTIVITY_WAITING will be used when activities have to be queued and
dispatched in sequence, which I haven't written yet.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This marks the end of unintrusive error dialogs, which were too
unintrusive. We now show errors directly in the main window using
the EAlert / EAlertSink framework.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
You can now amend the predefined actions in an EAlert by calling
e_alert_add_action(). Useful for adding actions from an existing
GtkUIManager.
Call e_alert_peek_actions() to obtain a combined list of predefined
and custom actions. These will typically serve as "related" actions
for GtkButtons (cf. gtk_activatable_set_related_action()).
Also, both EShellWindow and EShellView now implement EAlertSink. Use
EShellWindow for application-wide alerts, EShellView for view-specific
alerts.
|
|
|
|
|
|
| |
GObject now does property bindings itself.
Requires GLib >= 2.26.
|
|
|
|
| |
Make it work like a stack instead of a queue.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'Send' and 'Save Draft' are now asynchronous and run outside of
Evolution's MailMsg infrastructure.
Add an EActivityBar to the composer window so these asynchronous
operations can be tracked and cancelled even in the absense of a main
window. Also add an EAlertBar to the composer window so error messages
can be shown directly in the window.
Instead of calling e_alert_dialog_run_for_args(), call e_alert_submit()
and pass the EMsgComposer as the widget argument. The EMsgComposer will
decide whether to show an EAlertDialog or use the EAlertBar, depending
on the GtkMessageType of the alert.
|
| |
|
|
|
|
|
|
|
| |
Remove GtkObject::destroy() handler. Move disconnecting
signal handlers to e_map_finalize().
https://bugzilla.gnome.org/show_bug.cgi?id=630766
|
|
|
|
|
| |
Use the new GtkExpander:label-fill property in GTK+ 2.22, which was
added specifically to get rid of my evil hack in EAttachmentPaned.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Trying out a new interface called EAlertSink. The idea is to centralize
how errors are shown to the user. A GtkWindow subclass would implement
the EAlertSink interface, which consists of a single method:
void (*submit_alert) (EAlertSink *alert_sink, EAlert *alert);
The subclass has complete control over what to do with the EAlert,
although I imagine we'll wind up implementing various alert-handling
policies as standalone widgets such as EAlertDialog. I'd like to try
an EAlertInfoBar.
Code that would otherwise display an error dialog itself would instead
pass the EAlert to an appropriate EAlertSink and be done with it.
Nothing is final yet. Still hacking on EAlert trying to find an API
that feels right for these use cases.
|
|
|
|
| |
Remove backward-compatibility hacks for older GTK+ versions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
EActivity now uses a GCancellable to manage cancellations, instead of
having its own redundant cancellation API. API changes are as follows:
+ e_activity_get_cancellable()
+ e_activity_set_cancellable()
- e_activity_cancel()
- e_activity_is_cancelled()
- e_activity_get_allow_cancel()
- e_activity_set_allow_cancel()
EActivity's "cancelled" signal remains, but only as a repeater for
GCancellable::cancelled signals. It should not be emitted directly.
The presence of a GCancellable implies that cancellation is allowed.
EActivity does not create its own default GCancellable, it has to be
given one.
If a CamelOperation (cast as a GCancellable) is given, EActivity will
configure itself to listen for status updates from the CamelOperation
and propagate the information to its own "primary-text" and "percent"
properties.
These changes allowed me to start cleaning up some of the incredibly
convoluted logic in mail-mt.c -- in particular, mail_operation_status()
is completely gone now. mail-mt.c is still in a transitional state --
much more significant changes coming soon.
|
|
|
|
|
|
|
| |
In GTK+ 2.21.8, the keysym names were renamed from GDK_* to GDK_KEY_*.
I've added backward-compatibility macors to gtk-compat.h, which can be
dumped as soon as we require GTK+ >= 2.22.0.
|
| |
|
|
|
|
|
|
|
| |
If we're using GTK+ 2.21.8 (where gtk_dialog_set_has_separator() is
deprecated but the property is still present and defaults to TRUE), we
still need to set the property to FALSE. So instead use g_object_set()
up through GTK+ 2.90.6, after which the property itself is gone.
|