aboutsummaryrefslogtreecommitdiff
path: root/lib/gui
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-11-19 23:58:58 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-11-19 23:58:58 +0000
commitea9231ad7229f47ebf117a3b4894a9e4e7a3c40a (patch)
treec1c41afba1d73b43eca5f21421f150bc3b91be0f /lib/gui
parent03660c34322e7cdb315bd6ed87cecc68d14214c8 (diff)
downloadenigma2-ea9231ad7229f47ebf117a3b4894a9e4e7a3c40a.tar.gz
enigma2-ea9231ad7229f47ebf117a3b4894a9e4e7a3c40a.zip
update scrollbar in timerlist when a entry is removed
Diffstat (limited to 'lib/gui')
-rw-r--r--lib/gui/elistbox.cpp5
-rw-r--r--lib/gui/elistboxcontent.cpp9
-rw-r--r--lib/gui/elistboxcontent.h1
3 files changed, 13 insertions, 2 deletions
diff --git a/lib/gui/elistbox.cpp b/lib/gui/elistbox.cpp
index 383ac42d..73fbff3b 100644
--- a/lib/gui/elistbox.cpp
+++ b/lib/gui/elistbox.cpp
@@ -432,7 +432,10 @@ void eListbox::entryRemoved(int index)
if (index == m_selected && m_content)
m_selected = m_content->cursorGet();
- moveSelection(justCheck);
+ if (m_content && m_content->cursorGet() >= m_content->size())
+ moveSelection(moveUp);
+ else
+ moveSelection(justCheck);
if ((m_top <= index) && (index < (m_top + m_items_per_page)))
{
diff --git a/lib/gui/elistboxcontent.cpp b/lib/gui/elistboxcontent.cpp
index fd7341a9..191bc7e1 100644
--- a/lib/gui/elistboxcontent.cpp
+++ b/lib/gui/elistboxcontent.cpp
@@ -262,7 +262,8 @@ void eListboxPythonStringContent::invalidate()
int s = size();
if ( m_cursor >= s )
m_listbox->moveSelectionTo(s?s-1:0);
- m_listbox->invalidate();
+ else
+ m_listbox->invalidate();
}
}
@@ -1021,3 +1022,9 @@ void eListboxPythonMultiContent::updateClip(gRegion &clip)
else
m_old_clip = m_clip = gRegion::invalidRegion();
}
+
+void eListboxPythonMultiContent::entryRemoved(int idx)
+{
+ if (m_listbox)
+ m_listbox->entryRemoved(idx);
+}
diff --git a/lib/gui/elistboxcontent.h b/lib/gui/elistboxcontent.h
index 118ed302..277899e7 100644
--- a/lib/gui/elistboxcontent.h
+++ b/lib/gui/elistboxcontent.h
@@ -78,6 +78,7 @@ public:
void setItemHeight(int height);
void setSelectionClip(eRect &rect, bool update=false);
void updateClip(gRegion &);
+ void entryRemoved(int idx);
private:
std::map<int, ePtr<gFont> > m_font;
};