set up sizing defaults

This commit is contained in:
itsmattkc
2019-12-28 02:09:23 +11:00
parent d82acf9b7e
commit f96abc2d82
7 changed files with 72 additions and 45 deletions
+1
View File
@@ -28,6 +28,7 @@
#include "core.h"
#include "common/filefunctions.h"
#include "window/mainwindow/mainwindow.h"
Config Config::current_config_;
+1
View File
@@ -49,6 +49,7 @@
#include "undo/undostack.h"
#include "widget/menu/menushared.h"
#include "widget/taskview/taskviewitem.h"
#include "window/mainwindow/mainwindow.h"
Core Core::instance_;
+2 -1
View File
@@ -27,11 +27,12 @@
#include "common/rational.h"
#include "project/project.h"
#include "project/projectviewmodel.h"
#include "window/mainwindow/mainwindow.h"
#include "task/task.h"
#include "tool/tool.h"
#include "undo/undostack.h"
class MainWindow;
/**
* @brief The main central Olive application instance
*
@@ -81,6 +81,9 @@ NodeParamView::NodeParamView(QWidget *parent) :
splitter->addWidget(keyframe_area);
// Set both widgets to 50/50
splitter->setSizes({INT_MAX, INT_MAX});
// Disable collapsing param view (but collapsing keyframe view is permitted)
splitter->setCollapsible(0, false);
@@ -18,6 +18,8 @@ TimelineAndTrackView::TimelineAndTrackView(const TrackType &type, Qt::Alignment
view_ = new TimelineView(type, vertical_alignment);
splitter_->addWidget(view_);
splitter_->setSizes({1, width()});
}
QSplitter *TimelineAndTrackView::splitter() const
+39 -44
View File
@@ -24,19 +24,6 @@
#include <QDebug>
#include <QDesktopWidget>
// Panel objects
#include "panel/panelmanager.h"
#include "panel/audiomonitor/audiomonitor.h"
#include "panel/curve/curve.h"
#include "panel/node/node.h"
#include "panel/param/param.h"
#include "panel/project/project.h"
#include "panel/taskmanager/taskmanager.h"
#include "panel/timeline/timeline.h"
#include "panel/tool/tool.h"
#include "panel/viewer/viewer.h"
// Main menu bar
#include "mainmenu.h"
MainWindow::MainWindow(QWidget *parent) :
@@ -63,6 +50,28 @@ MainWindow::MainWindow(QWidget *parent) :
// Create and set main menu
MainMenu* main_menu = new MainMenu(this);
setMenuBar(main_menu);
// Create standard panels
node_panel_ = PanelManager::instance()->CreatePanel<NodePanel>(this);
addDockWidget(Qt::TopDockWidgetArea, node_panel_);
param_panel_ = PanelManager::instance()->CreatePanel<ParamPanel>(this);
addDockWidget(Qt::TopDockWidgetArea, param_panel_);
viewer_panel_ = PanelManager::instance()->CreatePanel<ViewerPanel>(this);
addDockWidget(Qt::TopDockWidgetArea, viewer_panel_);
project_panel_ = PanelManager::instance()->CreatePanel<ProjectPanel>(this);
addDockWidget(Qt::BottomDockWidgetArea, project_panel_);
tool_panel_ = PanelManager::instance()->CreatePanel<ToolPanel>(this);
addDockWidget(Qt::BottomDockWidgetArea, tool_panel_);
timeline_panel_ = PanelManager::instance()->CreatePanel<TimelinePanel>(this);
addDockWidget(Qt::BottomDockWidgetArea, timeline_panel_);
audio_monitor_panel_ = PanelManager::instance()->CreatePanel<AudioMonitorPanel>(this);
addDockWidget(Qt::BottomDockWidgetArea, audio_monitor_panel_);
task_man_panel_ = PanelManager::instance()->CreatePanel<TaskManagerPanel>(this);
addDockWidget(Qt::BottomDockWidgetArea, task_man_panel_);
curve_panel_ = PanelManager::instance()->CreatePanel<CurvePanel>(this);
addDockWidget(Qt::BottomDockWidgetArea, curve_panel_);
connect(node_panel_, SIGNAL(SelectionChanged(QList<Node*>)), param_panel_, SLOT(SetNodes(QList<Node*>)));
}
void MainWindow::SetFullscreen(bool fullscreen)
@@ -111,38 +120,9 @@ void MainWindow::ToggleMaximizedPanel()
void MainWindow::ProjectOpen(Project* p)
{
// FIXME Use settings data to create panels and restore state if they exist
NodePanel* node_panel = PanelManager::instance()->CreatePanel<NodePanel>(this);
addDockWidget(Qt::TopDockWidgetArea, node_panel);
project_panel_->set_project(p);
ParamPanel* param_panel = PanelManager::instance()->CreatePanel<ParamPanel>(this);
addDockWidget(Qt::TopDockWidgetArea, param_panel);
ViewerPanel* viewer_panel2 = PanelManager::instance()->CreatePanel<ViewerPanel>(this);
addDockWidget(Qt::TopDockWidgetArea, viewer_panel2);
ProjectPanel* project_panel = PanelManager::instance()->CreatePanel<ProjectPanel>(this);
project_panel->set_project(p);
addDockWidget(Qt::BottomDockWidgetArea, project_panel);
ToolPanel* tool_panel = PanelManager::instance()->CreatePanel<ToolPanel>(this);
addDockWidget(Qt::BottomDockWidgetArea, tool_panel);
TimelinePanel* timeline_panel = PanelManager::instance()->CreatePanel<TimelinePanel>(this);
addDockWidget(Qt::BottomDockWidgetArea, timeline_panel);
AudioMonitorPanel* audio_monitor_panel = PanelManager::instance()->CreatePanel<AudioMonitorPanel>(this);
addDockWidget(Qt::BottomDockWidgetArea, audio_monitor_panel);
TaskManagerPanel* task_man_panel = PanelManager::instance()->CreatePanel<TaskManagerPanel>(this);
addDockWidget(Qt::BottomDockWidgetArea, task_man_panel);
task_man_panel->setFloating(true);
task_man_panel->setVisible(false);
CurvePanel* curve_panel = PanelManager::instance()->CreatePanel<CurvePanel>(this);
addDockWidget(Qt::BottomDockWidgetArea, curve_panel);
task_man_panel->setFloating(true);
connect(node_panel, SIGNAL(SelectionChanged(QList<Node*>)), param_panel, SLOT(SetNodes(QList<Node*>)));
SetDefaultLayout();
}
// FIXME: Test code
@@ -162,3 +142,18 @@ void MainWindow::closeEvent(QCloseEvent *e)
QMainWindow::closeEvent(e);
}
void MainWindow::SetDefaultLayout()
{
task_man_panel_->setFloating(true);
task_man_panel_->setVisible(false);
curve_panel_->setFloating(true);
resizeDocks({node_panel_, param_panel_, viewer_panel_},
{width()/3, width()/3, width()/3},
Qt::Horizontal);
resizeDocks({project_panel_, tool_panel_, timeline_panel_, audio_monitor_panel_},
{width()/4, 0, width(), 0},
Qt::Horizontal);
}
+24
View File
@@ -23,6 +23,16 @@
#include <QMainWindow>
#include "panel/panelmanager.h"
#include "panel/audiomonitor/audiomonitor.h"
#include "panel/curve/curve.h"
#include "panel/node/node.h"
#include "panel/param/param.h"
#include "panel/project/project.h"
#include "panel/taskmanager/taskmanager.h"
#include "panel/timeline/timeline.h"
#include "panel/tool/tool.h"
#include "panel/viewer/viewer.h"
#include "project/project.h"
/**
@@ -44,6 +54,20 @@ protected:
private:
QByteArray premaximized_state_;
// Standard panels
NodePanel* node_panel_;
ParamPanel* param_panel_;
ViewerPanel* viewer_panel_;
ProjectPanel* project_panel_;
ToolPanel* tool_panel_;
TimelinePanel* timeline_panel_;
AudioMonitorPanel* audio_monitor_panel_;
TaskManagerPanel* task_man_panel_;
CurvePanel* curve_panel_;
private slots:
void SetDefaultLayout();
};
#endif