mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-27 11:52:25 +00:00
* GuiWorkArea::addWorkArea(): avoid multiple unneeded drawing.
* GuiWorkArea::on_currentTabChanged(): make sure the bufferView has the correct size. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25271 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
90837aaf6e
commit
68fbb326af
@ -1312,6 +1312,7 @@ bool TabWorkArea::setCurrentWorkArea(GuiWorkArea * work_area)
|
|||||||
|
|
||||||
GuiWorkArea * TabWorkArea::addWorkArea(Buffer & buffer, GuiView & view)
|
GuiWorkArea * TabWorkArea::addWorkArea(Buffer & buffer, GuiView & view)
|
||||||
{
|
{
|
||||||
|
blockSignals(true);
|
||||||
GuiWorkArea * wa = new GuiWorkArea(buffer, view);
|
GuiWorkArea * wa = new GuiWorkArea(buffer, view);
|
||||||
wa->setUpdatesEnabled(false);
|
wa->setUpdatesEnabled(false);
|
||||||
// Hide tabbar if there's no tab (avoid a resize and a flashing tabbar
|
// Hide tabbar if there's no tab (avoid a resize and a flashing tabbar
|
||||||
@ -1328,7 +1329,7 @@ GuiWorkArea * TabWorkArea::addWorkArea(Buffer & buffer, GuiView & view)
|
|||||||
showBar(count() > 1);
|
showBar(count() > 1);
|
||||||
|
|
||||||
updateTabTexts();
|
updateTabTexts();
|
||||||
|
blockSignals(false);
|
||||||
return wa;
|
return wa;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1371,7 +1372,11 @@ void TabWorkArea::on_currentTabChanged(int i)
|
|||||||
LASSERT(wa, return);
|
LASSERT(wa, return);
|
||||||
BufferView & bv = wa->bufferView();
|
BufferView & bv = wa->bufferView();
|
||||||
bv.cursor().fixIfBroken();
|
bv.cursor().fixIfBroken();
|
||||||
bv.updateMetrics();
|
if (bv.workHeight() != wa->viewport()->height()
|
||||||
|
|| bv.workWidth() != wa->viewport()->width())
|
||||||
|
wa->resizeBufferView();
|
||||||
|
else
|
||||||
|
bv.updateMetrics();
|
||||||
wa->setUpdatesEnabled(true);
|
wa->setUpdatesEnabled(true);
|
||||||
wa->redraw();
|
wa->redraw();
|
||||||
wa->setFocus();
|
wa->setFocus();
|
||||||
|
Loading…
Reference in New Issue
Block a user