| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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.
|
|
|
|
|
|
| |
Unfortunately the default value for this property is TRUE (bzzt, WRONG!)
so we can't just remove the function outright until we require GTK+ 2.22.
It was deprecated in GTK+ 2.21.8.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This goes with the previous commit.
|
|
|
|
|
|
|
|
|
|
|
|
| |
EAttachmentHandler predates EExtension, so this is really just a code
cleanup to use the extension framework. But this also demonstrates that
extensions can target interfaces as well as instantiable types, since
EAttachmentView is an interface.
What's also nice is EAttachmentView no longer has to directly interact
with attachment handlers. Instead of EAttachmentView having to query
each attachment handler for drag-and-drop info, each handler now pushes
its own drag-and-drop info to its EAttachmentView during initialization.
|
|
|
|
|
|
|
| |
Prefer thread-safe G_DEFINE_TYPE and G_DEFINE_INTERFACE macros over
manual GType registration.
This is just a start... lots more to do.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a boolean "dragging" property to the EAttachmentView interface,
which becomes TRUE when the user start a drag from the attachment view.
e_attachment_view_drag_motion() and e_attachment_view_drag_drop() both
return FALSE when this property is set.
Also, do not register the entire EMsgComposer window as a drag
destination. Just intercept drag signals from the GtkHTML widget.
Requires gtkhtml commit 344eb5e to fully work correctly.
|
| |
|
|
|
|
|
| |
chaining hack; sub-set this only for when we have a hint visible
ie. fix alt-c + type-new-search
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
e_preferences_window to take factory callbacks and store a reference
to the shell. - This makes start-up substantially faster, particularly
on Atom (eg.).
Remove a number of idle handlers used to create these UIs in the
first instance, cleaning the code.
|
|
|
|
|
|
|
| |
Since gnome-icon-theme 2.30.x the icon name for the default avatar has changed
from stock_person to avatar-default
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=616822
|
| |
|
|
|
|
| |
We preview imported files by other means now.
|
| |
|
|
|
|
|
|
|
|
| |
The new height-for-width logic in GTK3 doesn't like my trick to center a
GtkExpander's label widget, so I have to disable it entirely for GTK3 or
else Evolution crashes when opening a composer window.
Bug #614049 has a GtkExpander patch that would let me do it properly.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
At least until we have another way to insert signatures.
Obvious solution: Insert -> Signature -> (list of your signatures)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Work around the issue of GnomeCanvasItem amending its own flags to
GtkObject::flags (which is sealed) by giving it its own flags field.
This breaks libgnomecanvas ABI and API, but I see no other way.
This commit didn't work the first time because gnome-pilot libraries
were still pulling in the system-wide libgnomecanvas, and that was
interfereing with our bundled version which has a different ABI.
But gnome-pilot integration was dropped in the previous commit, so
everything is now using the bundled libgnomecanvas.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It just doesn't belong in Evolution anymore. We don't support syncing
with more modern devices -- see Conduits or SyncEvolution for that -- so
it does not make sense for older model Palm Pilot PDAs to be the lone
exception.
I have repackaged the Evolution-Data-Server conduit modules to be
provided by gnome-pilot itself in bug #619315. This should provide
eqivalent Palm Pilot syncing functionality; it's just being moved to
gnome-pilot.
This completely severs our dependency on deprecated GNOME 2.x libraries
which were still being dragged in by way of gnome-pilot dependencies.
It was also interfereing with our bundling of libgnomecanvas.
|
|
|
|
|
|
|
| |
This reverts commit fd8b55edaa88906b588aa07d9eadcacd34a7a774.
Something in this commit seriously hosed ETable, making Evolution pretty
much unusable. Reverting this until I can track down the problem.
|
| |
|
| |
|
|
|
|
|
|
| |
Work around the issue of GnomeCanvasItem amending its own flags to
GtkObject::flags (which is sealed) by giving it its own flags field.
This breaks libgnomecanvas ABI and API, but I see no other way.
|
|
|
|
|
|
| |
Both of these modules are deprecated and going away in GNOME 3 but we
still rely heavily on them for GnomeCalendar and ETable. So, welcome
to the island of unwanted libraries...
|
| |
|
|
|
|
|
| |
This uses the new gtk_assistant_commit() I had added to GTK+ for our
EImportAssistant progress page.
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | | |
Based on EggTreeMultiDragSource in libegg.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some improvements made while investigating bug #608855. This does not
solve the bug however, and in fact I now believe the bug is actually a
GTK+ issue after reproducing the bug in gtk-demo.
These improvements restore multiple selections via Ctrl+Click and
Shift+Click, and also reduces the frequency that we synchronize the
selection between Icon View and Tree View.
|
| |\| |
|
| | | |
|
| | | |
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | | |
preferences for calendar. Bit of a hack, but proves very useful.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
We will need this to see how many accounts are shown in the From header
in the mail composer.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
|
| |\|
| | |
| | |
| | |
| | |
| | | |
Note that express2 got some documentation for EExtensible and friends,
and that documentation is not in gnome-2-30 yet. We need to cherry-pick
those commits into gnome-2-30 and elsewhere.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add a load_string() method to EWebView. Have EMailDisplay override
load_string() and check that the formatter is not busy before loading
the string. Have EMailReader call e_web_view_load_string() directly
on the EMailDisplay instance, and eliminate update_webview_content().
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make EWebView extensible and register an extension to automatically
bind every EWebView instance to the appropriate EShellSettings.
Conflicts:
widgets/misc/e-web-view.c
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make ECalendarItem, ECalendarView, ECalModel, EDateEdit, EMeetingStore,
and EMeetingTimeSelector extensible and register extensions to
automatically bind every instance to the appropriate EShellSettings.
Conflicts:
calendar/gui/gnome-cal.c
modules/calendar/e-cal-shell-content.c
|
| | |
|
| |
| |
| |
| | |
Based on EggTreeMultiDragSource in libegg.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some improvements made while investigating bug #608855. This does not
solve the bug however, and in fact I now believe the bug is actually a
GTK+ issue after reproducing the bug in gtk-demo.
These improvements restore multiple selections via Ctrl+Click and
Shift+Click, and also reduces the frequency that we synchronize the
selection between Icon View and Tree View.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This also removes the boxed CamelObject GType, since CamelObject is an
honest-to-goodness GObject now.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Still remaining:
GtkAccessible::widget
GtkAssistant::forward
GtkAssistant::back
GtkObject::flags
GtkTreeStore::stamp
The GtkAssistant fields are related to bug #596428. We don't
need accessor functions so much as the enhancement described
there implemented.
https://bugzilla.gnome.org/show_bug.cgi?id=615613
|
| | |
|
| |
| |
| |
| | |
Also, bump our GTK+ requirement to 2.20.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Remove old ChangeLog files that predate our switch to git.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Add a load_string() method to EWebView. Have EMailDisplay override
load_string() and check that the formatter is not busy before loading
the string. Have EMailReader call e_web_view_load_string() directly
on the EMailDisplay instance, and eliminate update_webview_content().
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Make EWebView extensible and register an extension to automatically
bind every EWebView instance to the appropriate EShellSettings.
|
| | |
|
|/
|
|
|
|
| |
Make ECalendarItem, ECalendarView, ECalModel, EDateEdit, EMeetingStore,
and EMeetingTimeSelector extensible and register extensions to
automatically bind every instance to the appropriate EShellSettings.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
| |
|
| |
|
|
|
|
|
| |
It seems that the dummy libraries are not needed anymore on windows
nowadays.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This reverts commit 2ee273db7c3175d323e55d87432961cfa94e8be1.
That commit caused the side-effect reported in bug #610251.
|
|
|
|
|
|
| |
The "deactivate" handler for EAttachmentButton's popup menu was never
disconnected, and I suspect it may be getting invoked after the button
has been finalized.
|
| |
|
|
|
|
|
|
| |
GtkAssistant's initial reference is floating, so if command-line import
fails to find a suitable importer, sink the reference before finalizing
the GtkAssistant.
|
|
|
|
|
|
| |
Avoid listing calendar and directory targets explicitly, so that
e-selection.c contains the one and only master list. Still need
to figure out how to centralize "text/x-source-vcard".
|
| |
|
| |
|
| |
|
|
|
|
| |
Also, let EShellSearchbar handle search state persistence.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Use Shift+Ctrl+F as the accelerator for consistency with the mailer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Several GtkWidget macros were recently deprecated.
|
| |
|
| |
|
|
|
|
|
| |
The function is trivial and was only used from ETableHeaderItem.
This also eliminates widgets/misc/e-gui-utils.[ch].
|
|
|
|
|
| |
Use gtk_rgb_to_hsv() instead of e_rgb_to_hsv().
Use gtk_hsv_to_rgb() instead of e_hsv_to_rgb().
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=602963
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
My window maximization hack in EPaned works great if the top-level
window has not been shown yet. But if it has, we've already missed
the window state event we're listening for and so the pane position
will not be restored properly.
This commit fixes that.
|
| |
|
|
|
|
|
|
|
| |
This is a convenience function for adding multiple attachments to a
store and loading them concurrently.
Also included: e_attachment_store_load_finish()
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
GTKBuilder format allows to separate markup from translatable content.
Whenever possible, this should be preferred so as there is less content to
translate and less error opportunities.
|
| |
|
|
|
|
| |
Bumps the GtkHtml dependency to 3.29.2 for gtk_html_unselect_all().
|
|
|
|
|
| |
Includes Bastien Nocera's patch to register our importable MIME types
with the MIME database.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This introduces e-shell-utils for miscellaneous utility functions
that integrate with the shell or shell settings. First function
is e_shell_run_save_dialog(), which automatically remembers the
selected folder in the file chooser dialog.
Also, kill some redundant save dialog functions, as well as some
write-this-string-to-disk functions that block.
|
|
|
|
|
| |
Planning to write some asynchronous utility functions in e-util that
return EActivity objects.
|
|
|
|
|
| |
Allows users to choose different mail forwarding methods without
navigating the main menu. Suggested by Ng Oon-Ee on evolution-list.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The function is deprecated in GTK+ now. Looks like it was just an
optimization anyway -- the map seems to work fine without it -- but I
left the logic intact in case I'm wrong.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Also make it more fault-tolerant by warning about non-existent
property names instead of just crashing.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were a number of problems:
- Walk the GType tree to find EPluginHook subclasses, instead of
just registering the immediate children.
- Some EConfig and EEvent subclasses were not being configured
properly (particularly the mail and calendar subclasses).
- Add preference window pages after the main loop starts to make
sure all plugins and plugin hooks are installed first.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|