+ /**
+ * Restores the state of the current view iff the URL navigator contains a
+ * non-empty location state.
+ */
+ void tryRestoreViewState();
+
+private:
+ QVBoxLayout* m_topLayout;
+
+ /**
+ * The internal UrlNavigator which is never visible to the user.
+ * m_urlNavigator is used even when another UrlNavigator is controlling
+ * the view to keep track of this object's history.
+ */
+ std::unique_ptr<DolphinUrlNavigator> m_urlNavigator;
+
+ /**
+ * The UrlNavigator that is currently connected to the view.
+ * This is a nullptr if no UrlNavigator is connected.
+ * Otherwise it's one of the UrlNavigators visible in the toolbar.
+ */
+ QPointer<DolphinUrlNavigator> m_urlNavigatorConnected;
+ DolphinSearchBox* m_searchBox;
+ bool m_searchModeEnabled;
+ KMessageWidget* m_messageWidget;
+
+ DolphinView* m_view;
+
+ FilterBar* m_filterBar;
+
+ DolphinStatusBar* m_statusBar;
+ QTimer* m_statusBarTimer; // Triggers a delayed update
+ QElapsedTimer m_statusBarTimestamp; // Time in ms since last update
+ bool m_autoGrabFocus;
+ /**
+ * The visual state to be applied to the next UrlNavigator that gets
+ * connected to this ViewContainer.
+ */
+ std::unique_ptr<DolphinUrlNavigator::VisualState> m_urlNavigatorVisualState;
+
+#ifdef HAVE_KACTIVITIES
+private:
+ KActivities::ResourceInstance * m_activityResourceInstance;
+#endif
+};