diff --git a/src/config.cc b/src/config.cc index 3c714889..aad6ee2f 100644 --- a/src/config.cc +++ b/src/config.cc @@ -204,6 +204,7 @@ Preferences::Preferences(): doubleClickTranslates( true ), selectWordBySingleClick( false ), autoScrollToTargetArticle( true ), + targetArticleAtFirst( false ), escKeyHidesMainWindow( false ), alwaysOnTop( false ), searchInDock( false ), @@ -931,6 +932,11 @@ Class load() ( preferences.namedItem( "autoScrollToTargetArticle" ).toElement().text() == "1" ); } + if ( !preferences.namedItem( "targetArticleAtFirst" ).isNull() ) { + c.preferences.targetArticleAtFirst = + ( preferences.namedItem( "targetArticleAtFirst" ).toElement().text() == "1" ); + } + if ( !preferences.namedItem( "escKeyHidesMainWindow" ).isNull() ) { c.preferences.escKeyHidesMainWindow = ( preferences.namedItem( "escKeyHidesMainWindow" ).toElement().text() == "1" ); @@ -1868,6 +1874,10 @@ void save( Class const & c ) opt.appendChild( dd.createTextNode( c.preferences.autoScrollToTargetArticle ? "1" : "0" ) ); preferences.appendChild( opt ); + opt = dd.createElement( "targetArticleAtFirst" ); + opt.appendChild( dd.createTextNode( c.preferences.targetArticleAtFirst ? "1" : "0" ) ); + preferences.appendChild( opt ); + opt = dd.createElement( "escKeyHidesMainWindow" ); opt.appendChild( dd.createTextNode( c.preferences.escKeyHidesMainWindow ? "1" : "0" ) ); preferences.appendChild( opt ); diff --git a/src/config.hh b/src/config.hh index 9aea8f67..d64d6104 100644 --- a/src/config.hh +++ b/src/config.hh @@ -348,6 +348,7 @@ struct Preferences bool doubleClickTranslates; bool selectWordBySingleClick; bool autoScrollToTargetArticle; + bool targetArticleAtFirst; bool escKeyHidesMainWindow; bool alwaysOnTop; diff --git a/src/ui/preferences.cc b/src/ui/preferences.cc index 5223b3c1..9a1366de 100644 --- a/src/ui/preferences.cc +++ b/src/ui/preferences.cc @@ -180,6 +180,7 @@ Preferences::Preferences( QWidget * parent, Config::Class & cfg_ ): ui.doubleClickTranslates->setChecked( p.doubleClickTranslates ); ui.selectBySingleClick->setChecked( p.selectWordBySingleClick ); ui.autoScrollToTargetArticle->setChecked( p.autoScrollToTargetArticle ); + ui.targetArticleAtFirst->setChecked( p.targetArticleAtFirst ); ui.escKeyHidesMainWindow->setChecked( p.escKeyHidesMainWindow ); ui.darkMode->addItem( tr( "On" ), QVariant::fromValue( Config::Dark::On ) ); @@ -436,6 +437,7 @@ Config::Preferences Preferences::getPreferences() p.doubleClickTranslates = ui.doubleClickTranslates->isChecked(); p.selectWordBySingleClick = ui.selectBySingleClick->isChecked(); p.autoScrollToTargetArticle = ui.autoScrollToTargetArticle->isChecked(); + p.targetArticleAtFirst = ui.targetArticleAtFirst->isChecked(); p.escKeyHidesMainWindow = ui.escKeyHidesMainWindow->isChecked(); p.darkMode = ui.darkMode->currentData().value< Config::Dark >(); diff --git a/src/ui/preferences.ui b/src/ui/preferences.ui index 6c2bba01..3f623607 100644 --- a/src/ui/preferences.ui +++ b/src/ui/preferences.ui @@ -169,6 +169,16 @@ however, the article from the topmost dictionary is shown. + + + + Place the target article at the first place. + + + true + + +