]> cloud.milkyroute.net Git - dolphin.git/commitdiff
allow to configure the column width of the columns view
authorPeter Penz <peter.penz19@gmail.com>
Wed, 19 Sep 2007 09:34:44 +0000 (09:34 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Wed, 19 Sep 2007 09:34:44 +0000 (09:34 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=714342

src/columnviewsettingspage.cpp
src/columnviewsettingspage.h
src/dolphin_columnmodesettings.kcfg
src/dolphincolumnview.cpp

index 25150b212eaa0501748e0a31273bf5254e921f12..e53a4c61af2cd6a7715dfdd42e80be2494bb4c10 100644 (file)
 #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"
index 7b040a4c6779f5a1856d3b41a3e7401a3eb3e768..e5780d989cc497a01d470e629c0d7ced4a7501ef 100644 (file)
@@ -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
index 963b9445841efa16aa1e206f1754ba8a35b4e2c9..a5072131db8b410f6aa82ceb60ebd7cd09fd58f1 100644 (file)
@@ -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>
index 32111253cbd614f5bc8526fcb76f6be6424c8eca..b820e6b0eec69ad61658de394d8cc34a64459438 100644 (file)
@@ -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;