finished main menu reimplementation

This commit is contained in:
itsmattkc
2019-06-18 08:47:18 -07:00
parent 25564fdb6b
commit 1fec3fb282
11 changed files with 640 additions and 15 deletions
+8
View File
@@ -57,6 +57,14 @@ QAction *Menu::CreateItem(QObject* parent,
return a;
}
void Menu::SetBooleanAction(QAction *a, bool* boolean)
{
// FIXME: Connect to some boolean function
a->setCheckable(true);
a->setChecked(*boolean);
a->setProperty("boolptr", reinterpret_cast<quintptr>(boolean));
}
void Menu::SetStyling()
{
//if (olive::config.use_native_menu_styling) {
+2
View File
@@ -21,6 +21,8 @@ public:
const char* member,
const QString& key = QString());
static void SetBooleanAction(QAction* a, bool *boolean);
private:
void SetStyling();
};
+78
View File
@@ -8,10 +8,34 @@ MenuShared::MenuShared()
void MenuShared::Initialize()
{
// "New" menu shared items
new_project_item_ = Menu::CreateItem(this, "newproj", nullptr, nullptr, "Ctrl+N");
new_sequence_item_ = Menu::CreateItem(this, "newseq", nullptr, nullptr, "Ctrl+Shift+N");
new_folder_item_ = Menu::CreateItem(this, "newfolder", nullptr, nullptr);
// "Edit" menu shared items
edit_cut_item_ = Menu::CreateItem(this, "cut", nullptr, nullptr, "Ctrl+X");
edit_copy_item_ = Menu::CreateItem(this, "copy", nullptr, nullptr, "Ctrl+C");
edit_paste_item_ = Menu::CreateItem(this, "paste", nullptr, nullptr, "Ctrl+V");
edit_paste_insert_item_ = Menu::CreateItem(this, "pasteinsert", nullptr, nullptr, "Ctrl+Shift+V");
edit_duplicate_item_ = Menu::CreateItem(this, "duplicate", nullptr, nullptr, "Ctrl+D");
edit_delete_item_ = Menu::CreateItem(this, "delete", nullptr, nullptr, "Del");
edit_ripple_delete_item_ = Menu::CreateItem(this, "rippledelete", nullptr, nullptr, "Shift+Del");
edit_split_item_ = Menu::CreateItem(this, "split", nullptr, nullptr, "Ctrl+K");
// "In/Out" menu shared items
inout_set_in_item_ = Menu::CreateItem(this, "setinpoint", nullptr, nullptr, "I");
inout_set_out_item_ = Menu::CreateItem(this, "setoutpoint", nullptr, nullptr, "O");
inout_reset_in_item_ = Menu::CreateItem(this, "resetin", nullptr, nullptr);
inout_reset_out_item_ = Menu::CreateItem(this, "resetout", nullptr, nullptr);
inout_clear_inout_item_ = Menu::CreateItem(this, "clearinout", nullptr, nullptr, "G");
// "Clip Edit" menu shared items
clip_add_default_transition_item_ = Menu::CreateItem(this, "deftransition", nullptr, nullptr, "Ctrl+Shift+D");
clip_link_unlink_item_ = Menu::CreateItem(this, "linkunlink", nullptr, nullptr, "Ctrl+L");
clip_enable_disable_item_ = Menu::CreateItem(this, "enabledisable", nullptr, nullptr, "Shift+E");
clip_nest_item_ = Menu::CreateItem(this, "nest", nullptr, nullptr);
Retranslate();
}
@@ -23,9 +47,63 @@ void MenuShared::AddItemsForNewMenu(Menu *m)
m->addAction(new_folder_item_);
}
void MenuShared::AddItemsForEditMenu(Menu *m)
{
m->addAction(edit_cut_item_);
m->addAction(edit_copy_item_);
m->addAction(edit_paste_item_);
m->addAction(edit_paste_insert_item_);
m->addAction(edit_duplicate_item_);
m->addAction(edit_delete_item_);
m->addAction(edit_ripple_delete_item_);
m->addAction(edit_split_item_);
}
void MenuShared::AddItemsForInOutMenu(Menu *m)
{
m->addAction(inout_set_in_item_);
m->addAction(inout_set_out_item_);
m->addSeparator();
m->addAction(inout_reset_in_item_);
m->addAction(inout_reset_out_item_);
m->addAction(inout_clear_inout_item_);
}
void MenuShared::AddItemsForClipEditMenu(Menu *m)
{
m->addAction(clip_add_default_transition_item_);
m->addAction(clip_link_unlink_item_);
m->addAction(clip_enable_disable_item_);
m->addAction(clip_nest_item_);
}
void MenuShared::Retranslate()
{
// "New" menu shared items
new_project_item_->setText(tr("&Project"));
new_sequence_item_->setText(tr("&Sequence"));
new_folder_item_->setText(tr("&Folder"));
// "Edit" menu shared items
edit_cut_item_->setText(tr("Cu&t"));
edit_copy_item_->setText(tr("Cop&y"));
edit_paste_item_->setText(tr("&Paste"));
edit_paste_insert_item_->setText(tr("Paste Insert"));
edit_duplicate_item_->setText(tr("Duplicate"));
edit_delete_item_->setText(tr("Delete"));
edit_ripple_delete_item_->setText(tr("Ripple Delete"));
edit_split_item_->setText(tr("Split"));
// "In/Out" menu shared items
inout_set_in_item_->setText(tr("Set In Point"));
inout_set_out_item_->setText(tr("Set Out Point"));
inout_reset_in_item_->setText(tr("Reset In Point"));
inout_reset_out_item_->setText(tr("Reset Out Point"));
inout_clear_inout_item_->setText(tr("Clear In/Out Point"));
// "Clip Edit" menu shared items
clip_add_default_transition_item_->setText(tr("Add Default Transition"));
clip_link_unlink_item_->setText(tr("Link/Unlink"));
clip_enable_disable_item_->setText(tr("Enable/Disable"));
clip_nest_item_->setText(tr("Nest"));
}
+30 -4
View File
@@ -8,15 +8,41 @@ public:
MenuShared();
void Initialize();
void AddItemsForNewMenu(Menu* m);
private:
void Retranslate();
void AddItemsForNewMenu(Menu* m);
void AddItemsForEditMenu(Menu* m);
void AddItemsForInOutMenu(Menu* m);
void AddItemsForClipEditMenu(Menu* m);
private:
// "New" menu shared items
QAction* new_project_item_;
QAction* new_sequence_item_;
QAction* new_folder_item_;
// "Edit" menu shared items
QAction* edit_cut_item_;
QAction* edit_copy_item_;
QAction* edit_paste_item_;
QAction* edit_paste_insert_item_;
QAction* edit_duplicate_item_;
QAction* edit_delete_item_;
QAction* edit_ripple_delete_item_;
QAction* edit_split_item_;
// "In/Out" menu shared items
QAction* inout_set_in_item_;
QAction* inout_set_out_item_;
QAction* inout_reset_in_item_;
QAction* inout_reset_out_item_;
QAction* inout_clear_inout_item_;
// "Clip Edit" menu shared items
QAction* clip_add_default_transition_item_;
QAction* clip_link_unlink_item_;
QAction* clip_enable_disable_item_;
QAction* clip_nest_item_;
};
namespace olive {