mirror of
https://github.com/xiaoyifang/goldendict-ng.git
synced 2024-11-27 19:24:08 +00:00
Fix behavior while words list font resizing (issue #1109)
This commit is contained in:
parent
04d9dc43f6
commit
92e8c85eec
|
@ -316,6 +316,7 @@ MainWindow::MainWindow( Config::Class & cfg_ ):
|
||||||
|
|
||||||
wordListDefaultFont = wordList->font();
|
wordListDefaultFont = wordList->font();
|
||||||
translateLineDefaultFont = translateLine->font();
|
translateLineDefaultFont = translateLine->font();
|
||||||
|
groupListDefaultFont = groupList->font();
|
||||||
|
|
||||||
// Make the dictionaries pane's titlebar
|
// Make the dictionaries pane's titlebar
|
||||||
foundInDictsLabel.setText( tr( "Found in Dictionaries:" ) );
|
foundInDictsLabel.setText( tr( "Found in Dictionaries:" ) );
|
||||||
|
@ -3651,7 +3652,32 @@ void MainWindow::applyWordsZoomLevel()
|
||||||
if ( translateLine->font().pointSize() != ps )
|
if ( translateLine->font().pointSize() != ps )
|
||||||
translateLine->setFont( font );
|
translateLine->setFont( font );
|
||||||
|
|
||||||
groupList->setFont(font);
|
font = groupListDefaultFont;
|
||||||
|
|
||||||
|
ps = font.pointSize();
|
||||||
|
|
||||||
|
if ( cfg.preferences.wordsZoomLevel != 0 )
|
||||||
|
{
|
||||||
|
ps += cfg.preferences.wordsZoomLevel;
|
||||||
|
|
||||||
|
if ( ps < 1 )
|
||||||
|
ps = 1;
|
||||||
|
|
||||||
|
font.setPointSize( ps );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( groupList->font().pointSize() != ps )
|
||||||
|
{
|
||||||
|
disconnect( groupList, SIGNAL( currentIndexChanged( QString const & ) ),
|
||||||
|
this, SLOT( currentGroupChanged( QString const & ) ) );
|
||||||
|
int n = groupList->currentIndex();
|
||||||
|
groupList->clear();
|
||||||
|
groupList->setFont( font );
|
||||||
|
groupList->fill( groupInstances );
|
||||||
|
groupList->setCurrentIndex( n );
|
||||||
|
connect( groupList, SIGNAL( currentIndexChanged( QString const & ) ),
|
||||||
|
this, SLOT( currentGroupChanged( QString const & ) ) );
|
||||||
|
}
|
||||||
|
|
||||||
wordsZoomBase->setEnabled( cfg.preferences.wordsZoomLevel != 0 );
|
wordsZoomBase->setEnabled( cfg.preferences.wordsZoomLevel != 0 );
|
||||||
// groupList->setFixedHeight(translateLine->height());
|
// groupList->setFixedHeight(translateLine->height());
|
||||||
|
|
|
@ -116,7 +116,7 @@ private:
|
||||||
TranslateBox * translateBox;
|
TranslateBox * translateBox;
|
||||||
|
|
||||||
/// Fonts saved before words zooming is in effect, so it could be reset back.
|
/// Fonts saved before words zooming is in effect, so it could be reset back.
|
||||||
QFont wordListDefaultFont, translateLineDefaultFont;
|
QFont wordListDefaultFont, translateLineDefaultFont, groupListDefaultFont;
|
||||||
|
|
||||||
QAction escAction, focusTranslateLineAction, addTabAction, closeCurrentTabAction,
|
QAction escAction, focusTranslateLineAction, addTabAction, closeCurrentTabAction,
|
||||||
closeAllTabAction, closeRestTabAction,
|
closeAllTabAction, closeRestTabAction,
|
||||||
|
|
27
scanpopup.cc
27
scanpopup.cc
|
@ -115,6 +115,7 @@ ScanPopup::ScanPopup( QWidget * parent,
|
||||||
|
|
||||||
wordListDefaultFont = ui.translateBox->wordList()->font();
|
wordListDefaultFont = ui.translateBox->wordList()->font();
|
||||||
translateLineDefaultFont = ui.translateBox->font();
|
translateLineDefaultFont = ui.translateBox->font();
|
||||||
|
groupListDefaultFont = ui.groupList->font();
|
||||||
|
|
||||||
applyZoomFactor();
|
applyZoomFactor();
|
||||||
applyWordsZoomLevel();
|
applyWordsZoomLevel();
|
||||||
|
@ -406,9 +407,31 @@ void ScanPopup::applyWordsZoomLevel()
|
||||||
if ( ui.translateBox->translateLine()->font().pointSize() != ps )
|
if ( ui.translateBox->translateLine()->font().pointSize() != ps )
|
||||||
ui.translateBox->translateLine()->setFont( font );
|
ui.translateBox->translateLine()->setFont( font );
|
||||||
|
|
||||||
ui.groupList->setFont(font);
|
font = groupListDefaultFont;
|
||||||
|
ps = font.pointSize();
|
||||||
|
|
||||||
ui.groupList->parentWidget()->layout()->activate();
|
if ( cfg.preferences.wordsZoomLevel != 0 )
|
||||||
|
{
|
||||||
|
ps += cfg.preferences.wordsZoomLevel;
|
||||||
|
if ( ps < 1 )
|
||||||
|
ps = 1;
|
||||||
|
font.setPointSize( ps );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ui.groupList->font().pointSize() != ps )
|
||||||
|
{
|
||||||
|
disconnect( ui.groupList, SIGNAL( currentIndexChanged( QString const & ) ),
|
||||||
|
this, SLOT( currentGroupChanged( QString const & ) ) );
|
||||||
|
int n = ui.groupList->currentIndex();
|
||||||
|
ui.groupList->clear();
|
||||||
|
ui.groupList->setFont( font );
|
||||||
|
ui.groupList->fill( groups );
|
||||||
|
ui.groupList->setCurrentIndex( n );
|
||||||
|
connect( ui.groupList, SIGNAL( currentIndexChanged( QString const & ) ),
|
||||||
|
this, SLOT( currentGroupChanged( QString const & ) ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
ui.outerFrame->layout()->activate();
|
||||||
}
|
}
|
||||||
|
|
||||||
Qt::WindowFlags ScanPopup::unpinnedWindowFlags() const
|
Qt::WindowFlags ScanPopup::unpinnedWindowFlags() const
|
||||||
|
|
|
@ -139,7 +139,7 @@ private:
|
||||||
DictionaryBar dictionaryBar;
|
DictionaryBar dictionaryBar;
|
||||||
MainStatusBar * mainStatusBar;
|
MainStatusBar * mainStatusBar;
|
||||||
/// Fonts saved before words zooming is in effect, so it could be reset back.
|
/// Fonts saved before words zooming is in effect, so it could be reset back.
|
||||||
QFont wordListDefaultFont, translateLineDefaultFont;
|
QFont wordListDefaultFont, translateLineDefaultFont, groupListDefaultFont;
|
||||||
|
|
||||||
#ifdef HAVE_X11
|
#ifdef HAVE_X11
|
||||||
ScanFlag * scanFlag;
|
ScanFlag * scanFlag;
|
||||||
|
|
Loading…
Reference in a new issue