if (beforeCurrent && m_size)
{
m_list.insert(m_cursor, service);
- ++m_size;
--m_cursor;
}
else
m_list.push_back(service);
+ ++m_size;
}
void eListboxServiceContent::removeCurrent()
if (m_size && m_listbox)
{
if (m_cursor_number == m_size-1)
+ {
m_list.erase(m_cursor--);
+ --m_cursor_number;
+ }
else
m_list.erase(m_cursor++);
--m_size;
m_root = root;
if (justSet)
+ {
+ m_lst=0;
return;
+ }
assert(m_service_center);
- ePtr<iListableService> lst;
- if (m_service_center->list(m_root, lst))
+ if (m_service_center->list(m_root, m_lst))
eDebug("no list available!");
- else
- if (lst->getContent(m_list))
- eDebug("getContent failed");
+ else if (m_lst->getContent(m_list))
+ eDebug("getContent failed");
FillFinished();
}
void eListboxServiceContent::sort()
{
- ePtr<iListableService> lst;
- if (!m_service_center->list(m_root, lst))
+ if (!m_lst)
+ m_service_center->list(m_root, m_lst);
+ if (m_lst)
{
- m_list.sort(iListableServiceCompare(lst));
+ m_list.sort(iListableServiceCompare(m_lst));
/* FIXME: is this really required or can we somehow keep the current entry? */
cursorHome();
if (m_listbox)
m_listbox->entryChanged(m_cursor_number);
if (!state)
{
- ePtr<iListableService> lst;
- if (m_service_center->list(m_root, lst))
- eDebug("no list available!");
- else
+ if (!m_lst)
+ m_service_center->list(m_root, m_lst);
+ if (m_lst)
{
ePtr<iMutableServiceList> list;
- if (lst->startEdit(list))
+ if (m_lst->startEdit(list))
eDebug("no editable list");
else
{
}
}
}
+ else
+ eDebug("no list available!");
}
}