| 39 | namespace OpenOrienteering { |
| 40 | |
| 41 | ScaleMapDialog::ScaleMapDialog(QWidget* parent, Map* map) : QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint), map(map) |
| 42 | { |
| 43 | setWindowTitle(tr("Change map scale")); |
| 44 | |
| 45 | QFormLayout* layout = new QFormLayout(); |
| 46 | |
| 47 | layout->addRow(Util::Headline::create(tr("Scaling parameters"))); |
| 48 | |
| 49 | scale_edit = Util::SpinBox::create(1, 9999999, {}, 500); |
| 50 | scale_edit->setPrefix(QStringLiteral("1 : ")); |
| 51 | scale_edit->setButtonSymbols(QAbstractSpinBox::NoButtons); |
| 52 | scale_edit->setValue(static_cast<int>(map->getScaleDenominator())); |
| 53 | layout->addRow(tr("New scale:"), scale_edit); |
| 54 | |
| 55 | layout->addRow(new QLabel(tr("Scaling center:"))); |
| 56 | |
| 57 | //: Scaling center point |
| 58 | center_origin_radio = new QRadioButton(tr("Map coordinate system origin")); |
| 59 | center_origin_radio->setChecked(true); |
| 60 | layout->addRow(center_origin_radio); |
| 61 | |
| 62 | //: Scaling center point |
| 63 | center_georef_radio = new QRadioButton(tr("Georeferencing reference point")); |
| 64 | if (map->getGeoreferencing().getState() == Georeferencing::Local) |
| 65 | center_georef_radio->setEnabled(false); |
| 66 | layout->addRow(center_georef_radio); |
| 67 | |
| 68 | //: Scaling center point |
| 69 | center_other_radio = new QRadioButton(tr("Other point,")); |
| 70 | layout->addRow(center_other_radio); |
| 71 | |
| 72 | other_x_edit = Util::SpinBox::create<MapCoordF>(); |
| 73 | //: x coordinate |
| 74 | layout->addRow(tr("X:"), other_x_edit); |
| 75 | |
| 76 | other_y_edit = Util::SpinBox::create<MapCoordF>(); |
| 77 | //: y coordinate |
| 78 | layout->addRow(tr("Y:"), other_y_edit); |
| 79 | |
| 80 | layout->addItem(Util::SpacerItem::create(this)); |
| 81 | layout->addRow(Util::Headline::create(tr("Options"))); |
| 82 | |
| 83 | adjust_symbols_check = new QCheckBox(tr("Scale symbol sizes")); |
| 84 | if (map->getNumSymbols() > 0) |
| 85 | adjust_symbols_check->setChecked(true); |
| 86 | else |
| 87 | adjust_symbols_check->setEnabled(false); |
| 88 | layout->addRow(adjust_symbols_check); |
| 89 | |
| 90 | adjust_objects_check = new QCheckBox(tr("Scale map object positions")); |
| 91 | if (map->getNumObjects() > 0) |
| 92 | adjust_objects_check->setChecked(true); |
| 93 | else |
| 94 | adjust_objects_check->setEnabled(false); |
| 95 | layout->addRow(adjust_objects_check); |
| 96 | |
| 97 | adjust_georeferencing_check = new QCheckBox(tr("Adjust georeferencing reference point")); |
| 98 | if (map->getGeoreferencing().getState() == Georeferencing::Geospatial) |
nothing calls this directly
no test coverage detected