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() void VMainWindow::restoreStateAndGeometry()
{ {
m_toolDock->setVisible(g_config->getToolsDockChecked());
m_searchDock->setVisible(g_config->getSearchDockChecked());
const QByteArray geometry = g_config->getMainWindowGeometry(); const QByteArray geometry = g_config->getMainWindowGeometry();
if (!geometry.isEmpty()) { if (!geometry.isEmpty()) {
restoreGeometry(geometry); restoreGeometry(geometry);
@ -2320,9 +2323,6 @@ void VMainWindow::restoreStateAndGeometry()
restoreState(state); restoreState(state);
} }
m_toolDock->setVisible(g_config->getToolsDockChecked());
m_searchDock->setVisible(g_config->getSearchDockChecked());
const QByteArray splitterState = g_config->getMainSplitterState(); const QByteArray splitterState = g_config->getMainSplitterState();
if (!splitterState.isEmpty()) { if (!splitterState.isEmpty()) {
m_mainSplitter->restoreState(splitterState); m_mainSplitter->restoreState(splitterState);
@ -2334,8 +2334,6 @@ void VMainWindow::restoreStateAndGeometry()
} }
m_naviBox->setCurrentIndex(g_config->getNaviBoxCurrentIndex()); m_naviBox->setCurrentIndex(g_config->getNaviBoxCurrentIndex());
centralWidget()->updateGeometry();
} }
void VMainWindow::handleCurrentDirectoryChanged(const VDirectory *p_dir) void VMainWindow::handleCurrentDirectoryChanged(const VDirectory *p_dir)
@ -2867,7 +2865,6 @@ bool VMainWindow::toggleToolsDockByCaptain(void *p_target, void *p_data)
Q_UNUSED(p_data); Q_UNUSED(p_data);
VMainWindow *obj = static_cast<VMainWindow *>(p_target); VMainWindow *obj = static_cast<VMainWindow *>(p_target);
obj->m_toolDock->setVisible(!obj->m_toolDock->isVisible()); obj->m_toolDock->setVisible(!obj->m_toolDock->isVisible());
obj->centralWidget()->updateGeometry();
return true; return true;
} }
@ -2877,7 +2874,6 @@ bool VMainWindow::toggleSearchDockByCaptain(void *p_target, void *p_data)
VMainWindow *obj = static_cast<VMainWindow *>(p_target); VMainWindow *obj = static_cast<VMainWindow *>(p_target);
bool visible = obj->m_searchDock->isVisible(); bool visible = obj->m_searchDock->isVisible();
obj->m_searchDock->setVisible(!visible); obj->m_searchDock->setVisible(!visible);
obj->centralWidget()->updateGeometry();
if (!visible) { if (!visible) {
obj->m_searcher->focusToSearch(); obj->m_searcher->focusToSearch();
return false; 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); changeEndBlock = doc->findBlock(p_from + charsChanged);
} }
/*
qDebug() << "documentChanged" << p_from << p_charsRemoved << p_charsAdded qDebug() << "documentChanged" << p_from << p_charsRemoved << p_charsAdded
<< m_blockCount << newBlockCount << m_blockCount << newBlockCount
<< changeStartBlock.blockNumber() << changeEndBlock.blockNumber(); << changeStartBlock.blockNumber() << changeEndBlock.blockNumber();
*/
bool needRelayout = true; bool needRelayout = true;
if (changeStartBlock == changeEndBlock if (changeStartBlock == changeEndBlock