| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given the way the autosave feature was awkwardly bolted on to the
composer, an EExtension seemed like a natural fit. And it helped
clean up some object lifecycle hacks (and bugs).
What we have now is a new module consisting of two EExtensions:
EComposerAutosave extends EMsgComposer and determines when to
kick off an asynchronous autosave operation.
EComposerRegistry extends EShell and offers to restore orphaned
autosave files on startup (which is also asynchronous now).
e-autosave-utils.c holds the actual asynchronous functions and a few
other miscellaneous utility functions.
Source code for the new module lives in /modules/composer-autosave.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Prefer thread-safe G_DEFINE_TYPE and G_DEFINE_INTERFACE macros over
manual GType registration.
This is just a start... lots more to do.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
We preview imported files by other means now.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
GIO had a bug for awhile where it would leave behind an empty
temp file with the pattern .goutputstream-XXXXXX if an output
stream operation was cancelled. We've had several reports of
these files in config directories, so remove any we find.
|
|
|
|
|
| |
If directory removal fails because the directory is not empty,
list the file names in that directory.
|
|
|
|
|
| |
Migration runs just before the main loop starts.
It's just a sequence of local directory and file renames.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Also replace "$USER_DATA_DIR/cache" path constructions with
e_get_user_cache_dir().
|
|
|
|
|
| |
This gives EShellSearchbar something concrete to call to direct focus
away from itself instead of tabbing forward and hoping for the best.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
and don't tamper with registry unless asked for it explicitely.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 uses the new gtk_assistant_commit() I had added to GTK+ for our
EImportAssistant progress page.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Convert the "startup-wizard" EPlugin to an EExtension, and fix up the
importing UI a bit (but it still needs a lot more love). Importing
progress is now shown directly in the GtkAssistant window.
Define a new EConfigItem type (E_CONFIG_PAGE_PROGRESS) for creating
progress pages in a GtkAssistant.
Also, change EMAccountEditor semantics slightly: you now have to call
e_config_create_window() manually after creating a new EMAccountEditor
instance. This allows extra EConfigItems (specifications for the window
content) to be added manually before the window is created.
|
|
|
|
|
|
|
| |
This reverts commit 0cdd9484fec0b1fec0801df7d7e0b05c6544ba9b.
Causes the Mail window to erroneously switch to Contacts when opening
the Contacts window in express mode.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This reverts commit 2d68130cad1642c1995f3d4e8c3bc18b77977213.
Need to fix GConfBridge instead.
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
to be used by windows default application setting dialogue
|
| | |
| | |
| | |
| | | |
register evolution as capable to handle mailto: protocol on startup
|
| |\| |
|
| | |
| | |
| | |
| | | |
need it in some situations.
|
| | |
| | |
| | |
| | | |
for adding in calendar since it doesn't have a toolbar.
|
| | | |
|
| | |
| | |
| | |
| | | |
preferences for calendar. Bit of a hack, but proves very useful.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
That was just for development. Now we hardcode the lists of widgets.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
|
| | | |
|
| | |
| | |
| | |
| | | |
startup wizard or not. Show only for mail and not calendar.
|
| |\| |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Thanks to Sashwaat.
|
| | |
| | |
| | |
| | | |
Bin the menu bar, disable the print icon, add a close button at top right.
|
| | |
| | |
| | |
| | | |
Use this in meego / full-screen mode
|
| | | |
|
| | |
| | |
| | |
| | | |
export EVO_MEEGO="session-type=small-screen" for the most fun.
|
| | |
| | |
| | |
| | | |
Adapt widget naming on MeeGo for theming etc.
|
| |\ \ |
|
| | |\|
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This demonstrates how to extend EShell without having to modify and
recompile e-shell.c. If NetworkManager integration is enabled, the
extension is loaded automatically when the EShell is created.
The same pattern can be applied to integrate other network monitoring
software like ConnMan or Microsoft's Wireless Zero Configuration.
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Express mode requires a reduced preferences dialog. Many options in the
current preferences dialog are pure, unadulterated crack. So we need
an easy way to hide them, to simplify the dialog and reduce its size.
Here we add a function that takes a GConf key, reads a list of strings
from that key, and hides the widgets whose names are those strings.
This gives us an easy way to experiment with what widgets should
be hidden in the preferences dialog, without needing to recompile
all the time.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
configure the shell, to name widgets differently, and re-order
some menu/toolbar bits.
|
| | |
| | |
| | |
| | |
| | | |
Not implemented prettily, but cf. mail_shell_backend_window_created_cb
getting invoked even for addressbok windows ...
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For express mode:
- Move the search bar up to the toolbar.
- Hide the "filter" combo box and lock down the first item.
- Hide the "scope" combo box and lock down the first item.
(This is the combo box with "Current Folder" only in the mailer.)
- EShellView owns the search bar widget now instead of EShellContent.
- Insert several nasty hacks that will likely come back to bite me.
Conflicts:
doc/reference/shell/eshell-sections.txt
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Introduce e_extensible_list_extensions(), which provides extensible
objects access to their own extensions, or a subset of them.
Convert EShellBackend to an abstract EExtension subtype. EShell will
load its extensions with e_extensible_load_extensions(), and then obtain
a list of EShellBackend extensions as follows:
shell_backends = e_extensible_list_extensions (
E_EXTENSIBLE (shell), E_TYPE_SHELL_BACKEND);
Because EShellBackend is abstract, its GType is skipped while traversing
the GType hierarchy to find EShell extensions.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This demonstrates how to extend EShell without having to modify and
recompile e-shell.c. If NetworkManager integration is enabled, the
extension is loaded automatically when the EShell is created.
The same pattern can be applied to integrate other network monitoring
software like ConnMan or Microsoft's Wireless Zero Configuration.
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
to be used by windows default application setting dialogue
|
| |
| |
| |
| | |
register evolution as capable to handle mailto: protocol on startup
|
| | |
|
| |
| |
| |
| | |
need it in some situations.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| | |
|
| |
| |
| |
| | |
Remove old ChangeLog files that predate our switch to git.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
configure the shell, to name widgets differently, and re-order
some menu/toolbar bits.
|
| | |
|
| |
| |
| |
| |
| | |
Not implemented prettily, but cf. mail_shell_backend_window_created_cb
getting invoked even for addressbok windows ...
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
There's too much ancient, crufty code there that we can't realistically
support anymore. A workaround for those poor users still on 1.x is to
upgrade to some 2.x release first, then upgrade again to 3.x. An error
dialog explaining this will be shown at startup.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For express mode:
- Move the search bar up to the toolbar.
- Hide the "filter" combo box and lock down the first item.
- Hide the "scope" combo box and lock down the first item.
(This is the combo box with "Current Folder" only in the mailer.)
- EShellView owns the search bar widget now instead of EShellContent.
- Insert several nasty hacks that will likely come back to bite me.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce e_extensible_list_extensions(), which provides extensible
objects access to their own extensions, or a subset of them.
Convert EShellBackend to an abstract EExtension subtype. EShell will
load its extensions with e_extensible_load_extensions(), and then obtain
a list of EShellBackend extensions as follows:
shell_backends = e_extensible_list_extensions (
E_EXTENSIBLE (shell), E_TYPE_SHELL_BACKEND);
Because EShellBackend is abstract, its GType is skipped while traversing
the GType hierarchy to find EShell extensions.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This demonstrates how to extend EShell without having to modify and
recompile e-shell.c. If NetworkManager integration is enabled, the
extension is loaded automatically when the EShell is created.
The same pattern can be applied to integrate other network monitoring
software like ConnMan or Microsoft's Wireless Zero Configuration.
|
|/ |
|
|
|
|
|
| |
This avoids closing the mail, then addressbook, and getting only an
addressbook when re-run (with no switchers in express mode).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
extend them to plugins - use a simple one-off boolean on the UI Manager
instead of exhaustively trying to propagate this information everywhere.
|
| |
|
|
|
|
|
|
| |
Added em_account_editor_get_widget, and cleaned up the widget listing.
Cleaned the startup wizard code to find it's label by name
Added disabling of power-user 'indentity' frame in the first page express capplet.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Adds a GalViewInstance::loaded signal so EShellView gets notified when
the initial view is loaded.
|
|
|
|
|
| |
Don't need to see status messages on the terminal when going online,
offline or quitting.
|
| |
|
|
|
|
| |
Apparently intltool disregards preprocessor directives...
|
|
|
|
|
|
|
|
| |
Avoids blocking the UI in case the save triggers an fsync() which, on
ext3, synchronizes the entire filesystem. The logic is a bit tricky
because we want to limit the frequency of saves and only run one save
operation at a time, but we also want to do an immediate last-ditch
save before finalizing the shell view.
|
| |
|
| |
|
|
|
|
|
| |
This kind of violates the shell window being unaware of specific shell
views, but we need a sane fallback so users don't get an empty window.
|
|
|
|
| |
Also, start fixing some Gtk-Doc warnings. There's a lot.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Also, let EShellSearchbar handle search state persistence.
|
|
|
|
|
| |
Also, add unique-1.0 to GNOME_PLATFORM so it's included in CFLAGS and
LIBADD variables everywhere.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
folders
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The signal uses the name of the newly created shell view as the detail,
so for example "shell-view-created::mail" is emitted when the "mail"
view is created.
Also, add e_shell_window_peek_shell_view() to obtain a shell view if it
exists but without instantiating it.
Using these new tools, teach the templates plugin to wait for the user
to switch to the "mail" view before connecting to its "update-actions"
signal. Previously is was instantiating the "mail" view itself.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Rename it "GNOME Pilot Synchronization" and only display the item if
gnome-pilot is installed.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
before.
|
|
|
|
|
| |
Drop all alert titles to be found in *.error.xml. HIG suggests alerts
do not have a title.
|
| |
|
|
|
|
|
|
|
|
|
| |
/apps/evolution/mail/display/show_preview
/apps/evolution/mail/display/thread_list
These keys are no longer needed since we're storing the settings by
folder now in ~/.evolution/mail/config/state. To simplify things we use
hard-coded defaults: TRUE for PreviewVisible, FALSE for GroupByThreads.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the search interface to a new widget: EShellSearchbar
The current search rule is now stored in EShellView, and the search
context in EShellViewClass similar to GalViewCollection (since it's
class-specific, not instance-specific).
Also add a couple new signals to EShellView: "clear-search" and
"custom-search" ("custom" refers to an advanced search or a saved
search -- something more complex than a quick search).
Still working out a few kinks. The search entry is clearly trying to
be too many things. We need a different way of indicating that you're
looking at search results. Perhaps a search results banner similar to
Nautilus.
|
| |
|
| |
|
|
|
|
|
|
|
| |
This allows modules to specify their own data dir in a flexible way without
having them hard-coded to the backend class name. For example, the data dir for
the mail backend should be specified by the mail session (eventually as an eds
daemon) and the vfunc will allow the shell to query that in a generic way.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
EMailSidebar is a subclass of EMFolderTree that implements the state
saving and restoration feature from EMailShellSidebar. Placing this
in the shared mail library allows Anjal to reuse it.
|
| |
|
|
|
|
| |
So Anjal picks it up.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This tells EShell where to look for EModules. Best practice is to
define the directory in your CPPFLAGS and then pass it to EShell at
instantiation time, like so:
Makefile.am:
evolution_CPPFLAGS = \
-DMODULEDIR=\""$(moduledir)"\"
...
main.c:
shell = g_object_new (
E_TYPE_SHELL, "module-directory", MODULEDIR, ...);
|
|
|
|
| |
Also allow the methods themselves to be NULL.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So Anjal can override what it needs to for its own purpose.
Also makes the EShellWindow design a little cleaner.
Methods added:
GtkWidget * (*construct_menubar) (EShellWindow *shell_window);
GtkWidget * (*construct_toolbar) (EShellWindow *shell_window);
GtkWidget * (*construct_sidebar) (EShellWindow *shell_window);
GtkWidget * (*construct_content) (EShellWindow *shell_window);
GtkWidget * (*construct_taskbar) (EShellWindow *shell_window);
EShellView * (*create_shell_view) (EShellWindow *shell_window,
const gchar *view_name);
Also added some new GObject properties to help decouple actions from
internal EShellWindow widgets created by these methods:
EShellWindow:sidebar-visible
EShellWindow:switcher-visible
EShellWindow:taskbar-visible
EShellWindow:toolbar-visible
|
|
|
|
|
|
|
| |
For Anjal.
This really belongs in EShellBackend but the infrastructure is not
there yet.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
For now this only terminates Evolution, but the same basic approach
should also be used with the Evolution-Data-Server D-Bus services.
|
|
|
|
|
|
|
|
| |
Add method pointers to EShellClass for all the EShell signals.
Also rework my previous --quit corner case workaround: we'll want to do
the full shutdown procedure after all, since the backends have already
spun up.
|
|
|
|
|
| |
If --quit is given and no other Evolution process is running, bypass our
usual shutdown procedure and terminate the main loop immediately.
|
|
|
|
|
|
|
| |
This -asks- an existing Evolution process to quit. It is equivalent to
selecting File->Quit in the main window. It does not kill the process.
My plan is to use this as part of a new --force-shutdown implementation.
|
|
|
|
|
| |
Applies the user's window geometry string to the first main window.
Suggested in bug #529565.
|
|
|
|
| |
As part of fix for bug #602719
|
|
|
|
|
| |
GTK+ already does this. Eliminates e_icon_factory_init() and
e_icon_factory_shutdown().
|
| |
|
| |
|
|
|
|
|
|
| |
Hide actions that are disabled by lockdown settings instead of showing
them as disabled. Showing them as disabled gives the impression the
user can do something to enable them, which is not the case here.
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename e-fsutils to e-file-utils. This is where we'll add asynchronous
functions for common file I/O operations with EActivity integration.
Start with e_file_replace_contents_async() (and corresponding finish()
function). This is a simple wrapper for g_file_replace_contents_async()
which also returns an EActivity. It replaces e_write_file_uri().
Also redesign EIOActivity to -contain- a GAsyncResult rather than
implement the interface for itself. This is easier for now but I may
change my mind again when I figure out how to tie centralized error
reporting into the EActivity framework.
|
|
|
|
|
| |
Planning to write some asynchronous utility functions in e-util that
return EActivity objects.
|
| |
|
| |
|
|
|
|
|
|
| |
After the folder's context menu closes the folder tree selection jumps
back to the folder whose contents are showing in the message list.
Suggested by Philippe LeCavalier on evolution-list.
|
| |
|
| |
|
|
|
|
| |
Clarify the documentation and simplify the logic.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
And select page in Edit->Preferences based on the active view.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
The --force-shutdown option now simply runs "pkill evolution".
|
|
|
|
|
| |
Convert evolution-alarm-notify to an autostart program, add a .desktop
file for it, and use libunique to ensure only one instance is running.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Fix as many cases that relied on it as I could find, but there may be
more cases out there. They should be fixed too. Passing a NULL parent
window to e_error_new() is illegal and will emit a runtime warning.
|