reimplemented panel state restoration

This commit is contained in:
itsmattkc
2018-12-27 11:51:35 +11:00
parent 1ee9451343
commit 8a6242e36f
7 changed files with 65 additions and 26 deletions
+21 -21
View File
@@ -60,31 +60,26 @@ void MainWindow::setup_layout(bool reset) {
panel_timeline->show();
panel_graph_editor->hide();
bool load_default = true;
/*if (!reset) {
QFile panel_config(get_data_path() + "/layout");
if (panel_config.exists() && panel_config.open(QFile::ReadOnly)) {
if (restoreState(panel_config.readAll(), 0)) {
load_default = false;
}
panel_config.close();
}
}*/
if (load_default) {
addDockWidget(Qt::TopDockWidgetArea, panel_project);
addDockWidget(Qt::TopDockWidgetArea, panel_footage_viewer);
tabifyDockWidget(panel_footage_viewer, panel_effect_controls);
panel_footage_viewer->raise();
addDockWidget(Qt::TopDockWidgetArea, panel_sequence_viewer);
addDockWidget(Qt::BottomDockWidgetArea, panel_timeline);
panel_graph_editor->setFloating(true);
addDockWidget(Qt::TopDockWidgetArea, panel_project);
addDockWidget(Qt::TopDockWidgetArea, panel_footage_viewer);
tabifyDockWidget(panel_footage_viewer, panel_effect_controls);
panel_footage_viewer->raise();
addDockWidget(Qt::TopDockWidgetArea, panel_sequence_viewer);
addDockWidget(Qt::BottomDockWidgetArea, panel_timeline);
panel_graph_editor->setFloating(true);
// workaround for strange Qt dock bug (see https://bugreports.qt.io/browse/QTBUG-65592)
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
resizeDocks({panel_project}, {40}, Qt::Horizontal);
resizeDocks({panel_project}, {40}, Qt::Horizontal);
#endif
// load panels from file
if (!reset) {
QFile panel_config(get_data_path() + "/layout");
if (panel_config.exists() && panel_config.open(QFile::ReadOnly)) {
restoreState(panel_config.readAll(), 0);
panel_config.close();
}
}
layout()->update();
@@ -662,6 +657,7 @@ void MainWindow::windowMenu_About_To_Be_Shown() {
ui->actionTimeline->setChecked(panel_timeline->isVisible());
ui->actionViewer->setChecked(panel_sequence_viewer->isVisible());
ui->actionFootage_Viewer->setChecked(panel_footage_viewer->isVisible());
ui->actionGraph_Editor->setChecked(panel_graph_editor->isVisible());
}
void MainWindow::viewMenu_About_To_Be_Shown() {
@@ -1064,3 +1060,7 @@ void MainWindow::on_actionHand_Tool_triggered() {
|| panel_sequence_viewer->is_focused())
panel_timeline->ui->toolHandButton->click();
}
void MainWindow::on_actionGraph_Editor_triggered() {
panel_graph_editor->setVisible(!panel_graph_editor->isVisible());
}