diff --git a/CMakeLists.txt b/CMakeLists.txt
index 95813f2..5f08cea 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,7 +11,7 @@ set(META_APP_CATEGORIES "Network;FileTransfer")
set(META_GUI_OPTIONAL false)
set(META_VERSION_MAJOR 1)
set(META_VERSION_MINOR 1)
-set(META_VERSION_PATCH 5)
+set(META_VERSION_PATCH 6)
set(META_VERSION_EXACT_SONAME ON)
set(META_ADD_DEFAULT_CPP_UNIT_TEST_APPLICATION ON)
diff --git a/model/syncthingicons.cpp b/model/syncthingicons.cpp
index c70fe11..e555c74 100644
--- a/model/syncthingicons.cpp
+++ b/model/syncthingicons.cpp
@@ -272,16 +272,16 @@ QString StatusIconSettings::toString() const
}
StatusIcons::StatusIcons(const StatusIconSettings &settings)
- : disconnected(QIcon(renderSvgImage(makeSyncthingIcon(settings.disconnectedColor, StatusEmblem::None))))
- , idling(QIcon(renderSvgImage(makeSyncthingIcon(settings.idleColor, StatusEmblem::None))))
- , scanninig(QIcon(renderSvgImage(makeSyncthingIcon(settings.scanningColor, StatusEmblem::Scanning))))
- , notify(QIcon(renderSvgImage(makeSyncthingIcon(settings.warningColor, StatusEmblem::Alert))))
- , pause(QIcon(renderSvgImage(makeSyncthingIcon(settings.pausedColor, StatusEmblem::Paused))))
- , sync(QIcon(renderSvgImage(makeSyncthingIcon(settings.synchronizingColor, StatusEmblem::Synchronizing))))
- , syncComplete(QIcon(renderSvgImage(makeSyncthingIcon(settings.defaultColor, StatusEmblem::Complete))))
- , error(QIcon(renderSvgImage(makeSyncthingIcon(settings.errorColor, StatusEmblem::Alert))))
- , errorSync(QIcon(renderSvgImage(makeSyncthingIcon(settings.errorColor, StatusEmblem::Synchronizing))))
- , newItem(QIcon(renderSvgImage(makeSyncthingIcon(settings.defaultColor, StatusEmblem::Add))))
+ : disconnected(QIcon(renderSvgImage(makeSyncthingIcon(settings.disconnectedColor, StatusEmblem::None), settings.renderSize)))
+ , idling(QIcon(renderSvgImage(makeSyncthingIcon(settings.idleColor, StatusEmblem::None), settings.renderSize)))
+ , scanninig(QIcon(renderSvgImage(makeSyncthingIcon(settings.scanningColor, StatusEmblem::Scanning), settings.renderSize)))
+ , notify(QIcon(renderSvgImage(makeSyncthingIcon(settings.warningColor, StatusEmblem::Alert), settings.renderSize)))
+ , pause(QIcon(renderSvgImage(makeSyncthingIcon(settings.pausedColor, StatusEmblem::Paused), settings.renderSize)))
+ , sync(QIcon(renderSvgImage(makeSyncthingIcon(settings.synchronizingColor, StatusEmblem::Synchronizing), settings.renderSize)))
+ , syncComplete(QIcon(renderSvgImage(makeSyncthingIcon(settings.defaultColor, StatusEmblem::Complete), settings.renderSize)))
+ , error(QIcon(renderSvgImage(makeSyncthingIcon(settings.errorColor, StatusEmblem::Alert), settings.renderSize)))
+ , errorSync(QIcon(renderSvgImage(makeSyncthingIcon(settings.errorColor, StatusEmblem::Synchronizing), settings.renderSize)))
+ , newItem(QIcon(renderSvgImage(makeSyncthingIcon(settings.defaultColor, StatusEmblem::Add), settings.renderSize)))
, isValid(true)
{
}
diff --git a/model/syncthingicons.h b/model/syncthingicons.h
index d967fe8..3614663 100644
--- a/model/syncthingicons.h
+++ b/model/syncthingicons.h
@@ -79,6 +79,7 @@ struct LIB_SYNCTHING_MODEL_EXPORT StatusIconSettings {
StatusIconColorSet synchronizingColor;
StatusIconColorSet pausedColor;
StatusIconColorSet disconnectedColor;
+ QSize renderSize = QSize(32, 32);
static constexpr auto distinguishableColorCount = 8;
diff --git a/widgets/settings/iconsoptionpage.ui b/widgets/settings/iconsoptionpage.ui
index a32792e..2637b2f 100644
--- a/widgets/settings/iconsoptionpage.ui
+++ b/widgets/settings/iconsoptionpage.ui
@@ -46,6 +46,69 @@
Status icons
+ -
+
+
-
+
+
+ Increase the rendering size if you're using a tray area with extraordinarily big icons.
+
+
+ Rendering size
+
+
+
+ -
+
+
-
+
+
+ 16
+
+
+ 256
+
+
+ 16
+
+
+ 16
+
+
+ 32
+
+
+ 16
+
+
+ false
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+
+ -
+
+
+ ? px
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
-
-
@@ -94,7 +157,7 @@
-
-
+
Qt::Horizontal
diff --git a/widgets/settings/settings.cpp b/widgets/settings/settings.cpp
index 1176ed1..5b48fe1 100644
--- a/widgets/settings/settings.cpp
+++ b/widgets/settings/settings.cpp
@@ -289,6 +289,8 @@ void restore()
appearance.brightTextColors = settings.value(QStringLiteral("brightTextColors"), appearance.brightTextColors).toBool();
v.icons.status = StatusIconSettings(settings.value(QStringLiteral("statusIcons")).toString());
v.icons.tray = StatusIconSettings(settings.value(QStringLiteral("trayIcons")).toString());
+ v.icons.status.renderSize = settings.value(QStringLiteral("statusIconsRenderSize"), v.icons.status.renderSize).toSize();
+ v.icons.tray.renderSize = settings.value(QStringLiteral("trayIconsRenderSize"), v.icons.tray.renderSize).toSize();
v.icons.distinguishTrayIcons = settings.value(QStringLiteral("distinguishTrayIcons")).toBool();
settings.beginGroup(QStringLiteral("positioning"));
auto &positioning = appearance.positioning;
@@ -397,6 +399,8 @@ void save()
settings.setValue(QStringLiteral("brightTextColors"), appearance.brightTextColors);
settings.setValue(QStringLiteral("statusIcons"), v.icons.status.toString());
settings.setValue(QStringLiteral("trayIcons"), v.icons.tray.toString());
+ settings.setValue(QStringLiteral("statusIconsRenderSize"), v.icons.status.renderSize);
+ settings.setValue(QStringLiteral("trayIconsRenderSize"), v.icons.tray.renderSize);
settings.setValue(QStringLiteral("distinguishTrayIcons"), v.icons.distinguishTrayIcons);
settings.beginGroup(QStringLiteral("positioning"));
settings.setValue(QStringLiteral("useCursorPos"), appearance.positioning.useCursorPosition);
diff --git a/widgets/settings/settingsdialog.cpp b/widgets/settings/settingsdialog.cpp
index 9d688e3..fbf93e7 100644
--- a/widgets/settings/settingsdialog.cpp
+++ b/widgets/settings/settingsdialog.cpp
@@ -559,14 +559,14 @@ QWidget *IconsOptionPage::setupWidget()
case Context::UI:
widget->setWindowTitle(QCoreApplication::translate("QtGui::IconsOptionPageBase", "UI icons"));
ui()->contextLabel->setText(
- QCoreApplication::translate("QtGui::IconsOptionPageBase", "These icon colors are used within Syncthing Tray's UI."));
+ QCoreApplication::translate("QtGui::IconsOptionPageBase", "These icon settings are used within Syncthing Tray's UI."));
ui()->contextCheckBox->hide();
break;
case Context::System:
widget->setWindowTitle(QCoreApplication::translate("QtGui::IconsOptionPageBase", "System icons"));
- ui()->contextLabel->setText(
- QCoreApplication::translate("QtGui::IconsOptionPageBase", "These icon colors are used for the system tray icon and the notifications."));
- ui()->contextCheckBox->setText(QCoreApplication::translate("QtGui::IconsOptionPageBase", "Use same colors as for UI icons"));
+ ui()->contextLabel->setText(QCoreApplication::translate(
+ "QtGui::IconsOptionPageBase", "These icon settinngs are used for the system tray icon and the notifications."));
+ ui()->contextCheckBox->setText(QCoreApplication::translate("QtGui::IconsOptionPageBase", "Use same settings as for UI icons"));
break;
}
@@ -641,6 +641,18 @@ QWidget *IconsOptionPage::setupWidget()
ui()->restoreDefaultsPushButton->setMenu(presetsMenu);
QObject::connect(ui()->restorePreviousPushButton, &QPushButton::clicked, [this] { reset(); });
+ // setup slider
+ QObject::connect(ui()->renderingSizeSlider, &QSlider::valueChanged, [this](int value) {
+ m_settings.renderSize = QSize(value, value);
+ auto *const label = ui()->renderingSizeLabel;
+ if (const auto scaleFactor = label->devicePixelRatioF(); scaleFactor == 1.0) {
+ label->setText(QString::number(value) + QStringLiteral(" px"));
+ } else {
+ label->setText(QCoreApplication::translate("QtGui::IconsOptionPageBase", "%1 px (scaled to %2 px)")
+ .arg(QString::number(value), QString::number(static_cast(value) * scaleFactor, 'f', 0)));
+ }
+ });
+
return widget;
}
@@ -669,6 +681,7 @@ bool IconsOptionPage::apply()
void IconsOptionPage::update()
{
+ ui()->renderingSizeSlider->setValue(std::max(m_settings.renderSize.width(), m_settings.renderSize.height()));
for (auto &widgetsForColor : m_widgets) {
widgetsForColor.colorButtons[0]->setColor(widgetsForColor.setting->backgroundStart);
widgetsForColor.colorButtons[1]->setColor(widgetsForColor.setting->backgroundEnd);
diff --git a/widgets/translations/syncthingwidgets_cs_CZ.ts b/widgets/translations/syncthingwidgets_cs_CZ.ts
index c8dad6d..2fbc776 100644
--- a/widgets/translations/syncthingwidgets_cs_CZ.ts
+++ b/widgets/translations/syncthingwidgets_cs_CZ.ts
@@ -163,27 +163,27 @@
-
+
-
+
-
+
-
+
-
+
@@ -499,31 +499,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
@@ -535,24 +550,24 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
@@ -570,6 +585,11 @@
+
+
+
+
+
QtGui::InternalErrorsDialog
@@ -694,7 +714,7 @@
-
+
@@ -709,77 +729,77 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -898,32 +918,32 @@
QtGui::SettingsDialog
-
+
-
+
-
+
-
-
-
-
-
-
+
-
+
+
+
+
+
+
@@ -1088,8 +1108,8 @@ This dialog closes automatically when the process finally terminates.
-
-
+
+
@@ -1129,22 +1149,22 @@ This dialog closes automatically when the process finally terminates.
-
+
-
+
-
+
-
+
@@ -1178,7 +1198,7 @@ This dialog closes automatically when the process finally terminates.
QtGui::WebViewOptionPage
-
+
@@ -1208,7 +1228,7 @@ This dialog closes automatically when the process finally terminates.
-
+
diff --git a/widgets/translations/syncthingwidgets_de_DE.ts b/widgets/translations/syncthingwidgets_de_DE.ts
index bc5e15d..d0f4646 100644
--- a/widgets/translations/syncthingwidgets_de_DE.ts
+++ b/widgets/translations/syncthingwidgets_de_DE.ts
@@ -9,6 +9,93 @@
Unterstützung für libsyncthing nicht aktiviert.
+
+ QtGui
+
+
+ %1-Starter
+
+
+
+ Starte %1 beim Starten des Tray-Icons
+
+
+
+ Ausführbare Datei von %1
+
+
+
+ Log von %1 (stdout/stderr)
+
+
+
+ Auf Vorgabe zurücksetzen
+
+
+
+ Stoppen
+
+
+
+ %1 wurde mit dem Statuscode %2 beendet
+
+
+
+ %1 ist mit dem Statuscode %2 abgestürzt
+
+
+
+ Start fehlgeschlagen (z. B. weil Programmdatei nicht existiert oder nicht ausführbar ist)
+
+
+
+ Prozess ist abgestürzt
+
+
+
+ Time-out
+
+
+
+ Lesefehler
+
+
+
+ Schreibfehler
+
+
+
+ unbekannter Fehler
+
+
+
+ Beim Ausführen von %1 ist ein Fehler aufgetreten: %2
+
+
+
+ Töten
+
+
+
+ Weboberfläche
+
+
+
+ Starten
+
+
+
+ Zusatztool
+
+
+
+ Extra-Starter
+
+
+
+ Einstellungen
+
+
QtGui::AppearanceOptionPage
@@ -163,27 +250,27 @@
Tray-Icon beim Starten der Desktopumgebung automatisch starten
-
+
Durch das Hinzufügen einer *.desktop-Datei unter <i>~/.config/autostart</i> realisiert - betrifft also nur den aktuellen Benutzer.
-
+
Durch das Hinzufügen eines Registry-Schlüssels unter <i>HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run</i> realisiert - betrifft also nur den aktuellen Benutzer.
-
+
Durch das Hinzufügen einer *.plist-Datei unter <i>~/Library/LaunchAgents</i> realisiert - betrifft also nur den aktuellen Benutzer.
-
+
Diese Funktion wurde für die aktuelle Plattform nicht nicht implementiert.
-
+
Fehler beim aktualisieren des Auto-Start-Eintrags
@@ -498,31 +585,46 @@
+
+ Erhöhe den Wert, wenn du ein System-Tray mit großen Icons verwendest.
+
+
+
+
+ Render-Größe
+
+
+
+
+
+
+
+
Hintergrundfarbe 1
-
+
Hintergrundfarbe 2
-
+
Vorschau
-
+
Vordergrundfarbe
-
+
Auf vorherige Farben zurücksetzen
-
+
Verwende Standardfarben
@@ -535,9 +637,8 @@
UI-Icons
-
- Diese Icon-Farben werden innerhalb der Oberfläche von Syncthing Tray verwendet.
+ Diese Icon-Farben werden innerhalb der Oberfläche von Syncthing Tray verwendet.
@@ -545,14 +646,27 @@
System-Icons
-
- Diese Icon-Farben werden für das System-Tray-Icon und Benachrichtigungen verwendet.
+ Diese Icon-Farben werden für das System-Tray-Icon und Benachrichtigungen verwendet.
+
+
+
+ Die selben Farben wie für UI-Icons verwenden
+
+
+
+
+ Diese Icon-Einstellungen werden innerhalb der Oberfläche von Syncthing Tray verwendet.
+
+
+
+
+ Diese Icon-Einstellungen werden für das System-Tray-Icon und Benachrichtigungen verwendet.
-
- Die selben Farben wie für UI-Icons verwenden
+
+ Die selben Einstellungen wie für UI-Icons verwenden
@@ -569,6 +683,11 @@
Transparenter Hintergrund und heller Vordergrund (für dunkle Themes)
+
+
+
+ %1 px (skaliert zu %2 px)
+
QtGui::InternalErrorsDialog
@@ -694,7 +813,7 @@
-
+
Stoppen
@@ -709,12 +828,12 @@
Log folgen
-
+
%1-Starter
-
+
Starte %1 beim Starten des Tray-Icons
@@ -723,67 +842,67 @@
%1-Starter {1 ?}
-
+
Ausführbare Datei von %1
-
+
Log von %1 (stdout/stderr)
-
+
Auf Vorgabe zurücksetzen
-
+
%1 wurde mit dem Statuscode %2 beendet
-
+
%1 ist mit dem Statuscode %2 abgestürzt
-
+
Start fehlgeschlagen (z. B. weil Programmdatei nicht existiert oder nicht ausführbar ist)
-
+
Prozess ist abgestürzt
-
+
Time-out
-
+
Lesefehler
-
+
Schreibfehler
-
+
unbekannter Fehler
-
+
Beim Ausführen von %1 ist ein Fehler aufgetreten: %2
-
+
Töten
@@ -902,17 +1021,12 @@
QtGui::SettingsDialog
-
-
-
-
-
-
+
Weboberfläche
-
+
Starten
@@ -921,17 +1035,22 @@
Zusatztool
-
+
+
+
+
+
+
Extra-Starter
-
+
Zusatztool
-
+
Einstellungen
@@ -1102,8 +1221,8 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird.
-
-
+
+
unbekannt
@@ -1137,22 +1256,22 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird.Stoppen
-
+
Es ist nicht möglich, den Start-/Stop-Button für den Systemd-Dienst und den internen Starter gleichzeitig anzugeigen. Wenn verfügbar, wird der Button den Systemd-Dienst kontrollieren.
-
+
Es ist nicht möglich, den Status des Systemd-Dienstes und den des internen Starters gleichzeitig für Verbindungsveruche einzubeziehen. Wenn verfügbar, wird der Status des Systemd-Dienstes verwendet.
-
+
angegebene Unit entweder nicht geladen oder existiert nicht
-
+
seit
@@ -1186,7 +1305,7 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird.QtGui::WebViewOptionPage
-
+
Allgemein
@@ -1216,7 +1335,7 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird.Lasse Weboberfläche im Hintgergrund weiter offen, wenn Fenster nicht offen
-
+
Syncthing Tray wurde nicht mit Unterstützung für die eingebaute Anzeige der Weboberfläche unter Verwendung von Qt WebKit oder Qt WebEngine gebaut.
diff --git a/widgets/translations/syncthingwidgets_en_US.ts b/widgets/translations/syncthingwidgets_en_US.ts
index fb2988a..ff71e5d 100644
--- a/widgets/translations/syncthingwidgets_en_US.ts
+++ b/widgets/translations/syncthingwidgets_en_US.ts
@@ -163,27 +163,27 @@
-
+
-
+
-
+
-
+
-
+
@@ -498,31 +498,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
@@ -534,24 +549,24 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
@@ -569,6 +584,11 @@
+
+
+
+
+
QtGui::InternalErrorsDialog
@@ -692,7 +712,7 @@
-
+
@@ -707,77 +727,77 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -896,32 +916,32 @@
QtGui::SettingsDialog
-
+
-
+
-
+
-
-
-
-
-
-
+
-
+
+
+
+
+
+
@@ -1082,8 +1102,8 @@ This dialog closes automatically when the process finally terminates.
-
-
+
+
@@ -1123,22 +1143,22 @@ This dialog closes automatically when the process finally terminates.
-
+
-
+
-
+
-
+
@@ -1172,7 +1192,7 @@ This dialog closes automatically when the process finally terminates.
QtGui::WebViewOptionPage
-
+
@@ -1202,7 +1222,7 @@ This dialog closes automatically when the process finally terminates.
-
+