Fix saving pinned state persistently

This commit is contained in:
Martchus 2022-10-07 23:15:25 +02:00
parent 0086873684
commit ace27f9e9c
3 changed files with 11 additions and 1 deletions

View File

@ -16,6 +16,7 @@ namespace QtGui {
TrayMenu::TrayMenu(TrayIcon *trayIcon, QWidget *parent)
: QMenu(parent)
, m_trayIcon(trayIcon)
, m_pinned(false)
{
setObjectName(QStringLiteral("QtGui::TrayMenu"));
auto *const menuLayout = new QHBoxLayout;

View File

@ -221,7 +221,7 @@ TrayWidget::TrayWidget(TrayMenu *parent)
connect(launcher, &SyncthingLauncher::runningChanged, this, &TrayWidget::handleLauncherStatusChanged);
}
if (m_menu && Settings::values().enableWipFeatures) {
connect(m_ui->pinPushButton, &QPushButton::toggled, m_menu, &TrayMenu::setPinned);
connect(m_ui->pinPushButton, &QPushButton::toggled, this, &TrayWidget::handlePinnedChanged);
} else {
m_ui->pinPushButton->hide();
}
@ -331,6 +331,14 @@ void TrayWidget::applySettingsChangesFromWizard()
}
}
void TrayWidget::handlePinnedChanged(bool pinned)
{
Settings::values().appearance.pinned = pinned;
if (m_menu) {
m_menu->setPinned(pinned);
}
}
void TrayWidget::showAboutDialog()
{
if (!s_dialogParent) {

View File

@ -84,6 +84,7 @@ protected:
private Q_SLOTS:
void handleStatusChanged(Data::SyncthingStatus status);
void handlePinnedChanged(bool pinned);
static void applySettingsOnAllInstances();
void openDir(const Data::SyncthingDir &dir);
void openItemDir(const Data::SyncthingItemDownloadProgress &item);