Printing: save/load selected template by QSettings

We save the selected template name on closing the printDialog, We also
load the last selected template from QSettings when initializing the
dialog.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
This commit is contained in:
Gehad elrobey 2015-07-24 14:27:33 +02:00 committed by Lubomir I. Ivanov
parent 2b2c506cb7
commit 2a85be91b1
2 changed files with 12 additions and 2 deletions

View file

@ -30,6 +30,7 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f
printOptions.print_selected = true;
printOptions.color_selected = true;
printOptions.landscape = false;
printOptions.p_template = "one_dive.html";
printOptions.type = print_options::DIVELIST;
templateOptions.font_index = 0;
templateOptions.font_size = 9;
@ -42,6 +43,7 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f
printOptions.print_selected = s.value("print_selected").toBool();
printOptions.color_selected = s.value("color_selected").toBool();
printOptions.landscape = s.value("landscape").toBool();
printOptions.p_template = s.value("template_selected").toString();
qprinter.setOrientation((QPrinter::Orientation)printOptions.landscape);
templateOptions.font_index = s.value("font").toInt();
templateOptions.font_size = s.value("font_size").toDouble();

View file

@ -30,12 +30,20 @@ void PrintOptions::setup()
break;
}
// insert existing templates in the UI
ui.printTemplate->clear();
// insert existing templates in the UI and select the current template
qSort(grantlee_templates);
int current_index = 0;
for (QList<QString>::iterator i = grantlee_templates.begin(); i != grantlee_templates.end(); ++i) {
if ((*i).compare(printOptions->p_template) == 0) {
break;
}
current_index++;
}
ui.printTemplate->clear();
for (QList<QString>::iterator i = grantlee_templates.begin(); i != grantlee_templates.end(); ++i) {
ui.printTemplate->addItem((*i).split('.')[0], QVariant::fromValue(*i));
}
ui.printTemplate->setCurrentIndex(current_index);
// general print option checkboxes
if (printOptions->color_selected)