| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
data instead of uri
|
|
|
|
| |
Change image's source value immediately after creating the Camel part for it.
|
|
|
|
|
|
| |
Actually, g_simple_async_result_take_error() means take, not copy,
thus the later g_clear_error() was incorrect, possibly freeing
already freed memory.
|
| |
|
|
|
|
| |
And use them in EHTMLEditorView if possible.
|
| |
|
| |
|
|
|
|
|
|
| |
composer's content
Apply width limits to paragraphs, remove images and replace smileys with its text version.
|
|
|
|
|
|
| |
Replace whitespace with non breaking space ( ) to avoid its lost.
Also when generating the plain text version of final message replace
non breaking space with normal space.
|
|
|
|
| |
Some links doesn't have the framegment so check for it before accessing it.
|
|
|
|
| |
ordered list
|
|
|
|
| |
Related to bug 731585
|
|
|
|
|
| |
Just two more places, which are new after a merge of the webkit-composer
branch changes.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Fix the wrong position of caret when in/undenting empty block and don't
lose spell checked words when in/undenting. Also don't insert unnecessary empty
lines into plain text version of message when processing indented block.
|
|
|
|
| |
Do that to avoid unnecessary empty paragraph element.
|
| |
|
|
|
|
|
| |
Don't try to wrap words that are longer than defined word wrap length,
otherwise we will end in busy loop.
|
|
|
|
| |
Merge wip/webkit-composer branch into master.
|
| |
|
|
|
|
|
|
|
| |
Similar to GObject::notify, the GSettings::changed can be emitted
even if a key didn't change. It's up to the user (aka evolution)
to test for real changes, thus let's do it. It may have certain
performance positive impact too.
|
|
|
|
|
|
|
|
|
|
|
| |
This is a follow-up for the previous commit, where e_signal_connect_notify*()
functions had been added. Due to a different callback and user data being
attached to the 'notify' signal, the g_signal_handlers_*() functions do not
work properly, thus these e_signal_connect_notify*() functions need
a different way for a signal handler disconnect.
A side-change was done in e-settings-web-view-gtkhtml.c, checking for a real
key change from GSettings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is related to bug 698275, which did not cover all cases.
The problem here is that the dconf can in certain situation claim
that everything changed (path "/" changed), which GSettingsBinding
propagates to a GObject property unconditionally and GObject's
property setter (g_object_set_property()) also notifies about
the property change unconditionally, despite the real descendant
property setter properly checks for the value change. After all
these false notifications a callback on "notify" signal is called
and possibly an expensive operation is run.
Checking whether the value really changed helps in performance, for
which were added new e-util functions:
e_signal_connect_notify()
e_signal_connect_notify_after()
e_signal_connect_notify_swapped()
e_signal_connect_notify_object()
which have the same prototype as their GLib counterparts, but they allow
only "notify::..." signals and they test whether the value really changed
before they call the registered callback.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Also when hovering over the link with fragment that points to message
don't show the whole URI in status bar, but just the fragment.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This change does a bit more, actually:
- learn the code of "tel" URI, being handler similar to "sip", "callto", "h323"
- generate tel: URIs for phone numbers, but only if the leading character of the
phone number is a plus ("+") sign
- always remove spaces in href part in the e_text_to_html() when
E_TEXT_TO_HTML_URL_IS_WHOLE_TEXT flag is set
|
|
|
|
|
| |
Rework replace_local_image_links to use CSS selectors to avoid iterating
through the DOM tree.
|
| |
|
|
|
|
|
| |
The commit fixed few memory leaks, but also caused several crashes
due to those changes, thus this fixes the introduces issues.
|
| |
|
|
|
|
|
|
|
| |
Since GLib begun to claim about incorrect ids being passed to
g_source_remove(), a problem with EActivityBar had been discovered,
it doesn't unset its priv->timeout_id when the timeout is reached,
which leads to the new runtime warnings from GLib.
|
|
|
|
|
|
|
| |
It used to copy the link into both buffers, same as the 'Copy Email Address"
does, but it seems, after a move to WebKit based message preview, this
changed and the link had been copied only to the selection clipboard.
Make the function consistent and copy the link into to both clipboards.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This ports the following two function calls throughout Evolution:
• e_categories_get_list() to e_categories_dup_list()
• e_categories_get_icon_file_for() to e_categories_dup_icon_file_for()
It necessarily changes some internal e-util API:
• e_util_get_searchable_categories() to
e_util_dup_searchable_categories()
This bumps the EDS requirement to 3.13.1.
https://bugzilla.gnome.org/show_bug.cgi?id=727221
|
| |
|
|
|
|
|
|
|
| |
a) ETableColumnSpecification: the 'title' property is always overwritten
during the spec file loading, thus no need to allocate it here
b) the 'uids' are leaked on message move, because the GPtrArray is
supposed to be always unreffed
|
| |
|
|
|
|
|
| |
When enabled, this will compile all libraries/binaries with the necessary
gcc and ld flags to enable code coverage support using gcov.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The custom styles, those which are added on-the-fly directly to DOM, were
added only after whole document was completely loaded, which included also
sub-frames content, thus when these were slow to download for any reason,
the main frame content, like the top header bar, was shown with a default
style, which is white background and black text color. The WebKitWebView's
document-load-finished signal is emitted whenever the actual HTML content
is loaded, and the DOM is available as well, for each frame, including
the main frame of the WebView, thus updating/setting custom CSS styles
in this signal handler makes the loaded frames look as expected, without
waiting for other frames in the document to finish their load.
|
|
|
|
|
| |
As of gtk+ 3.2, AtkObjectFactories are no longer used to generate
accessibles for gtk widgets, so our custom atk classes need refactoring.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
It doesn't make much sense to zoom below 0.1, same as zoom 5.0 is
quite large, thus no need to zoom indefinitely in both directions.
|
|
|
|
|
|
| |
Win32 headers have a #define for 'interface', which breaks the build
when this word is used in the code, thus replace it to 'iface',
the same way as GLib or GTK+ code use to have it. (See bug #722068.)
|
|
|
|
|
|
|
|
|
| |
This extends behaviour of left-clicking column header which is not
used for sorting yet in an ETree/ETable in a way:
a) alone left-click behaves like before, all current sorting is dropped
and the ETree/ETable is sorted only by that column
b) left-click with pressed Ctrl key adds the column as the first to sort by
c) left-click with pressed Ctrl+Shift adds the column as the last to sort by
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The "dialog-apply" icon is not from a set of standard icons, thus
it cannot be used, which I overlooked yesterday. With its drop are
also dropped other button icons in itip-formatter.
The missing icon made EStockRequest "panic" which effectively broke
page rendering for WebKit - the rendering was never finished.
|
| |
|
|
|
|
|
| |
Calling g_source_remove() on a saved source ID but not resetting the
source ID to zero.
|
|
|
|
|
|
| |
Both 'groupings' and 'sortings' arrays unref the 'column_spec' on removal,
but the 'duplicate' function didn't ref them, which caused use-after-free
at the end of the application.
|
| |
|
| |
|
| |
|
|
|
|
| |
address book"
|
| |
|
|
|
|
|
|
|
| |
A simple performance improvement to ignore ESourceRegistry notifications
on source changes for sources which do not belong to the ESourceSelector.
Such notifications could cause whole model rebuild, which has other side
effects, like a bug #722399.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Easier to copy&paste than write the generate UID letter by letter.
|
| |
|
|
|
|
|
|
|
|
| |
Some locales do not provide equivalents for am/pm (the "%p" of strftime),
thus when the user has set 12 hour format in Preferences, then the am
and pm times are the same, which confuses the widget, especially
in the appointment editor, making it hard (like impossible) to enter
pm times by selection in the time combo. An example locale is de_DE.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is based on the work of Jan-Michael Brummer from bug #705338,
just a little extended to be reusable across whole evolution.
|
|
|
|
|
|
|
|
|
|
|
| |
Added features:
- show all four selectors (for Calendars/Memos/Tasks/Books)
- be able to open/close selected source
Especially the later can be used for testing the factories easily,
without running evolution or other client. There can be added more
actions on an opened EClient descendant in the future, if it'll be
found useful.
|
|
|
|
|
| |
glib has removed g_memmove, since it was a macro there is no ABI break but sources have to be adapted to switch to memmove
See glib commit 6e4a7fca431f53fdfd89afbe956212229cf52200 for further reference.
|
|
|
|
| |
SoupRequester functionality is built directly into SoupSession now.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the code free of Coverity scan issues.
It is sometimes quite pedantic and expects/suggests some
coding habits, thus certain changes may look weird, but for a good
thing, I hope. The code is also tagged with Coverity scan
suppressions, to keep the code as is and hide the warning too.
Also note that Coverity treats g_return_if_fail(), g_assert() and
similar macros as unreliable, and it's true these can be disabled
during the compile time, thus it brings in other set of 'weird'
changes.
|
|
|
|
| |
Missed this one in commit 9058c6f85dc49f9500e7e67819acfd8c0d2d369c.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
webkit_dom_element_get_id() was introduced for WebKitGTK+ 2.2 and
deprecates webkit_dom_html_element_get_id(). But Evolution only
requires WebKitGTK+ 2.0.1.
Ordinarily this would sit on a shelf until we require WebKitGTK+ 2.2,
however WebKitGTK+ has now started issuing deprecation warnings about
webkit_dom_html_element_get_id() at *runtime*, which is pointless and
only fills up users' .xsession-errors file.
To put a stop to this, we'll call the new function subject to a pre-
processor WebKit version check, with a fallback to the old function.
The build requirement remains at WebKitGTK+ 2.0.1.
|
| |
|
| |
|
| |
|
|
|
|
| |
Just a nice touch, I think.
|
| |
|
|
|
|
|
|
|
| |
Shown for the "Defer to Desktop Settings" choice if gnome-control-center
is available. The button opens gnome-control-center's "Network" panel,
but unfortunately the "Network proxy" item cannot be selected from the
command line.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
EProxyComboBox is a combo box of available proxy profiles, as described
by ESource instances with an ESourceProxy extension.
|
|
|
|
| |
Sets a flag that's no longer used internally by ESourceSelector.
|
|
|
|
| |
We were leaking the ESource reference.
|
|
|
|
|
|
|
|
| |
ESourceSelector can now optionally display an icon next to each ESource
matching the selector's "extension-name". Intended for non-homogeneous
use cases where a variety of account types are shown in the selector.
The icon set is hard-coded, but we could change that if the need arises.
|
| |
|
|
|
|
|
|
|
| |
When (re)building the tree model, ESourceSelector may fall back to
e_source_registry_ref_default_for_extension_name() to help initialize
the primary selection. Depending on the selector's "extension-name"
property, that function may return NULL. Handle it gracefully.
|
| |
|
| |
|
|
|
|
|
|
| |
The change also allows setting accounts for certain recipients (based
on a part of the recipient address). The option can be found in Folder
Properties and in Edit->Preferences->Composer Preferences->Send Account.
|
|
|
|
| |
This reverts part of commit 452638466217dbfef0c0954c90aa7cb03cf91452
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Have GNetworkMonitor make an initial guess at the online state of
backends by evaluating the reachability of their host name. This
will show an initial status icon for all displayed ESources without
actually opening a connection, since some backends are expensive to
start unnecssarily.
|
|
|
|
|
|
|
| |
Avoid redrawing (thus loosing the selection and scroll position) of
preview window on style change by defining the colors through CSS styles.
On style change we just update the CSS color definitions and preview will
update itself without redraw.
|
|
|
|
|
| |
Let the open for a user, when respective source in the selector
is selected.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Closes the active EAlert and returns TRUE, or else returns FALSE if
there is no active EAlert.
|
| |
|
| |
|
| |
|
|
|
|
| |
Configures the EActivity to submit alerts to the EPreviewPane.
|
| |
|
|
|
|
|
|
| |
There's now enough hooks in EWebView that it can take over image saving
from EMailDisplay / EMailReader, with the added perk that a "Save Image"
pop-up menu item now appears for images in ALL preview panes.
|
|
|
|
|
| |
Prompts the user to choose a destination file and then asynchronously
saves the image under the cursor to the destination file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Asynchronously copies the image under the cursor to the clipboard.
This replaces the "cursor-image" property, which attempts to match the
image URI to a subresource from WebKitWebDataSource. The problem with
that approach is EMailDisplay redirects several URI schemes to its own
custom request handlers which further mutate the URI. So for example,
a text/html message may use a "cid:" URI to refer to an embedded image,
which EMailDisplay transforms to a "mail:" URI and finally to a "data:"
URI. The final image URI might not be derivable from the original URI
without retracing the SoupRequest.
The "image-copy" action now calls e_web_view_cursor_image_copy().
This also adds an explicit requirement on gdk-pixbuf-2.0 >= 2.24 for
gdk_pixbuf_new_from_stream_async() / finish().
New functions:
e_web_view_cursor_image_copy()
Removed functions:
e_web_view_get_cursor_image()
e_web_view_set_cursor_image()
|
|
|
|
|
|
|
|
|
| |
Returns a new EActivity for an EWebView-related asynchronous operation,
and emits a "new-activity" signal. By default the EActivity comes loaded
with a GCancellable and sets the EWebView itself as the alert sink (which
means alerts are displayed directly in the content area). The signal
emission allows the EActivity to be further customized and/or tracked by
the application.
|
|
|
|
|
|
|
|
|
|
|
| |
Asynchronously requests data at a URI by way of a SoupRequest to WebKit's
default SoupSession, incorporating both e_web_view_redirect_uri() and the
custom request handlers installed via e_web_view_install_request_handler().
New functions:
e_web_view_request()
e_web_view_request_finish()
|
|
|
|
|
|
|
|
|
|
|
| |
Attempts to derive a suggested filename from the given URI for use in a
"Save As" dialog.
By default the suggested filename is the last path segment of the given
URI (the unless the given URI looks like a query), but subclasses can use
other mechanisms for custom URI schemes. For example, "cid:" URIs in an
email message may refer to a MIME part with a suggested filename in its
Content-Disposition header.
|
|
|
|
|
|
|
|
|
|
| |
Replaces the given URI with a redirected URI as necessary, primarily for
use with custom SoupRequest handlers. Typically this function would be
called just prior to handing a request off to a SoupSession, such as
from a WebKitWebView "resource-request-starting" signal handler.
Case in point: EMailDisplay now implements the redirect_uri() method,
and calls it from its own "resource-request-starting" signal handler.
|
|
|
|
|
|
|
| |
Trivial wrapper for webkit_web_view_get_uri().
Probably made sense while we were transitioning from GtkHTML to WebKit,
but we don't need it anymore.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't expose public API for this.
Even though it's still possible through the WebKitWebView API, we don't
want to encourage setting an arbitrary WebKitWebSettings on an EWebView.
Removed functions:
e_web_view_set_settings()
e_web_view_get_default_settings()
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Connect to the GtkComboBox::changed signal after all candidates are
added, to avoid calling e_source_config_check_complete() before the
candidate has been told to insert widgets. This can cause run-time
warnings such as:
(evolution:7106): evolution-cal-config-webcal-CRITICAL **:
cal_config_webcal_check_complete: assertion `context != NULL' failed
|
| |
|
| |
|
|
|
|
| |
Same issue as in bug 703991, just in a different place.
|
|
|
|
|
|
| |
I've got UI freeze in a call of e_book_client_view_stop() on contact
store dispose, caused by synchronous D-Bus call. Doing the call
in a dedicated thread makes no UI freeze here.
|
|
|
|
| |
No longer used.
|
|
|
|
|
|
| |
Unfinished undo framework from ages past.
Nice idea I guess, but not worth the complexity.
|
|
|
|
|
|
|
|
| |
nautilus-sendto has been stripped of its usefulness in GNOME 3.8.
It no longer has a UI of its own, it just immediately spawns a mail
client with a set of files as attachment arguments for a new message.
There's no reason for Evolution to be invoking it anymore.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Evolution is still occasionally getting stuck on shutdown, and although
the evolution-shell log domain shows debug messages for activities that
are preventing shutdown, they frequently look like this:
(evolution:13534): evolution-shell-DEBUG: 5 active 'mail' activities:
(evolution:13534): evolution-shell-DEBUG: * (no description)
(evolution:13534): evolution-shell-DEBUG: * (no description)
(evolution:13534): evolution-shell-DEBUG: * (no description)
(evolution:13534): evolution-shell-DEBUG: * (no description)
(evolution:13534): evolution-shell-DEBUG: * (no description)
I think the lack of descriptions is from CamelOperations popping all
their pushed messages, which is correct behavior but doesn't help us
debug the problem.
e_activity_get_last_known_text() returns the most recent _non-empty_
text value set on the EActivity. So our debug message can fall back
to that if the EActivity has no description at shutdown:
(evolution:13534): evolution-shell-DEBUG: * (was "blah, blah, blah")
|
|
|
|
| |
No longer used.
|
|
|
|
| |
No longer used.
|
|
|
|
|
|
|
|
|
|
|
| |
gal_view_collection_new() now takes system and user directory arguments
and loads GalViews during instance initialization.
Removed functions:
gal_view_collection_set_storage_directories()
gal_view_collection_load()
gal_view_collection_loaded()
|
|
|
|
|
|
| |
No longer needed. Instead, use g_type_ensure() to ensure the necessary
GalView subclasses are registered in the GType system before loading a
GalViewCollection. Best place to ensure types is from GClassInitFunc.
|
|
|
|
|
|
|
|
|
| |
Given a type code string from an XML file, find the appropriate GType by
traversing the GType hierarchy from GAL_TYPE_VIEW and checking the class
structures for a matching type code string.
This completely eliminates the need for what's left of GalViewFactory.
Now it's just a matter of cleaning up the remains.
|
| |
|
| |
|
|
|
|
|
|
| |
GalViewInstance and EMailPanedView need access. Currently they're just
using the public GalViewCollection members directly, but those are about
to be sealed up.
|
|
|
|
|
|
|
|
|
|
| |
Just readable for now, but I plan to make it also construct-only.
(Despite the precendence, I prefer "user" over "local" for the name.)
New functions:
gal_view_collection_get_user_directory()
|
|
|
|
|
|
|
|
| |
Just readable for now, but I plan to make it also construct-only.
New functions:
gal_view_collection_get_system_directory()
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
It's set by EShellView but not actually used for anything.
Removed functions:
gal_view_collection_set_title()
|
|
|
|
|
|
| |
Removed functions:
gal_view_collection_display_view()
|
|
|
|
|
| |
GalViewFactory can now use its "gal_view_type" class member to
instantiate an appropriate GalView without help from subclasses.
|
|
|
|
|
| |
GalViewFactory can now use its "gal_view_type" class member to peek at
the appropriate GalViewClass and return its static "type_code" string.
|
|
|
|
|
|
|
| |
This is the GType of the GalView instances the factory creates.
Having this information will allow GalViewFactoryClass to do more itself
and be less reliant on subclasses.
|
|
|
|
|
|
| |
All GalView subclasses return a static string in their get_type_code()
methods, so replace the method with a static string pointer directly in
the class structure, and remove the "type-code" GalView property.
|
|
|
|
|
|
|
|
| |
No longer needed.
Removed functions:
gal_view_factory_etable_get_specification()
|
|
|
|
| |
Obtain the ETableState from the attached ETable or ETree as needed.
|
|
|
|
| |
No longer used.
|
|
|
|
|
|
|
| |
Instead, lazily load the state file once an ETable or ETree is attached,
since we need its ETableSpecification to create an ETableState instance.
This means GalViewFactoryEtable can lose its ETableSpecification too.
|
| |
|
|
|
|
|
| |
This replaces the get_title() and set_title() class methods, since
it's silly to defer to subclasses to track a simple string property.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
No longer used.
Removed functions:
gal_view_factory_get_title()
|
|
|
|
|
|
|
|
| |
No longer used.
Removed functions:
gal_view_edit()
|
|
|
|
| |
No longer user.
|
|
|
|
| |
No longer used.
|
|
|
|
| |
No longer used.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
e_table_specification_new() now takes a table specification filename and
a GError and parses the file as part of instance creation. If a file or
parse error occurs, e_table_specification_new() returns NULL.
This replaces e_table_specification_load_from_file().
New functions:
e_table_specification_get_filename()
Removed functions:
e_table_specification_load_from_file()
|
|
|
|
| |
No longer used.
|
|
|
|
| |
No longer used.
|
|
|
|
| |
No longer used.
|
|
|
|
| |
No longer used.
|
|
|
|
|
|
| |
Use e_table_state_duplicate() and e_table_set_state_object().
Similarly for e_tree_set_state().
|
|
|
|
|
|
|
| |
No longer used outside of e-table-specification.c.
Its logic is merged into e_table_specification_load_from_file(), but
that too will be removed momentarily.
|
|
|
|
|
|
| |
Also remove e_tree_construct_from_spec_file().
Use e_tree_new() or e_tree_construct() instead.
|
|
|
|
|
|
| |
Also remove e_table_construct_from_spec_file().
Use e_table_new() or e_table_construct() instead.
|
|
|
|
|
| |
Creating an ETableSpecification is failable, so it's now up to the
caller to do that and handle errors before calling e_tree_new().
|
|
|
|
|
| |
Creating an ETableSpecification is failable, so it's now up to the
caller to do that and handle errors before calling e_table_new().
|
|
|
|
| |
No longer used.
|
|
|
|
| |
No longer used.
|
|
|
|
| |
No longer used.
|
|
|
|
|
| |
The other parts of this UI still look ancient, but this is a good first
step. Plus we can remove a number of now-unused ETable-related classes.
|
|
|
|
|
| |
A new ETable column selection and ordering widget that looks like
it was written in the 21st century. Derives from ETreeViewFrame.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
No longer used.
|
|
|
|
| |
No longer used.
|
|
|
|
| |
Use g_file_get_contents() and e_table_specification_load_from_string().
|
|
|
|
| |
New parser implementation that uses GMarkupParser instead of libxml2.
|
|
|
|
| |
New parser implementation that uses GMarkupParser instead of libxml2.
|
|
|
|
| |
New parser implementation that uses GMarkupParser instead of libxml2.
|
|
|
|
|
|
|
|
| |
Replace ETableSortColumn with separate ETableColumnSpecification and
GtkSortType parameters in the "get_nth" and "set_nth" functions.
Makes some other parts of the code simpler since it no longer has to
translate a column number to a column specification.
|
| |
|
|
|
|
| |
And convert them to GArrays internally.
|
|
|
|
| |
So we don't have to worry about negative values.
|
|
|
|
| |
Use e_table_sort_info_sorting_get_count() to obtain the value.
|
|
|
|
| |
Use e_table_sort_info_grouping_get_count() to obtain the value.
|
|
|
|
| |
Use e_table_sort_info_get_can_group() to obtain the value.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ETableSortInfo now keeps a weak reference on the ETableSpecification to
which it's associated. The plan is to replace the column index numbers
with a direct reference to an ETableColumnSpecification from the spec.
New functions:
e_table_sort_info_ref_specification()
|
| |
|
| |
|
| |
|
|
|
|
| |
Will eventually replace e_table_header_get_column_by_col_idx().
|
|
|
|
| |
Eliminates a few redundant fields.
|
|
|
|
|
| |
Lookups up the column index of an ETableColumnSpecification, returns a
negative value if no match found.
|
|
|
|
|
| |
Compares two ETableColumnSpecification instances for equality, which
just means they both refer to the same model column number.
|
| |
|
|
|
|
| |
Use e_table_specification_ref_columns() to access column specs.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ETableState now keeps a weak reference on the ETableSpecification to
which it's associated. The plan is to replace the column index numbers
with a direct reference to an ETableColumnSpecification from the spec.
New functions:
e_table_state_ref_specification()
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
ETreeViewFrame embeds a GtkTreeView in a scrolled window and adds an
inline-style toolbar beneath the scrolled window which can be hidden.
The inline-style toolbar supports "add" and "remove" actions, as well
as move actions if the tree view is reorderable and selection actions
if the tree view supports multiple selections. The action set can be
extended through e_tree_view_frame_insert_toolbar_action().
This also adds a small demo program: test-tree-view-frame
|
|
|
|
|
|
|
|
|
| |
Set an urgency hint on dialog's parent, or dialog itself, when it has
no parent, to get user's attention to the dialog. For example, when
there is a changed mail composer window on a different workspace than
evolution's main window and user invokes quit by File->Quit in evolution,
then the window is waiting for a response on the composer, but there
was no hint it's waiting for anything.
|
|
|
|
|
|
|
| |
Skip leading whitespace and hand the rest to g_uri_parse_scheme().
If that can identify a scheme then make the open button sensitive.
(Have to be careful to skip leading whitespace when opening, too.)
|
|
|
|
|
|
|
|
| |
Replace the big, bulky "open URL" button with a clickable icon directly
in the text entry field. This saves precious vertical space, especially
in the contact editor.
Also remove e_url_entry_get_entry() since EUrlEntry now IS a GtkEntry.
|
| |
|
|
|
|
|
|
|
|
| |
The shortcuts Ctrl+C/V/X are used for whole calendar items
copy/paste/cut, not for text when editing event details inline, either
in a day/week view or in a list view. By tracking the is-editing property
of respective cell editor and using it when enabling/disabling clipboard
actions makes the respective text operations work as expected.
|
|
|
|
| |
ETree does not provide one anymore.
|