┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-09-19 09:34:44 +0000
committerPeter Penz <[email protected]>2007-09-19 09:34:44 +0000
commit81dd225e69064445716cc05d5b7c6b06da34f7a3 (patch)
tree6b8669ac6a6dc6625633fccd92386c02055048a8 /src
parentbfcc34acaf3730c53d4814fafb46bf6692370c37 (diff)
allow to configure the column width of the columns view
svn path=/trunk/KDE/kdebase/apps/; revision=714342
Diffstat (limited to 'src')
-rw-r--r--src/columnviewsettingspage.cpp41
-rw-r--r--src/columnviewsettingspage.h2
-rw-r--r--src/dolphin_columnmodesettings.kcfg4
-rw-r--r--src/dolphincolumnview.cpp3
4 files changed, 40 insertions, 10 deletions
diff --git a/src/columnviewsettingspage.cpp b/src/columnviewsettingspage.cpp
index 25150b212..e53a4c61a 100644
--- a/src/columnviewsettingspage.cpp
+++ b/src/columnviewsettingspage.cpp
@@ -26,14 +26,14 @@
#include <kfontrequester.h>
#include <klocale.h>
-#include <QtGui/QButtonGroup>
-#include <QtGui/QCheckBox>
-#include <QtGui/QComboBox>
-#include <QtGui/QGroupBox>
-#include <QtGui/QGridLayout>
-#include <QtGui/QLabel>
-#include <QtGui/QRadioButton>
-#include <QtGui/QSpinBox>
+#include <QButtonGroup>
+#include <QCheckBox>
+#include <QComboBox>
+#include <QGroupBox>
+#include <QHBoxLayout>
+#include <QLabel>
+#include <QSlider>
+#include <QRadioButton>
ColumnViewSettingsPage::ColumnViewSettingsPage(DolphinMainWindow* mainWindow,
QWidget* parent) :
@@ -42,7 +42,8 @@ ColumnViewSettingsPage::ColumnViewSettingsPage(DolphinMainWindow* mainWindow,
m_smallIconSize(0),
m_mediumIconSize(0),
m_largeIconSize(0),
- m_fontRequester(0)
+ m_fontRequester(0),
+ m_columnWidthSlider(0)
{
const int spacing = KDialog::spacingHint();
const int margin = KDialog::marginHint();
@@ -51,6 +52,23 @@ ColumnViewSettingsPage::ColumnViewSettingsPage(DolphinMainWindow* mainWindow,
setSpacing(spacing);
setMargin(margin);
+ // create "Column Width" properties
+ QGroupBox* columnWidthBox = new QGroupBox(i18nc("@title:group", "Column Width"), this);
+ columnWidthBox->setSizePolicy(sizePolicy);
+
+ QLabel* smallLabel = new QLabel(i18nc("@item:inrange Column Width", "Small"), columnWidthBox);
+ m_columnWidthSlider = new QSlider(Qt::Horizontal, columnWidthBox);
+ m_columnWidthSlider->setMinimum(0);
+ m_columnWidthSlider->setMaximum(5);
+ m_columnWidthSlider->setPageStep(1);
+ m_columnWidthSlider->setTickmarks(QSlider::TicksBelow);
+ QLabel* largeLabel = new QLabel(i18nc("@item:inrange Column Width", "Large"), columnWidthBox);
+
+ QHBoxLayout* columnWidthLayout = new QHBoxLayout(columnWidthBox);
+ columnWidthLayout->addWidget(smallLabel);
+ columnWidthLayout->addWidget(m_columnWidthSlider);
+ columnWidthLayout->addWidget(largeLabel);
+
// Create 'Icon' properties
QGroupBox* iconSizeBox = new QGroupBox(i18nc("@title:group", "Icon Size"), this);
iconSizeBox->setSizePolicy(sizePolicy);
@@ -109,6 +127,9 @@ void ColumnViewSettingsPage::applySettings()
settings->setFontSize(font.pointSize());
settings->setItalicFont(font.italic());
settings->setBoldFont(font.bold());
+
+ const int columnWidth = 150 + (m_columnWidthSlider->value() * 50);
+ settings->setColumnWidth(columnWidth);
}
void ColumnViewSettingsPage::restoreDefaults()
@@ -141,6 +162,8 @@ void ColumnViewSettingsPage::loadSettings()
font.setItalic(settings->italicFont());
font.setBold(settings->boldFont());
m_fontRequester->setFont(font);
+
+ m_columnWidthSlider->setValue((settings->columnWidth() - 150) / 50);
}
#include "columnviewsettingspage.moc"
diff --git a/src/columnviewsettingspage.h b/src/columnviewsettingspage.h
index 7b040a4c6..e5780d989 100644
--- a/src/columnviewsettingspage.h
+++ b/src/columnviewsettingspage.h
@@ -24,6 +24,7 @@
class DolphinMainWindow;
class KFontRequester;
+class QSlider;
class QRadioButton;
/**
@@ -57,6 +58,7 @@ private:
QRadioButton* m_mediumIconSize;
QRadioButton* m_largeIconSize;
KFontRequester* m_fontRequester;
+ QSlider* m_columnWidthSlider;
};
#endif
diff --git a/src/dolphin_columnmodesettings.kcfg b/src/dolphin_columnmodesettings.kcfg
index 963b94458..a5072131d 100644
--- a/src/dolphin_columnmodesettings.kcfg
+++ b/src/dolphin_columnmodesettings.kcfg
@@ -25,5 +25,9 @@
<label context="@label">Icon size</label>
<default code="true">K3Icon::SizeSmall</default>
</entry>
+ <entry name="ColumnWidth" type="Int">
+ <label context="@label">Column width</label>
+ <default>250</default>
+ </entry>
</group>
</kcfg>
diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp
index 32111253c..b820e6b0e 100644
--- a/src/dolphincolumnview.cpp
+++ b/src/dolphincolumnview.cpp
@@ -625,7 +625,8 @@ void DolphinColumnView::setActiveColumnIndex(int index)
void DolphinColumnView::layoutColumns()
{
int x = m_contentX;
- const int columnWidth = 250;
+ ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
+ const int columnWidth = settings->columnWidth();
foreach (ColumnWidget* column, m_columns) {
column->setGeometry(QRect(x, 0, columnWidth, viewport()->height()));
x += columnWidth;