#ifndef DOLPHINSETTINGS_H
#define DOLPHINSETTINGS_H
-class KBookmark;
-class KBookmarkManager;
+#include <libdolphin_export.h>
+
+class ColumnModeSettings;
+class DetailsModeSettings;
class GeneralSettings;
class IconsModeSettings;
-class PreviewsModeSettings;
-class DetailsModeSettings;
+class KFilePlacesModel;
/**
* @brief Manages and stores all settings from Dolphin.
*
* The following properties are stored:
- * - home Url
+ * - home URL
* - default view mode
- * - Url navigator state (editable or not)
+ * - URL navigator state (editable or not)
* - split view
- * - bookmarks
- * - properties for icons and details view
+ * - properties for views
*/
-class DolphinSettings {
+class LIBDOLPHINPRIVATE_EXPORT DolphinSettings
+{
public:
static DolphinSettings& instance();
- GeneralSettings* generalSettings() const { return m_generalSettings; }
- IconsModeSettings* iconsModeSettings() const { return m_iconsModeSettings; }
- PreviewsModeSettings* previewsModeSettings() const { return m_previewsModeSettings; }
- DetailsModeSettings* detailsModeSettings() const { return m_detailsModeSettings; }
-
- KBookmarkManager* bookmarkManager() const;
-
- // TODO: should this really belong here or get moved to a derived KBookmarkManager?
- // Dolphin uses some lists where an index is given and the corresponding bookmark
- // should get retrieved...
- KBookmark bookmark(int index) const;
+ GeneralSettings* generalSettings() const
+ {
+ return m_generalSettings;
+ }
+ IconsModeSettings* iconsModeSettings() const
+ {
+ return m_iconsModeSettings;
+ }
+ DetailsModeSettings* detailsModeSettings() const
+ {
+ return m_detailsModeSettings;
+ }
+ ColumnModeSettings* columnModeSettings() const
+ {
+ return m_columnModeSettings;
+ }
+ KFilePlacesModel* placesModel() const
+ {
+ return m_placesModel;
+ }
/** @see DolphinSettingsBase::save */
virtual void save();
- /**
- * TODO: just temporary until the port to KDE4 has been done
- *
- * Calculates the width and the height of the grid dependant from \a hint and
- * the current settings. The hint gives information about the wanted text
- * width, where a lower value indicates a smaller text width. Currently
- * in Dolphin the values 0, 1 and 2 are used. See also
- * DolhinIconsViewSettings::textWidthHint.
- *
- * The calculation of the grid width and grid height is a little bit tricky,
- * as the user model does not fit to the implementation model of QIconView. The user model
- * allows to specify icon-, preview- and text width sizes, whereas the implementation
- * model expects only a grid width and height. The nasty thing is that the specified
- * width and height varies dependant from the arrangement (e. g. the height is totally
- * ignored for the top-to-bottom arrangement inside QIconView).
- */
- void calculateGridSize(int hint);
-
- /**
- * TODO: just temporary until the port to KDE4 has been done
- *
- * Returns the text width hint dependant from the given settings.
- * A lower value indicates a smaller text width. Currently
- * in Dolphin the values 0, 1 and 2 are used. The text width hint can
- * be used later for DolphinIconsViewSettings::calculateGridSize().
- */
- int textWidthHint() const;
-
protected:
DolphinSettings();
virtual ~DolphinSettings();
private:
GeneralSettings* m_generalSettings;
IconsModeSettings* m_iconsModeSettings;
- PreviewsModeSettings* m_previewsModeSettings;
DetailsModeSettings* m_detailsModeSettings;
+ ColumnModeSettings* m_columnModeSettings;
+ KFilePlacesModel* m_placesModel;
};
#endif