MainWindow: fix layout restore

This commit is contained in:
Le Tan 2018-12-06 19:28:18 +08:00
parent c7f35b4ffa
commit ae6849adec
2 changed files with 5 additions and 7 deletions

View File

@ -2310,6 +2310,9 @@ void VMainWindow::saveStateAndGeometry()
void VMainWindow::restoreStateAndGeometry()
{
m_toolDock->setVisible(g_config->getToolsDockChecked());
m_searchDock->setVisible(g_config->getSearchDockChecked());
const QByteArray geometry = g_config->getMainWindowGeometry();
if (!geometry.isEmpty()) {
restoreGeometry(geometry);
@ -2320,9 +2323,6 @@ void VMainWindow::restoreStateAndGeometry()
restoreState(state);
}
m_toolDock->setVisible(g_config->getToolsDockChecked());
m_searchDock->setVisible(g_config->getSearchDockChecked());
const QByteArray splitterState = g_config->getMainSplitterState();
if (!splitterState.isEmpty()) {
m_mainSplitter->restoreState(splitterState);
@ -2334,8 +2334,6 @@ void VMainWindow::restoreStateAndGeometry()
}
m_naviBox->setCurrentIndex(g_config->getNaviBoxCurrentIndex());
centralWidget()->updateGeometry();
}
void VMainWindow::handleCurrentDirectoryChanged(const VDirectory *p_dir)
@ -2867,7 +2865,6 @@ bool VMainWindow::toggleToolsDockByCaptain(void *p_target, void *p_data)
Q_UNUSED(p_data);
VMainWindow *obj = static_cast<VMainWindow *>(p_target);
obj->m_toolDock->setVisible(!obj->m_toolDock->isVisible());
obj->centralWidget()->updateGeometry();
return true;
}
@ -2877,7 +2874,6 @@ bool VMainWindow::toggleSearchDockByCaptain(void *p_target, void *p_data)
VMainWindow *obj = static_cast<VMainWindow *>(p_target);
bool visible = obj->m_searchDock->isVisible();
obj->m_searchDock->setVisible(!visible);
obj->centralWidget()->updateGeometry();
if (!visible) {
obj->m_searcher->focusToSearch();
return false;

View File

@ -450,9 +450,11 @@ void VTextDocumentLayout::documentChanged(int p_from, int p_charsRemoved, int p_
changeEndBlock = doc->findBlock(p_from + charsChanged);
}
/*
qDebug() << "documentChanged" << p_from << p_charsRemoved << p_charsAdded
<< m_blockCount << newBlockCount
<< changeStartBlock.blockNumber() << changeEndBlock.blockNumber();
*/
bool needRelayout = true;
if (changeStartBlock == changeEndBlock