diff --git a/krfb/invitationsrfbserver.cpp b/krfb/invitationsrfbserver.cpp index 33dac04..e3c1775 100644 --- a/krfb/invitationsrfbserver.cpp +++ b/krfb/invitationsrfbserver.cpp @@ -81,6 +81,11 @@ const QString& InvitationsRfbServer::unattendedPassword() const return m_unattendedPassword; } +bool InvitationsRfbServer::enableSharing() const +{ + return m_enableSharing; +} + void InvitationsRfbServer::setUnattendedPassword(const QString& password) { m_unattendedPassword = password; @@ -108,6 +113,11 @@ void InvitationsRfbServer::stop() RfbServer::stop(); } +void InvitationsRfbServer::toggleSharing(bool allow) +{ + m_enableSharing = allow; +} + void InvitationsRfbServer::toggleUnattendedAccess(bool allow) { m_allowUnattendedAccess = allow; @@ -117,6 +127,9 @@ InvitationsRfbServer::InvitationsRfbServer() { m_desktopPassword = readableRandomString(4)+"-"+readableRandomString(3); m_unattendedPassword = readableRandomString(4)+"-"+readableRandomString(3); + KConfigGroup krfbConfig(KSharedConfig::openConfig(),"MainWindow"); + m_enableSharing = krfbConfig.readEntry( + "enableSharing", QVariant(false)).toBool(); KConfigGroup krfbConfig(KSharedConfig::openConfig(),"Security"); m_allowUnattendedAccess = krfbConfig.readEntry( "allowUnattendedAccess", QVariant(false)).toBool(); @@ -125,6 +138,8 @@ InvitationsRfbServer::InvitationsRfbServer() InvitationsRfbServer::~InvitationsRfbServer() { stop(); + KConfigGroup krfbConfig(KSharedConfig::openConfig(),"MainWindow"); + krfbConfig.writeEntry("enableSharing",m_enableSharing); KConfigGroup krfbConfig(KSharedConfig::openConfig(),"Security"); krfbConfig.writeEntry("allowUnattendedAccess",m_allowUnattendedAccess); if(!KrfbConfig::noWallet()) { @@ -145,6 +160,9 @@ InvitationsRfbServer::~InvitationsRfbServer() KStringHandler::obscure(m_unattendedPassword)); krfbConfig.writeEntry("allowUnattendedAccess", m_allowUnattendedAccess); + KConfigGroup krfbConfig(KSharedConfig::openConfig(),"MainWindow"); + krfbConfig.writeEntry("enableSharing", + m_enableSharing); } } diff --git a/krfb/invitationsrfbserver.h b/krfb/invitationsrfbserver.h index 34f7165..70233e0 100644 --- a/krfb/invitationsrfbserver.h +++ b/krfb/invitationsrfbserver.h @@ -42,6 +42,7 @@ public: const QString& unattendedPassword() const; void setUnattendedPassword(const QString&); bool allowUnattendedAccess() const; + bool enableSharing() const; Q_SIGNALS: void passwordChanged(const QString&); @@ -50,6 +51,7 @@ public Q_SLOTS: bool start() override; void stop() override; void toggleUnattendedAccess(bool allow); + void toggleSharing(bool allow); protected: InvitationsRfbServer(); @@ -62,6 +64,7 @@ private Q_SLOTS: private: KDNSSD::PublicService *m_publicService; bool m_allowUnattendedAccess; + bool m_enableSharing; QString m_desktopPassword; QString m_unattendedPassword; KWallet::Wallet *m_wallet; diff --git a/krfb/krfb.kcfg b/krfb/krfb.kcfg index e0683d8..d6715d6 100644 --- a/krfb/krfb.kcfg +++ b/krfb/krfb.kcfg @@ -8,6 +8,10 @@ false + + + false + diff --git a/krfb/mainwindow.cpp b/krfb/mainwindow.cpp index 197719b..803cd6d 100644 --- a/krfb/mainwindow.cpp +++ b/krfb/mainwindow.cpp @@ -57,6 +57,9 @@ MainWindow::MainWindow(QWidget *parent) QWidget *mainWidget = new QWidget; m_ui.setupUi(mainWidget); m_ui.krfbIconLabel->setPixmap(QIcon::fromTheme("krfb").pixmap(128)); + m_ui.enableSharingCheckBox->setChecked( + InvitationsRfbServer::instance->enableSharing()); + toggleDesktopSharing(InvitationsRfbServer::instance->enableSharing()); m_ui.enableUnattendedCheckBox->setChecked( InvitationsRfbServer::instance->allowUnattendedAccess());