auto-disable graphs if their relative fields are disabled
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
GraphEditor::GraphEditor(QWidget* parent) : QDockWidget(parent), row(nullptr) {
|
||||
setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||
|
||||
setWindowTitle(tr("Graph Editor"));
|
||||
setWindowTitle(tr("Graph Editor"));
|
||||
resize(720, 480);
|
||||
|
||||
QWidget* main_widget = new QWidget();
|
||||
@@ -58,13 +58,13 @@ GraphEditor::GraphEditor(QWidget* parent) : QDockWidget(parent), row(nullptr) {
|
||||
left_tool_layout->addWidget(keyframe_nav);
|
||||
left_tool_layout->addStretch();
|
||||
|
||||
linear_button = new QPushButton(tr("Linear"));
|
||||
linear_button = new QPushButton(tr("Linear"));
|
||||
linear_button->setProperty("type", KEYFRAME_TYPE_LINEAR);
|
||||
linear_button->setCheckable(true);
|
||||
bezier_button = new QPushButton(tr("Bezier"));
|
||||
bezier_button = new QPushButton(tr("Bezier"));
|
||||
bezier_button->setProperty("type", KEYFRAME_TYPE_BEZIER);
|
||||
bezier_button->setCheckable(true);
|
||||
hold_button = new QPushButton(tr("Hold"));
|
||||
hold_button = new QPushButton(tr("Hold"));
|
||||
hold_button->setProperty("type", KEYFRAME_TYPE_HOLD);
|
||||
hold_button->setCheckable(true);
|
||||
|
||||
@@ -160,7 +160,7 @@ void GraphEditor::set_row(EffectRow *r) {
|
||||
if (field->type == EFFECT_FIELD_DOUBLE) {
|
||||
QPushButton* slider_button = new QPushButton();
|
||||
slider_button->setCheckable(true);
|
||||
slider_button->setChecked(true);
|
||||
slider_button->setChecked(field->is_enabled());
|
||||
slider_button->setIcon(QIcon(":/icons/record.png"));
|
||||
slider_button->setProperty("field", i);
|
||||
slider_button->setIconSize(QSize(8, 8));
|
||||
@@ -199,11 +199,11 @@ void GraphEditor::set_row(EffectRow *r) {
|
||||
}
|
||||
|
||||
bool GraphEditor::view_is_focused() {
|
||||
return view->hasFocus() || header->hasFocus();
|
||||
return view->hasFocus() || header->hasFocus();
|
||||
}
|
||||
|
||||
bool GraphEditor::view_is_under_mouse() {
|
||||
return view->underMouse() || header->underMouse();
|
||||
return view->underMouse() || header->underMouse();
|
||||
}
|
||||
|
||||
void GraphEditor::delete_selected_keys() {
|
||||
|
||||
@@ -298,6 +298,10 @@ QWidget* EffectField::get_ui_element() {
|
||||
return ui_element;
|
||||
}
|
||||
|
||||
bool EffectField::is_enabled() {
|
||||
return ui_element->isEnabled();
|
||||
}
|
||||
|
||||
void EffectField::set_enabled(bool e) {
|
||||
ui_element->setEnabled(e);
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ public:
|
||||
void set_filename(const QString& s);
|
||||
|
||||
QWidget* get_ui_element();
|
||||
bool is_enabled();
|
||||
void set_enabled(bool e);
|
||||
QVector<EffectKeyframe> keyframes;
|
||||
QWidget* ui_element;
|
||||
|
||||
+3
-1
@@ -745,7 +745,9 @@ void GraphView::set_row(EffectRow *r) {
|
||||
row = r;
|
||||
if (row != nullptr) {
|
||||
field_visibility.resize(row->fieldCount());
|
||||
field_visibility.fill(true);
|
||||
for (int i=0;i<row->fieldCount();i++) {
|
||||
field_visibility[i] = row->field(i)->is_enabled();
|
||||
}
|
||||
visible_in = row->parent_effect->parent_clip->timeline_in;
|
||||
set_view_to_all();
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user