X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fapp.h;h=507bc7559bb502d50ff940c14f96d9b48e14968e;hb=990f7bb7694e0472ed6ad165e0724864539071cd;hp=595a83f06641db1760e7c594df60f5d4059e94b5;hpb=ce408de81ca266b1f334ee9bc6c8fb7ba1492ed4;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/app.h b/synfig-studio/trunk/src/gtkmm/app.h index 595a83f..507bc75 100644 --- a/synfig-studio/trunk/src/gtkmm/app.h +++ b/synfig-studio/trunk/src/gtkmm/app.h @@ -2,10 +2,12 @@ /*! \file app.h ** \brief writeme ** -** $Id: app.h,v 1.2 2005/01/13 21:11:16 darco Exp $ +** $Id$ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007, 2008 Chris Moore +** Copyright (c) 2008 Carlos López ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -27,7 +29,6 @@ /* === H E A D E R S ======================================================= */ -#include #include #include @@ -43,10 +44,16 @@ #include #include -#include "iconcontroler.h" +#include "iconcontroller.h" /* === M A C R O S ========================================================= */ +#define MISC_DIR_PREFERENCE "misc_dir" +#define ANIMATION_DIR_PREFERENCE "animation_dir" +#define IMAGE_DIR_PREFERENCE "image_dir" +#define SKETCH_DIR_PREFERENCE "sketch_dir" +#define RENDER_DIR_PREFERENCE "render_dir" + /* === T Y P E D E F S ===================================================== */ /* === C L A S S E S & S T R U C T S ======================================= */ @@ -65,11 +72,12 @@ namespace synfigapp }; class Preferences; - + namespace studio { typedef Gtk::UIManager UIManager; +class About; class Toolbox; class Instance; class CanvasView; @@ -94,17 +102,17 @@ class Dock_Info; class Dock_Navigator; class Dock_LayerGroups; class IPC; - + class Module; class StateManager; -class IconControler; - -class App : public Gtk::Main, private IconControler +class IconController; + +class App : public Gtk::Main, private IconController { friend class Preferences; friend class Dialog_Setup; - + /* -- ** -- P U B L I C T Y P E S --------------------------------------------- */ @@ -149,7 +157,7 @@ private: static etl::handle selected_canvas_view; static Glib::RefPtr ui_manager_; - + // static std::list< etl::handle< Module > > module_list_; /* @@ -175,14 +183,27 @@ public: static synfig::Gamma gamma; + static About *about; static Toolbox *toolbox; static std::list > instance_list; - static bool shutdown_in_progress; + static bool shutdown_in_progress; static bool use_colorspace_gamma; +#ifdef SINGLE_THREADED + static bool single_threaded; +#endif + + static bool restrict_radius_ducks; + static bool resize_imported_images; + + static synfig::String browser_command; + static synfig::String custom_filename_prefix; + static int preferred_x_size; + static int preferred_y_size; + static synfig::String predefined_size; /* -- ** -- S I G N A L S ------------------------------------------------------- */ @@ -237,6 +258,7 @@ public: */ private: + static void add_recent_file(const std::string &filename, const std::string &window_size = std::string()); /* -- ** -- P U B L I C M E T H O D S ----------------------------------------- @@ -257,11 +279,13 @@ public: static Glib::RefPtr& ui_manager() { return ui_manager_; } - static void add_recent_file(const std::string &filename); + static void set_recent_file_window_size(etl::handle instance); + static void add_recent_file(const etl::handle instance); static synfig::String get_base_path(); static void save_settings(); static void load_settings(); + static void reset_initial_window_configuration(); static const std::list& get_recent_files(); @@ -282,17 +306,17 @@ public: static void new_instance(); - static void dialog_open(); + static void dialog_open(std::string filename = ""); static void dialog_about(); - + static void quit(); - + static void show_setup(); static void undo(); static void redo(); - + static int get_max_recent_files(); static void set_max_recent_files(int x); @@ -301,29 +325,35 @@ public: static void set_time_format(synfig::Time::Format x); static bool shutdown_request(GdkEventAny*bleh=NULL); - + // static bool dialog_file(const std::string &title, std::string &filename); - static bool dialog_open_file(const std::string &title, std::string &filename); - static bool dialog_save_file(const std::string &title, std::string &filename); - static bool dialog_saveas_file(const std::string &title, std::string &filename); + static bool dialog_open_file(const std::string &title, std::string &filename, std::string preference); + static bool dialog_save_file(const std::string &title, std::string &filename, std::string preference); static void dialog_error_blocking(const std::string &title, const std::string &message); static void dialog_warning_blocking(const std::string &title, const std::string &message); static bool dialog_entry(const std::string &title, const std::string &message,std::string &text); + static bool dialog_paragraph(const std::string &title, const std::string &message,std::string &text); static bool dialog_yes_no(const std::string &title, const std::string &message); static int dialog_yes_no_cancel(const std::string &title, const std::string &message); - + static void dialog_not_implemented(); + static void dialog_help(); + + static void open_url(const std::string &url); + static synfig::String get_user_app_directory(); static synfig::String get_config_file(const synfig::String& file); }; // END of class App + void delete_widget(Gtk::Widget *widget); + }; // END namespace studio /* === E N D =============================================================== */