X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Fsrc%2Fgtkmm%2Frender.cpp;h=4a7d6d210dc4abcf30c015251eb2c31bd2b271c7;hb=d808087a69182d2c76454fc3772281ddd5f6f929;hp=cec4215a09e05d2aefbda745a3510adc64315dea;hpb=adfc80c126f482d7ea2bac38001a2c4a7c7df88c;p=synfig.git diff --git a/synfig-studio/src/gtkmm/render.cpp b/synfig-studio/src/gtkmm/render.cpp index cec4215..4a7d6d2 100644 --- a/synfig-studio/src/gtkmm/render.cpp +++ b/synfig-studio/src/gtkmm/render.cpp @@ -37,6 +37,7 @@ #include #include #include "asyncrenderer.h" +#include "dialog_targetparam.h" #include "general.h" @@ -66,7 +67,8 @@ RenderSettings::RenderSettings(Gtk::Window& parent, etl::handleshow(); choose_button->signal_clicked().connect(sigc::mem_fun(*this, &studio::RenderSettings::on_choose_pressed)); + tparam_button=manage(new class Gtk::Button(Gtk::StockID(_("Parameters...")))); + tparam_button->show(); + tparam_button->set_sensitive(false); + tparam_button->signal_clicked().connect(sigc::mem_fun(*this, &studio::RenderSettings::on_targetparam_pressed)); + Gtk::Frame *target_frame=manage(new Gtk::Frame(_("Target"))); target_frame->set_shadow_type(Gtk::SHADOW_NONE); ((Gtk::Label *) target_frame->get_label_widget())->set_markup(_("Target")); @@ -128,7 +135,8 @@ RenderSettings::RenderSettings(Gtk::Window& parent, etl::handleset_alignment(0, 0.5); targetLabel->set_mnemonic_widget(optionmenu_target); target_table->attach(*targetLabel, 0, 1, 1, 2, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); - target_table->attach(optionmenu_target, 1, 3, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); + target_table->attach(optionmenu_target, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); + target_table->attach(*tparam_button, 2, 3, 1, 2, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); toggle_single_frame.signal_toggled().connect(sigc::mem_fun(*this, &studio::RenderSettings::on_single_frame_toggle)); @@ -164,7 +172,7 @@ RenderSettings::RenderSettings(Gtk::Window& parent, etl::handlepack_start(widget_rend_desc); - Gtk::Button *render_button(manage(new class Gtk::Button(Gtk::StockID("Render")))); + Gtk::Button *render_button(manage(new class Gtk::Button(Gtk::StockID(_("Render"))))); render_button->show(); add_action_widget(*render_button,1); render_button->signal_clicked().connect(sigc::mem_fun(*this, &studio::RenderSettings::on_render_pressed)); @@ -228,6 +236,7 @@ void RenderSettings::set_target(synfig::String name) { target_name=name; + tparam_button->set_sensitive(target_name.compare("ffmpeg")?false:true); } void @@ -239,6 +248,16 @@ RenderSettings::on_choose_pressed() } void +RenderSettings::on_targetparam_pressed() +{ + Dialog_TargetParam *dialogtp = new Dialog_TargetParam(*this, tparam); + if(dialogtp->run()==Gtk::RESPONSE_OK) + tparam=dialogtp->get_tparam(); + + delete dialogtp; +} + +void RenderSettings::on_render_pressed() { String filename=entry_filename.get_text(); @@ -283,7 +302,7 @@ RenderSettings::on_render_pressed() return; } - Target::Handle target=Target::create(calculated_target_name,filename); + Target::Handle target=Target::create(calculated_target_name,filename, tparam); if(!target) { canvas_interface_->get_ui_interface()->error(_("Unable to create target for ")+filename);