recreating menu structure

This commit is contained in:
itsmattkc
2019-06-18 00:24:08 -07:00
parent a468b3727d
commit 25564fdb6b
13 changed files with 330 additions and 9 deletions
+2
View File
@@ -16,6 +16,8 @@
set(OLIVE_SOURCES
${OLIVE_SOURCES}
window/mainwindow/mainmenu.h
window/mainwindow/mainmenu.cpp
window/mainwindow/mainwindow.h
window/mainwindow/mainwindow.cpp
PARENT_SCOPE
+90 -2
View File
@@ -1,6 +1,94 @@
#include "mainmenu.h"
MainMenu::MainMenu()
{
#include <QEvent>
#include "widget/menu/menushared.h"
MainMenu::MainMenu(QWidget *parent) :
QMenuBar(parent)
{
//
// FILE MENU
//
file_menu_ = new Menu(this);
file_new_menu_ = new Menu(file_menu_);
olive::menu_shared.AddItemsForNewMenu(file_new_menu_);
file_open_item_ = file_menu_->AddItem("openproj", nullptr, nullptr, "Ctrl+O");
file_open_recent_menu_ = new Menu(file_menu_);
file_open_recent_clear_item_ = file_open_recent_menu_->AddItem("clearopenrecent", nullptr, nullptr);
file_save_item_ = file_menu_->AddItem("saveproj", nullptr, nullptr, "Ctrl+S");
file_save_as_item_ = file_menu_->AddItem("saveprojas", nullptr, nullptr, "Ctrl+Shift+S");
file_menu_->addSeparator();
file_import_item_ = file_menu_->AddItem("import", nullptr, nullptr, "Ctrl+I");
file_menu_->addSeparator();
file_export_item_ = file_menu_->AddItem("export", nullptr, nullptr, "Ctrl+M");
file_menu_->addSeparator();
file_exit_item_ = file_menu_->AddItem("exit", nullptr, nullptr);
//
// EDIT MENU
//
edit_menu_ = new Menu(this);
edit_undo_item_ = edit_menu_->AddItem("undo", nullptr, nullptr, "Ctrl+Z");
edit_redo_item_ = edit_menu_->AddItem("redo", nullptr, nullptr, "Ctrl+Shift+Z");
//
// VIEW MENU
//
view_menu_ = new Menu(this);
//
// PLAYBACK MENU
//
playback_menu_ = new Menu(this);
//
// WINDOW MENU
//
window_menu_ = new Menu(this);
//
// HELP MENU
//
tools_menu_ = new Menu(this);
//
// FILE MENU
//
help_menu_ = new Menu(this);
Retranslate();
}
void MainMenu::changeEvent(QEvent *e)
{
if (e->type() == QEvent::LanguageChange) {
Retranslate();
}
QMenuBar::changeEvent(e);
}
void MainMenu::Retranslate()
{
file_menu_->setTitle(tr("&File"));
file_new_menu_->setTitle(tr("&New"));
file_open_item_->setText(tr("&Open Project"));
file_open_recent_menu_->setTitle(tr("Open Recent"));
file_open_recent_clear_item_->setText(tr("Clear Recent List"));
file_save_item_->setText(tr("&Save Project"));
file_save_as_item_->setText(tr("Save Project &As"));
file_import_item_->setText(tr("&Import..."));
file_export_item_->setText(tr("&Export..."));
file_exit_item_->setText(tr("E&xit"));
edit_menu_->setTitle(tr("&Edit"));
edit_undo_item_->setText(tr("&Undo"));
edit_redo_item_->setText(tr("Redo"));
edit_menu_->addSeparator();
view_menu_->setTitle(tr("&View"));
playback_menu_->setTitle(tr("&Playback"));
window_menu_->setTitle("&Window");
tools_menu_->setTitle(tr("&Tools"));
help_menu_->setTitle(tr("&Help"));
}
+32 -2
View File
@@ -1,11 +1,41 @@
#ifndef MAINMENU_H
#define MAINMENU_H
#include <QMenuBar>
class MainMenu
#include "widget/menu/menu.h"
class MainMenu : public QMenuBar
{
public:
MainMenu();
MainMenu(QWidget* parent);
protected:
virtual void changeEvent(QEvent* e);
private:
void Retranslate();
Menu* file_menu_;
Menu* file_new_menu_;
QAction* file_open_item_;
Menu* file_open_recent_menu_;
QAction* file_open_recent_clear_item_;
QAction* file_save_item_;
QAction* file_save_as_item_;
QAction* file_import_item_;
QAction* file_export_item_;
QAction* file_exit_item_;
Menu* edit_menu_;
QAction* edit_undo_item_;
QAction* edit_redo_item_;
Menu* view_menu_;
Menu* playback_menu_;
Menu* window_menu_;
Menu* tools_menu_;
Menu* help_menu_;
};
#endif // MAINMENU_H
+6
View File
@@ -5,6 +5,9 @@
#include "panel/viewer/viewer.h"
#include "panel/timeline/timeline.h"
// Main menu bar
#include "mainmenu.h"
olive::MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
@@ -29,4 +32,7 @@ olive::MainWindow::MainWindow(QWidget *parent) :
addDockWidget(Qt::TopDockWidgetArea, viewer_panel4);
TimelinePanel* viewer_panel3 = new TimelinePanel(this);
addDockWidget(Qt::BottomDockWidgetArea, viewer_panel3);
MainMenu* main_menu = new MainMenu(this);
setMenuBar(main_menu);
}