diff options
| author | Slagvi Public <JandotDarowskiattgmaildottcom> | 2013-09-04 09:50:07 +0000 |
|---|---|---|
| committer | Slagvi Public <JandotDarowskiattgmaildottcom> | 2013-09-04 09:50:07 +0000 |
| commit | 100be92caf253e8743126da4264e84a060c82182 (patch) | |
| tree | 0321c0662e669746808a9d8b2f2995ccfa3a300e /src/ui/dialog/template-widget.cpp | |
| parent | Add listing procedural templates in NewFromTemplate dialog. (diff) | |
| download | inkscape-100be92caf253e8743126da4264e84a060c82182.tar.gz inkscape-100be92caf253e8743126da4264e84a060c82182.zip | |
Creating documents from procedural templates added.
(bzr r12481.1.2)
Diffstat (limited to 'src/ui/dialog/template-widget.cpp')
| -rw-r--r-- | src/ui/dialog/template-widget.cpp | 59 |
1 files changed, 37 insertions, 22 deletions
diff --git a/src/ui/dialog/template-widget.cpp b/src/ui/dialog/template-widget.cpp index be7e2b515..21ea709f2 100644 --- a/src/ui/dialog/template-widget.cpp +++ b/src/ui/dialog/template-widget.cpp @@ -20,6 +20,10 @@ #include "template-load-tab.h" #include "file.h" +#include "extension/implementation/implementation.h" + +#include "inkscape.h" +#include "desktop.h" namespace Inkscape { namespace UI { @@ -30,6 +34,7 @@ TemplateWidget::TemplateWidget() , _short_description_label(_(" ")) , _template_author_label(_(" ")) , _template_name_label(_("no template selected")) + , _effect_prefs(NULL) { pack_start(_template_name_label, Gtk::PACK_SHRINK, 10); pack_start(_template_author_label, Gtk::PACK_SHRINK, 0); @@ -55,10 +60,13 @@ TemplateWidget::TemplateWidget() void TemplateWidget::create() { - if (_current_template.path == "") + if (_current_template.display_name == "") return; - if (_current_template.is_procedural) {} + if (_current_template.is_procedural){ + SPDesktop *desc = sp_file_new_default(); + _current_template.tpl_effect->effect(desc); + } else { sp_file_new(_current_template.path); } @@ -68,34 +76,41 @@ void TemplateWidget::create() void TemplateWidget::display(TemplateLoadTab::TemplateData data) { _current_template = data; - if (data.is_procedural){} - else{ - _template_name_label.set_text(_current_template.display_name); - _template_author_label.set_text(_current_template.author); - _short_description_label.set_text(_current_template.short_description); + + _template_name_label.set_text(_current_template.display_name); + // _template_author_label.set_text(_current_template.author); + _short_description_label.set_text(_current_template.short_description); - Glib::ustring imagePath = Glib::build_filename(Glib::path_get_dirname(_current_template.path), _current_template.preview_name); - if (data.preview_name != ""){ - _preview_image.set(imagePath); - _preview_image.show(); - _preview_render.hide(); - } - else{ - _preview_render.showImage(data.path); - _preview_render.show(); - _preview_image.hide(); - } + _preview_render.hide(); + _preview_image.hide(); + + Glib::ustring imagePath = Glib::build_filename(Glib::path_get_dirname(_current_template.path), _current_template.preview_name); + if (data.preview_name != ""){ + _preview_image.set(imagePath); + _preview_image.show(); + } + else if (!data.is_procedural){ + _preview_render.showImage(data.path); + _preview_render.show(); + } + + if (_effect_prefs != NULL){ + remove (*_effect_prefs); + _effect_prefs = NULL; + } + if (data.is_procedural){ + _effect_prefs = data.tpl_effect->get_imp()->prefs_effect(data.tpl_effect, SP_ACTIVE_DESKTOP, NULL, NULL); // SP_ACTIVE_DESKTOP? + pack_start(*_effect_prefs); } } void TemplateWidget::_displayTemplateDetails() { - if (_current_template.path == "") - return; + Glib::ustring message = _current_template.display_name + "\n\n"; - Glib::ustring message = _current_template.display_name + "\n\n" + - _("Path: ") + _current_template.path + "\n\n"; + if (_current_template.path != "") + message += _("Path: ") + _current_template.path + "\n\n"; if (_current_template.long_description != "") message += _("Description: ") + _current_template.long_description + "\n\n"; |
