From e5967dd1933f2ba0511087015f60cf7fae22affa Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Mon, 14 Apr 2014 22:52:22 -0700 Subject: Make red ceiling work The existing code for toggling the DC reported ceiling in red or "surface color" clearly had never been tested. This seems to create a reasonably attractive implementation - not exactly what we had in the past, but good enough. Signed-off-by: Dirk Hohndel --- color.h | 1 + qt-ui/graphicsview-common.cpp | 1 + qt-ui/graphicsview-common.h | 1 + qt-ui/profile/diveprofileitem.cpp | 12 +++++++++--- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/color.h b/color.h index d3e2384b1..fea8bab84 100644 --- a/color.h +++ b/color.h @@ -51,6 +51,7 @@ // Yellows / BROWNS #define SPRINGWOOD1 QColor::fromRgbF(0.95, 0.95, 0.9, 1) +#define SPRINGWOOD1_MED_TRANS QColor::fromRgbF(0.95, 0.95, 0.9, 0.5) #define BROOM1_LOWER_TRANS QColor::fromRgbF(1.0, 1.0, 0.1, 0.9) #define PEANUT QColor::fromRgbF(0.5, 0.2, 0.1, 1.0) #define PEANUT_MED_TRANS QColor::fromRgbF(0.5, 0.2, 0.1, 0.5) diff --git a/qt-ui/graphicsview-common.cpp b/qt-ui/graphicsview-common.cpp index 0c64831e2..f794c3323 100644 --- a/qt-ui/graphicsview-common.cpp +++ b/qt-ui/graphicsview-common.cpp @@ -51,6 +51,7 @@ void fill_profile_color() profile_color[BOUNDING_BOX] = COLOR(WHITE1, BLACK1_LOW_TRANS, TUNDORA1_MED_TRANS); profile_color[PRESSURE_TEXT] = COLOR(KILLARNEY1, BLACK1_LOW_TRANS, KILLARNEY1); profile_color[BACKGROUND] = COLOR(SPRINGWOOD1, WHITE1, SPRINGWOOD1); + profile_color[BACKGROUND_TRANS] = COLOR(SPRINGWOOD1_MED_TRANS, WHITE1_MED_TRANS, SPRINGWOOD1_MED_TRANS); profile_color[CEILING_SHALLOW] = COLOR(REDORANGE1_HIGH_TRANS, BLACK1_HIGH_TRANS, REDORANGE1_HIGH_TRANS); profile_color[CEILING_DEEP] = COLOR(RED1_MED_TRANS, BLACK1_HIGH_TRANS, RED1_MED_TRANS); profile_color[CALC_CEILING_SHALLOW] = COLOR(FUNGREEN1_HIGH_TRANS, BLACK1_HIGH_TRANS, FUNGREEN1_HIGH_TRANS); diff --git a/qt-ui/graphicsview-common.h b/qt-ui/graphicsview-common.h index 417cd2e65..2dc56188a 100644 --- a/qt-ui/graphicsview-common.h +++ b/qt-ui/graphicsview-common.h @@ -62,6 +62,7 @@ typedef enum { BOUNDING_BOX, PRESSURE_TEXT, BACKGROUND, + BACKGROUND_TRANS, CEILING_SHALLOW, CEILING_DEEP, CALC_CEILING_SHALLOW, diff --git a/qt-ui/profile/diveprofileitem.cpp b/qt-ui/profile/diveprofileitem.cpp index 51d6a3f79..52cf3d91b 100644 --- a/qt-ui/profile/diveprofileitem.cpp +++ b/qt-ui/profile/diveprofileitem.cpp @@ -581,8 +581,14 @@ void DiveReportedCeiling::modelDataChanged(const QModelIndex &topLeft, const QMo } setPolygon(p); QLinearGradient pat(0, p.boundingRect().top(), 0, p.boundingRect().bottom()); - pat.setColorAt(0, getColor(CEILING_SHALLOW)); - pat.setColorAt(1, getColor(CEILING_DEEP)); + // does the user want the ceiling in "surface color" or in red? + if (prefs.profile_red_ceiling) { + pat.setColorAt(0, getColor(CEILING_SHALLOW)); + pat.setColorAt(1, getColor(CEILING_DEEP)); + } else { + pat.setColorAt(0, getColor(BACKGROUND_TRANS)); + pat.setColorAt(1, getColor(BACKGROUND_TRANS)); + } setPen(QPen(QBrush(Qt::NoBrush), 0)); setBrush(pat); } @@ -605,7 +611,7 @@ void DiveReportedCeiling::preferencesChanged() { QSettings s; s.beginGroup("TecDetails"); - setVisible(s.value("redceiling").toBool()); + setVisible(s.value("dcceiling").toBool()); } void DiveReportedCeiling::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) -- cgit v1.2.3-70-g09d2