buttons enabled by selection

This commit is contained in:
itsmattkc
2019-01-02 09:49:11 +11:00
parent 8d36921b33
commit 88bf0ff2be
4 changed files with 25 additions and 27 deletions
+11 -25
View File
@@ -58,11 +58,11 @@ GraphEditor::GraphEditor(QWidget* parent) : QDockWidget(parent), row(NULL) {
left_tool_layout->addWidget(keyframe_nav);
left_tool_layout->addStretch();
QPushButton* linear_button = new QPushButton("Linear");
linear_button = new QPushButton("Linear");
linear_button->setCheckable(true);
QPushButton* bezier_button = new QPushButton("Bezier");
bezier_button = new QPushButton("Bezier");
bezier_button->setCheckable(true);
QPushButton* hold_button = new QPushButton("Hold");
hold_button = new QPushButton("Hold");
hold_button->setCheckable(true);
center_tool_layout->addStretch();
@@ -70,27 +70,6 @@ GraphEditor::GraphEditor(QWidget* parent) : QDockWidget(parent), row(NULL) {
center_tool_layout->addWidget(bezier_button);
center_tool_layout->addWidget(hold_button);
/*QPushButton* tool_arrow_button = new QPushButton();
tool_arrow_button->setCheckable(true);
tool_arrow_button->setIcon(QIcon(":/icons/arrow.png"));
tool_arrow_button->setProperty("tool", TIMELINE_TOOL_POINTER);
tool_buttons.append(tool_arrow_button);
QPushButton* tool_hand_button = new QPushButton();
tool_hand_button->setCheckable(true);
tool_hand_button->setIcon(QIcon(":/icons/hand.png"));
tool_hand_button->setProperty("tool", TIMELINE_TOOL_HAND);
tool_buttons.append(tool_hand_button);
QPushButton* tool_zoom_button = new QPushButton();
tool_zoom_button->setCheckable(true);
tool_zoom_button->setIcon(QIcon(":/icons/zoomin.png"));
tool_zoom_button->setProperty("tool", TIMELINE_TOOL_ZOOM);
tool_buttons.append(tool_zoom_button);
right_tool_layout->addStretch();
for (int i=0;i<tool_buttons.size();i++) {
right_tool_layout->addWidget(tool_buttons.at(i));
}*/
layout->addWidget(tool_widget);
QWidget* central_widget = new QWidget();
@@ -114,7 +93,7 @@ GraphEditor::GraphEditor(QWidget* parent) : QDockWidget(parent), row(NULL) {
current_row_desc = new QLabel();
values->addWidget(current_row_desc);
1
QWidget* central_value_widget = new QWidget();
value_layout = new QHBoxLayout();
value_layout->setMargin(0);
@@ -126,6 +105,7 @@ GraphEditor::GraphEditor(QWidget* parent) : QDockWidget(parent), row(NULL) {
connect(view, SIGNAL(zoom_changed(double)), header, SLOT(update_zoom(double)));
connect(view, SIGNAL(x_scroll_changed(int)), header, SLOT(set_scroll(int)));
connect(view, SIGNAL(selection_changed(bool)), this, SLOT(set_key_button_enabled(bool)));
}
void GraphEditor::update_panel() {
@@ -195,6 +175,12 @@ void GraphEditor::set_row(EffectRow *r) {
update_panel();
}
void GraphEditor::set_key_button_enabled(bool e) {
linear_button->setEnabled(e);
bezier_button->setEnabled(e);
hold_button->setEnabled(e);
}
void GraphEditor::passthrough_slider_value() {
for (int i=0;i<slider_proxies.size();i++) {
if (slider_proxies.at(i) == sender()) {
+6 -2
View File
@@ -13,9 +13,9 @@ class QLabel;
class KeyframeNavigator;
class GraphEditor : public QDockWidget {
Q_OBJECT
Q_OBJECT
public:
GraphEditor(QWidget* parent = 0);
GraphEditor(QWidget* parent = 0);
void update_panel();
void set_row(EffectRow* r);
private:
@@ -27,7 +27,11 @@ private:
QLabel* current_row_desc;
EffectRow* row;
KeyframeNavigator* keyframe_nav;
QPushButton* linear_button;
QPushButton* bezier_button;
QPushButton* hold_button;
private slots:
void set_key_button_enabled(bool e);
void passthrough_slider_value();
};
+7
View File
@@ -185,6 +185,8 @@ void GraphView::mousePressEvent(QMouseEvent *event) {
}
update();
emit selection_changed(selected_keys.size() > 0);
}
void GraphView::mouseMoveEvent(QMouseEvent *event) {
@@ -261,6 +263,11 @@ void GraphView::wheelEvent(QWheelEvent *event) {
}
void GraphView::set_row(EffectRow *r) {
selected_keys.clear();
selected_keys_fields.clear();
selected_keys_old_vals.clear();
selected_keys_old_doubles.clear();
emit selection_changed(false);
row = r;
update();
}
+1
View File
@@ -24,6 +24,7 @@ signals:
void x_scroll_changed(int);
void y_scroll_changed(int);
void zoom_changed(double);
void selection_changed(bool);
private:
int x_scroll;
int y_scroll;