aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-07-20 14:48:33 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-07-20 14:48:33 +0000
commitec648cb137f7a02e63752b54be2ce3ac959c7c86 (patch)
tree9cb6cf17cc4dbeb7d4b717fad977ea72cb6859dc
parent3c91232d1ade05d5b7bd393ec41c1673c80b8f45 (diff)
downloadenigma2-ec648cb137f7a02e63752b54be2ce3ac959c7c86.tar.gz
enigma2-ec648cb137f7a02e63752b54be2ce3ac959c7c86.zip
don't display track when no foreground is set in position gauge
-rw-r--r--data/skin.xml2
-rw-r--r--lib/gui/epositiongauge.cpp31
-rw-r--r--lib/gui/epositiongauge.h4
3 files changed, 30 insertions, 7 deletions
diff --git a/data/skin.xml b/data/skin.xml
index af37dbdf..6f727af5 100644
--- a/data/skin.xml
+++ b/data/skin.xml
@@ -186,7 +186,7 @@
<widget source="CurrentService" render="Label" position="475,60" size="75,20" halign="left" backgroundColor="dark" font="Regular;18">
<convert type="ServicePosition">Remaining</convert>
</widget>
- <widget source="CurrentService" render="PositionGauge" position="247,60" size="225,20" zPosition="2" pointer="position_pointer.png:3,5" >
+ <widget source="CurrentService" render="PositionGauge" position="247,60" size="225,20" zPosition="2" pointer="position_pointer.png:3,5" foregroundColor="#225b7395">
<convert type="ServicePosition">Gauge</convert>
</widget>
</screen>
diff --git a/lib/gui/epositiongauge.cpp b/lib/gui/epositiongauge.cpp
index 012fd87b..712bf4a6 100644
--- a/lib/gui/epositiongauge.cpp
+++ b/lib/gui/epositiongauge.cpp
@@ -8,6 +8,7 @@ ePositionGauge::ePositionGauge(eWidget *parent)
m_point_widget->setAlphatest(1);
m_position = 0;
m_length = 0;
+ m_have_foreground_color = 0;
}
ePositionGauge::~ePositionGauge()
@@ -117,18 +118,26 @@ int ePositionGauge::event(int event, void *data, void *data2)
}
}
- painter.setForegroundColor(gRGB(0x225b7395));
- int xi = scale(in), xo = scale(out);
- painter.fill(eRect(xi, 10, xo-xi, s.height()-14));
+ if (m_have_foreground_color)
+ {
+ painter.setForegroundColor(gRGB(m_foreground_color));
+ int xi = scale(in), xo = scale(out);
+ painter.fill(eRect(xi, 10, xo-xi, s.height()-14));
+ }
+
in = m_length;
if (i == m_cue_entries.end())
break;
}
// painter.setForegroundColor(gRGB(0x00000000));
- painter.setForegroundColor(gRGB(0x225b7395));
- painter.fill(eRect(s.width() - 2, 2, s.width() - 1, s.height() - 4));
- painter.fill(eRect(0, 2, 2, s.height() - 4));
+
+ if (m_have_foreground_color)
+ {
+ painter.setForegroundColor(gRGB(0x225b7395));
+ painter.fill(eRect(s.width() - 2, 2, s.width() - 1, s.height() - 4));
+ painter.fill(eRect(0, 2, 2, s.height() - 4));
+ }
#if 0
// border
@@ -166,3 +175,13 @@ int ePositionGauge::scale(const pts_t &val)
return width * val / m_length;
}
+
+void ePositionGauge::setForegroundColor(const gRGB &col)
+{
+ if ((!m_have_foreground_color) || !(m_foreground_color == col))
+ {
+ m_foreground_color = col;
+ m_have_foreground_color = 1;
+ invalidate();
+ }
+}
diff --git a/lib/gui/epositiongauge.h b/lib/gui/epositiongauge.h
index 49ea3b3c..74e972c3 100644
--- a/lib/gui/epositiongauge.h
+++ b/lib/gui/epositiongauge.h
@@ -20,6 +20,7 @@ public:
void setPointer(gPixmap *pixmap, const ePoint &center);
void setInOutList(PyObject *list);
+ void setForegroundColor(const gRGB &col);
#ifndef SWIG
protected:
int event(int event, void *data=0, void *data2=0);
@@ -53,6 +54,9 @@ private:
std::multiset<cueEntry> m_cue_entries;
int scale(const pts_t &val);
+
+ int m_have_foreground_color;
+ gRGB m_foreground_color;
#endif
};