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:
@@ -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
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user