Changeset View
Changeset View
Standalone View
Standalone View
kcm/src/resolutionslider.cpp
Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Line(s) | 47 | if (mModes.contains(mode->size())) { | |||
---|---|---|---|---|---|
48 | continue; | 48 | continue; | ||
49 | } | 49 | } | ||
50 | 50 | | |||
51 | mModes << mode->size(); | 51 | mModes << mode->size(); | ||
52 | } | 52 | } | ||
53 | qSort(mModes.begin(), mModes.end(), sizeLessThan); | 53 | qSort(mModes.begin(), mModes.end(), sizeLessThan); | ||
54 | 54 | | |||
55 | QGridLayout *layout = new QGridLayout(this); | 55 | QGridLayout *layout = new QGridLayout(this); | ||
56 | int margin = layout->margin(); | ||||
57 | // Avoid double margins | ||||
58 | layout->setMargin(0); | ||||
56 | 59 | | |||
57 | if (mModes.count() > 15) { | 60 | if (mModes.count() > 15) { | ||
58 | std::reverse(mModes.begin(), mModes.end()); | 61 | std::reverse(mModes.begin(), mModes.end()); | ||
59 | mComboBox = new QComboBox(this); | 62 | mComboBox = new QComboBox(this); | ||
60 | mComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents); | 63 | mComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents); | ||
61 | mComboBox->setEditable(false); | 64 | mComboBox->setEditable(false); | ||
62 | Q_FOREACH (const QSize &size, mModes) { | 65 | Q_FOREACH (const QSize &size, mModes) { | ||
63 | mComboBox->addItem(Utils::sizeToString(size)); | 66 | mComboBox->addItem(Utils::sizeToString(size)); | ||
Show All 10 Lines | 75 | } else { | |||
74 | mCurrentLabel->setAlignment(Qt::AlignCenter); | 77 | mCurrentLabel->setAlignment(Qt::AlignCenter); | ||
75 | layout->addWidget(mCurrentLabel, 1, 0, 1, 3); | 78 | layout->addWidget(mCurrentLabel, 1, 0, 1, 3); | ||
76 | 79 | | |||
77 | if (mModes.isEmpty()) { | 80 | if (mModes.isEmpty()) { | ||
78 | mCurrentLabel->setText(i18n("No available resolutions")); | 81 | mCurrentLabel->setText(i18n("No available resolutions")); | ||
79 | } else if (mModes.count() == 1) { | 82 | } else if (mModes.count() == 1) { | ||
80 | mCurrentLabel->setText(Utils::sizeToString(mModes.first())); | 83 | mCurrentLabel->setText(Utils::sizeToString(mModes.first())); | ||
81 | } else { | 84 | } else { | ||
85 | // No double margins left and right, but they are needed on top and bottom | ||||
86 | layout->setContentsMargins(0, margin, 0, margin); | ||||
82 | mSlider = new QSlider(Qt::Horizontal, this); | 87 | mSlider = new QSlider(Qt::Horizontal, this); | ||
83 | mSlider->setTickInterval(1); | 88 | mSlider->setTickInterval(1); | ||
84 | mSlider->setTickPosition(QSlider::TicksBelow); | 89 | mSlider->setTickPosition(QSlider::TicksBelow); | ||
85 | mSlider->setSingleStep(1); | 90 | mSlider->setSingleStep(1); | ||
86 | mSlider->setPageStep(1); | 91 | mSlider->setPageStep(1); | ||
87 | mSlider->setMinimum(0); | 92 | mSlider->setMinimum(0); | ||
88 | mSlider->setMaximum(mModes.size() - 1); | 93 | mSlider->setMaximum(mModes.size() - 1); | ||
89 | mSlider->setSingleStep(1); | 94 | mSlider->setSingleStep(1); | ||
▲ Show 20 Lines • Show All 71 Lines • Show Last 20 Lines |