* 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 <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()
{
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();
+ return bookmarkManager()->findByAddress(QString('/') + QString::number(index));
}
KBookmarkManager* DolphinSettings::bookmarkManager() const
{
- QString basePath = KGlobal::instance()->instanceName();
+ QString basePath = KGlobal::mainComponent().componentName();
basePath.append("/bookmarks.xml");
- const QString file = locateLocal("data", basePath);
+ const QString file = KStandardDirs::locateLocal("data", basePath);
- return KBookmarkManager::managerForFile(file, false);
+ return KBookmarkManager::managerForFile(file, "dolphin", false);
}
void DolphinSettings::save()
{
m_generalSettings->writeConfig();
m_iconsModeSettings->writeConfig();
- m_previewsModeSettings->writeConfig();
m_detailsModeSettings->writeConfig();
- m_sidebarSettings->writeConfig();
+ m_columnModeSettings->writeConfig();
- QString basePath = KGlobal::instance()->instanceName();
+ QString basePath = KGlobal::mainComponent().componentName();
basePath.append("/bookmarks.xml");
- const QString file = locateLocal( "data", basePath);
+ const QString file = KStandardDirs::locateLocal( "data", basePath);
- KBookmarkManager* manager = KBookmarkManager::managerForFile(file, false);
+ KBookmarkManager* manager = KBookmarkManager::managerForFile(file, "dolphin", 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;
-}
-
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();
}
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;
}