kdeconnect-kde/plugins/clipboard/clipboard_config.cpp
Albert Vaca Cintora 144a60b58a Allow disabling clipboard auto-share and add option to share manually
Continues the work started in !396 by rebasing it onto latest master and
making the "send clipboard" button from the plasmoid invisible when
automatic syncing is enabled.
    
I didn't find a way to do the same in kdeconnect-indicator and
kdeconnect-app (why do we have 3 UIs???), so in those we always show the
option for now.
2023-06-07 19:48:25 +00:00

62 lines
1.8 KiB
C++

/**
* SPDX-FileCopyrightText: 2022 Yuchen Shi <bolshaya_schists@mail.gravitide.co>
*
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
#include "clipboard_config.h"
#include "ui_clipboard_config.h"
#include <KPluginFactory>
K_PLUGIN_FACTORY(ClipboardConfigFactory, registerPlugin<ClipboardConfig>();)
ClipboardConfig::ClipboardConfig(QWidget* parent, const QVariantList &args)
: KdeConnectPluginKcm(parent, args, QStringLiteral("kdeconnect_clipboard"))
, m_ui(new Ui::ClipboardConfigUi())
{
m_ui->setupUi(this);
connect(m_ui->check_autoshare, SIGNAL(toggled(bool)), this, SLOT(autoShareChanged()));
connect(m_ui->check_password, SIGNAL(toggled(bool)), this, SLOT(changed()));
}
ClipboardConfig::~ClipboardConfig()
{
delete m_ui;
}
void ClipboardConfig::autoShareChanged()
{
m_ui->check_password->setEnabled(m_ui->check_autoshare->isChecked());
Q_EMIT changed();
}
void ClipboardConfig::defaults()
{
KCModule::defaults();
m_ui->check_autoshare->setChecked(true);
m_ui->check_password->setChecked(true);
Q_EMIT changed(true);
}
void ClipboardConfig::load()
{
KCModule::load();
// "sendUnknown" is the legacy name for this setting
bool autoShare = config()->getBool(QStringLiteral("autoShare"), config()->getBool(QStringLiteral("sendUnknown"), true));
bool password = config()->getBool(QStringLiteral("sendPassword"), true);
m_ui->check_autoshare->setChecked(autoShare);
m_ui->check_password->setChecked(password);
autoShareChanged();
}
void ClipboardConfig::save()
{
config()->set(QStringLiteral("autoShare"), m_ui->check_autoshare->isChecked());
config()->set(QStringLiteral("sendPassword"), m_ui->check_password->isChecked());
KCModule::save();
Q_EMIT changed(false);
}
#include "clipboard_config.moc"