Diffstat (limited to 'core/settings/button/buttonutils.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/settings/button/buttonutils.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/core/settings/button/buttonutils.cpp b/core/settings/button/buttonutils.cpp index bb70047..91d2af3 100644 --- a/core/settings/button/buttonutils.cpp +++ b/core/settings/button/buttonutils.cpp @@ -80,40 +80,48 @@ qCopInfo ButtonUtils::messageToInfo ( const OQCopMessage &c ) app = applnk-> name ( ); if (( f == "raise()" ) || ( f == "nextView()" )) return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Show <b>%1</b></nobr>" ). arg ( app ), applnk ? applnk-> pixmap ( ) : QPixmap ( )); else return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Call <b>%1</b>: <i>%2</i></nobr>" ). arg ( app ). arg ( f ), applnk ? applnk-> pixmap ( ) : QPixmap ( )); } else { return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Call <b>%1</b> <i>%2</i></nobr>" ). arg (( ch. left ( 4 ) == "QPE/" ) ? ch. mid ( 4 ) : ch ). arg ( f )); } } void ButtonUtils::insertActions ( QListViewItem *here ) { for ( const predef_qcop *p = predef; p-> m_text; p++ ) { QListViewItem *item = new QListViewItem ( here, qApp-> translate ( "ButtonSettings", p-> m_text ), p-> m_channel, p-> m_function ); item-> setPixmap ( 0, Resource::loadPixmap ( p-> m_pixmap )); } } void ButtonUtils::insertAppLnks ( QListViewItem *here ) { - QStringList types = m_apps-> types ( ); + QStringList types = m_apps-> types ( ); + QListViewItem *typeitem [types. count ( )]; + int i = 0; for ( QStringList::Iterator it = types. begin ( ); it != types. end ( ); ++it ) { QListViewItem *item = new QListViewItem ( here, m_apps-> typeName ( *it )); item-> setPixmap ( 0, m_apps-> typePixmap ( *it )); - - for ( QListIterator <AppLnk> appit ( m_apps-> children ( )); *appit; ++appit ) { - AppLnk *l = *appit; - + + typeitem [i++] = item; + } + + for ( QListIterator <AppLnk> appit ( m_apps-> children ( )); *appit; ++appit ) { + AppLnk *l = *appit; + + int i = 0; + for ( QStringList::Iterator it = types. begin ( ); it != types. end ( ); ++it ) { if ( l-> type ( ) == *it ) { - QListViewItem *sub = new QListViewItem ( item, l-> name ( ), QString ( "QPE/Application/" ) + l-> exec ( ), "raise()" ); + QListViewItem *sub = new QListViewItem ( typeitem [i], l-> name ( ), QString ( "QPE/Application/" ) + l-> exec ( ), "raise()" ); sub-> setPixmap ( 0, l-> pixmap ( )); } - } + i++; + } } } |