auto-disable graphs if their relative fields are disabled

This commit is contained in:
itsmattkc
2019-01-18 20:55:23 +11:00
parent efbf3fa761
commit 7e602284a2
4 changed files with 15 additions and 8 deletions
+7 -7
View File
@@ -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() {
+4
View File
@@ -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);
}
+1
View File
@@ -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
View File
@@ -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 {