You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lxqt-config-packaging/lxqt-config-brightness/outputwidget.cpp

69 lines
2.4 KiB

/*
Copyright (C) 2016 P.L. Lucas <selairi@gmail.com>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "outputwidget.h"
OutputWidget::OutputWidget(MonitorInfo monitor, QWidget *parent):QWidget(parent), mMonitor(monitor)
{
ui = new Ui::OutputWidget();
ui->setupUi(this);
ui->label->setText("<b>"+monitor.name()+":</b>");
if ( monitor.isBacklightSupported() )
{
ui->backlightSlider->setMinimum(0);
ui->backlightSlider->setMaximum(monitor.backlightMax());
ui->backlightSlider->setValue(monitor.backlight());
ui->backlightSlider->setFocus(Qt::OtherFocusReason);
}
else
ui->backlightSlider->hide();
ui->brightnessSlider->setMinimum(0);
ui->brightnessSlider->setMaximum(200);
ui->brightnessSlider->setValue(monitor.brightness()*100);
connect(ui->backlightSlider, SIGNAL(valueChanged(int)), this, SLOT(backlightChanged(int)));
connect(ui->brightnessSlider, SIGNAL(valueChanged(int)), this, SLOT(brightnessChanged(int)));
}
void OutputWidget::backlightChanged(int value)
{
mMonitor.setBacklight(value);
emit changed(mMonitor);
}
void OutputWidget::brightnessChanged(int value)
{
mMonitor.setBrightness((float)value/100.0);
emit changed(mMonitor);
}
void OutputWidget::setRevertedValues(const MonitorInfo & monitor)
{
if (mMonitor.id() == monitor.id() && mMonitor.name() == monitor.name())
{
ui->backlightSlider->blockSignals(true);
ui->backlightSlider->setValue(monitor.backlight());
ui->backlightSlider->blockSignals(false);
ui->brightnessSlider->blockSignals(true);
ui->brightnessSlider->setValue(monitor.brightness()*100);
ui->brightnessSlider->blockSignals(false);
}
}