aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Gehad elrobey <gehadelrobey@gmail.com>2015-07-29 19:49:50 +0200
committerGravatar Lubomir I. Ivanov <neolit123@gmail.com>2015-08-15 15:02:04 +0300
commit1d22bdc08c04d3726154a5975ff5314c4f290c9d (patch)
tree1fc14ee454a183518682501925a6dd4a2096f4b0
parentdd7bae378e6463f5a4125f7b51a41ab6c0407578 (diff)
downloadsubsurface-1d22bdc08c04d3726154a5975ff5314c4f290c9d.tar.gz
Printing: fix TemplateEdit color selection bug
When choosing a color from the QColorDialog, the TemplateEdit trigger to change the current selected template to be custom, and then changes the selected color. When the selected template is changed old template values are copied to the current template which results in incorrect behaviour. This is fixed by checking for the current editting state before setting the saved palettes as the current used palette. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
-rw-r--r--qt-ui/templateedit.cpp11
-rw-r--r--qt-ui/templateedit.h1
2 files changed, 9 insertions, 3 deletions
diff --git a/qt-ui/templateedit.cpp b/qt-ui/templateedit.cpp
index 97627749d..90ef7e750 100644
--- a/qt-ui/templateedit.cpp
+++ b/qt-ui/templateedit.cpp
@@ -33,6 +33,7 @@ TemplateEdit::TemplateEdit(QWidget *parent, struct print_options *printOptions,
connect(btnGroup, SIGNAL(buttonClicked(QAbstractButton*)), this, SLOT(colorSelect(QAbstractButton*)));
ui->plainTextEdit->setPlainText(grantlee_template);
+ editingCustomColors = false;
updatePreview();
}
@@ -102,7 +103,10 @@ void TemplateEdit::on_colorpalette_currentIndexChanged(int index)
newTemplateOptions.color_palette = blueshades_colors;
break;
case CUSTOM: // custom
- newTemplateOptions.color_palette = custom_colors;
+ if (!editingCustomColors)
+ newTemplateOptions.color_palette = custom_colors;
+ else
+ editingCustomColors = false;
break;
}
updatePreview();
@@ -148,6 +152,7 @@ void TemplateEdit::on_buttonBox_clicked(QAbstractButton *button)
void TemplateEdit::colorSelect(QAbstractButton *button)
{
+ editingCustomColors = true;
// reset custom colors palette
switch (newTemplateOptions.color_palette_index) {
case SSRF_COLORS: // subsurface derived default colors
@@ -155,11 +160,11 @@ void TemplateEdit::colorSelect(QAbstractButton *button)
break;
case ALMOND: // almond
newTemplateOptions.color_palette = almond_colors;
- custom_colors = newTemplateOptions.color_palette;
break;
case BLUESHADES: // blueshades
newTemplateOptions.color_palette = blueshades_colors;
- custom_colors = newTemplateOptions.color_palette;
+ break;
+ default:
break;
}
diff --git a/qt-ui/templateedit.h b/qt-ui/templateedit.h
index 15b717f78..5e548ae19 100644
--- a/qt-ui/templateedit.h
+++ b/qt-ui/templateedit.h
@@ -31,6 +31,7 @@ private slots:
private:
Ui::TemplateEdit *ui;
QButtonGroup *btnGroup;
+ bool editingCustomColors;
struct template_options *templateOptions;
struct template_options newTemplateOptions;
struct print_options *printOptions;