kwin/kcmkwin/kwinscreenedges/kwinscreenedgeconfigform.cpp
Vlad Zahorodnii 0c266e760b Replace remaining usages of old connect syntax with new connect syntax
This change replaces the remaining usages of the old connect syntax with
the new connect syntax.

Unfortunately, there are still places where we have to use SIGNAL() and
SLOT() macros, for example the stuff that deals with d-bus business.

Clazy was used to create this change. There were a few cases that needed
manual intervention, the majority of those cases were about resolving
ambiguity caused by overloaded signals.
2020-09-24 09:33:45 +00:00

104 lines
3 KiB
C++

/*
KWin - the KDE window manager
This file is part of the KDE project.
SPDX-FileCopyrightText: 2009 Lucas Murray <lmurray@undefinedfire.com>
SPDX-FileCopyrightText: 2020 Cyril Rossi <cyril.rossi@enioka.com>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "kwinscreenedgeconfigform.h"
#include "ui_main.h"
namespace KWin
{
KWinScreenEdgesConfigForm::KWinScreenEdgesConfigForm(QWidget *parent)
: KWinScreenEdge(parent)
, ui(new Ui::KWinScreenEdgesConfigUI)
{
ui->setupUi(this);
connect(ui->kcfg_ElectricBorderDelay, qOverload<int>(&QSpinBox::valueChanged), this, &KWinScreenEdgesConfigForm::sanitizeCooldown);
// Visual feedback of action group conflicts
connect(ui->kcfg_ElectricBorders, qOverload<int>(&QComboBox::currentIndexChanged), this, &KWinScreenEdgesConfigForm::groupChanged);
connect(ui->kcfg_ElectricBorderMaximize, &QCheckBox::stateChanged, this, &KWinScreenEdgesConfigForm::groupChanged);
connect(ui->kcfg_ElectricBorderTiling, &QCheckBox::stateChanged, this, &KWinScreenEdgesConfigForm::groupChanged);
connect(ui->electricBorderCornerRatioSpin, qOverload<int>(&QSpinBox::valueChanged), this, &KWinScreenEdgesConfigForm::onChanged);
}
KWinScreenEdgesConfigForm::~KWinScreenEdgesConfigForm()
{
delete ui;
}
void KWinScreenEdgesConfigForm::setElectricBorderCornerRatio(double value)
{
m_referenceCornerRatio = value;
ui->electricBorderCornerRatioSpin->setValue(m_referenceCornerRatio * 100.);
}
void KWinScreenEdgesConfigForm::setDefaultElectricBorderCornerRatio(double value)
{
m_defaultCornerRatio = value;
}
double KWinScreenEdgesConfigForm::electricBorderCornerRatio() const
{
return ui->electricBorderCornerRatioSpin->value() / 100.;
}
void KWinScreenEdgesConfigForm::setElectricBorderCornerRatioEnabled(bool enable)
{
return ui->electricBorderCornerRatioSpin->setEnabled(enable);
}
void KWinScreenEdgesConfigForm::reload()
{
ui->electricBorderCornerRatioSpin->setValue(m_referenceCornerRatio * 100.);
KWinScreenEdge::reload();
}
void KWinScreenEdgesConfigForm::setDefaults()
{
ui->electricBorderCornerRatioSpin->setValue(m_defaultCornerRatio * 100.);
KWinScreenEdge::setDefaults();
}
Monitor *KWinScreenEdgesConfigForm::monitor() const
{
return ui->monitor;
}
bool KWinScreenEdgesConfigForm::isSaveNeeded() const
{
return m_referenceCornerRatio != electricBorderCornerRatio();
}
bool KWinScreenEdgesConfigForm::isDefault() const
{
return m_defaultCornerRatio == electricBorderCornerRatio();
}
void KWinScreenEdgesConfigForm::sanitizeCooldown()
{
ui->kcfg_ElectricBorderCooldown->setMinimum(ui->kcfg_ElectricBorderDelay->value() + 50);
}
void KWinScreenEdgesConfigForm::groupChanged()
{
// Monitor conflicts
bool hide = false;
if (ui->kcfg_ElectricBorders->currentIndex() == 2) {
hide = true;
}
monitorHideEdge(ElectricTop, hide);
monitorHideEdge(ElectricRight, hide);
monitorHideEdge(ElectricBottom, hide);
monitorHideEdge(ElectricLeft, hide);
}
} // namespace