feat: use new SettingsDialogButtonBox for SettingsDialog
This commit is contained in:
parent
d084cd50bd
commit
edf2dcbfb0
14 changed files with 322 additions and 190 deletions
|
|
@ -174,11 +174,15 @@ QString Settings::cleanComputerName(const QString &name)
|
||||||
return cleanName;
|
return cleanName;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Settings::checkIfSettingsWritableChange() const
|
void Settings::checkIfSettingsWritableChange()
|
||||||
{
|
{
|
||||||
bool writable = m_settings->isWritable();
|
if (!instance()->m_settingsWatcher->files().contains(Settings::settingsFile()))
|
||||||
|
m_settingsWatcher->addPath(Settings::settingsFile());
|
||||||
|
|
||||||
|
bool writable = Settings::isWritable();
|
||||||
if (writable == m_settingsWritable)
|
if (writable == m_settingsWritable)
|
||||||
return;
|
return;
|
||||||
|
qDebug() << QString("Setting are now %1").arg(writable ? "writable" : "readonly");
|
||||||
instance()->m_settingsWritable = writable;
|
instance()->m_settingsWritable = writable;
|
||||||
Q_EMIT instance()->settingsWritableChanged(writable);
|
Q_EMIT instance()->settingsWritableChanged(writable);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -233,7 +233,7 @@ private:
|
||||||
* @brief checkIfSettingsWritableChange
|
* @brief checkIfSettingsWritableChange
|
||||||
* Checks if the changed settings is now read only
|
* Checks if the changed settings is now read only
|
||||||
*/
|
*/
|
||||||
void checkIfSettingsWritableChange() const;
|
void checkIfSettingsWritableChange();
|
||||||
|
|
||||||
QSettings *m_settings = nullptr;
|
QSettings *m_settings = nullptr;
|
||||||
QSettings *m_stateSettings = nullptr;
|
QSettings *m_stateSettings = nullptr;
|
||||||
|
|
|
||||||
|
|
@ -120,6 +120,8 @@ add_library(${target} STATIC
|
||||||
widgets/StatusBar.h
|
widgets/StatusBar.h
|
||||||
widgets/TrashScreenWidget.cpp
|
widgets/TrashScreenWidget.cpp
|
||||||
widgets/TrashScreenWidget.h
|
widgets/TrashScreenWidget.h
|
||||||
|
widgets/SettingsDialogButtonBox.cpp
|
||||||
|
widgets/SettingsDialogButtonBox.h
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(${target}
|
target_link_libraries(${target}
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
#include "common/Settings.h"
|
#include "common/Settings.h"
|
||||||
#include "gui/TlsUtility.h"
|
#include "gui/TlsUtility.h"
|
||||||
#include "gui/core/NetworkMonitor.h"
|
#include "gui/core/NetworkMonitor.h"
|
||||||
|
#include "gui/widgets/SettingsDialogButtonBox.h"
|
||||||
|
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
|
|
@ -26,10 +27,12 @@ using namespace deskflow::gui;
|
||||||
SettingsDialog::SettingsDialog(QWidget *parent, const ServerConfig &serverConfig)
|
SettingsDialog::SettingsDialog(QWidget *parent, const ServerConfig &serverConfig)
|
||||||
: QDialog(parent),
|
: QDialog(parent),
|
||||||
ui{std::make_unique<Ui::SettingsDialog>()},
|
ui{std::make_unique<Ui::SettingsDialog>()},
|
||||||
m_serverConfig(serverConfig)
|
m_serverConfig(serverConfig),
|
||||||
|
m_buttonBox{new SettingsDialogButtonBox(this)}
|
||||||
{
|
{
|
||||||
|
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
layout()->addWidget(m_buttonBox);
|
||||||
ui->tabWidget->setCurrentIndex(0);
|
ui->tabWidget->setCurrentIndex(0);
|
||||||
|
|
||||||
// these are enabled by the control next to them
|
// these are enabled by the control next to them
|
||||||
|
|
@ -93,15 +96,10 @@ void SettingsDialog::changeEvent(QEvent *e)
|
||||||
|
|
||||||
void SettingsDialog::initConnections() const
|
void SettingsDialog::initConnections() const
|
||||||
{
|
{
|
||||||
connect(this, &SettingsDialog::shown, this, &SettingsDialog::showReadOnlyMessage, Qt::QueuedConnection);
|
connect(m_buttonBox, &SettingsDialogButtonBox::accepted, this, &SettingsDialog::accept);
|
||||||
|
connect(m_buttonBox, &SettingsDialogButtonBox::rejected, this, &QDialog::reject);
|
||||||
connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &SettingsDialog::accept);
|
connect(m_buttonBox, &SettingsDialogButtonBox::reset, this, &SettingsDialog::loadFromConfig);
|
||||||
connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
|
connect(m_buttonBox, &SettingsDialogButtonBox::restoreDefault, this, &SettingsDialog::resetToDefault);
|
||||||
connect(ui->buttonBox->button(QDialogButtonBox::Reset), &QPushButton::clicked, this, &SettingsDialog::loadFromConfig);
|
|
||||||
connect(
|
|
||||||
ui->buttonBox->button(QDialogButtonBox::RestoreDefaults), &QPushButton::clicked, this,
|
|
||||||
&SettingsDialog::resetToDefault
|
|
||||||
);
|
|
||||||
|
|
||||||
connect(ui->cbRunEnterCommand, &QCheckBox::toggled, ui->lineCommandEnter, &QLineEdit::setEnabled);
|
connect(ui->cbRunEnterCommand, &QCheckBox::toggled, ui->lineCommandEnter, &QLineEdit::setEnabled);
|
||||||
connect(ui->cbRunExitCommand, &QCheckBox::toggled, ui->lineCommandExit, &QLineEdit::setEnabled);
|
connect(ui->cbRunExitCommand, &QCheckBox::toggled, ui->lineCommandExit, &QLineEdit::setEnabled);
|
||||||
|
|
@ -144,6 +142,7 @@ void SettingsDialog::initConnections() const
|
||||||
connect(ui->cbRunExitCommand, &QCheckBox::toggled, this, &SettingsDialog::setButtonBoxEnabledButtons);
|
connect(ui->cbRunExitCommand, &QCheckBox::toggled, this, &SettingsDialog::setButtonBoxEnabledButtons);
|
||||||
connect(ui->lineCommandEnter, &QLineEdit::textChanged, this, &SettingsDialog::setButtonBoxEnabledButtons);
|
connect(ui->lineCommandEnter, &QLineEdit::textChanged, this, &SettingsDialog::setButtonBoxEnabledButtons);
|
||||||
connect(ui->lineCommandExit, &QLineEdit::textChanged, this, &SettingsDialog::setButtonBoxEnabledButtons);
|
connect(ui->lineCommandExit, &QLineEdit::textChanged, this, &SettingsDialog::setButtonBoxEnabledButtons);
|
||||||
|
connect(Settings::instance(), &Settings::settingsWritableChanged, this, &SettingsDialog::updateControls);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsDialog::regenCertificates()
|
void SettingsDialog::regenCertificates()
|
||||||
|
|
@ -194,17 +193,6 @@ void SettingsDialog::showEvent(QShowEvent *event)
|
||||||
Q_EMIT shown();
|
Q_EMIT shown();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsDialog::showReadOnlyMessage()
|
|
||||||
{
|
|
||||||
if (Settings::isWritable())
|
|
||||||
return;
|
|
||||||
QMessageBox::information(
|
|
||||||
this, tr("%1 Read-only settings").arg(kAppName),
|
|
||||||
tr("<p>Settings are read-only because you only have read access to the file:</p><p>%1</p>")
|
|
||||||
.arg(QDir::toNativeSeparators(Settings::settingsFile()))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SettingsDialog::resetAllSettings()
|
void SettingsDialog::resetAllSettings()
|
||||||
{
|
{
|
||||||
auto result = QMessageBox::question(
|
auto result = QMessageBox::question(
|
||||||
|
|
@ -234,10 +222,6 @@ void SettingsDialog::updateText()
|
||||||
ui->comboLogLevel->setItemData(i, toolTips.at(i), Qt::ToolTipRole);
|
ui->comboLogLevel->setItemData(i, toolTips.at(i), Qt::ToolTipRole);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ui->buttonBox->button(QDialogButtonBox::Save)->setToolTip(tr("Close and save changes"));
|
|
||||||
ui->buttonBox->button(QDialogButtonBox::Cancel)->setToolTip(tr("Close and forget changes"));
|
|
||||||
ui->buttonBox->button(QDialogButtonBox::Reset)->setToolTip(tr("Reset to stored values"));
|
|
||||||
ui->buttonBox->button(QDialogButtonBox::RestoreDefaults)->setToolTip(tr("Reset to default values"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsDialog::accept()
|
void SettingsDialog::accept()
|
||||||
|
|
@ -390,8 +374,6 @@ void SettingsDialog::updateControls()
|
||||||
const bool serviceChecked = ui->groupService->isChecked();
|
const bool serviceChecked = ui->groupService->isChecked();
|
||||||
const bool logToFile = ui->groupLogToFile->isChecked();
|
const bool logToFile = ui->groupLogToFile->isChecked();
|
||||||
|
|
||||||
ui->buttonBox->button(QDialogButtonBox::Save)->setEnabled(writable);
|
|
||||||
|
|
||||||
ui->sbPort->setEnabled(writable);
|
ui->sbPort->setEnabled(writable);
|
||||||
ui->comboInterface->setEnabled(writable);
|
ui->comboInterface->setEnabled(writable);
|
||||||
ui->comboLogLevel->setEnabled(writable);
|
ui->comboLogLevel->setEnabled(writable);
|
||||||
|
|
@ -551,9 +533,9 @@ void SettingsDialog::resetToDefault()
|
||||||
void SettingsDialog::setButtonBoxEnabledButtons() const
|
void SettingsDialog::setButtonBoxEnabledButtons() const
|
||||||
{
|
{
|
||||||
const bool modified = isModified();
|
const bool modified = isModified();
|
||||||
ui->buttonBox->button(QDialogButtonBox::Save)->setEnabled(modified);
|
m_buttonBox->enableSave(modified);
|
||||||
ui->buttonBox->button(QDialogButtonBox::Reset)->setEnabled(modified);
|
m_buttonBox->enableReset(modified);
|
||||||
ui->buttonBox->button(QDialogButtonBox::RestoreDefaults)->setEnabled(!isDefault());
|
m_buttonBox->enableRestoreDefaults(!isDefault());
|
||||||
}
|
}
|
||||||
|
|
||||||
SettingsDialog::~SettingsDialog() = default;
|
SettingsDialog::~SettingsDialog() = default;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Deskflow -- mouse and keyboard sharing utility
|
* Deskflow -- mouse and keyboard sharing utility
|
||||||
* SPDX-FileCopyrightText: (C) 2025 Deskflow Developers
|
* SPDX-FileCopyrightText: (C) 2025 - 2026 Deskflow Developers
|
||||||
* SPDX-FileCopyrightText: (C) 2012 Synergy App Ltd
|
* SPDX-FileCopyrightText: (C) 2012 Synergy App Ltd
|
||||||
* SPDX-FileCopyrightText: (C) 2008 Volker Lanz <vl@fidra.de>
|
* SPDX-FileCopyrightText: (C) 2008 Volker Lanz <vl@fidra.de>
|
||||||
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
|
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
|
||||||
|
|
@ -11,6 +11,8 @@
|
||||||
|
|
||||||
#include "gui/config/ServerConfig.h"
|
#include "gui/config/ServerConfig.h"
|
||||||
|
|
||||||
|
class SettingsDialogButtonBox;
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class SettingsDialog;
|
class SettingsDialog;
|
||||||
}
|
}
|
||||||
|
|
@ -42,7 +44,6 @@ private:
|
||||||
bool isClientMode() const;
|
bool isClientMode() const;
|
||||||
void updateTlsControls();
|
void updateTlsControls();
|
||||||
void updateTlsControlsEnabled();
|
void updateTlsControlsEnabled();
|
||||||
void showReadOnlyMessage();
|
|
||||||
void resetAllSettings();
|
void resetAllSettings();
|
||||||
void updateText();
|
void updateText();
|
||||||
|
|
||||||
|
|
@ -87,4 +88,5 @@ private:
|
||||||
bool m_interfaceSetOnLoad = false;
|
bool m_interfaceSetOnLoad = false;
|
||||||
std::unique_ptr<Ui::SettingsDialog> ui;
|
std::unique_ptr<Ui::SettingsDialog> ui;
|
||||||
const ServerConfig &m_serverConfig;
|
const ServerConfig &m_serverConfig;
|
||||||
|
SettingsDialogButtonBox *m_buttonBox = nullptr;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>490</width>
|
<width>490</width>
|
||||||
<height>366</height>
|
<height>326</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
|
@ -864,16 +864,6 @@
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Orientation::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="standardButtons">
|
|
||||||
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Reset|QDialogButtonBox::StandardButton::RestoreDefaults|QDialogButtonBox::StandardButton::Save</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
|
|
||||||
97
src/lib/gui/widgets/SettingsDialogButtonBox.cpp
Normal file
97
src/lib/gui/widgets/SettingsDialogButtonBox.cpp
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
/*
|
||||||
|
* Deskflow -- mouse and keyboard sharing utility
|
||||||
|
* SPDX-FileCopyrightText: (C) 2026 Deskflow Developers
|
||||||
|
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "SettingsDialogButtonBox.h"
|
||||||
|
#include "common/Settings.h"
|
||||||
|
|
||||||
|
#include <QDialogButtonBox>
|
||||||
|
#include <QEvent>
|
||||||
|
#include <QHBoxLayout>
|
||||||
|
#include <QIcon>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QPushButton>
|
||||||
|
|
||||||
|
SettingsDialogButtonBox::SettingsDialogButtonBox(QWidget *parent)
|
||||||
|
: QWidget{parent},
|
||||||
|
m_buttonBox{new QDialogButtonBox(this)},
|
||||||
|
m_lblText{new QLabel(this)},
|
||||||
|
m_lblIcon{new QLabel(this)}
|
||||||
|
{
|
||||||
|
m_lblIcon->setPixmap(QIcon::fromTheme(QIcon::ThemeIcon::DialogWarning).pixmap(24, 24));
|
||||||
|
m_buttonBox->addButton(QDialogButtonBox::Save);
|
||||||
|
m_buttonBox->addButton(QDialogButtonBox::Cancel);
|
||||||
|
m_buttonBox->addButton(QDialogButtonBox::Reset);
|
||||||
|
m_buttonBox->addButton(QDialogButtonBox::RestoreDefaults);
|
||||||
|
settingsWritableChanged(Settings::isWritable());
|
||||||
|
|
||||||
|
auto layout = new QHBoxLayout(this);
|
||||||
|
layout->addWidget(m_lblIcon);
|
||||||
|
layout->addWidget(m_lblText);
|
||||||
|
layout->addWidget(m_buttonBox);
|
||||||
|
setLayout(layout);
|
||||||
|
|
||||||
|
updateText();
|
||||||
|
|
||||||
|
connect(m_buttonBox, &QDialogButtonBox::accepted, this, &SettingsDialogButtonBox::accepted);
|
||||||
|
connect(m_buttonBox, &QDialogButtonBox::rejected, this, &SettingsDialogButtonBox::rejected);
|
||||||
|
connect(m_buttonBox->button(QDialogButtonBox::Reset), &QPushButton::clicked, this, &SettingsDialogButtonBox::reset);
|
||||||
|
connect(
|
||||||
|
m_buttonBox->button(QDialogButtonBox::RestoreDefaults), &QPushButton::clicked, this,
|
||||||
|
&SettingsDialogButtonBox::restoreDefault
|
||||||
|
);
|
||||||
|
connect(
|
||||||
|
Settings::instance(), &Settings::settingsWritableChanged, this, &SettingsDialogButtonBox::settingsWritableChanged
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SettingsDialogButtonBox::enableSave(bool enable) const
|
||||||
|
{
|
||||||
|
m_buttonBox->button(QDialogButtonBox::Save)->setEnabled(enable);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SettingsDialogButtonBox::enableReset(bool enable) const
|
||||||
|
{
|
||||||
|
m_buttonBox->button(QDialogButtonBox::Reset)->setEnabled(enable);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SettingsDialogButtonBox::enableRestoreDefaults(bool enable) const
|
||||||
|
{
|
||||||
|
m_buttonBox->button(QDialogButtonBox::RestoreDefaults)->setEnabled(enable);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SettingsDialogButtonBox::changeEvent(QEvent *e)
|
||||||
|
{
|
||||||
|
QWidget::changeEvent(e);
|
||||||
|
if (e->type() == QEvent::LanguageChange)
|
||||||
|
updateText();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SettingsDialogButtonBox::updateText()
|
||||||
|
{
|
||||||
|
m_lblText->setText(tr("Settings are read only"));
|
||||||
|
m_lblText->setToolTip(tr("%1 is not writable").arg(Settings::settingsFile()));
|
||||||
|
|
||||||
|
m_buttonBox->button(QDialogButtonBox::Save)->setToolTip(tr("Close and save changes"));
|
||||||
|
m_buttonBox->button(QDialogButtonBox::Cancel)->setToolTip(tr("Close and forget changes"));
|
||||||
|
m_buttonBox->button(QDialogButtonBox::Reset)->setToolTip(tr("Reset to stored values"));
|
||||||
|
m_buttonBox->button(QDialogButtonBox::RestoreDefaults)->setToolTip(tr("Reset to default values"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void SettingsDialogButtonBox::settingsWritableChanged(bool writable)
|
||||||
|
{
|
||||||
|
// Hide all first to prevent any change in overall width
|
||||||
|
m_lblIcon->setVisible(false);
|
||||||
|
m_lblText->setVisible(false);
|
||||||
|
m_buttonBox->button(QDialogButtonBox::Save)->setVisible(false);
|
||||||
|
m_buttonBox->button(QDialogButtonBox::Reset)->setVisible(false);
|
||||||
|
m_buttonBox->button(QDialogButtonBox::RestoreDefaults)->setVisible(false);
|
||||||
|
|
||||||
|
m_lblIcon->setVisible(!writable);
|
||||||
|
m_lblText->setVisible(!writable);
|
||||||
|
m_buttonBox->button(QDialogButtonBox::Save)->setVisible(writable);
|
||||||
|
m_buttonBox->button(QDialogButtonBox::Reset)->setVisible(writable);
|
||||||
|
m_buttonBox->button(QDialogButtonBox::RestoreDefaults)->setVisible(writable);
|
||||||
|
}
|
||||||
37
src/lib/gui/widgets/SettingsDialogButtonBox.h
Normal file
37
src/lib/gui/widgets/SettingsDialogButtonBox.h
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* Deskflow -- mouse and keyboard sharing utility
|
||||||
|
* SPDX-FileCopyrightText: (C) 2026 Deskflow Developers
|
||||||
|
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
class QLabel;
|
||||||
|
class QDialogButtonBox;
|
||||||
|
|
||||||
|
class SettingsDialogButtonBox : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit SettingsDialogButtonBox(QWidget *parent = nullptr);
|
||||||
|
void enableSave(bool enable) const;
|
||||||
|
void enableReset(bool enable) const;
|
||||||
|
void enableRestoreDefaults(bool enable) const;
|
||||||
|
Q_SIGNALS:
|
||||||
|
void accepted();
|
||||||
|
void rejected();
|
||||||
|
void reset();
|
||||||
|
void restoreDefault();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void changeEvent(QEvent *e) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void updateText();
|
||||||
|
void settingsWritableChanged(bool writable);
|
||||||
|
QDialogButtonBox *m_buttonBox = nullptr;
|
||||||
|
QLabel *m_lblText = nullptr;
|
||||||
|
QLabel *m_lblIcon = nullptr;
|
||||||
|
};
|
||||||
|
|
@ -1159,14 +1159,6 @@ Al habilitar esta opción, se deshabilitará la interfaz gráfica de usuario (GU
|
||||||
<source><p>Are you sure you want to clear all settings and restart %1?</p> <p>This action cannot be undone.</p></source>
|
<source><p>Are you sure you want to clear all settings and restart %1?</p> <p>This action cannot be undone.</p></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>%1 Read-only settings</source>
|
|
||||||
<translation type="unfinished">%1 Configuración de solo lectura</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source><p>Settings are read-only because you only have read access to the file:</p><p>%1</p></source>
|
|
||||||
<translation type="unfinished"><p>Las configuraciones son de solo lectura porque solo tiene acceso de lectura al archivo:</p><p>%1</p></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Required messages</source>
|
<source>Required messages</source>
|
||||||
<translation type="unfinished">Mensajes obligatorios</translation>
|
<translation type="unfinished">Mensajes obligatorios</translation>
|
||||||
|
|
@ -1191,22 +1183,6 @@ Al habilitar esta opción, se deshabilitará la interfaz gráfica de usuario (GU
|
||||||
<source>Verbose debug output</source>
|
<source>Verbose debug output</source>
|
||||||
<translation type="unfinished">Salida de depuración detallada</translation>
|
<translation type="unfinished">Salida de depuración detallada</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Close and save changes</source>
|
|
||||||
<translation type="unfinished">Cerrar y guardar los cambios</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Close and forget changes</source>
|
|
||||||
<translation type="unfinished">Cerrar y olvidar los cambios</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reset to stored values</source>
|
|
||||||
<translation type="unfinished">Restablecer los valores almacenados</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reset to default values</source>
|
|
||||||
<translation type="unfinished">Restablecer valores predeterminados</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>TLS Certificate Regenerated</source>
|
<source>TLS Certificate Regenerated</source>
|
||||||
<translation type="unfinished">Certificado TLS regenerado</translation>
|
<translation type="unfinished">Certificado TLS regenerado</translation>
|
||||||
|
|
@ -1296,6 +1272,33 @@ Al habilitar esta opción, se deshabilitará la interfaz gráfica de usuario (GU
|
||||||
<translation type="unfinished">Eliminar todas las configuraciones</translation>
|
<translation type="unfinished">Eliminar todas las configuraciones</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>SettingsDialogButtonBox</name>
|
||||||
|
<message>
|
||||||
|
<source>Settings are read only</source>
|
||||||
|
<translation type="unfinished">La configuración es de solo lectura</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>%1 is not writable</source>
|
||||||
|
<translation type="unfinished">%1 no tiene permisos de escritura</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Close and save changes</source>
|
||||||
|
<translation type="unfinished">Cerrar y guardar los cambios</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Close and forget changes</source>
|
||||||
|
<translation type="unfinished">Cerrar y olvidar los cambios</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reset to stored values</source>
|
||||||
|
<translation type="unfinished">Restablecer los valores almacenados</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reset to default values</source>
|
||||||
|
<translation type="unfinished">Restablecer valores predeterminados</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>StatusBar</name>
|
<name>StatusBar</name>
|
||||||
<message>
|
<message>
|
||||||
|
|
|
||||||
|
|
@ -1159,14 +1159,6 @@ L'abilitazione di questa impostazione disabiliterà l'interfaccia graf
|
||||||
<source><p>Are you sure you want to clear all settings and restart %1?</p> <p>This action cannot be undone.</p></source>
|
<source><p>Are you sure you want to clear all settings and restart %1?</p> <p>This action cannot be undone.</p></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>%1 Read-only settings</source>
|
|
||||||
<translation type="unfinished">%1 Impostazioni di sola lettura</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source><p>Settings are read-only because you only have read access to the file:</p><p>%1</p></source>
|
|
||||||
<translation type="unfinished"><p>Le impostazioni sono di sola lettura perché hai solo accesso in lettura al file:</p><p>%1</p></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Required messages</source>
|
<source>Required messages</source>
|
||||||
<translation>Messaggi richiesti</translation>
|
<translation>Messaggi richiesti</translation>
|
||||||
|
|
@ -1191,22 +1183,6 @@ L'abilitazione di questa impostazione disabiliterà l'interfaccia graf
|
||||||
<source>Verbose debug output</source>
|
<source>Verbose debug output</source>
|
||||||
<translation>Output di debug dettagliato</translation>
|
<translation>Output di debug dettagliato</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Close and save changes</source>
|
|
||||||
<translation type="unfinished">Chiudi e salva le modifiche</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Close and forget changes</source>
|
|
||||||
<translation type="unfinished">Chiudi e dimentica le modifiche</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reset to stored values</source>
|
|
||||||
<translation type="unfinished">Ripristina i valori memorizzati</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reset to default values</source>
|
|
||||||
<translation type="unfinished">Ripristina i valori predefiniti</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>TLS Certificate Regenerated</source>
|
<source>TLS Certificate Regenerated</source>
|
||||||
<translation>Certificato TLS rigenerato</translation>
|
<translation>Certificato TLS rigenerato</translation>
|
||||||
|
|
@ -1296,6 +1272,33 @@ L'abilitazione di questa impostazione disabiliterà l'interfaccia graf
|
||||||
<translation type="unfinished">Rimuovi tutte le impostazioni</translation>
|
<translation type="unfinished">Rimuovi tutte le impostazioni</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>SettingsDialogButtonBox</name>
|
||||||
|
<message>
|
||||||
|
<source>Settings are read only</source>
|
||||||
|
<translation type="unfinished">Le impostazioni sono di sola lettura</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>%1 is not writable</source>
|
||||||
|
<translation type="unfinished">%1 non è scrivibile</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Close and save changes</source>
|
||||||
|
<translation type="unfinished">Chiudi e salva le modifiche</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Close and forget changes</source>
|
||||||
|
<translation type="unfinished">Chiudi e dimentica le modifiche</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reset to stored values</source>
|
||||||
|
<translation type="unfinished">Ripristina i valori memorizzati</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reset to default values</source>
|
||||||
|
<translation type="unfinished">Ripristina i valori predefiniti</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>StatusBar</name>
|
<name>StatusBar</name>
|
||||||
<message>
|
<message>
|
||||||
|
|
|
||||||
|
|
@ -1185,14 +1185,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||||
<source><p>Are you sure you want to clear all settings and restart %1?</p> <p>This action cannot be undone.</p></source>
|
<source><p>Are you sure you want to clear all settings and restart %1?</p> <p>This action cannot be undone.</p></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>%1 Read-only settings</source>
|
|
||||||
<translation type="unfinished">%1 読み取り専用設定</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source><p>Settings are read-only because you only have read access to the file:</p><p>%1</p></source>
|
|
||||||
<translation type="unfinished"><p>以下のファイルへの書き込み権限がないため、設定は読み取り専用です:</p><p>%1</p></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Required messages</source>
|
<source>Required messages</source>
|
||||||
<translation>必須のメッセージ</translation>
|
<translation>必須のメッセージ</translation>
|
||||||
|
|
@ -1217,22 +1209,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||||
<source>Verbose debug output</source>
|
<source>Verbose debug output</source>
|
||||||
<translation>詳細なデバッグ出力</translation>
|
<translation>詳細なデバッグ出力</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Close and save changes</source>
|
|
||||||
<translation>変更を保存して閉じる</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Close and forget changes</source>
|
|
||||||
<translation>変更を破棄して閉じる</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reset to stored values</source>
|
|
||||||
<translation>変更前の値にリセットする</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reset to default values</source>
|
|
||||||
<translation>デフォルト値にリセットする</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Automatic</source>
|
<source>Automatic</source>
|
||||||
<translation>自動</translation>
|
<translation>自動</translation>
|
||||||
|
|
@ -1298,6 +1274,33 @@ Enabling this setting will disable the server config GUI.</source>
|
||||||
<translation type="unfinished">すべての設定を削除する</translation>
|
<translation type="unfinished">すべての設定を削除する</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>SettingsDialogButtonBox</name>
|
||||||
|
<message>
|
||||||
|
<source>Settings are read only</source>
|
||||||
|
<translation type="unfinished">設定は読み取り専用です</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>%1 is not writable</source>
|
||||||
|
<translation type="unfinished">%1 は書き込み可能ではありません</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Close and save changes</source>
|
||||||
|
<translation type="unfinished">変更を保存して閉じる</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Close and forget changes</source>
|
||||||
|
<translation type="unfinished">変更を破棄して閉じる</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reset to stored values</source>
|
||||||
|
<translation type="unfinished">変更前の値にリセットする</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reset to default values</source>
|
||||||
|
<translation type="unfinished">デフォルト値にリセットする</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>StatusBar</name>
|
<name>StatusBar</name>
|
||||||
<message>
|
<message>
|
||||||
|
|
|
||||||
|
|
@ -1183,14 +1183,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||||
<source><p>Are you sure you want to clear all settings and restart %1?</p> <p>This action cannot be undone.</p></source>
|
<source><p>Are you sure you want to clear all settings and restart %1?</p> <p>This action cannot be undone.</p></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>%1 Read-only settings</source>
|
|
||||||
<translation type="unfinished">%1 읽기 전용 설정</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source><p>Settings are read-only because you only have read access to the file:</p><p>%1</p></source>
|
|
||||||
<translation type="unfinished"><p>다음 파일에 대한 쓰기 권한이 없어 설정이 읽기 전용입니다:</p><p>%1</p></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Required messages</source>
|
<source>Required messages</source>
|
||||||
<translation>필수 메시지</translation>
|
<translation>필수 메시지</translation>
|
||||||
|
|
@ -1215,22 +1207,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||||
<source>Verbose debug output</source>
|
<source>Verbose debug output</source>
|
||||||
<translation>상세 디버그 출력</translation>
|
<translation>상세 디버그 출력</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Close and save changes</source>
|
|
||||||
<translation>변경 사항 저장 후 닫기</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Close and forget changes</source>
|
|
||||||
<translation>저장하지 않고 닫기</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reset to stored values</source>
|
|
||||||
<translation type="unfinished">저장된 값으로 재설정</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reset to default values</source>
|
|
||||||
<translation type="unfinished">기본값으로 재설정</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Automatic</source>
|
<source>Automatic</source>
|
||||||
<translation type="unfinished">자동</translation>
|
<translation type="unfinished">자동</translation>
|
||||||
|
|
@ -1296,6 +1272,33 @@ Enabling this setting will disable the server config GUI.</source>
|
||||||
<translation type="unfinished">모든 설정 제거</translation>
|
<translation type="unfinished">모든 설정 제거</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>SettingsDialogButtonBox</name>
|
||||||
|
<message>
|
||||||
|
<source>Settings are read only</source>
|
||||||
|
<translation type="unfinished">설정은 읽기 전용입니다</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>%1 is not writable</source>
|
||||||
|
<translation type="unfinished">%1은(는) 쓰기 가능하지 않습니다</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Close and save changes</source>
|
||||||
|
<translation type="unfinished">변경 사항 저장 후 닫기</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Close and forget changes</source>
|
||||||
|
<translation type="unfinished">저장하지 않고 닫기</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reset to stored values</source>
|
||||||
|
<translation type="unfinished">저장된 값으로 재설정</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reset to default values</source>
|
||||||
|
<translation type="unfinished">기본값으로 재설정</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>StatusBar</name>
|
<name>StatusBar</name>
|
||||||
<message>
|
<message>
|
||||||
|
|
|
||||||
|
|
@ -1181,14 +1181,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||||
<source><p>Are you sure you want to clear all settings and restart %1?</p> <p>This action cannot be undone.</p></source>
|
<source><p>Are you sure you want to clear all settings and restart %1?</p> <p>This action cannot be undone.</p></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>%1 Read-only settings</source>
|
|
||||||
<translation type="unfinished">%1 Настройки только для чтения</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source><p>Settings are read-only because you only have read access to the file:</p><p>%1</p></source>
|
|
||||||
<translation type="unfinished"><p>Настройки доступны только для чтения, так как у вас есть доступ только на чтение к файлу:</p><p>%1</p></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Required messages</source>
|
<source>Required messages</source>
|
||||||
<translation>Обязательные сообщения</translation>
|
<translation>Обязательные сообщения</translation>
|
||||||
|
|
@ -1213,22 +1205,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||||
<source>Verbose debug output</source>
|
<source>Verbose debug output</source>
|
||||||
<translation>Подробный вывод отладки</translation>
|
<translation>Подробный вывод отладки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Close and save changes</source>
|
|
||||||
<translation type="unfinished">Закрыть и сохранить изменения</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Close and forget changes</source>
|
|
||||||
<translation type="unfinished">Закройте изменения и забудьте о них</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reset to stored values</source>
|
|
||||||
<translation type="unfinished">Сбросить до сохраненных значений</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reset to default values</source>
|
|
||||||
<translation type="unfinished">Сбросить до значений по умолчанию</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Automatic</source>
|
<source>Automatic</source>
|
||||||
<translation>Автоматически</translation>
|
<translation>Автоматически</translation>
|
||||||
|
|
@ -1294,6 +1270,33 @@ Enabling this setting will disable the server config GUI.</source>
|
||||||
<translation type="unfinished">Удалить все настройки</translation>
|
<translation type="unfinished">Удалить все настройки</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>SettingsDialogButtonBox</name>
|
||||||
|
<message>
|
||||||
|
<source>Settings are read only</source>
|
||||||
|
<translation type="unfinished">Настройки доступны только для чтения</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>%1 is not writable</source>
|
||||||
|
<translation type="unfinished">%1 недоступен для записи</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Close and save changes</source>
|
||||||
|
<translation type="unfinished">Закрыть и сохранить изменения</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Close and forget changes</source>
|
||||||
|
<translation type="unfinished">Закройте изменения и забудьте о них</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reset to stored values</source>
|
||||||
|
<translation type="unfinished">Сбросить до сохраненных значений</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reset to default values</source>
|
||||||
|
<translation type="unfinished">Сбросить до значений по умолчанию</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>StatusBar</name>
|
<name>StatusBar</name>
|
||||||
<message>
|
<message>
|
||||||
|
|
|
||||||
|
|
@ -1185,14 +1185,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||||
<source><p>Are you sure you want to clear all settings and restart %1?</p> <p>This action cannot be undone.</p></source>
|
<source><p>Are you sure you want to clear all settings and restart %1?</p> <p>This action cannot be undone.</p></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>%1 Read-only settings</source>
|
|
||||||
<translation type="unfinished">%1 只读设置</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source><p>Settings are read-only because you only have read access to the file:</p><p>%1</p></source>
|
|
||||||
<translation type="unfinished"><p>设置是只读的,因为您对该文件只有读取权限:</p><p>%1</p></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Required messages</source>
|
<source>Required messages</source>
|
||||||
<translation>必要消息</translation>
|
<translation>必要消息</translation>
|
||||||
|
|
@ -1217,22 +1209,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||||
<source>Verbose debug output</source>
|
<source>Verbose debug output</source>
|
||||||
<translation>详细调试输出</translation>
|
<translation>详细调试输出</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Close and save changes</source>
|
|
||||||
<translation type="unfinished">关闭并保存更改</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Close and forget changes</source>
|
|
||||||
<translation>关闭并放弃修改</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reset to stored values</source>
|
|
||||||
<translation type="unfinished">重置为存储值</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Reset to default values</source>
|
|
||||||
<translation type="unfinished">重置为默认值</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Automatic</source>
|
<source>Automatic</source>
|
||||||
<translation type="unfinished">自动的</translation>
|
<translation type="unfinished">自动的</translation>
|
||||||
|
|
@ -1298,6 +1274,33 @@ Enabling this setting will disable the server config GUI.</source>
|
||||||
<translation type="unfinished">移除所有设置</translation>
|
<translation type="unfinished">移除所有设置</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>SettingsDialogButtonBox</name>
|
||||||
|
<message>
|
||||||
|
<source>Settings are read only</source>
|
||||||
|
<translation type="unfinished">设置仅为只读</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>%1 is not writable</source>
|
||||||
|
<translation type="unfinished">%1 不可写入</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Close and save changes</source>
|
||||||
|
<translation type="unfinished">关闭并保存更改</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Close and forget changes</source>
|
||||||
|
<translation type="unfinished">关闭并放弃修改</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reset to stored values</source>
|
||||||
|
<translation type="unfinished">重置为存储值</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Reset to default values</source>
|
||||||
|
<translation type="unfinished">重置为默认值</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>StatusBar</name>
|
<name>StatusBar</name>
|
||||||
<message>
|
<message>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue