summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/template-widget.cpp
diff options
context:
space:
mode:
authorSlagvi Public <JandotDarowskiattgmaildottcom>2013-09-04 09:50:07 +0000
committerSlagvi Public <JandotDarowskiattgmaildottcom>2013-09-04 09:50:07 +0000
commit100be92caf253e8743126da4264e84a060c82182 (patch)
tree0321c0662e669746808a9d8b2f2995ccfa3a300e /src/ui/dialog/template-widget.cpp
parentAdd listing procedural templates in NewFromTemplate dialog. (diff)
downloadinkscape-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.cpp59
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";