Reloaded : Add Kf Anim toggle button in curve panel

When key framing an fx parameter, it's a bad user experience to have
to (open and) go to the fx chain panel to active the animation.

I had chosen to duplicate the toogle button to the curve (in place of just move it from
fx chain), because it's relevant to me to have this functionnaly near the fx chain.
(i'm also thinking to change the chain toogle by modifier+click on chain bulbs someday for both
fx activation state and fx kf anim status)
This commit is contained in:
[d.j.a.y] Jerome Blanchi
2016-08-14 17:49:39 +02:00
parent b4f2c5e2dd
commit bd69490560
3 changed files with 60 additions and 10 deletions

View File

@@ -1691,6 +1691,12 @@
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<widget class="GtkButton" id="generators_close">
<property name="visible">True</property>
@@ -4763,6 +4769,21 @@
<widget class="GtkHBox" id="fxanimcontrols">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<widget class="GtkToggleButton" id="curve_panel_toggleentry">
<property name="label" translatable="yes">FX Anim</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip" translatable="yes">Toggle keyframing for this chain entry</property>
<signal name="toggled" handler="curve_panel_toggleentry_toggled" />
</widget>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label686">
<property name="visible">True</property>
@@ -4773,7 +4794,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
<property name="position">1</property>
</packing>
</child>
<child>
@@ -4786,7 +4807,7 @@
<packing>
<property name="expand">True</property>
<property name="fill">False</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
<child>
@@ -4807,7 +4828,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
<property name="position">3</property>
</packing>
</child>
<child>
@@ -4902,7 +4923,7 @@
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="position">4</property>
</packing>
</child>
</widget>
@@ -5582,7 +5603,7 @@
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip" translatable="yes">Clear all sequencer slots</property>
<signal name="clicked" handler="on_button_seq_clearall_clicked" swapped="no"/>
<signal name="clicked" handler="on_button_seq_clearall_clicked" />
<child>
<widget class="GtkHBox" id="hbox48">
<property name="visible">True</property>
@@ -13504,13 +13525,13 @@ YUV (current)</property>
</packing>
</child>
<child>
<widget class="GtkToggleButton" id="curve_toggleentry">
<widget class="GtkToggleButton" id="curve_chain_toggleentry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="has_tooltip">True</property>
<property name="tooltip" translatable="yes">Toggle keyframing for this chain entry</property>
<signal name="toggled" handler="curve_toggleentry_toggled" />
<signal name="toggled" handler="curve_chain_toggleentry_toggled" />
<child>
<widget class="GtkImage" id="image50">
<property name="visible">True</property>
@@ -16271,6 +16292,12 @@ YUV (current)</property>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<widget class="GtkButton" id="inputstream_close">
<property name="visible">True</property>

View File

@@ -2740,7 +2740,7 @@ void curve_toggleentry_toggled( GtkWidget *widget, gpointer user_data)
return;
}
int k = is_button_toggled( "curve_toggleentry" );
int k = is_button_toggled( "curve_chain_toggleentry" );
int type = 0;
if( is_button_toggled("curve_typespline")) {
type = 1;
@@ -2755,6 +2755,29 @@ void curve_toggleentry_toggled( GtkWidget *widget, gpointer user_data)
info->uc.reload_hint[HINT_ENTRY] = 1;
}
void curve_chain_toggleentry_toggled( GtkWidget *widget, gpointer user_data)
{
curve_toggleentry_toggled( widget, user_data);
GtkWidget *siamese = glade_xml_get_widget_( info->main_window, "curve_panel_toggleentry");
if(siamese) {
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(siamese),
gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(widget) )) ;
}
}
void curve_panel_toggleentry_toggled( GtkWidget *widget, gpointer user_data)
{
curve_toggleentry_toggled( widget, user_data);
GtkWidget *siamese = glade_xml_get_widget_( info->main_window, "curve_chain_toggleentry");
if(siamese) {
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(siamese),
gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(widget) )) ;
}
}
void on_kf_none_toggled( GtkWidget widget, gpointer user_data)
{
info->uc.selected_parameter_id = -1;

View File

@@ -2473,7 +2473,7 @@ static void vj_kf_reset()
GtkWidget *curve = glade_xml_get_widget_(info->main_window, "curve");
reset_curve( curve );
set_toggle_button( "curve_toggleentry", 0 );
set_toggle_button( "curve_chain_toggleentry", 0 );
set_toggle_button( "curve_toggleentry_param", 0);
update_label_str( "curve_parameter",FX_PARAMETER_DEFAULT_NAME);
}
@@ -3967,7 +3967,7 @@ static gint load_parameter_info()
info->uc.selected_rgbkey = 0;
}
set_toggle_button( "curve_toggleentry", p[ENTRY_KF_STATUS] );
set_toggle_button( "curve_chain_toggleentry", p[ENTRY_KF_STATUS] );
if(info->status_tokens[PLAY_MODE] == MODE_SAMPLE )
{