#include <kiconloader.h>
#include <kglobalsettings.h>
#include <klocale.h>
+#include <kcombobox.h>
#include <QCheckBox>
-#include <QComboBox>
#include <QGroupBox>
#include <QLabel>
#include <QListView>
// Create "Icon" properties
m_iconSizeGroupBox = new IconSizeGroupBox(this);
m_iconSizeGroupBox->setSizePolicy(sizePolicy);
-
+
const int min = ZoomLevelInfo::minimumLevel();
const int max = ZoomLevelInfo::maximumLevel();
m_iconSizeGroupBox->setDefaultSizeRange(min, max);
m_iconSizeGroupBox->setPreviewSizeRange(min, max);
-
+
connect(m_iconSizeGroupBox, SIGNAL(defaultSizeChanged(int)),
this, SIGNAL(changed()));
connect(m_iconSizeGroupBox, SIGNAL(previewSizeChanged(int)),
this, SIGNAL(changed()));
-
+
// create 'Text' group for selecting the font, the number of lines
// and the text width
QGroupBox* textGroup = new QGroupBox(i18nc("@title:group", "Text"), this);
connect(m_textlinesCountBox, SIGNAL(valueChanged(int)), this, SIGNAL(changed()));
QLabel* textWidthLabel = new QLabel(i18nc("@label:listbox", "Text width:"), textGroup);
- m_textWidthBox = new QComboBox(textGroup);
+ m_textWidthBox = new KComboBox(textGroup);
m_textWidthBox->addItem(i18nc("@item:inlistbox Text width", "Small"));
m_textWidthBox->addItem(i18nc("@item:inlistbox Text width", "Medium"));
m_textWidthBox->addItem(i18nc("@item:inlistbox Text width", "Large"));
+ m_textWidthBox->addItem(i18nc("@item:inlistbox Text width", "Huge"));
connect(m_textWidthBox, SIGNAL(activated(int)), this, SIGNAL(changed()));
QGridLayout* textGroupLayout = new QGridLayout(textGroup);
gridGroup->setSizePolicy(sizePolicy);
QLabel* arrangementLabel = new QLabel(i18nc("@label:listbox", "Arrangement:"), gridGroup);
- m_arrangementBox = new QComboBox(gridGroup);
+ m_arrangementBox = new KComboBox(gridGroup);
m_arrangementBox->addItem(i18nc("@item:inlistbox Arrangement", "Columns"));
m_arrangementBox->addItem(i18nc("@item:inlistbox Arrangement", "Rows"));
connect(m_arrangementBox, SIGNAL(activated(int)), this, SIGNAL(changed()));
QLabel* gridSpacingLabel = new QLabel(i18nc("@label:listbox", "Grid spacing:"), gridGroup);
- m_gridSpacingBox = new QComboBox(gridGroup);
+ m_gridSpacingBox = new KComboBox(gridGroup);
+ m_gridSpacingBox->addItem(i18nc("@item:inlistbox Grid spacing", "None"));
m_gridSpacingBox->addItem(i18nc("@item:inlistbox Grid spacing", "Small"));
m_gridSpacingBox->addItem(i18nc("@item:inlistbox Grid spacing", "Medium"));
m_gridSpacingBox->addItem(i18nc("@item:inlistbox Grid spacing", "Large"));
settings->setNumberOfTextlines(numberOfTextlines);
- settings->setGridSpacing(GridSpacingBase +
- m_gridSpacingBox->currentIndex() * GridSpacingInc);
+ const int index = m_gridSpacingBox->currentIndex();
+ if (index == 0) {
+ // No grid spacing
+ settings->setGridSpacing(0);
+ } else {
+ settings->setGridSpacing(GridSpacingBase + (index - 1) * GridSpacingInc);
+ }
}
void IconsViewSettingsPage::restoreDefaults()
const QSize iconSize(settings->iconSize(), settings->iconSize());
const int iconSizeValue = ZoomLevelInfo::zoomLevelForIconSize(iconSize);
m_iconSizeGroupBox->setDefaultSizeValue(iconSizeValue);
-
+
const QSize previewSize(settings->previewSize(), settings->previewSize());
const int previewSizeValue = ZoomLevelInfo::zoomLevelForIconSize(previewSize);
m_iconSizeGroupBox->setPreviewSizeValue(previewSizeValue);
m_textWidthBox->setCurrentIndex(textWidthIndex);
m_arrangementBox->setCurrentIndex(leftToRightArrangement ? 0 : 1);
- m_gridSpacingBox->setCurrentIndex((settings->gridSpacing() - GridSpacingBase) / GridSpacingInc);
+
+ const int spacing = settings->gridSpacing();
+ const int index = (spacing <= 0) ? 0 : 1 + (spacing - GridSpacingBase) / GridSpacingInc;
+ m_gridSpacingBox->setCurrentIndex(index);
}
#include "iconsviewsettingspage.moc"