From 8a7b4d3e4b5f259e2db969269fe662c7d550ac50 Mon Sep 17 00:00:00 2001 From: Martin Date: Wed, 6 Apr 2022 17:52:59 +0200 Subject: [PATCH] Fix #285 - "Save as .." keeps the default settings location unchanged Save current settings to the selected file (same for "Open settings ..") but do not alter the storage for further automatic persistent storage. Signed-off-by: Martin --- openhantek/src/OH_BUILD.h | 2 +- openhantek/src/dsosettings.cpp | 61 ++++++++++++++++++------ openhantek/src/dsosettings.h | 6 ++- openhantek/src/main.cpp | 15 ++++-- openhantek/src/mainwindow.cpp | 26 +++++----- openhantek/translations/openhantek_de.ts | 50 +++++++++++-------- openhantek/translations/openhantek_es.ts | 50 +++++++++++-------- openhantek/translations/openhantek_fr.ts | 50 +++++++++++-------- openhantek/translations/openhantek_it.ts | 50 +++++++++++-------- openhantek/translations/openhantek_pl.ts | 50 +++++++++++-------- openhantek/translations/openhantek_pt.ts | 50 +++++++++++-------- openhantek/translations/openhantek_ru.ts | 52 ++++++++++++-------- openhantek/translations/openhantek_sv.ts | 52 ++++++++++++-------- openhantek/translations/openhantek_zh.ts | 50 +++++++++++-------- 14 files changed, 348 insertions(+), 216 deletions(-) diff --git a/openhantek/src/OH_BUILD.h b/openhantek/src/OH_BUILD.h index 32bafe46..de2a9b08 100644 --- a/openhantek/src/OH_BUILD.h +++ b/openhantek/src/OH_BUILD.h @@ -1,2 +1,2 @@ // Do not edit, will be re-created at each commit! -#define OH_BUILD "20220406 - commit 985" +#define OH_BUILD "20220406 - commit 986" diff --git a/openhantek/src/dsosettings.cpp b/openhantek/src/dsosettings.cpp index 55f6dcf3..3c20fd7d 100644 --- a/openhantek/src/dsosettings.cpp +++ b/openhantek/src/dsosettings.cpp @@ -2,6 +2,7 @@ #include #include +#include #include #include "dsosettings.h" @@ -9,10 +10,13 @@ /// \brief Set the number of channels. /// \param channels The new channel count, that will be applied to lists. -DsoSettings::DsoSettings( const ScopeDevice *scopeDevice, bool resetSettings ) +DsoSettings::DsoSettings( const ScopeDevice *scopeDevice, int verboseLevel, bool resetSettings ) : deviceName( scopeDevice->getModel()->name ), deviceID( scopeDevice->getSerialNumber() ), - deviceFW( scopeDevice->getFwVersion() ), deviceSpecification( scopeDevice->getModel()->spec() ), + deviceFW( scopeDevice->getFwVersion() ), deviceSpecification( scopeDevice->getModel()->spec() ), verboseLevel( verboseLevel ), resetSettings( resetSettings ) { + scope.verboseLevel = verboseLevel; + if ( verboseLevel > 1 ) + qDebug() << " DsoSettings::DsoSettings()" << deviceName << deviceID << resetSettings; // Add new channels to the list int voltage_hue[] = { 60, 210, 0, 120 }; // yellow, lightblue, red, green int spectrum_hue[] = { 30, 240, 330, 90 }; // orange, blue, purple, green @@ -63,22 +67,45 @@ DsoSettings::DsoSettings( const ScopeDevice *scopeDevice, bool resetSettings ) } -bool DsoSettings::setFilename( const QString &filename ) { +// store the current settings to an explicitly named file +bool DsoSettings::saveToFile( const QString &filename ) { + if ( verboseLevel > 1 ) + qDebug() << " DsoSettings::saveFilename()" << filename; std::unique_ptr< QSettings > local = std::unique_ptr< QSettings >( new QSettings( filename, QSettings::IniFormat ) ); if ( local->status() != QSettings::NoError ) { - qWarning() << "Could not change the settings file to " << filename; + qWarning() << "Could not save to config file " << filename; return false; } - storeSettings.swap( local ); + storeSettings.swap( local ); // switch to requested filename + save(); // store the settings + storeSettings.swap( local ); // and switch back to default persistent storage location (file, registry, ...) return true; } +// load settings from a config file +bool DsoSettings::loadFromFile( const QString &filename ) { + if ( verboseLevel > 1 ) + qDebug() << " DsoSettings::loadFilename()" << filename; + if ( QFileInfo( filename ).isReadable() ) { + std::unique_ptr< QSettings > local = std::unique_ptr< QSettings >( new QSettings( filename, QSettings::IniFormat ) ); + if ( local->status() == QSettings::NoError ) { + storeSettings.swap( local ); + load(); + storeSettings.swap( local ); + return true; + } + } + qWarning() << "Could not load from config file " << filename; + return false; +} + + // load the persistent scope settings -// called by "DsoSettings::DsoSettings" and explicitely by "ui->actionOpen" +// called by "DsoSettings::DsoSettings()" and "loadFromFile()" void DsoSettings::load() { - if ( scope.verboseLevel > 1 ) - qDebug() << " DsoSettings::load()"; + if ( verboseLevel > 1 ) + qDebug() << " DsoSettings::load()" << storeSettings->fileName(); // Start with default configuration? if ( resetSettings || storeSettings->value( "configuration/version", 0 ).toUInt() < CONFIG_VERSION ) { // incompatible change or config reset by user @@ -297,23 +324,29 @@ void DsoSettings::load() { // save the persistent scope settings -// called by "MainWindow::closeEvent" and explicitely by "ui->actionSave" and "ui->actionSave_as" +// called by "DsoSettings::saveToFile()", "MainWindow::closeEvent" and explicitely by "ui->actionSave" void DsoSettings::save() { // Use default configuration after restart? if ( 0 == configVersion ) { storeSettings->clear(); - if ( scope.verboseLevel > 1 ) - qDebug() << " DsoSettings::save() storeSettings->clear()"; + if ( verboseLevel > 1 ) + qDebug() << " DsoSettings::save() storeSettings->clear() << storeSettings->fileName()"; return; } else { // save fontSize as global setting QSettings().setValue( "view/fontSize", view.fontSize ); QSettings().setValue( "view/toolTipVisible", scope.toolTipVisible ); } - if ( scope.verboseLevel > 1 ) - qDebug() << " DsoSettings::save()" << deviceName << deviceID; + if ( verboseLevel > 1 ) + qDebug() << " DsoSettings::save()" << storeSettings->fileName(); // now store individual device values - // Device ID (helps to identify the connection of a "Save as" file with a specific device) + // Date and Time of last storage + storeSettings->beginGroup( "ConfigurationSaved" ); + storeSettings->setValue( "Date", QDate::currentDate().toString( "yyyy-MM-dd" ) ); + storeSettings->setValue( "Time", QTime::currentTime().toString( "HH:mm:ss" ) ); + storeSettings->endGroup(); // ConfigurationSaved + + // Device ID (helps to identify the connection of a "Save as" file with a specific device) storeSettings->beginGroup( "DeviceID" ); storeSettings->setValue( "Model", deviceName ); storeSettings->setValue( "SerialNumber", deviceID ); diff --git a/openhantek/src/dsosettings.h b/openhantek/src/dsosettings.h index 9d5ce348..60280458 100644 --- a/openhantek/src/dsosettings.h +++ b/openhantek/src/dsosettings.h @@ -22,8 +22,9 @@ class DsoSettings { Q_DECLARE_TR_FUNCTIONS( DsoSettings ) public: - explicit DsoSettings( const ScopeDevice *scopeDevice, bool resetSettings = false ); - bool setFilename( const QString &filename ); + explicit DsoSettings( const ScopeDevice *scopeDevice, int verboseLevel = 0, bool resetSettings = false ); + bool saveToFile( const QString &filename ); + bool loadFromFile( const QString &filename ); DsoSettingsScope scope; ///< All oscilloscope related settings DsoSettingsView view; ///< All view related settings @@ -48,5 +49,6 @@ class DsoSettings { std::unique_ptr< QSettings > storeSettings; const Dso::ControlSpecification *deviceSpecification; void setDefaultConfig(); + int verboseLevel = 0; bool resetSettings = false; }; diff --git a/openhantek/src/main.cpp b/openhantek/src/main.cpp index c1fa2845..8ac498c8 100644 --- a/openhantek/src/main.cpp +++ b/openhantek/src/main.cpp @@ -113,6 +113,7 @@ int main( int argc, char *argv[] ) { int theme = 0; // set to "auto" int toolTipVisible = 1; // start with tooltips bool styleFusion = false; // use system style + QString configFileName = QString(); { // do this early at program start ... // get font size and other global program settings: @@ -157,6 +158,9 @@ int main( int argc, char *argv[] ) { p.addHelpOption(); p.addVersionOption(); + QCommandLineOption configFileOption( { "c", "config" }, QCoreApplication::translate( "main", "Load config file" ), + QCoreApplication::translate( "main", "File" ) ); + p.addOption( configFileOption ); QCommandLineOption demoModeOption( { "d", "demoMode" }, QCoreApplication::translate( "main", "Demo mode without scope HW" ) ); p.addOption( demoModeOption ); @@ -180,8 +184,7 @@ int main( int argc, char *argv[] ) { QCoreApplication::translate( "main", "Size" ) ); p.addOption( sizeOption ); QCommandLineOption condensedOption( - { "c", "condensed" }, - QString( QCoreApplication::translate( "main", "Set the font condensed value (default = %1)" ) ).arg( condensed ), + "condensed", QCoreApplication::translate( "main", "Set the font condensed value (default = %1)" ).arg( condensed ), QCoreApplication::translate( "main", "Condensed" ) ); p.addOption( condensedOption ); QCommandLineOption resetSettingsOption( @@ -192,6 +195,8 @@ int main( int argc, char *argv[] ) { QCoreApplication::translate( "main", "Level" ) ); p.addOption( verboseOption ); p.process( parserApp ); + if ( p.isSet( configFileOption ) ) + configFileName = p.value( "config" ); demoMode = p.isSet( demoModeOption ); if ( p.isSet( fontOption ) ) font = p.value( "font" ); @@ -385,8 +390,10 @@ int main( int argc, char *argv[] ) { if ( verboseLevel ) qDebug() << startupTime.elapsed() << "ms:" << "create settings object"; - DsoSettings settings( scopeDevice.get(), resetSettings ); - settings.scope.verboseLevel = verboseLevel; + DsoSettings settings( scopeDevice.get(), verboseLevel, resetSettings ); + + if ( !configFileName.isEmpty() ) + settings.loadFromFile( configFileName ); //////// Create exporters //////// if ( verboseLevel ) diff --git a/openhantek/src/mainwindow.cpp b/openhantek/src/mainwindow.cpp index fa726000..99c111b4 100644 --- a/openhantek/src/mainwindow.cpp +++ b/openhantek/src/mainwindow.cpp @@ -380,12 +380,13 @@ MainWindow::MainWindow( HantekDsoControl *dsoControl, DsoSettings *settings, Exp connect( this, &MainWindow::settingsLoaded, dsoWidget, &DsoWidget::updateSlidersSettings ); connect( ui->actionOpen, &QAction::triggered, [ this, spec ]() { - QString fileName = QFileDialog::getOpenFileName( this, tr( "Open file" ), "", tr( "Settings (*.conf)" ), nullptr, - QFileDialog::DontUseNativeDialog ); - if ( !fileName.isEmpty() ) { - if ( dsoSettings->setFilename( fileName ) ) { - dsoSettings->load(); - } + QString configFileName = QFileDialog::getOpenFileName( this, tr( "Open file" ), "", tr( "Settings (*.conf)" ), nullptr, + QFileDialog::DontUseNativeDialog ); + if ( !configFileName.isEmpty() ) { + dsoSettings->loadFromFile( configFileName ); + restoreGeometry( dsoSettings->mainWindowGeometry ); + restoreState( dsoSettings->mainWindowState ); + emit settingsLoaded( &dsoSettings->scope, spec ); dsoWidget->updateTimebase( dsoSettings->scope.horizontal.timebase ); @@ -404,16 +405,15 @@ MainWindow::MainWindow( HantekDsoControl *dsoControl, DsoSettings *settings, Exp } ); connect( ui->actionSave_as, &QAction::triggered, [ this ]() { - QString fileName = QFileDialog::getSaveFileName( this, tr( "Save settings" ), "", tr( "Settings (*.conf)" ), nullptr, - QFileDialog::DontUseNativeDialog ); - if ( fileName.isEmpty() ) + QString configFileName = QFileDialog::getSaveFileName( this, tr( "Save settings" ), "", tr( "Settings (*.conf)" ), nullptr, + QFileDialog::DontUseNativeDialog ); + if ( configFileName.isEmpty() ) return; - if ( !fileName.endsWith( ".conf" ) ) - fileName.append( ".conf" ); + if ( !configFileName.endsWith( ".conf" ) ) + configFileName.append( ".conf" ); dsoSettings->mainWindowGeometry = saveGeometry(); dsoSettings->mainWindowState = saveState(); - dsoSettings->setFilename( fileName ); - dsoSettings->save(); + dsoSettings->saveToFile( configFileName ); } ); connect( ui->actionExit, &QAction::triggered, this, &QWidget::close ); diff --git a/openhantek/translations/openhantek_de.ts b/openhantek/translations/openhantek_de.ts index 7182c548..bd4de6cb 100644 --- a/openhantek/translations/openhantek_de.ts +++ b/openhantek/translations/openhantek_de.ts @@ -609,22 +609,22 @@ DsoSettings - + SP%1 SP%1 - + CH%1 CH%1 - + SPM SPM - + MATH MATH @@ -1319,7 +1319,7 @@ - + Settings (*.conf) Einstellungen (*.conf) @@ -1417,7 +1417,7 @@ Erzeuge eine Hardcopy und öffne den Druckdialog - + Save settings Einstellungen speichern @@ -2364,73 +2364,83 @@ main - - + + Show the international interface, do not translate Internationale Version ohne Übersetzung + Load config file + Lade Konfigurationsdatei + + + + File + Datei + + + Demo mode without scope HW Demo-Modus ohne Hardware - + Use OpenGL ES instead of OpenGL Benutze OpenGL ES anstelle von OpenGL - + Force OpenGL SL version 1.20 Erzwinge OpenGL SL Version 1.20 - + Force OpenGL SL version 1.50 Erzwinge OpenGL SL Version 1.50 - + Define the system font Definiere die System-Schriftart - + Font Schriftart - + Set the font size (default = %1, 0: automatic from dpi) Wähle Schriftgröße (Standard = %1, 0: automatisch von Bildschirmauflösung) - + Size Größe - + Set the font condensed value (default = %1) Wähle schmalere Schrift (Standard : %1) - + Condensed Schmaler - + Reset persistent settings, start with default Zurücksetzen auf Standardwerte - + Verbose tracing of program startup, ui and processing steps Zeige Hinweise während des Programmstarts und der Verarbeitungsschritte - + Level Stufe diff --git a/openhantek/translations/openhantek_es.ts b/openhantek/translations/openhantek_es.ts index 0f2d1054..21051866 100644 --- a/openhantek/translations/openhantek_es.ts +++ b/openhantek/translations/openhantek_es.ts @@ -545,22 +545,22 @@ DsoSettings - + SP%1 - + CH%1 - + SPM - + MATH @@ -1015,7 +1015,7 @@ - + Save settings Guardar configuración @@ -1285,7 +1285,7 @@ - + Settings (*.conf) Configuración (*.conf) @@ -2127,73 +2127,83 @@ main - - + + Show the international interface, do not translate + Load config file + + + + + File + Archivo + + + Demo mode without scope HW - + Use OpenGL ES instead of OpenGL Usar OpenGL ES en vez de OpenGL - + Force OpenGL SL version 1.20 - + Force OpenGL SL version 1.50 - + Define the system font - + Font - + Set the font size (default = %1, 0: automatic from dpi) - + Size - + Set the font condensed value (default = %1) - + Condensed - + Reset persistent settings, start with default - + Verbose tracing of program startup, ui and processing steps - + Level diff --git a/openhantek/translations/openhantek_fr.ts b/openhantek/translations/openhantek_fr.ts index 1cf4d67c..d8aae1ac 100644 --- a/openhantek/translations/openhantek_fr.ts +++ b/openhantek/translations/openhantek_fr.ts @@ -597,22 +597,22 @@ DsoSettings - + SP%1 - + CH%1 - + SPM SPM - + MATH MATH @@ -1360,7 +1360,7 @@ - + Settings (*.conf) Réglages (*.conf) @@ -1374,7 +1374,7 @@ Réglages (*.ini) - + Save settings Enregistrer les réglages @@ -2303,73 +2303,83 @@ main - - + + Show the international interface, do not translate + Load config file + + + + + File + Fichier + + + Demo mode without scope HW Mode démo sans équipement - + Use OpenGL ES instead of OpenGL Utilisez OpenGL ES à la place de OpenGL - + Force OpenGL SL version 1.20 - + Force OpenGL SL version 1.50 - + Define the system font - + Font - + Set the font size (default = %1, 0: automatic from dpi) - + Size - + Set the font condensed value (default = %1) - + Condensed - + Reset persistent settings, start with default - + Verbose tracing of program startup, ui and processing steps - + Level diff --git a/openhantek/translations/openhantek_it.ts b/openhantek/translations/openhantek_it.ts index fe7725cd..d11527ba 100644 --- a/openhantek/translations/openhantek_it.ts +++ b/openhantek/translations/openhantek_it.ts @@ -455,22 +455,22 @@ DsoSettings - + SP%1 - + CH%1 - + SPM - + MATH @@ -1057,12 +1057,12 @@ - + Settings (*.conf) - + Save settings @@ -1744,73 +1744,83 @@ main - - + + Show the international interface, do not translate + Load config file + + + + + File + + + + Demo mode without scope HW - + Use OpenGL ES instead of OpenGL - + Force OpenGL SL version 1.20 - + Force OpenGL SL version 1.50 - + Define the system font - + Font - + Set the font size (default = %1, 0: automatic from dpi) - + Size - + Set the font condensed value (default = %1) - + Condensed - + Reset persistent settings, start with default - + Verbose tracing of program startup, ui and processing steps - + Level diff --git a/openhantek/translations/openhantek_pl.ts b/openhantek/translations/openhantek_pl.ts index be8b4b16..c3120412 100644 --- a/openhantek/translations/openhantek_pl.ts +++ b/openhantek/translations/openhantek_pl.ts @@ -605,22 +605,22 @@ DsoSettings - + SP%1 SP%1 - + CH%1 CH%1 - + SPM SPM - + MATH MATH @@ -1307,7 +1307,7 @@ - + Settings (*.conf) Ustawienia (*.conf) @@ -1401,7 +1401,7 @@ - + Save settings Zapisz ustawienia @@ -2327,73 +2327,83 @@ main - - + + Show the international interface, do not translate + Load config file + + + + + File + Plik + + + Demo mode without scope HW Tryb demo bez hardware'u - + Use OpenGL ES instead of OpenGL Użyj OpenGL ES zamiast OpenGL - + Force OpenGL SL version 1.20 - + Force OpenGL SL version 1.50 - + Define the system font - + Font - + Set the font size (default = %1, 0: automatic from dpi) - + Size - + Set the font condensed value (default = %1) - + Condensed - + Reset persistent settings, start with default - + Verbose tracing of program startup, ui and processing steps - + Level diff --git a/openhantek/translations/openhantek_pt.ts b/openhantek/translations/openhantek_pt.ts index 29d4a8fb..4c39ec0f 100644 --- a/openhantek/translations/openhantek_pt.ts +++ b/openhantek/translations/openhantek_pt.ts @@ -585,22 +585,22 @@ DsoSettings - + SP%1 SP%1 - + CH%1 CH%1 - + SPM SPC - + MATH MATH @@ -1213,7 +1213,7 @@ - + Settings (*.conf) Configurações (*.conf) @@ -1307,7 +1307,7 @@ - + Save settings Salvar configurações @@ -2157,73 +2157,83 @@ main - - + + Show the international interface, do not translate + Load config file + + + + + File + Arquivo + + + Demo mode without scope HW - + Use OpenGL ES instead of OpenGL Usar OpenGL ES em vez de OpenGL - + Force OpenGL SL version 1.20 - + Force OpenGL SL version 1.50 - + Define the system font - + Font - + Set the font size (default = %1, 0: automatic from dpi) - + Size - + Set the font condensed value (default = %1) - + Condensed - + Reset persistent settings, start with default - + Verbose tracing of program startup, ui and processing steps - + Level diff --git a/openhantek/translations/openhantek_ru.ts b/openhantek/translations/openhantek_ru.ts index cbef2882..5f568f52 100644 --- a/openhantek/translations/openhantek_ru.ts +++ b/openhantek/translations/openhantek_ru.ts @@ -531,22 +531,22 @@ DsoSettings - + SP%1 Спектр %1 - + CH%1 Канал %1 - + SPM Сп.Мат. - + MATH Матем. @@ -1048,14 +1048,14 @@ - + Settings (*.conf) Настройки (*.conf) <p>Open source software for Hantek6022 USB oscilloscopes</p><p>Maintainer: Martin Homuth-Rosemann</p><p>Copyright &copy; 2010, 2011 Oliver Haag</p><p>Copyright &copy; 2012-%7 OpenHantek community<br/><a href='https://github.com/OpenHantek'>https://github.com/OpenHantek</a></p><p>Open source firmware copyright &copy; 2019-%7 Ho-Ro<br/><a href='https://github.com/Ho-Ro/Hantek6022API'>https://github.com/Ho-Ro/Hantek6022API</a></p><p>Device: %1 (%2), FW%3</p><p>Graphic: %4 - GLSL version %5</p><p>Qt version: %6</p> - + <p>Открытое программное обеспечение для USB осциллографов Hantek6022</p><p>Мейнтейнер: Мартин Хомут-Розманн</p><p>Авторские права &copy; 2010, 2011 Оливер Хааг</p><p>Авторские права &copy; 2012-%7 Сообщество OpenHantek <br/><a href='https://github.com/OpenHantek'>https://github.com/OpenHantek</a></p><p>Авторские права на открытую микропрограмму &copy; 2019-%7 Ho-Ro<br/><a href='https://github.com/Ho-Ro/Hantek6022API'>https://github.com/Ho-Ro/Hantek6022API</a></p><p>Device: %1 (%2), FW%3</p><p>Graphic: %4 - GLSL version %5</p><p>Qt version: %6</p> Settings (*.ini) @@ -1192,7 +1192,7 @@ Экспорт захваченных данных в формате %1 для дальнейшей обработки - + Save settings Сохранить настройки @@ -2008,73 +2008,83 @@ main - - + + Show the international interface, do not translate Показывать международный интерфейс, не переводить + Load config file + Загрузить файла конфигурации + + + + File + Файл + + + Demo mode without scope HW Демо режим без аппаратуры осциллографа - + Use OpenGL ES instead of OpenGL Использовать OpenGL ES вместо OpenGL - + Force OpenGL SL version 1.20 Принудительное использование OpenGL SL version 1.20 - + Force OpenGL SL version 1.50 Принудительное использование OpenGL SL version 1.50 - + Define the system font Определить системный шрифт - + Font Шрифт - + Set the font size (default = %1, 0: automatic from dpi) Задать размер шрифта (по умолчанию = %1, 0: автоматически от dpi) - + Size Размер - + Set the font condensed value (default = %1) Задать значение сжатия шрифта (по умолчанию = %1) - + Condensed Сжатый - + Reset persistent settings, start with default Сбросить постоянные настройки, начать со значений по умолчанию - + Verbose tracing of program startup, ui and processing steps Подробная трассировка запуска программы, пользовательского интерфейса и этапов обработки - + Level Уровень diff --git a/openhantek/translations/openhantek_sv.ts b/openhantek/translations/openhantek_sv.ts index a98c95d5..4242498e 100644 --- a/openhantek/translations/openhantek_sv.ts +++ b/openhantek/translations/openhantek_sv.ts @@ -404,7 +404,7 @@ Show tooltips for user interface (restart needed to apply the change) - + Visa verktygstips för användargränssnittet (omstart krävs för att få effekt) @@ -415,22 +415,22 @@ DsoSettings - + SP%1 SP%1 - + CH%1 KAN%1 - + SPM SPM - + MATH MATTE @@ -1040,12 +1040,12 @@ - + Settings (*.conf) Inställningar (*.conf) - + Save settings Spara inställningar @@ -1748,73 +1748,83 @@ main - - + + Show the international interface, do not translate + Load config file + + + + + File + + + + Demo mode without scope HW - + Use OpenGL ES instead of OpenGL - + Force OpenGL SL version 1.20 - + Force OpenGL SL version 1.50 - + Define the system font - + Font - + Set the font size (default = %1, 0: automatic from dpi) - + Size - + Set the font condensed value (default = %1) - + Condensed - + Reset persistent settings, start with default - + Verbose tracing of program startup, ui and processing steps - + Level diff --git a/openhantek/translations/openhantek_zh.ts b/openhantek/translations/openhantek_zh.ts index 119fd19b..03c66cb1 100644 --- a/openhantek/translations/openhantek_zh.ts +++ b/openhantek/translations/openhantek_zh.ts @@ -585,22 +585,22 @@ DsoSettings - + SP%1 SP%1 - + CH%1 CH%1 - + SPM SPM - + MATH MATH @@ -1235,7 +1235,7 @@ - + Settings (*.conf) 配置文件 (*.conf) @@ -1329,7 +1329,7 @@ - + Save settings 保存配置 @@ -2215,73 +2215,83 @@ main - - + + Show the international interface, do not translate + Load config file + + + + + File + 文件 + + + Demo mode without scope HW - + Use OpenGL ES instead of OpenGL 使用OpenGL ES代替OpenGL - + Force OpenGL SL version 1.20 - + Force OpenGL SL version 1.50 - + Define the system font - + Font - + Set the font size (default = %1, 0: automatic from dpi) - + Size - + Set the font condensed value (default = %1) - + Condensed - + Reset persistent settings, start with default - + Verbose tracing of program startup, ui and processing steps - + Level