editable-label: don't use a input-output window

Use the same behavior of GtkEntry i.e. create an input only GdkWindow
for the text area. This avoids the text area becoming black when it's
used together with the XIM module.

https://bugzilla.gnome.org/show_bug.cgi?id=686053
Revert "editable-label: don't use a input-output window"

This reverts commit 14523ea555d0857b42abbbbb53b3854b281e1ddc.

It breaks scrolling, as explained in
https://bugzilla.gnome.org/show_bug.cgi?id=686322
editable-label: add an input-only window for events

Add another input-only child to the parent GdkWindow's for events and
imcontext. Since we will be painted in a GtkLayout, using only one
input-only window won't work well with scrolling, but this way we can
ensure that whatever GdkWindow the XIM engine will try to ensure native,
it won't be our (floating) drawing window.

https://bugzilla.gnome.org/show_bug.cgi?id=686053
query: always set a query location URI

It makes sense for a query object to always be relative to a specific
location, so just initialize the query URI to g_get_home_dir().
search-engine: keep a reference to the engine while searching

This way, we can ensure the engine will be alive when the providers
finish.
search-engine-model: emit finished when cancelled in-flight

If we get stopped while the directory ready callback is pending, make
sure to still emit the finished signal on the provider.
search-engine-tracker: refactor search completion notification

Keep a ref to the engine while the async search is in progress. This is
what all the other engines do, and not doing it causes problems when
cancelling the operation.

While we're at it, also refactor the completion notification code in a
single function.

https://bugzilla.gnome.org/show_bug.cgi?id=686168
test-search-engine: test cancellation and NautilusSearchEngineModel

Add some code in the search engine test to verify cancellation and
NautilusSearchEngine model work properly.
shell-provider: make the provider more robust to cancellation

Don't assume there's only one engine running at the time, and avoid
requiring state from the global app singleton in search callbacks.

This fixes a crash where we would dereference NULL in the hits-added
callback, since we would access it through the global app object, and
self->active_search was previously cleared on cancellation.

https://bugzilla.gnome.org/show_bug.cgi?id=686168
shell-provider: fix an erroneous typo

Didn't mean to remove this line.
pathbar: don't assume a mounted mount is always available

We might be refreshing while the mount disappears; in that case, the
pathbar will try to get a symbolic icon from a NULL mount, hitting an
assertion.
monitor: watch for removal of non-native mounts on GVolumeMonitor

Nowadays, we rely on G_FILE_MONITOR_EVENT_UNMOUNTED to be emitted when a
mount disappears, since we already monitor the directory, in order to
switch the view to a different location.
Since non-native mounts very likely won't have file monitoring though,
we're not going to receive such events in that case, and fail to
redirect the view as a consequence.
This patch fixes it by listening to the mount-removed signal on
GVolumeMonitor when a monitor is requested for a non-native mount, and
emulating a file removal in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=684226
mime-actions: resolve symbolic links before launching the application

We already do this for all other kind of references, and I think it
makes sense to do it for symbolic links too.
This also ensures applications don't have to deal with e.g. ensuring
backup files are saved relative to the original file and not the
symlink, as reported in

https://bugzilla.gnome.org/show_bug.cgi?id=686465
window: make sure search button state is consistent with query editor

In addition to checking whether the directory is a search, check for the
query editor visibility. This ensures the toggle button state is
consistent when switching tabs with the query editor visible in one of
those.
Updated German translation
Updated Lithuanian translation
slot: make sure to walk the hierarchy up only for native and non-mounts

When we detect a deletion, we try to find an existing parent in the
hierarchy to display in the window.
While this is desirable when a file is deleted, we never want to walk a
non-native hierarchy, or to walk up a hierarchy from a mount root
being removed.

This fixes the window redirecting to /run/media/$username/ instead of
$HOME when a mount is removed.
window: remove nautilus-window-types.h

Cleanup and rearrange typedefs to avoid the need for a separate types
header.

Conflicts:
	src/nautilus-window.h
Merge commit '985489b48763888591c5f8888128b7f70241ff42' into nemo_master_merge

Conflicts:
	libnemo-private/nemo-search-engine-model.c
	libnemo-private/nemo-search-engine-tracker.c
	src/nemo-shell-search-provider.c
	test/test-nemo-search-engine.c
Merge commit '3198d71d297bf2dfcf2201e391f8ea3afa2b5dc7' into nemo_master_merge

Conflicts:
	libnemo-private/nemo-monitor.c
	src/nemo-mime-actions.c
	src/nemo-pathbar.c
	src/nemo-window.c