mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-31 23:23:23 +00:00
Printing: support the "Border width" setting for templates
Going to "Template -> Edit" now has a field to enter the border width (in pixels as only that makes sense in CSS as a flexible unit, TMK). This field modifies the template_options.borderwidth Grantlee property which is part of the bundled templates already and allows the users to modify the borders of tables. The C++ implementation was missing, while the HTML (template) implementation was already in place. Overlooked during GSoC. Reported-by: Willem Ferguson <willemferguson@zoology.up.ac.za> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
831fe3d7f9
commit
e8c918622f
6 changed files with 44 additions and 2 deletions
|
@ -51,6 +51,7 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f) :
|
|||
templateOptions.font_size = s.value("font_size", 9).toDouble();
|
||||
templateOptions.color_palette_index = s.value("color_palette", SSRF_COLORS).toInt();
|
||||
templateOptions.line_spacing = s.value("line_spacing", 1).toDouble();
|
||||
templateOptions.border_width = s.value("border_width", 1).toInt();
|
||||
custom_colors.color1 = QColor(s.value("custom_color_1", ssrf_colors.color1).toString());
|
||||
custom_colors.color2 = QColor(s.value("custom_color_2", ssrf_colors.color2).toString());
|
||||
custom_colors.color3 = QColor(s.value("custom_color_3", ssrf_colors.color3).toString());
|
||||
|
@ -148,6 +149,7 @@ void PrintDialog::onFinished()
|
|||
s.setValue("font_size", templateOptions.font_size);
|
||||
s.setValue("color_palette", templateOptions.color_palette_index);
|
||||
s.setValue("line_spacing", templateOptions.line_spacing);
|
||||
s.setValue("border_width", templateOptions.border_width);
|
||||
|
||||
// save custom colors
|
||||
s.setValue("custom_color_1", custom_colors.color1.name());
|
||||
|
|
|
@ -237,7 +237,7 @@ void Printer::print()
|
|||
webView->page()->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff);
|
||||
#endif
|
||||
// export border width with at least 1 pixel
|
||||
templateOptions->border_width = std::max(1, pageSize.width() / 1000);
|
||||
// templateOptions->borderwidth = std::max(1, pageSize.width() / 1000);
|
||||
if (printOptions->type == print_options::DIVELIST) {
|
||||
webView->setHtml(t.generate());
|
||||
} else if (printOptions->type == print_options::STATISTICS ) {
|
||||
|
@ -284,7 +284,7 @@ void Printer::previewOnePage()
|
|||
webView->page()->setViewportSize(pageSize);
|
||||
#endif
|
||||
// initialize the border settings
|
||||
templateOptions->border_width = std::max(1, pageSize.width() / 1000);
|
||||
// templateOptions->border_width = std::max(1, pageSize.width() / 1000);
|
||||
if (printOptions->type == print_options::DIVELIST) {
|
||||
webView->setHtml(t.generate());
|
||||
} else if (printOptions->type == print_options::STATISTICS ) {
|
||||
|
|
|
@ -43,6 +43,7 @@ struct template_options {
|
|||
|| other.color_palette_index != color_palette_index
|
||||
|| other.font_size != font_size
|
||||
|| other.line_spacing != line_spacing
|
||||
|| other.border_width != border_width
|
||||
|| other.color_palette != color_palette;
|
||||
}
|
||||
};
|
||||
|
|
|
@ -20,6 +20,7 @@ TemplateEdit::TemplateEdit(QWidget *parent, struct print_options *printOptions,
|
|||
ui->fontsize->setValue(templateOptions->font_size);
|
||||
ui->colorpalette->setCurrentIndex(templateOptions->color_palette_index);
|
||||
ui->linespacing->setValue(templateOptions->line_spacing);
|
||||
ui->borderwidth->setValue(templateOptions->border_width);
|
||||
|
||||
grantlee_template = TemplateLayout::readTemplate(printOptions->p_template);
|
||||
if (printOptions->type == print_options::DIVELIST)
|
||||
|
@ -97,6 +98,12 @@ void TemplateEdit::on_linespacing_valueChanged(double line_spacing)
|
|||
updatePreview();
|
||||
}
|
||||
|
||||
void TemplateEdit::on_borderwidth_valueChanged(double border_width)
|
||||
{
|
||||
newTemplateOptions.border_width = (int)border_width;
|
||||
updatePreview();
|
||||
}
|
||||
|
||||
void TemplateEdit::on_fontSelection_currentIndexChanged(int index)
|
||||
{
|
||||
newTemplateOptions.font_index = index;
|
||||
|
|
|
@ -20,6 +20,8 @@ private slots:
|
|||
|
||||
void on_linespacing_valueChanged(double line_spacing);
|
||||
|
||||
void on_borderwidth_valueChanged(double border_width);
|
||||
|
||||
void on_fontSelection_currentIndexChanged(int index);
|
||||
|
||||
void on_colorpalette_currentIndexChanged(int index);
|
||||
|
|
|
@ -219,6 +219,36 @@
|
|||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QLabel" name="borderwidth_label">
|
||||
<property name="text">
|
||||
<string>Border width</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDoubleSpinBox" name="borderwidth">
|
||||
<property name="decimals">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>100.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
|
|
Loading…
Add table
Reference in a new issue