summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/new-from-template.cpp
blob: 74ec7111e2ebf13ebdf6dfef7c225f4eea16b42d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/** @file
 * @brief New From Template main dialog - implementation
 */
/* Authors:
 *   Jan Darowski <jan.darowski@gmail.com>, supervised by Krzysztof Kosiński    
 *
 * Copyright (C) 2013 Authors
 * Released under GNU GPL, read the file 'COPYING' for more information
 */

#if HAVE_CONFIG_H
 #include "config.h"
#endif

#include "new-from-template.h"
#include "file.h"

#include <gtkmm/alignment.h>
#include <glibmm/i18n.h>


namespace Inkscape {
namespace UI {


NewFromTemplate::NewFromTemplate()
    : _create_template_button(_("Create from template"))
{
    set_title(_("New From Template"));
    resize(400, 400);

    _main_widget = new TemplateLoadTab(this);

#if WITH_GTKMM_3_0
    get_content_area()->pack_start(*_main_widget);
#else
    get_vbox()->pack_start(*_main_widget);
#endif
   
    Gtk::Alignment *align;
    align = Gtk::manage(new Gtk::Alignment(Gtk::ALIGN_END, Gtk::ALIGN_CENTER, 0.0, 0.0));

#if WITH_GTKMM_3_0
    get_content_area()->pack_end(*align, Gtk::PACK_SHRINK);
#else
    get_vbox()->pack_end(*align, Gtk::PACK_SHRINK);
#endif

    align->set_padding(0, 0, 0, 15);
    align->add(_create_template_button);
    
    _create_template_button.signal_clicked().connect(
    sigc::mem_fun(*this, &NewFromTemplate::_createFromTemplate));
    _create_template_button.set_sensitive(false);
   
    show_all();
}

NewFromTemplate::~NewFromTemplate()
{
    delete _main_widget;
}

void NewFromTemplate::setCreateButtonSensitive(bool value)
{
    _create_template_button.set_sensitive(value);
}

void NewFromTemplate::_createFromTemplate()
{
    _main_widget->createTemplate();
    _onClose();
}

void NewFromTemplate::_onClose()
{
    response(0);
}

void NewFromTemplate::load_new_from_template()
{
    NewFromTemplate dl;
    dl.run();
}

}
}