summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSlagvi Public <JandotDarowskiattgmaildottcom>2013-07-27 20:39:28 +0000
committerSlagvi Public <JandotDarowskiattgmaildottcom>2013-07-27 20:39:28 +0000
commitd11c156518710f49dc3fc8ec3408388a1a2b1ddb (patch)
tree83efd08f1f4a76768b965e3418a3a31b765d1eaf /src
parentTemplates related bug fixes (diff)
downloadinkscape-d11c156518710f49dc3fc8ec3408388a1a2b1ddb.tar.gz
inkscape-d11c156518710f49dc3fc8ec3408388a1a2b1ddb.zip
New preview rendering option in New From Template
(bzr r12379.2.16)
Diffstat (limited to 'src')
-rw-r--r--src/ui/dialog/template-load-tab.cpp1
-rw-r--r--src/ui/dialog/template-widget.cpp13
-rw-r--r--src/ui/dialog/template-widget.h2
3 files changed, 15 insertions, 1 deletions
diff --git a/src/ui/dialog/template-load-tab.cpp b/src/ui/dialog/template-load-tab.cpp
index d993e0233..ade595eaa 100644
--- a/src/ui/dialog/template-load-tab.cpp
+++ b/src/ui/dialog/template-load-tab.cpp
@@ -192,6 +192,7 @@ TemplateLoadTab::TemplateData TemplateLoadTab::_processTemplateFile(const Glib::
TemplateData result;
result.path = path;
result.is_procedural = false;
+ result.preview_name = "";
// convert path into valid template name
result.display_name = Glib::path_get_basename(path);
diff --git a/src/ui/dialog/template-widget.cpp b/src/ui/dialog/template-widget.cpp
index 1efa790ab..c15d234ab 100644
--- a/src/ui/dialog/template-widget.cpp
+++ b/src/ui/dialog/template-widget.cpp
@@ -31,10 +31,12 @@ TemplateWidget::TemplateWidget()
, _template_author_label(_(" "))
, _template_name_label(_("no template selected"))
, _preview_image(" ")
+ , _preview_render()
{
pack_start(_template_name_label, Gtk::PACK_SHRINK, 10);
pack_start(_template_author_label, Gtk::PACK_SHRINK, 0);
pack_start(_preview_image, Gtk::PACK_SHRINK, 15);
+ pack_start(_preview_render, Gtk::PACK_SHRINK, 10);
_short_description_label.set_line_wrap(true);
_short_description_label.set_size_request(200);
@@ -73,7 +75,16 @@ void TemplateWidget::display(TemplateLoadTab::TemplateData data)
_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);
- _preview_image.set(imagePath);
+ 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();
+ }
}
}
diff --git a/src/ui/dialog/template-widget.h b/src/ui/dialog/template-widget.h
index 743fb524d..b9d03415c 100644
--- a/src/ui/dialog/template-widget.h
+++ b/src/ui/dialog/template-widget.h
@@ -12,6 +12,7 @@
#define INKSCAPE_SEEN_UI_DIALOG_TEMPLATE_WIDGET_H
#include "template-load-tab.h"
+#include "filedialogimpl-gtkmm.h"
#include <gtkmm/box.h>
@@ -34,6 +35,7 @@ private:
Gtk::Label _template_author_label;
Gtk::Label _template_name_label;
Gtk::Image _preview_image;
+ Dialog::SVGPreview _preview_render;
void _displayTemplateDetails();
};