wrote viewmodel model for project browsing
This commit is contained in:
@@ -25,15 +25,31 @@
|
||||
|
||||
#include "widget/menu/menu.h"
|
||||
|
||||
/**
|
||||
* @brief The MainMenu class
|
||||
*
|
||||
* Olive's menubar attached to its main window. Responsible for creating the menu, connecting signals/slots, and
|
||||
* retranslating the items on a language change.
|
||||
*/
|
||||
class MainMenu : public QMenuBar
|
||||
{
|
||||
public:
|
||||
MainMenu(QWidget* parent);
|
||||
|
||||
protected:
|
||||
/**
|
||||
* @brief changeEvent
|
||||
*
|
||||
* Qt changeEvent override to catch a QEvent::LanguageEvent.
|
||||
*
|
||||
* @param e
|
||||
*/
|
||||
virtual void changeEvent(QEvent* e);
|
||||
|
||||
private:
|
||||
/**
|
||||
* @brief Set strings based on the current application language.
|
||||
*/
|
||||
void Retranslate();
|
||||
|
||||
Menu* file_menu_;
|
||||
|
||||
@@ -43,16 +43,24 @@ olive::MainWindow::MainWindow(QWidget *parent) :
|
||||
// Allow panels to be tabbed within each other
|
||||
setDockNestingEnabled(true);
|
||||
|
||||
// TODO Use settings data to create panels and restore state if they exist
|
||||
ProjectPanel* viewer_panel = new ProjectPanel(this);
|
||||
addDockWidget(Qt::TopDockWidgetArea, viewer_panel);
|
||||
ViewerPanel* viewer_panel2 = new ViewerPanel(this);
|
||||
addDockWidget(Qt::TopDockWidgetArea, viewer_panel2);
|
||||
ViewerPanel* viewer_panel4 = new ViewerPanel(this);
|
||||
addDockWidget(Qt::TopDockWidgetArea, viewer_panel4);
|
||||
TimelinePanel* viewer_panel3 = new TimelinePanel(this);
|
||||
addDockWidget(Qt::BottomDockWidgetArea, viewer_panel3);
|
||||
|
||||
// Create and set main menu
|
||||
MainMenu* main_menu = new MainMenu(this);
|
||||
setMenuBar(main_menu);
|
||||
}
|
||||
|
||||
void olive::MainWindow::ProjectOpen(Project* p)
|
||||
{
|
||||
// TODO Use settings data to create panels and restore state if they exist
|
||||
ProjectPanel* project_panel = new ProjectPanel(this);
|
||||
project_panel->set_project(p);
|
||||
addDockWidget(Qt::TopDockWidgetArea, project_panel);
|
||||
|
||||
ViewerPanel* viewer_panel1 = new ViewerPanel(this);
|
||||
addDockWidget(Qt::TopDockWidgetArea, viewer_panel1);
|
||||
|
||||
ViewerPanel* viewer_panel2 = new ViewerPanel(this);
|
||||
addDockWidget(Qt::TopDockWidgetArea, viewer_panel2);
|
||||
|
||||
TimelinePanel* timeline_panel = new TimelinePanel(this);
|
||||
addDockWidget(Qt::BottomDockWidgetArea, timeline_panel);
|
||||
}
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
|
||||
#include <QMainWindow>
|
||||
|
||||
#include "project/project.h"
|
||||
|
||||
namespace olive {
|
||||
|
||||
/**
|
||||
@@ -34,7 +36,13 @@ class MainWindow : public QMainWindow {
|
||||
Q_OBJECT
|
||||
public:
|
||||
MainWindow(QWidget* parent = nullptr);
|
||||
|
||||
public slots:
|
||||
void ProjectOpen(Project *p);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user