Since the window of the slot can change, we don't want to connect
signals from the view to the window.
We only connect to NautilusWindow signals for two reasons:
- updating the shadow type of the content view when the number of tabs
in the notebook changes
- following the hidden-files-changed signal
Since the first is really a hack, it can live in NautilusWindow itself
To implement the second, move the Show Hidden Files action to the view
action group, and handle hidden files action changes completely in the
view.
Instead of having the code in nautilus-window-manage-views clear the
pathbar, since it receives the same signal, handle it internally. This
should make code more robust.
Instead, use nautilus_view_get_ui_manager() and
nautilus_view_get_window(), and turn the checks on window != NULL to
slot != NULL.
This is needed in preparation for detachable tabs; since the window for
a given slot might change underway then, avoid staying out of sync by
not storing a pointer to the window.
This patch does three things:
- It adds API to the floating bar to have primary and details labels
instead of a single label. The primary label is ellipsized separately
from the details, so it makes a good fit for a filename.
- Modifies the code setting status messages in NautilusView to split
them into two separate strings
- Removes obsolete code in NautilusView and NautilusWindowSlot that was
setting long statuses for the old non-floating statusbar
https://bugzilla.gnome.org/show_bug.cgi?id=660695
This was supposed to be used with "nautilus links", which is a feature
we don't have anymore. In fact, the code was commented out since the GIO
transition, and is basically unused.
Remove it completely.
This was long overdue, and in addition to making the whole code a
little cleaner, it also allows us to disconnect signals from objects
that outlive the window in dispose() (such as NautilusBookmarkList).
This also fixes the crasher reported in
https://bugzilla.gnome.org/show_bug.cgi?id=682916
Since doing so can set a view_id != NAUTILUS_DESKTOP_CANVAS_VIEW_ID to
its view, which will have bad consequences (i.e. a crash) when
finalizing the views at application quit.
This commit fixes it by making sync_view_as_menus an overriddable class
method.