]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinsettings.cpp
* allow to toggle the content of split views by the context menu
[dolphin.git] / src / dolphinsettings.cpp
index 8e040d76713049fe13a95497590d810fab027807..04284c22a324367ecb003099eebda6a149ecd6fa 100644 (file)
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
  ***************************************************************************/
 
 #include "dolphinsettings.h"
 
-#include <assert.h>
-#include <qdir.h>
-
-#include <kapplication.h>
-#include <kbookmark.h>
-#include <kbookmarkmanager.h>
-#include <kicontheme.h>
+#include <kfileplacesmodel.h>
+#include <kcomponentdata.h>
 #include <klocale.h>
 #include <kstandarddirs.h>
 
-#include "dolphin.h"
-#include "generalsettings.h"
-#include "iconsmodesettings.h"
-#include "previewsmodesettings.h"
-#include "detailsmodesettings.h"
-#include "sidebarsettings.h"
+#include "dolphin_columnmodesettings.h"
+#include "dolphin_detailsmodesettings.h"
+#include "dolphin_generalsettings.h"
+#include "dolphin_iconsmodesettings.h"
 
 DolphinSettings& DolphinSettings::instance()
 {
@@ -46,123 +39,21 @@ DolphinSettings& DolphinSettings::instance()
     return *instance;
 }
 
-KBookmark DolphinSettings::bookmark(int index) const
-{
-    int i = 0;
-    KBookmarkGroup root = bookmarkManager()->root();
-    KBookmark bookmark = root.first();
-    while (!bookmark.isNull()) {
-        if (i == index) {
-            return bookmark;
-        }
-        ++i;
-        bookmark = root.next(bookmark);
-    }
-
-    return KBookmark();
-}
-
-KBookmarkManager* DolphinSettings::bookmarkManager() const
-{
-    QString basePath = KGlobal::instance()->instanceName();
-    basePath.append("/bookmarks.xml");
-    const QString file = locateLocal("data", basePath);
-
-    return KBookmarkManager::managerForFile(file, false);
-}
-
 void DolphinSettings::save()
 {
     m_generalSettings->writeConfig();
     m_iconsModeSettings->writeConfig();
-    m_previewsModeSettings->writeConfig();
     m_detailsModeSettings->writeConfig();
-    m_sidebarSettings->writeConfig();
-
-    QString basePath = KGlobal::instance()->instanceName();
-    basePath.append("/bookmarks.xml");
-    const QString file = locateLocal( "data", basePath);
-
-    KBookmarkManager* manager = KBookmarkManager::managerForFile(file, false);
-    manager->save(false);
-}
-
-void DolphinSettings::calculateGridSize(int hint)
-{
-    // TODO: remove in KDE4
-    const int previewSize = m_iconsModeSettings->previewSize();
-    const int iconSize = m_iconsModeSettings->iconSize();
-    const int maxSize = (previewSize > iconSize) ? previewSize : iconSize;
-    const Q3IconView::Arrangement arrangement = (m_iconsModeSettings->arrangement() == "LeftToRight") ?
-                                               Q3IconView::LeftToRight : Q3IconView::TopToBottom;
-
-    int gridWidth = 0;
-    int gridHeight = 0;
-    if (arrangement == Q3IconView::LeftToRight) {
-        int widthUnit = maxSize + (maxSize / 2);
-        if (widthUnit < KIcon::SizeLarge) {
-            widthUnit = KIcon::SizeLarge;
-        }
-
-        gridWidth = widthUnit + hint * KIcon::SizeLarge;
-
-        gridHeight = iconSize;
-        if (gridHeight <= KIcon::SizeMedium) {
-            gridHeight = gridHeight * 2;
-        }
-        else {
-            gridHeight += maxSize / 2;
-        }
-    }
-    else {
-        assert(arrangement == Q3IconView::TopToBottom);
-        gridWidth = maxSize + (hint + 1) * (8 * m_iconsModeSettings->fontSize());
-
-        // The height-setting is ignored yet by KFileIconView if the TopToBottom
-        // arrangement is active. Anyway write the setting to have a defined value.
-        gridHeight = maxSize;
-    }
-
-    m_iconsModeSettings->setGridWidth(gridWidth);
-    m_iconsModeSettings->setGridHeight(gridHeight);
-}
-
-int DolphinSettings::textWidthHint() const
-{
-    // TODO: remove in KDE4
-    const int previewSize = m_iconsModeSettings->previewSize();
-    const int iconSize = m_iconsModeSettings->iconSize();
-    const Q3IconView::Arrangement arrangement = (m_iconsModeSettings->arrangement() == "LeftToRight") ?
-                                               Q3IconView::LeftToRight : Q3IconView::TopToBottom;
-
-    const int gridWidth = m_iconsModeSettings->gridWidth();
-
-    const int maxSize = (previewSize > iconSize) ? previewSize : iconSize;
-    int hint = 0;
-    if (arrangement == Q3IconView::LeftToRight) {
-        int widthUnit = maxSize + (maxSize / 2);
-        if (widthUnit < KIcon::SizeLarge) {
-            widthUnit = KIcon::SizeLarge;
-        }
-        hint = (gridWidth - widthUnit) / KIcon::SizeLarge;
-    }
-    else {
-        assert(arrangement == Q3IconView::TopToBottom);
-        hint = (gridWidth - maxSize) / (8 * m_iconsModeSettings->fontSize()) - 1;
-        if (hint > 2) {
-            hint = 2;
-        }
-    }
-    return hint;
+    m_columnModeSettings->writeConfig();
 }
 
 DolphinSettings::DolphinSettings()
 {
     m_generalSettings = new GeneralSettings();
     m_iconsModeSettings = new IconsModeSettings();
-    m_previewsModeSettings = new PreviewsModeSettings();
     m_detailsModeSettings = new DetailsModeSettings();
-    m_sidebarSettings = new SidebarSettings();
+    m_columnModeSettings = new ColumnModeSettings();
+    m_placesModel = new KFilePlacesModel();
 }
 
 DolphinSettings::~DolphinSettings()
@@ -173,12 +64,12 @@ DolphinSettings::~DolphinSettings()
     delete m_iconsModeSettings;
     m_iconsModeSettings = 0;
 
-    delete m_previewsModeSettings;
-    m_previewsModeSettings = 0;
-
     delete m_detailsModeSettings;
     m_detailsModeSettings = 0;
 
-    delete m_sidebarSettings;
-    m_sidebarSettings = 0;
+    delete m_columnModeSettings;
+    m_columnModeSettings = 0;
+
+    delete m_placesModel;
+    m_placesModel = 0;
 }