1 | #include <background_chooser_dialog.h> |
---|
2 | #include <gtkmm/stock.h> |
---|
3 | #include <mapstorage.h> |
---|
4 | |
---|
5 | BackgroundChooserDialog::BackgroundChooserDialog(MapStorage* ms) : |
---|
6 | mapstorage(ms), |
---|
7 | btnClear(Gtk::Stock::CLEAR) |
---|
8 | { |
---|
9 | set_has_separator(false); |
---|
10 | |
---|
11 | Gtk::VBox* pVBox = get_vbox(); |
---|
12 | |
---|
13 | lblBackground.set_text("<b>Background image file</b>"); |
---|
14 | lblBackground.set_use_markup(); |
---|
15 | lblBackground.set_alignment(Gtk::ALIGN_LEFT); |
---|
16 | lblScaling.set_text("<b>Scaling factor</b>"); |
---|
17 | lblScaling.set_use_markup(); |
---|
18 | lblScaling.set_alignment(Gtk::ALIGN_LEFT); |
---|
19 | fcbBackground.set_width_chars(30); |
---|
20 | fcbBackground.set_action(Gtk::FILE_CHOOSER_ACTION_OPEN); |
---|
21 | if (mapstorage->isBackgroundSet()) |
---|
22 | { |
---|
23 | fcbBackground.set_filename(mapstorage->getBackgroundFilename()); |
---|
24 | } |
---|
25 | |
---|
26 | fcbBackground.signal_selection_changed().connect( |
---|
27 | sigc::mem_fun(*this, &BackgroundChooserDialog::setBackground)); |
---|
28 | |
---|
29 | btnClear.signal_clicked().connect( |
---|
30 | sigc::mem_fun(*this, &BackgroundChooserDialog::clearBackground)); |
---|
31 | |
---|
32 | pVBox->pack_start(lblBackground, Gtk::PACK_SHRINK); |
---|
33 | pVBox->pack_start(box, Gtk::PACK_SHRINK); |
---|
34 | box.pack_start(fcbBackground, Gtk::PACK_EXPAND_WIDGET); |
---|
35 | box.pack_start(btnClear, Gtk::PACK_SHRINK); |
---|
36 | pVBox->pack_start(lblScaling, Gtk::PACK_SHRINK); |
---|
37 | pVBox->pack_start(sbScaling, Gtk::PACK_SHRINK); |
---|
38 | |
---|
39 | add_button(Gtk::Stock::CLOSE, Gtk::RESPONSE_CLOSE); |
---|
40 | |
---|
41 | show_all_children(); |
---|
42 | } |
---|
43 | |
---|
44 | void BackgroundChooserDialog::clearBackground() |
---|
45 | { |
---|
46 | fcbBackground.unselect_all(); |
---|
47 | } |
---|
48 | |
---|
49 | void BackgroundChooserDialog::setBackground() |
---|
50 | { |
---|
51 | mapstorage->setBackground(fcbBackground.get_filename()); |
---|
52 | } |
---|