#include <gtkmm/inputdialog.h>
#include <gtkmm/accelmap.h>
#include <gtkmm/uimanager.h>
+#include <gtkmm/textview.h>
#include <gtk/gtk.h>
#include "state_rectangle.h"
#include "state_smoothmove.h"
#include "state_scale.h"
+#include "state_star.h"
+#include "state_text.h"
#include "state_width.h"
#include "state_rotate.h"
#include "state_zoom.h"
ACCEL("<Actions>//state-normal", "<Mod1>a");
ACCEL("<Actions>//state-smooth_move", "<Mod1>v");
- ACCEL("<Actions>//state-scale", "<Mod1>d");
- ACCEL("<Actions>//state-rotate", "<Mod1>s");
+ ACCEL("<Actions>//state-scale", "<Mod1>s");
+ ACCEL("<Actions>//state-rotate", "<Mod1>t");
+ ACCEL("<Actions>//state-mirror", "<Mod1>m");
- ACCEL("<Actions>//state-bline", "<Mod1>b");
ACCEL("<Actions>//state-circle", "<Mod1>c");
ACCEL("<Actions>//state-rectangle", "<Mod1>r");
+ ACCEL("<Actions>//state-star", "<Mod1>q");
ACCEL("<Actions>//state-gradient", "<Mod1>g");
+ ACCEL("<Actions>//state-polygon", "<Mod1>p");
- ACCEL("<Actions>//state-eyedrop", "<Mod1>e");
+ ACCEL("<Actions>//state-bline", "<Mod1>b");
+ ACCEL("<Actions>//state-text", "<Mod1>x");
ACCEL("<Actions>//state-fill", "<Mod1>f");
+ ACCEL("<Actions>//state-eyedrop", "<Mod1>e");
ACCEL("<Actions>//state-zoom", "<Mod1>z");
- ACCEL("<Actions>//state-polygon", "<Mod1>p");
- ACCEL("<Actions>//state-draw", "<Mod1>w");
+ ACCEL("<Actions>//state-draw", "<Mod1>d");
ACCEL("<Actions>//state-sketch", "<Mod1>k");
- ACCEL("<Actions>//state-width", "<Mod1>t");
- ACCEL("<Actions>//state-mirror", "<Mod1>m");
+ ACCEL("<Actions>//state-width", "<Mod1>w");
ACCEL("<Actions>//canvas-zoom-fit","<Control><Shift>z");
studio_init_cb.task(_("Init ModMirror...")); module_list_.push_back(new ModMirror()); module_list_.back()->start();
/* row 2 */
- state_manager->add_state(&state_bline);
state_manager->add_state(&state_circle);
state_manager->add_state(&state_rectangle);
+ state_manager->add_state(&state_star);
state_manager->add_state(&state_gradient);
if(!getenv("SYNFIG_DISABLE_POLYGON")) state_manager->add_state(&state_polygon); // Enabled - for working without ducks
/* row 3 */
- if(!getenv("SYNFIG_DISABLE_DRAW" )) state_manager->add_state(&state_draw); // Enabled for now. Let's see whether they're good enough yet.
- if(!getenv("SYNFIG_DISABLE_SKETCH" )) state_manager->add_state(&state_sketch);
+ state_manager->add_state(&state_bline);
+ state_manager->add_state(&state_text);
state_manager->add_state(&state_fill);
state_manager->add_state(&state_eyedrop);
state_manager->add_state(&state_zoom);
+ if(!getenv("SYNFIG_DISABLE_DRAW" )) state_manager->add_state(&state_draw); // Enabled for now. Let's see whether they're good enough yet.
+ if(!getenv("SYNFIG_DISABLE_SKETCH" )) state_manager->add_state(&state_sketch);
+
// Disabled by default - it doesn't work properly?
if(getenv("SYNFIG_ENABLE_WIDTH" )) state_manager->add_state(&state_width);
bool
App::dialog_open_file(const std::string &title, std::string &filename, std::string preference)
{
- info("App::dialog_open_file('%s', '%s', '%s')", title.c_str(), filename.c_str(), preference.c_str());
+ // info("App::dialog_open_file('%s', '%s', '%s')", title.c_str(), filename.c_str(), preference.c_str());
#ifdef USE_WIN32_FILE_DIALOGS
static TCHAR szFilter[] = TEXT ("All Files (*.*)\0*.*\0\0") ;
bool
App::dialog_save_file(const std::string &title, std::string &filename, std::string preference)
{
- info("App::dialog_save_file('%s', '%s', '%s')", title.c_str(), filename.c_str(), preference.c_str());
+ // info("App::dialog_save_file('%s', '%s', '%s')", title.c_str(), filename.c_str(), preference.c_str());
#if USE_WIN32_FILE_DIALOGS
static TCHAR szFilter[] = TEXT ("All Files (*.*)\0*.*\0\0") ;
{
file_type_enum = manage(new Widget_Enum());
file_type_enum->set_param_desc(ParamDesc().set_hint("enum")
- .add_enum_value(synfig::RELEASE_VERSION_0_61_08, "0.61.08", strprintf("0.61.08 (%s)", _("current")))
+ .add_enum_value(synfig::RELEASE_VERSION_0_61_09, "0.61.09", strprintf("0.61.09 (%s)", _("current")))
+ .add_enum_value(synfig::RELEASE_VERSION_0_61_08, "0.61.08", "0.61.08")
.add_enum_value(synfig::RELEASE_VERSION_0_61_07, "0.61.07", "0.61.07")
.add_enum_value(synfig::RELEASE_VERSION_0_61_06, "0.61.06", strprintf("0.61.06 %s", _("and older"))));
file_type_enum->set_value(RELEASE_VERSION_END-1); // default to the most recent version
Gtk::Dialog dialog(
title, // Title
true, // Modal
- true // use_separator
- );
+ true); // use_separator
+
Gtk::Label label(message);
label.show();
dialog.get_vbox()->pack_start(label);
entry.set_text(text);
entry.show();
entry.set_activates_default(true);
+
dialog.get_vbox()->pack_start(entry);
dialog.add_button(Gtk::StockID("gtk-ok"),Gtk::RESPONSE_OK);
dialog.add_button(Gtk::StockID("gtk-cancel"),Gtk::RESPONSE_CANCEL);
dialog.set_default_response(Gtk::RESPONSE_OK);
+
entry.signal_activate().connect(sigc::bind(sigc::mem_fun(dialog,&Gtk::Dialog::response),Gtk::RESPONSE_OK));
dialog.show();
return true;
}
+bool
+App::dialog_paragraph(const std::string &title, const std::string &message,std::string &text)
+{
+ Gtk::Dialog dialog(
+ title, // Title
+ true, // Modal
+ true); // use_separator
+
+ Gtk::Label label(message);
+ label.show();
+ dialog.get_vbox()->pack_start(label);
+
+ Glib::RefPtr<Gtk::TextBuffer> text_buffer(Gtk::TextBuffer::create());
+ text_buffer->set_text(text);
+ Gtk::TextView text_view(text_buffer);
+ text_view.show();
+ dialog.get_vbox()->pack_start(text_view);
+ dialog.add_button(Gtk::StockID("gtk-ok"),Gtk::RESPONSE_OK);
+ dialog.add_button(Gtk::StockID("gtk-cancel"),Gtk::RESPONSE_CANCEL);
+ dialog.set_default_response(Gtk::RESPONSE_OK);
+
+ //text_entry.signal_activate().connect(sigc::bind(sigc::mem_fun(dialog,&Gtk::Dialog::response),Gtk::RESPONSE_OK));
+ dialog.show();
+
+ if(dialog.run()!=Gtk::RESPONSE_OK)
+ return false;
+
+ text=text_buffer->get_text();
+
+ return true;
+}
bool
App::open(std::string filename)