1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
/*
*
* * Copyright (C) 2023, KylinSoft Co., Ltd.
* *
* * This program is free software: you can redistribute it and/or modify
* * it under the terms of the GNU General Public License as published by
* * the Free Software Foundation, either version 3 of the License, or
* * (at your option) any later version.
* *
* * This program 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 General Public License for more details.
* *
* * You should have received a copy of the GNU General Public License
* * along with this program. If not, see <https://www.gnu.org/licenses/>.
* *
* * Authors: Nicole <buxiaoqing@kylinos.cn>
*
*/
#include "alwaysdisplayonpanel.h"
#include <QtDebug>
AlwaysDisplayonPanel::AlwaysDisplayonPanel(QWidget *parent) : QFrame(parent)
{
this->setMinimumSize(QSize(550, 0));
this->setMaximumSize(QSize(16777215, 16777215));
this->setFrameShape(QFrame::Box);
m_alwaysDisplayonPanelLayout = new QVBoxLayout(this);
m_alwaysDisplayonPanelLayout->setContentsMargins(0, 0, 0, 0);
m_alwaysDisplayonPanelLayout->setSpacing(0);
displayTaskview();
panelBtnDisplayChanged();
}
void AlwaysDisplayonPanel::setFrame_Noframe(QFrame *frame)
{
frame->setMinimumSize(QSize(550, 60));
frame->setMaximumSize(QSize(16777215, 60));
frame->setFrameShape(QFrame::NoFrame);
}
void AlwaysDisplayonPanel::displayTaskview()
{
m_taskviewDisplayFrame = new QFrame(this);
setFrame_Noframe(m_taskviewDisplayFrame);
m_taskviewDisplayLayout = new QHBoxLayout(m_taskviewDisplayFrame);
m_taskviewDisplayLayout->setContentsMargins(16, 0, 16, 0);
m_taskviewDisplayLabel = new QLabel(m_taskviewDisplayFrame);
m_taskviewDisplayLabel->setText(tr("Show Taskview"));
m_taskviewDisplayBtn = new KSwitchButton(m_taskviewDisplayFrame);
m_taskviewDisplayBtn->setObjectName("taskview");
m_taskviewDisplayBtn->setFixedSize(48,24);
m_taskviewDisplayLayout->addWidget(m_taskviewDisplayLabel);
m_taskviewDisplayLayout->addWidget(m_taskviewDisplayBtn);
m_alwaysDisplayonPanelLayout->addWidget(m_taskviewDisplayFrame);
}
void AlwaysDisplayonPanel::panelBtnDisplayChanged()
{
const QByteArray id(UKUI_PANEL_SETTINGS);
if(QGSettings::isSchemaInstalled(id)) {
m_panelSettings = new QGSettings(id);
m_taskviewDisplayBtn->setChecked(m_panelSettings->get(SHOW_TASKVIEW).toBool());
connect(m_panelSettings, &QGSettings::changed, this, [=] (const QString &key) {
if (key == SHOW_TASKVIEW) {
m_taskviewDisplayBtn->setChecked(m_panelSettings->get(SHOW_TASKVIEW).toBool());
}
});
}
connect(m_taskviewDisplayBtn, &KSwitchButton::stateChanged, [=](bool checked) {
m_panelSettings->set(SHOW_TASKVIEW,checked);
});
}
|