wrote viewmodel model for project browsing

This commit is contained in:
itsmattkc
2019-06-21 11:51:50 -07:00
parent b6173a2c0d
commit 459ad13eda
19 changed files with 486 additions and 16 deletions
+16
View File
@@ -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_;
+18 -10
View File
@@ -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);
}
+8
View File
@@ -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:
};
}