add graphical settings

This commit is contained in:
arcan1s 2014-12-03 04:33:13 +00:00
parent 997e13706b
commit be792a4c5a
2 changed files with 59 additions and 19 deletions

View File

@ -342,24 +342,28 @@ void DesktopPanel::paintTooltip(const int active)
info.desktop.width() + 2.0 * margin, 0);
toolTipScene->addLine(info.desktop.width() + 2.0 * margin, 0, 0, 0);
if (configuration[QString("desktopPreview")].toInt() == 0) {
// only contours
// QPen pen = QPen();
// pen.setWidthF(2.0 * info.desktop.width() / 400.0);
// pen.setColor(QColor(configuration[QString("tooltipColor")]));
// for (int i=0; i<info.windows.count(); i++) {
// toolTipScene->addLine(info.windows[i].left() + margin, info.windows[i].bottom() + margin,
// info.windows[i].left() + margin, info.windows[i].top() + margin, pen);
// toolTipScene->addLine(info.windows[i].left() + margin, info.windows[i].top() + margin,
// info.windows[i].right() + margin, info.windows[i].top() + margin, pen);
// toolTipScene->addLine(info.windows[i].right() + margin, info.windows[i].top() + margin,
// info.windows[i].right() + margin, info.windows[i].bottom() + margin, pen);
// toolTipScene->addLine(info.windows[i].right() + margin, info.windows[i].bottom() + margin,
// info.windows[i].left() + margin, info.windows[i].bottom() + margin, pen);
// }
QPen pen = QPen();
pen.setWidthF(2.0 * info.desktop.width() / 400.0);
pen.setColor(QColor(configuration[QString("tooltipColor")]));
for (int i=0; i<info.windows.count(); i++) {
toolTipScene->addLine(info.windows[i].left() + margin, info.windows[i].bottom() + margin,
info.windows[i].left() + margin, info.windows[i].top() + margin, pen);
toolTipScene->addLine(info.windows[i].left() + margin, info.windows[i].top() + margin,
info.windows[i].right() + margin, info.windows[i].top() + margin, pen);
toolTipScene->addLine(info.windows[i].right() + margin, info.windows[i].top() + margin,
info.windows[i].right() + margin, info.windows[i].bottom() + margin, pen);
toolTipScene->addLine(info.windows[i].right() + margin, info.windows[i].bottom() + margin,
info.windows[i].left() + margin, info.windows[i].bottom() + margin, pen);
}
toolTip.setImage(QPixmap::grabWidget(toolTipView).scaledToWidth(configuration[QString("tooltipWidth")].toInt()));
} else {
// desktop preview
toolTip.setImage(QPixmap::grabWindow(getDesktopId(active + 1)).scaledToWidth(configuration[QString("tooltipWidth")].toInt()));
toolTip.setWindowsToPreview(KWindowSystem::windows());
}
// toolTip.setImage(QPixmap::grabWidget(toolTipView).scaledToWidth(configuration[QString("tooltipWidth")].toInt()));
Plasma::ToolTipManager::self()->setContent(this, toolTip);
}
@ -423,6 +427,10 @@ void DesktopPanel::createConfigurationInterface(KConfigDialog *parent)
uiWidConfig.checkBox_tooltip->setCheckState(Qt::Unchecked);
else
uiWidConfig.checkBox_tooltip->setCheckState(Qt::Checked);
if (configuration[QString("desktopPreview")].toInt() == 0)
uiWidConfig.checkBox_desktopPreview->setCheckState(Qt::Unchecked);
else
uiWidConfig.checkBox_desktopPreview->setCheckState(Qt::Checked);
uiWidConfig.spinBox_tooltip->setValue(configuration[QString("tooltipWidth")].toInt());
uiWidConfig.kcolorcombo_tooltipColor->setColor(QColor(configuration[QString("tooltipColor")]));
if (configuration[QString("background")].toInt() == 0)
@ -508,6 +516,7 @@ void DesktopPanel::configAccepted()
cg.writeEntry("pattern", uiWidConfig.textEdit_elements->toPlainText());
cg.writeEntry("tooltip", QString::number(uiWidConfig.checkBox_tooltip->checkState()));
cg.writeEntry("tooltipWidth", QString::number(uiWidConfig.spinBox_tooltip->value()));
cg.writeEntry("desktopPreview", QString::number(uiWidConfig.checkBox_desktopPreview->checkState()));
cg.writeEntry("tooltipColor", uiWidConfig.kcolorcombo_tooltipColor->color().name());
cg.writeEntry("background", QString::number(uiWidConfig.checkBox_background->checkState()));
cg.writeEntry("layout", QString::number(uiWidConfig.checkBox_layout->checkState()));
@ -545,6 +554,7 @@ void DesktopPanel::configChanged()
configuration[QString("pattern")] = cg.readEntry("pattern", "[$fullmark$number/$total: $name]");
configuration[QString("tooltip")] = cg.readEntry("tooltip", "2");
configuration[QString("tooltipWidth")] = cg.readEntry("tooltipWidth", "200");
configuration[QString("desktopPreview")] = cg.readEntry("desktopPreview", "2");
configuration[QString("tooltipColor")] = cg.readEntry("tooltipColor", "#ffffff");
configuration[QString("background")] = cg.readEntry("background", "2");
configuration[QString("layout")] = cg.readEntry("layout", "0");

View File

@ -20,7 +20,7 @@
<string notr="true">Widget</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="9" column="0">
<item row="10" column="0">
<layout class="QHBoxLayout" name="layout_mark">
<item>
<widget class="QLabel" name="label_mark">
@ -336,7 +336,7 @@
</item>
</layout>
</item>
<item row="6" column="0">
<item row="7" column="0">
<layout class="QHBoxLayout" name="layout_tooltipColor">
<item>
<widget class="QLabel" name="label_tooltipColor">
@ -443,6 +443,36 @@
</item>
</layout>
</item>
<item row="6" column="0">
<layout class="QHBoxLayout" name="layout_desktopPreview">
<item>
<spacer name="spacer_desktopPreview">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="checkBox_desktopPreview">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Use desktop preview</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<customwidgets>