revised UI color system when showing nodes

Olive now has a set of colors that categories can be "assigned" to. The timeline also shares the same colors as the NodeView. Colors can be configured per node (aka per clip).
This commit is contained in:
itsmattkc
2021-01-15 18:44:34 +11:00
parent 91740dd823
commit b4dd976e90
22 changed files with 443 additions and 72 deletions
+2 -2
View File
@@ -16,9 +16,9 @@
set(OLIVE_SOURCES
${OLIVE_SOURCES}
widget/menu/menu.h
widget/menu/menu.cpp
widget/menu/menushared.h
widget/menu/menu.h
widget/menu/menushared.cpp
widget/menu/menushared.h
PARENT_SCOPE
)
+19
View File
@@ -86,9 +86,18 @@ MenuShared::MenuShared()
view_timecode_view_milliseconds_item_->setCheckable(true);
frame_view_mode_group_->addAction(view_timecode_view_milliseconds_item_);
// Color coding menu items
color_coding_menu_ = new ColorLabelMenu();
connect(color_coding_menu_, &ColorLabelMenu::ColorSelected, this, &MenuShared::ColorLabelTriggered);
Retranslate();
}
MenuShared::~MenuShared()
{
delete color_coding_menu_;
}
void MenuShared::CreateInstance()
{
instance_ = new MenuShared();
@@ -137,6 +146,11 @@ void MenuShared::AddItemsForInOutMenu(Menu *m)
m->addAction(inout_clear_inout_item_);
}
void MenuShared::AddColorCodingMenu(Menu *m)
{
m->addMenu(color_coding_menu_);
}
void MenuShared::AddItemsForClipEditMenu(Menu *m)
{
m->addAction(clip_add_default_transition_item_);
@@ -271,6 +285,11 @@ void MenuShared::TimecodeDisplayTriggered()
Core::instance()->SetTimecodeDisplay(display);
}
void MenuShared::ColorLabelTriggered(int color_index)
{
PanelManager::instance()->CurrentlyFocused()->SetColorLabel(color_index);
}
void MenuShared::Retranslate()
{
// "New" menu shared items
+8
View File
@@ -21,6 +21,7 @@
#ifndef MENUSHARED_H
#define MENUSHARED_H
#include "widget/colorlabelmenu/colorlabelmenu.h"
#include "widget/menu/menu.h"
namespace olive {
@@ -32,6 +33,7 @@ class MenuShared : public QObject {
Q_OBJECT
public:
MenuShared();
virtual ~MenuShared() override;
static void CreateInstance();
static void DestroyInstance();
@@ -41,6 +43,7 @@ public:
void AddItemsForNewMenu(Menu* m);
void AddItemsForEditMenu(Menu* m, bool for_clips);
void AddItemsForInOutMenu(Menu* m);
void AddColorCodingMenu(Menu* m);
void AddItemsForClipEditMenu(Menu* m);
void AddItemsForTimeRulerMenu(Menu* m);
@@ -85,6 +88,9 @@ private:
QAction* view_timecode_view_frames_item_;
QAction* view_timecode_view_milliseconds_item_;
// Color coding menu items
ColorLabelMenu* color_coding_menu_;
static MenuShared* instance_;
private slots:
@@ -130,6 +136,8 @@ private slots:
*/
void TimecodeDisplayTriggered();
void ColorLabelTriggered(int color_index);
};
}