diff --git a/connector/translations/syncthingconnector_de_DE.ts b/connector/translations/syncthingconnector_de_DE.ts index bd9c932..99a4982 100644 --- a/connector/translations/syncthingconnector_de_DE.ts +++ b/connector/translations/syncthingconnector_de_DE.ts @@ -126,7 +126,7 @@ - + Unable to request directory statistics: Fehler beim Abfragen der Verzeichnisstatistiken: @@ -166,37 +166,37 @@ Fehler beim Abfragen der Syncthing-Ereignisse: - + Unable to request rescan: Fehler beim Anfordern eines Verzeichnis-Rescans: - + Unable to request device pause/resume: Fehler beim Anfordern Gerät zu Pausieren/Fortzusetzen: - + Unable to request directory pause/resume: Fehler beim Anfordern Verzeichnis zu Pausieren/Fortzusetzen: - + Unable to request restart: Fehler beim Anfordern eines Neustarts: - + Unable to request shutdown: Fehler beim Anfordern Syncthing zu beenden: - + Unable to parse status for directory %1: Fehler beim Anfordern des Status von Verzeichnis %1: - + at offset %1 bei Zeichen %1 diff --git a/connector/translations/syncthingconnector_en_US.ts b/connector/translations/syncthingconnector_en_US.ts index 358f1e4..50ef04e 100644 --- a/connector/translations/syncthingconnector_en_US.ts +++ b/connector/translations/syncthingconnector_en_US.ts @@ -126,7 +126,7 @@ - + Unable to request directory statistics: @@ -166,37 +166,37 @@ - + Unable to request rescan: - + Unable to request device pause/resume: - + Unable to request directory pause/resume: - + Unable to request restart: - + Unable to request shutdown: - + Unable to parse status for directory %1: - + at offset %1 diff --git a/model/translations/syncthingmodel_de_DE.ts b/model/translations/syncthingmodel_de_DE.ts index e5d894e..5475cad 100644 --- a/model/translations/syncthingmodel_de_DE.ts +++ b/model/translations/syncthingmodel_de_DE.ts @@ -4,103 +4,103 @@ Data::SyncthingDeviceModel - - + + ID - + Status - + Addresses Adressen - + Last seen Zuletzt gesehen - + Compression Kompression - + Certificate Zertifikat - + Introducer Verteilergerät - + unknown or own device unbekannt oder eigenes Gerät - + none keines - + yes ja - + no nein - + Paused Pausiert - + Unknown status Unbekannter Status - + Own device Eigenes Gerät - + Idle Leerlauf - + Disconnected Getrennt - + Synchronizing (%1 %) Synchronisiert (%1 %) - + Synchronizing Synchronisiert - + Out of sync Nicht synchronisiert - + Rejected Zurückgewiesen @@ -108,69 +108,69 @@ Data::SyncthingDirectoryModel - - + + ID - + Status - + Path Pfad - + Read-only Schreibgeschützt - + Rescan interval Scanintervall - + Last scan Letzter Scan - + Last file Letzte Datei - + Errors Fehler - + not shared nicht geteilt - + yes ja - + no nein - - + + unknown unbekannt - + %1 and %2 item(s) out of sync "%1" und %2 Element nicht synchronisiert @@ -178,12 +178,12 @@ - + none keine - + %1 item(s) out of sync %1 Element nicht synchronisiert @@ -191,82 +191,82 @@ - + Deleted at %1 Gelöscht am %1 - + Updated at %1 Aktualisiert am %1 - + Click for details Für details klicken - + Failed items Fehlgeschlagene Elemente - + Unknown status Unbekannter Status - + Idle Leerlauf - + Unshared Nicht geteilt - + Global status Globaler status - + Local status Lokaler status - + Shared with Geteilt mit - + Scanning (%1 %) Scannen (%1 %) - + Scanning Scannen - + Synchronizing (%1 %) Synchronisieren (%1 %) - + Synchronizing Synchronisieren - + Paused Pausiert - + Out of sync Nicht synchronisiert @@ -274,12 +274,12 @@ Data::SyncthingDownloadModel - + Dir/item Verzeichnis/Element - + Progress Fortschritt diff --git a/model/translations/syncthingmodel_en_US.ts b/model/translations/syncthingmodel_en_US.ts index 45a1f6f..2916e0f 100644 --- a/model/translations/syncthingmodel_en_US.ts +++ b/model/translations/syncthingmodel_en_US.ts @@ -4,103 +4,103 @@ Data::SyncthingDeviceModel - - + + ID - + Status - + Addresses - + Last seen - + Compression - + Certificate - + Introducer - + unknown or own device - + none - + yes - + no - + Paused - + Unknown status - + Own device - + Idle - + Disconnected - + Synchronizing (%1 %) - + Synchronizing - + Out of sync - + Rejected @@ -108,69 +108,69 @@ Data::SyncthingDirectoryModel - - + + ID - + Status - + Path - + Read-only - + Rescan interval - + Last scan - + Last file - + Errors - + yes - + no - - + + unknown - + none - + %1 item(s) out of sync %1 item out of sync @@ -178,27 +178,27 @@ - + Global status - + Local status - + Shared with - + not shared - + %1 and %2 item(s) out of sync %1 and %2 item out of sync @@ -206,67 +206,67 @@ - + Deleted at %1 - + Updated at %1 - + Failed items - + Click for details - + Paused - + Unknown status - + Unshared - + Idle - + Scanning (%1 %) - + Scanning - + Synchronizing (%1 %) - + Synchronizing - + Out of sync @@ -274,12 +274,12 @@ Data::SyncthingDownloadModel - + Dir/item - + Progress diff --git a/plasmoid/lib/CMakeLists.txt b/plasmoid/lib/CMakeLists.txt index 34c178d..a12c82d 100644 --- a/plasmoid/lib/CMakeLists.txt +++ b/plasmoid/lib/CMakeLists.txt @@ -7,6 +7,9 @@ set(SRC_FILES syncthingapplet.cpp settingsdialog.cpp ) +set(WIDGETS_UI_FILES + appearanceoptionpage.ui +) set(PLASMOID_FILES ../package/metadata.desktop ../package/contents/ui/CompactRepresentation.qml diff --git a/plasmoid/lib/appearanceoptionpage.ui b/plasmoid/lib/appearanceoptionpage.ui new file mode 100644 index 0000000..b2b2491 --- /dev/null +++ b/plasmoid/lib/appearanceoptionpage.ui @@ -0,0 +1,103 @@ + + + Plasmoid::AppearanceOptionPage + + + Appearance + + + + .. + + + + 4 + + + + + Minimum size of full representation + + + + + + + + + 20 + + + 1000 + + + 1 + + + 25 + + + + + + + + 0 + 0 + + + + x + + + Qt::PlainText + + + + + + + 15 + + + 1000 + + + 1 + + + 25 + + + + + + + grid units + + + Qt::PlainText + + + + + + + + + Colors + + + + + + + Bright custom text colors (use for dark color scheme) + + + + + + + + diff --git a/plasmoid/lib/settingsdialog.cpp b/plasmoid/lib/settingsdialog.cpp index b2c6ddc..c350f51 100644 --- a/plasmoid/lib/settingsdialog.cpp +++ b/plasmoid/lib/settingsdialog.cpp @@ -1,12 +1,16 @@ #include "./settingsdialog.h" #include "./syncthingapplet.h" +#include "ui_appearanceoptionpage.h" + #include "../../widgets/settings/settingsdialog.h" #include #include #include +#include + #include #include #include @@ -58,6 +62,41 @@ QWidget *ShortcutOptionPage::setupWidget() return widget; } +// AppearanceOptionPage +AppearanceOptionPage::AppearanceOptionPage(SyncthingApplet &applet, QWidget *parentWidget) + : AppearanceOptionPageBase(parentWidget) + , m_applet(&applet) +{ +} + +AppearanceOptionPage::~AppearanceOptionPage() +{ +} + +bool AppearanceOptionPage::apply() +{ + if (hasBeenShown()) { + KConfigGroup config = m_applet->config(); + + config.writeEntry("size", QSize(ui()->widthSpinBox->value(), ui()->heightSpinBox->value())); + config.writeEntry("brightColors", ui()->brightTextColorsCheckBox->isChecked()); + } + return true; +} + +void AppearanceOptionPage::reset() +{ + if (hasBeenShown()) { + const KConfigGroup config = m_applet->config(); + + const QSize size(config.readEntry("size", QSize(25, 25))); + ui()->widthSpinBox->setValue(size.width()); + ui()->heightSpinBox->setValue(size.height()); + + ui()->brightTextColorsCheckBox->setChecked(config.readEntry("brightColors", false)); + } +} + QtGui::SettingsDialog *setupSettingsDialog(SyncthingApplet &applet) { // setup categories @@ -67,8 +106,8 @@ QtGui::SettingsDialog *setupSettingsDialog(SyncthingApplet &applet) category = new OptionCategory; category->setDisplayName(QCoreApplication::translate("Plasmoid::SettingsDialog", "Plasmoid")); category->assignPages(QList() - << new ConnectionOptionPage(applet.connection()) << new NotificationsOptionPage(GuiType::Plasmoid) - << new AppearanceOptionPage(GuiType::Plasmoid) << new ShortcutOptionPage(applet)); + << new ConnectionOptionPage(applet.connection()) << new NotificationsOptionPage(GuiType::Plasmoid) << new AppearanceOptionPage(applet) + << new ShortcutOptionPage(applet)); category->setIcon(QIcon::fromTheme(QStringLiteral("plasma"))); categories << category; diff --git a/plasmoid/lib/settingsdialog.h b/plasmoid/lib/settingsdialog.h index 5aa51ca..ad7aae6 100644 --- a/plasmoid/lib/settingsdialog.h +++ b/plasmoid/lib/settingsdialog.h @@ -22,6 +22,14 @@ SyncthingApplet *m_applet; QKeySequenceEdit *m_globalShortcutEdit; END_DECLARE_OPTION_PAGE +BEGIN_DECLARE_UI_FILE_BASED_OPTION_PAGE_CUSTOM_CTOR(AppearanceOptionPage) +public: +AppearanceOptionPage(SyncthingApplet &applet, QWidget *parentWidget = nullptr); + +private: +SyncthingApplet *m_applet; +END_DECLARE_OPTION_PAGE + QtGui::SettingsDialog *setupSettingsDialog(Plasmoid::SyncthingApplet &applet); } // namespace Plasmoid diff --git a/plasmoid/lib/syncthingapplet.cpp b/plasmoid/lib/syncthingapplet.cpp index ad9f93d..bb9f350 100644 --- a/plasmoid/lib/syncthingapplet.cpp +++ b/plasmoid/lib/syncthingapplet.cpp @@ -21,6 +21,8 @@ #include #include +#include + #include #include #include @@ -85,7 +87,7 @@ void SyncthingApplet::init() handleSettingsChanged(); // load primary connection config - setCurrentConnectionConfigIndex(0); + setCurrentConnectionConfigIndex(config().readEntry("selectedConfig", 0)); // initialize systemd service support #ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD @@ -155,6 +157,7 @@ void SyncthingApplet::setCurrentConnectionConfigIndex(int index) m_webViewDlg->applySettings(selectedConfig); } #endif + config().writeEntry("selectedConfig", index); emit currentConnectionConfigIndexChanged(m_currentConnectionConfig = index); emit localChanged(); } @@ -169,7 +172,12 @@ void SyncthingApplet::showSettingsDlg() { if (!m_settingsDlg) { m_settingsDlg = setupSettingsDialog(*this); + // ensure settings take effect when applied connect(m_settingsDlg, &Dialogs::SettingsDialog::applied, this, &SyncthingApplet::handleSettingsChanged); + // save plasmoid specific settings to disk when applied + connect(m_settingsDlg, &Dialogs::SettingsDialog::applied, this, &SyncthingApplet::configChanged); + // save global/general settings to disk when applied + connect(m_settingsDlg, &Dialogs::SettingsDialog::applied, &Settings::save); } Dialogs::centerWidget(m_settingsDlg); m_settingsDlg->show(); @@ -263,13 +271,20 @@ void SyncthingApplet::showDirectoryErrors(unsigned int directoryIndex) const } } +/*! + * \brief Ensures settings take effect when applied via the settings dialog. + * \remarks Does not save the settings to disk. This is done in Settings::save() and Applet::configChanged(). + */ void SyncthingApplet::handleSettingsChanged() { + const KConfigGroup config(this->config()); + // apply appearance settings - const auto &appearanceSettings = Settings::values().appearance; - m_dirModel.setBrightColors(appearanceSettings.brightTextColors); - m_devModel.setBrightColors(appearanceSettings.brightTextColors); - m_downloadModel.setBrightColors(appearanceSettings.brightTextColors); + setSize(config.readEntry("size", QSize(25, 25))); + const bool brightColors = config.readEntry("brightColors", false); + m_dirModel.setBrightColors(brightColors); + m_devModel.setBrightColors(brightColors); + m_downloadModel.setBrightColors(brightColors); // apply connection config const int currentConfig = m_currentConnectionConfig; @@ -277,9 +292,6 @@ void SyncthingApplet::handleSettingsChanged() setCurrentConnectionConfigIndex(currentConfig); emit settingsChanged(); - - // actually save the settings on the disk - Settings::save(); } void SyncthingApplet::handleConnectionStatusChanged(SyncthingStatus status) diff --git a/plasmoid/lib/syncthingapplet.h b/plasmoid/lib/syncthingapplet.h index a729d92..eabbb67 100644 --- a/plasmoid/lib/syncthingapplet.h +++ b/plasmoid/lib/syncthingapplet.h @@ -15,6 +15,8 @@ #include +#include + namespace Dialogs { class SettingsDialog; } @@ -53,6 +55,7 @@ class SyncthingApplet : public Plasma::Applet { Q_PROPERTY(int currentConnectionConfigIndex READ currentConnectionConfigIndex WRITE setCurrentConnectionConfigIndex NOTIFY currentConnectionConfigIndexChanged) Q_PROPERTY(bool startStopForServiceEnabled READ isStartStopForServiceEnabled NOTIFY settingsChanged) + Q_PROPERTY(QSize size READ size WRITE setSize NOTIFY sizeChanged) public: SyncthingApplet(QObject *parent, const QVariantList &data); @@ -77,6 +80,8 @@ public: Data::SyncthingConnectionSettings *connectionConfig(int index); void setCurrentConnectionConfigIndex(int index); bool isStartStopForServiceEnabled() const; + QSize size() const; + void setSize(const QSize &size); public Q_SLOTS: void init() Q_DECL_OVERRIDE; @@ -106,6 +111,7 @@ Q_SIGNALS: void trafficChanged(); void settingsChanged(); void currentConnectionConfigIndexChanged(int index); + void sizeChanged(const QSize &size); private Q_SLOTS: void handleSettingsChanged(); @@ -136,6 +142,7 @@ private: int m_currentConnectionConfig; Data::SyncthingStatus m_status; bool m_initialized; + QSize m_size; }; inline Data::SyncthingConnection *SyncthingApplet::connection() const @@ -191,6 +198,18 @@ inline Data::SyncthingConnectionSettings *SyncthingApplet::currentConnectionConf { return connectionConfig(m_currentConnectionConfig); } + +inline QSize SyncthingApplet::size() const +{ + return m_size; +} + +inline void SyncthingApplet::setSize(const QSize &size) +{ + if (size != m_size) { + emit sizeChanged(m_size = size); + } +} } // namespace Plasmoid #endif // SYNCTHINGAPPLET_H diff --git a/plasmoid/package/contents/ui/FullRepresentation.qml b/plasmoid/package/contents/ui/FullRepresentation.qml index bda7831..6551300 100644 --- a/plasmoid/package/contents/ui/FullRepresentation.qml +++ b/plasmoid/package/contents/ui/FullRepresentation.qml @@ -10,11 +10,39 @@ import martchus.syncthingplasmoid 0.6 as SyncthingPlasmoid ColumnLayout { id: root - Layout.minimumWidth: units.gridUnit * 25 - Layout.preferredWidth: units.gridUnit * 30 - Layout.minimumHeight: units.gridUnit * 20 - Layout.preferredHeight: units.gridUnit * 30 + // define minimum size + Layout.minimumWidth: units.gridUnit * 20 + Layout.minimumHeight: units.gridUnit * 15 + + // define function to update the size according to the settings + // when "floating" (shown as popup) + function updateSize() { + switch (plasmoid.location) { + case PlasmaCore.Types.Floating: + var size = plasmoid.nativeInterface.size + parent.width = units.gridUnit * size.width + parent.height = units.gridUnit * size.height + break + default: + ; + } + } + + // update the size when becoming visible + onVisibleChanged: { + if (visible) { + updateSize() + } + } + + // update the size when settings changed + Connections { + target: plasmoid.nativeInterface + onSizeChanged: updateSize() + } + + // shortcut handling Keys.onPressed: { // FIXME: currently only works after clicking the tab buttons // TODO: add more shortcuts diff --git a/plasmoid/translations/syncthingplasmoid_de_DE.ts b/plasmoid/translations/syncthingplasmoid_de_DE.ts index 9d9d20b..cb5e45b 100644 --- a/plasmoid/translations/syncthingplasmoid_de_DE.ts +++ b/plasmoid/translations/syncthingplasmoid_de_DE.ts @@ -54,80 +54,113 @@ FullRepresentation - + Connect Verbinden - + Resume Fortsetzen - + Pause Pausieren - + Stop Stoppen - + Start Starten - + Show own device ID Eigene Geräte-ID anzeigen - + Show Syncthing log Syncthing-Log anzeigen - + Rescan all directories Alle Verzeichnisse neu scannen - + Settings Einstellungen - + Web UI Weboberfläche - + In - + Out + + Plasmoid::AppearanceOptionPage + + + Appearance + Erscheinungsbild + + + + x + + + + + grid units + Rastereinheiten + + + + Minimum size of full representation + Minimale Größe + + + + Colors + Farben + + + + Bright custom text colors (use for dark color scheme) + Helle benutzerdefinierte Schriftfarben (für dunkles Farbschema gedacht) + + Plasmoid::SettingsDialog - + Plasmoid - + Web view Weboberfläche - + Extras @@ -135,12 +168,12 @@ Plasmoid::ShortcutOptionPage - + Shortcuts Kurzbefehle - + Global shortcut Globales Tastenkürzel @@ -148,29 +181,29 @@ Plasmoid::SyncthingApplet - + About Über Syncthing Plasmoid - + New notifications Neue Benachrichtigungen - + Synchronization of %1 complete %1 wurde synchronisiert - + Synchronization of the following devices complete: Die folgenden Geräte wurden synchronisiert: - + D-Bus error - unable to diff --git a/plasmoid/translations/syncthingplasmoid_en_US.ts b/plasmoid/translations/syncthingplasmoid_en_US.ts index d7cde09..fe9853d 100644 --- a/plasmoid/translations/syncthingplasmoid_en_US.ts +++ b/plasmoid/translations/syncthingplasmoid_en_US.ts @@ -54,80 +54,113 @@ FullRepresentation - + Connect - + Resume - + Pause - + Stop - + Start - + Show own device ID - + Show Syncthing log - + Rescan all directories - + Settings - + Web UI - + In - + Out + + Plasmoid::AppearanceOptionPage + + + Appearance + + + + + x + + + + + grid units + + + + + Minimum size of full representation + + + + + Colors + + + + + Bright custom text colors (use for dark color scheme) + + + Plasmoid::SettingsDialog - + Plasmoid - + Web view - + Extras @@ -135,12 +168,12 @@ Plasmoid::ShortcutOptionPage - + Shortcuts - + Global shortcut @@ -148,28 +181,28 @@ Plasmoid::SyncthingApplet - + About - + New notifications - + Synchronization of %1 complete - + Synchronization of the following devices complete: - + D-Bus error - unable to diff --git a/widgets/settings/settingsdialog.cpp b/widgets/settings/settingsdialog.cpp index 85cca05..29a6cf0 100644 --- a/widgets/settings/settingsdialog.cpp +++ b/widgets/settings/settingsdialog.cpp @@ -400,9 +400,8 @@ void NotificationsOptionPage::reset() } // AppearanceOptionPage -AppearanceOptionPage::AppearanceOptionPage(GuiType guiType, QWidget *parentWidget) +AppearanceOptionPage::AppearanceOptionPage(QWidget *parentWidget) : AppearanceOptionPageBase(parentWidget) - , m_guiType(guiType) { } @@ -410,58 +409,41 @@ AppearanceOptionPage::~AppearanceOptionPage() { } -QWidget *AppearanceOptionPage::setupWidget() -{ - auto *w = AppearanceOptionPageBase::setupWidget(); - switch (m_guiType) { - case GuiType::TrayWidget: - break; - case GuiType::Plasmoid: - for (unsigned char i = 0; i != 6; ++i) { - ui()->formLayout->removeRow(0); - } - break; - } - return w; -} - bool AppearanceOptionPage::apply() { if (!hasBeenShown()) { return true; } auto &settings = values().appearance; - if (m_guiType == GuiType::TrayWidget) { - settings.trayMenuSize.setWidth(ui()->widthSpinBox->value()); - settings.trayMenuSize.setHeight(ui()->heightSpinBox->value()); - settings.showTraffic = ui()->showTrafficCheckBox->isChecked(); - int style; - switch (ui()->frameShapeComboBox->currentIndex()) { - case 0: - style = QFrame::NoFrame; - break; - case 1: - style = QFrame::Box; - break; - case 2: - style = QFrame::Panel; - break; - default: - style = QFrame::StyledPanel; - } - switch (ui()->frameShadowComboBox->currentIndex()) { - case 0: - style |= QFrame::Plain; - break; - case 1: - style |= QFrame::Raised; - break; - default: - style |= QFrame::Sunken; - } - settings.frameStyle = style; - settings.tabPosition = ui()->tabPosComboBox->currentIndex(); + settings.trayMenuSize.setWidth(ui()->widthSpinBox->value()); + settings.trayMenuSize.setHeight(ui()->heightSpinBox->value()); + settings.showTraffic = ui()->showTrafficCheckBox->isChecked(); + int style; + switch (ui()->frameShapeComboBox->currentIndex()) { + case 0: + style = QFrame::NoFrame; + break; + case 1: + style = QFrame::Box; + break; + case 2: + style = QFrame::Panel; + break; + default: + style = QFrame::StyledPanel; } + switch (ui()->frameShadowComboBox->currentIndex()) { + case 0: + style |= QFrame::Plain; + break; + case 1: + style |= QFrame::Raised; + break; + default: + style |= QFrame::Sunken; + } + settings.frameStyle = style; + settings.tabPosition = ui()->tabPosComboBox->currentIndex(); settings.brightTextColors = ui()->brightTextColorsCheckBox->isChecked(); return true; @@ -473,38 +455,36 @@ void AppearanceOptionPage::reset() return; } const auto &settings = values().appearance; - if (m_guiType == GuiType::TrayWidget) { - ui()->widthSpinBox->setValue(settings.trayMenuSize.width()); - ui()->heightSpinBox->setValue(settings.trayMenuSize.height()); - ui()->showTrafficCheckBox->setChecked(settings.showTraffic); - int index; - switch (settings.frameStyle & QFrame::Shape_Mask) { - case QFrame::NoFrame: - index = 0; - break; - case QFrame::Box: - index = 1; - break; - case QFrame::Panel: - index = 2; - break; - default: - index = 3; - } - ui()->frameShapeComboBox->setCurrentIndex(index); - switch (settings.frameStyle & QFrame::Shadow_Mask) { - case QFrame::Plain: - index = 0; - break; - case QFrame::Raised: - index = 1; - break; - default: - index = 2; - } - ui()->frameShadowComboBox->setCurrentIndex(index); - ui()->tabPosComboBox->setCurrentIndex(settings.tabPosition); + ui()->widthSpinBox->setValue(settings.trayMenuSize.width()); + ui()->heightSpinBox->setValue(settings.trayMenuSize.height()); + ui()->showTrafficCheckBox->setChecked(settings.showTraffic); + int index; + switch (settings.frameStyle & QFrame::Shape_Mask) { + case QFrame::NoFrame: + index = 0; + break; + case QFrame::Box: + index = 1; + break; + case QFrame::Panel: + index = 2; + break; + default: + index = 3; } + ui()->frameShapeComboBox->setCurrentIndex(index); + switch (settings.frameStyle & QFrame::Shadow_Mask) { + case QFrame::Plain: + index = 0; + break; + case QFrame::Raised: + index = 1; + break; + default: + index = 2; + } + ui()->frameShadowComboBox->setCurrentIndex(index); + ui()->tabPosComboBox->setCurrentIndex(settings.tabPosition); ui()->brightTextColorsCheckBox->setChecked(settings.brightTextColors); } diff --git a/widgets/settings/settingsdialog.h b/widgets/settings/settingsdialog.h index 57cfb58..62e0e1f 100644 --- a/widgets/settings/settingsdialog.h +++ b/widgets/settings/settingsdialog.h @@ -65,14 +65,7 @@ DECLARE_SETUP_WIDGETS const GuiType m_guiType; END_DECLARE_OPTION_PAGE -BEGIN_DECLARE_UI_FILE_BASED_OPTION_PAGE_CUSTOM_CTOR(AppearanceOptionPage) -public: -AppearanceOptionPage(GuiType guiType = GuiType::TrayWidget, QWidget *parentWidget = nullptr); - -private: -DECLARE_SETUP_WIDGETS -const GuiType m_guiType; -END_DECLARE_OPTION_PAGE +DECLARE_UI_FILE_BASED_OPTION_PAGE(AppearanceOptionPage) DECLARE_UI_FILE_BASED_OPTION_PAGE_CUSTOM_SETUP(AutostartOptionPage) diff --git a/widgets/translations/syncthingwidgets_de_DE.ts b/widgets/translations/syncthingwidgets_de_DE.ts index 8323fbe..2157da1 100644 --- a/widgets/translations/syncthingwidgets_de_DE.ts +++ b/widgets/translations/syncthingwidgets_de_DE.ts @@ -127,22 +127,22 @@ Tray-Icon beim Starten der Desktopumgebung automatisch starten - + This is achieved by adding a *.desktop file under <i>~/.config/autostart</i> so the setting only affects the current user. Durch das Hinzufügen einer *.desktop-Datei unter <i>~/.config/autostart</i> realisiert - betrifft also nur den aktuellen Benutzer. - + This is achieved by adding a registry key under <i>HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run</i> so the setting only affects the current user. Note that the startup entry is invalidated when moving <i>syncthingtray.exe</i>. 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. - + This feature has not been implemented for your platform (yet). Diese Funktion wurde für die aktuelle Plattform nicht nicht implementiert. - + unable to modify startup entry Fehler beim aktualisieren des Auto-Start-Eintrags @@ -419,33 +419,33 @@ Log folgen - + %1-launcher %1-Starter - + Launch %1 when starting the tray icon Starte %1 beim Starten des Tray-Icons - + %1 executable Ausführbare Datei von %1 - + %1 log (interleaved stdout/stderr) %1-Log (stdout/stderr) - + %1 exited with exit code %2 %1 wurde mit dem Statuscode %2 beendet - + %1 crashed with exit code %2 %1 ist mit dem Statuscode %2 abgestürzt @@ -519,7 +519,7 @@ - + Configured to use D-Bus notifications but D-Bus notification daemon seems unavailabe. Benachrichtigungen via D-Bus wurden eingestellt, aber es scheint kein Daemon zu laufen der den Dienst bereitstellt. @@ -545,22 +545,22 @@ QtGui::SettingsDialog - + Tray - + Web view Weboberfläche - + Startup Starten - + Settings Einstellungen @@ -677,8 +677,8 @@ - - + + unknown unbekannt @@ -712,12 +712,12 @@ Stoppen - + specified unit is either inactive or doesn't exist angegebene Unit ist entweder nicht geladen oder existiert nicht - + since seit @@ -759,7 +759,7 @@ - + Log @@ -776,7 +776,7 @@ QtGui::WebViewOptionPage - + General Allgemein @@ -806,7 +806,7 @@ Lasse Weboberfläche im Hintgergrund weiter offen, wenn Fenster nicht offen - + Syncthing Tray has not been built with vieb view support utilizing either Qt WebKit or Qt WebEngine. The Web UI will be opened in the default web browser instead. 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 c7d8c65..3e39701 100644 --- a/widgets/translations/syncthingwidgets_en_US.ts +++ b/widgets/translations/syncthingwidgets_en_US.ts @@ -127,22 +127,22 @@ - + This is achieved by adding a *.desktop file under <i>~/.config/autostart</i> so the setting only affects the current user. - + This is achieved by adding a registry key under <i>HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run</i> so the setting only affects the current user. Note that the startup entry is invalidated when moving <i>syncthingtray.exe</i>. - + This feature has not been implemented for your platform (yet). - + unable to modify startup entry @@ -415,33 +415,33 @@ - + %1-launcher - + Launch %1 when starting the tray icon - + %1 executable - + %1 log (interleaved stdout/stderr) - + %1 exited with exit code %2 - + %1 crashed with exit code %2 @@ -515,7 +515,7 @@ - + Configured to use D-Bus notifications but D-Bus notification daemon seems unavailabe. @@ -541,22 +541,22 @@ QtGui::SettingsDialog - + Tray - + Web view - + Startup - + Settings @@ -670,8 +670,8 @@ - - + + unknown @@ -706,12 +706,12 @@ - + specified unit is either inactive or doesn't exist - + since @@ -753,7 +753,7 @@ - + Log @@ -770,7 +770,7 @@ QtGui::WebViewOptionPage - + General @@ -800,7 +800,7 @@ - + Syncthing Tray has not been built with vieb view support utilizing either Qt WebKit or Qt WebEngine. The Web UI will be opened in the default web browser instead.