mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-26 23:28:14 +03:00
Revert "Merge pull request #5366 from nextcloud/bugfix/remove-mono-icons-setting"
This reverts commit5c42da4de5
, reversing changes made toe4b2449030
. Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
parent
e332929ffe
commit
68c785e25c
8 changed files with 85 additions and 1 deletions
|
@ -360,6 +360,9 @@ Application::Application(int &argc, char **argv)
|
||||||
|
|
||||||
setQuitOnLastWindowClosed(false);
|
setQuitOnLastWindowClosed(false);
|
||||||
|
|
||||||
|
_theme->setSystrayUseMonoIcons(cfg.monoIcons());
|
||||||
|
connect(_theme, &Theme::systrayUseMonoIconsChanged, this, &Application::slotUseMonoIconsChanged);
|
||||||
|
|
||||||
// Setting up the gui class will allow tray notifications for the
|
// Setting up the gui class will allow tray notifications for the
|
||||||
// setup that follows, like folder setup
|
// setup that follows, like folder setup
|
||||||
_gui = new ownCloudGui(this);
|
_gui = new ownCloudGui(this);
|
||||||
|
@ -568,6 +571,11 @@ void Application::setupLogging()
|
||||||
qCInfo(lcApplication) << "Arguments:" << qApp->arguments();
|
qCInfo(lcApplication) << "Arguments:" << qApp->arguments();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Application::slotUseMonoIconsChanged(bool)
|
||||||
|
{
|
||||||
|
_gui->slotComputeOverallSyncStatus();
|
||||||
|
}
|
||||||
|
|
||||||
void Application::slotParseMessage(const QString &msg, QObject *)
|
void Application::slotParseMessage(const QString &msg, QObject *)
|
||||||
{
|
{
|
||||||
if (msg.startsWith(QLatin1String("MSG_PARSEOPTIONS:"))) {
|
if (msg.startsWith(QLatin1String("MSG_PARSEOPTIONS:"))) {
|
||||||
|
|
|
@ -100,6 +100,7 @@ signals:
|
||||||
protected slots:
|
protected slots:
|
||||||
void slotParseMessage(const QString &, QObject *);
|
void slotParseMessage(const QString &, QObject *);
|
||||||
void slotCheckConnection();
|
void slotCheckConnection();
|
||||||
|
void slotUseMonoIconsChanged(bool);
|
||||||
void slotCleanup();
|
void slotCleanup();
|
||||||
void slotAccountStateAdded(OCC::AccountState *accountState);
|
void slotAccountStateAdded(OCC::AccountState *accountState);
|
||||||
void slotAccountStateRemoved(OCC::AccountState *accountState);
|
void slotAccountStateRemoved(OCC::AccountState *accountState);
|
||||||
|
|
|
@ -182,6 +182,7 @@ GeneralSettings::GeneralSettings(QWidget *parent)
|
||||||
//slotUpdateInfo();
|
//slotUpdateInfo();
|
||||||
|
|
||||||
// misc
|
// misc
|
||||||
|
connect(_ui->monoIconsCheckBox, &QAbstractButton::toggled, this, &GeneralSettings::saveMiscSettings);
|
||||||
connect(_ui->crashreporterCheckBox, &QAbstractButton::toggled, this, &GeneralSettings::saveMiscSettings);
|
connect(_ui->crashreporterCheckBox, &QAbstractButton::toggled, this, &GeneralSettings::saveMiscSettings);
|
||||||
connect(_ui->newFolderLimitCheckBox, &QAbstractButton::toggled, this, &GeneralSettings::saveMiscSettings);
|
connect(_ui->newFolderLimitCheckBox, &QAbstractButton::toggled, this, &GeneralSettings::saveMiscSettings);
|
||||||
connect(_ui->newFolderLimitSpinBox, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &GeneralSettings::saveMiscSettings);
|
connect(_ui->newFolderLimitSpinBox, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &GeneralSettings::saveMiscSettings);
|
||||||
|
@ -215,6 +216,10 @@ GeneralSettings::GeneralSettings(QWidget *parent)
|
||||||
_ui->horizontalLayout_3->getContentsMargins(&m0, &m1, &m2, &m3);
|
_ui->horizontalLayout_3->getContentsMargins(&m0, &m1, &m2, &m3);
|
||||||
_ui->horizontalLayout_3->setContentsMargins(0, m1, m2, m3);
|
_ui->horizontalLayout_3->setContentsMargins(0, m1, m2, m3);
|
||||||
|
|
||||||
|
// OEM themes are not obliged to ship mono icons, so there
|
||||||
|
// is no point in offering an option
|
||||||
|
_ui->monoIconsCheckBox->setVisible(Theme::instance()->monoIconsAvailable());
|
||||||
|
|
||||||
connect(_ui->ignoredFilesButton, &QAbstractButton::clicked, this, &GeneralSettings::slotIgnoreFilesEditor);
|
connect(_ui->ignoredFilesButton, &QAbstractButton::clicked, this, &GeneralSettings::slotIgnoreFilesEditor);
|
||||||
connect(_ui->debugArchiveButton, &QAbstractButton::clicked, this, &GeneralSettings::slotCreateDebugArchive);
|
connect(_ui->debugArchiveButton, &QAbstractButton::clicked, this, &GeneralSettings::slotCreateDebugArchive);
|
||||||
|
|
||||||
|
@ -241,6 +246,7 @@ void GeneralSettings::loadMiscSettings()
|
||||||
{
|
{
|
||||||
QScopedValueRollback<bool> scope(_currentlyLoading, true);
|
QScopedValueRollback<bool> scope(_currentlyLoading, true);
|
||||||
ConfigFile cfgFile;
|
ConfigFile cfgFile;
|
||||||
|
_ui->monoIconsCheckBox->setChecked(cfgFile.monoIcons());
|
||||||
_ui->serverNotificationsCheckBox->setChecked(cfgFile.optionalServerNotifications());
|
_ui->serverNotificationsCheckBox->setChecked(cfgFile.optionalServerNotifications());
|
||||||
_ui->callNotificationsCheckBox->setEnabled(_ui->serverNotificationsCheckBox->isEnabled());
|
_ui->callNotificationsCheckBox->setEnabled(_ui->serverNotificationsCheckBox->isEnabled());
|
||||||
_ui->callNotificationsCheckBox->setChecked(cfgFile.showCallNotifications());
|
_ui->callNotificationsCheckBox->setChecked(cfgFile.showCallNotifications());
|
||||||
|
@ -250,6 +256,7 @@ void GeneralSettings::loadMiscSettings()
|
||||||
_ui->newFolderLimitCheckBox->setChecked(newFolderLimit.first);
|
_ui->newFolderLimitCheckBox->setChecked(newFolderLimit.first);
|
||||||
_ui->newFolderLimitSpinBox->setValue(newFolderLimit.second);
|
_ui->newFolderLimitSpinBox->setValue(newFolderLimit.second);
|
||||||
_ui->newExternalStorage->setChecked(cfgFile.confirmExternalStorage());
|
_ui->newExternalStorage->setChecked(cfgFile.confirmExternalStorage());
|
||||||
|
_ui->monoIconsCheckBox->setChecked(cfgFile.monoIcons());
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(BUILD_UPDATER)
|
#if defined(BUILD_UPDATER)
|
||||||
|
@ -413,6 +420,9 @@ void GeneralSettings::saveMiscSettings()
|
||||||
if (_currentlyLoading)
|
if (_currentlyLoading)
|
||||||
return;
|
return;
|
||||||
ConfigFile cfgFile;
|
ConfigFile cfgFile;
|
||||||
|
bool isChecked = _ui->monoIconsCheckBox->isChecked();
|
||||||
|
cfgFile.setMonoIcons(isChecked);
|
||||||
|
Theme::instance()->setSystrayUseMonoIcons(isChecked);
|
||||||
cfgFile.setCrashReporter(_ui->crashreporterCheckBox->isChecked());
|
cfgFile.setCrashReporter(_ui->crashreporterCheckBox->isChecked());
|
||||||
|
|
||||||
cfgFile.setNewBigFolderSizeLimit(_ui->newFolderLimitCheckBox->isChecked(),
|
cfgFile.setNewBigFolderSizeLimit(_ui->newFolderLimitCheckBox->isChecked(),
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>556</width>
|
<width>556</width>
|
||||||
<height>573</height>
|
<height>563</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -66,6 +66,16 @@
|
||||||
<string>General Settings</string>
|
<string>General Settings</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QCheckBox" name="monoIconsCheckBox">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>For System Tray</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Use &Monochrome Icons</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QCheckBox" name="autostartCheckBox">
|
<widget class="QCheckBox" name="autostartCheckBox">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -333,6 +343,7 @@
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>autostartCheckBox</tabstop>
|
<tabstop>autostartCheckBox</tabstop>
|
||||||
<tabstop>serverNotificationsCheckBox</tabstop>
|
<tabstop>serverNotificationsCheckBox</tabstop>
|
||||||
|
<tabstop>monoIconsCheckBox</tabstop>
|
||||||
<tabstop>ignoredFilesButton</tabstop>
|
<tabstop>ignoredFilesButton</tabstop>
|
||||||
<tabstop>newFolderLimitCheckBox</tabstop>
|
<tabstop>newFolderLimitCheckBox</tabstop>
|
||||||
<tabstop>newFolderLimitSpinBox</tabstop>
|
<tabstop>newFolderLimitSpinBox</tabstop>
|
||||||
|
|
|
@ -56,6 +56,7 @@ static constexpr char remotePollIntervalC[] = "remotePollInterval";
|
||||||
static constexpr char forceSyncIntervalC[] = "forceSyncInterval";
|
static constexpr char forceSyncIntervalC[] = "forceSyncInterval";
|
||||||
static constexpr char fullLocalDiscoveryIntervalC[] = "fullLocalDiscoveryInterval";
|
static constexpr char fullLocalDiscoveryIntervalC[] = "fullLocalDiscoveryInterval";
|
||||||
static constexpr char notificationRefreshIntervalC[] = "notificationRefreshInterval";
|
static constexpr char notificationRefreshIntervalC[] = "notificationRefreshInterval";
|
||||||
|
static constexpr char monoIconsC[] = "monoIcons";
|
||||||
static constexpr char promptDeleteC[] = "promptDeleteAllFiles";
|
static constexpr char promptDeleteC[] = "promptDeleteAllFiles";
|
||||||
static constexpr char crashReporterC[] = "crashReporter";
|
static constexpr char crashReporterC[] = "crashReporter";
|
||||||
static constexpr char optionalServerNotificationsC[] = "optionalServerNotifications";
|
static constexpr char optionalServerNotificationsC[] = "optionalServerNotifications";
|
||||||
|
@ -946,6 +947,23 @@ void ConfigFile::setPromptDeleteFiles(bool promptDeleteFiles)
|
||||||
settings.setValue(QLatin1String(promptDeleteC), promptDeleteFiles);
|
settings.setValue(QLatin1String(promptDeleteC), promptDeleteFiles);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ConfigFile::monoIcons() const
|
||||||
|
{
|
||||||
|
QSettings settings(configFile(), QSettings::IniFormat);
|
||||||
|
bool monoDefault = false; // On Mac we want bw by default
|
||||||
|
#ifdef Q_OS_MAC
|
||||||
|
// OEM themes are not obliged to ship mono icons
|
||||||
|
monoDefault = QByteArrayLiteral("Nextcloud") == QByteArrayLiteral(APPLICATION_NAME);
|
||||||
|
#endif
|
||||||
|
return settings.value(QLatin1String(monoIconsC), monoDefault).toBool();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConfigFile::setMonoIcons(bool useMonoIcons)
|
||||||
|
{
|
||||||
|
QSettings settings(configFile(), QSettings::IniFormat);
|
||||||
|
settings.setValue(QLatin1String(monoIconsC), useMonoIcons);
|
||||||
|
}
|
||||||
|
|
||||||
bool ConfigFile::crashReporter() const
|
bool ConfigFile::crashReporter() const
|
||||||
{
|
{
|
||||||
QSettings settings(configFile(), QSettings::IniFormat);
|
QSettings settings(configFile(), QSettings::IniFormat);
|
||||||
|
|
|
@ -83,6 +83,9 @@ public:
|
||||||
*/
|
*/
|
||||||
[[nodiscard]] std::chrono::milliseconds fullLocalDiscoveryInterval() const;
|
[[nodiscard]] std::chrono::milliseconds fullLocalDiscoveryInterval() const;
|
||||||
|
|
||||||
|
[[nodiscard]] bool monoIcons() const;
|
||||||
|
void setMonoIcons(bool);
|
||||||
|
|
||||||
[[nodiscard]] bool promptDeleteFiles() const;
|
[[nodiscard]] bool promptDeleteFiles() const;
|
||||||
void setPromptDeleteFiles(bool promptDeleteFiles);
|
void setPromptDeleteFiles(bool promptDeleteFiles);
|
||||||
|
|
||||||
|
|
|
@ -480,6 +480,23 @@ QString Theme::systrayIconFlavor(bool mono) const
|
||||||
return flavor;
|
return flavor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Theme::setSystrayUseMonoIcons(bool mono)
|
||||||
|
{
|
||||||
|
_mono = mono;
|
||||||
|
emit systrayUseMonoIconsChanged(mono);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Theme::systrayUseMonoIcons() const
|
||||||
|
{
|
||||||
|
return _mono;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Theme::monoIconsAvailable() const
|
||||||
|
{
|
||||||
|
QString themeDir = QString(Theme::themePrefix) + QString::fromLatin1("%1/").arg(Theme::instance()->systrayIconFlavor(true));
|
||||||
|
return QDir(themeDir).exists();
|
||||||
|
}
|
||||||
|
|
||||||
QString Theme::updateCheckUrl() const
|
QString Theme::updateCheckUrl() const
|
||||||
{
|
{
|
||||||
return APPLICATION_UPDATE_URL;
|
return APPLICATION_UPDATE_URL;
|
||||||
|
|
|
@ -340,6 +340,21 @@ public:
|
||||||
*/
|
*/
|
||||||
virtual QString aboutDetails() const;
|
virtual QString aboutDetails() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Define if the systray icons should be using mono design
|
||||||
|
*/
|
||||||
|
void setSystrayUseMonoIcons(bool mono);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve wether to use mono icons for systray
|
||||||
|
*/
|
||||||
|
bool systrayUseMonoIcons() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if mono icons are available
|
||||||
|
*/
|
||||||
|
bool monoIconsAvailable() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Where to check for new Updates.
|
* @brief Where to check for new Updates.
|
||||||
*/
|
*/
|
||||||
|
@ -597,6 +612,7 @@ protected:
|
||||||
Theme();
|
Theme();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
void systrayUseMonoIconsChanged(bool);
|
||||||
void systemPaletteChanged(const QPalette &palette);
|
void systemPaletteChanged(const QPalette &palette);
|
||||||
void darkModeChanged();
|
void darkModeChanged();
|
||||||
void overrideServerUrlChanged();
|
void overrideServerUrlChanged();
|
||||||
|
|
Loading…
Reference in a new issue