[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/work/suse_kickoff_qstyle/kicker/kicker/ui
From: Stephan Binner <binner () kde ! org>
Date: 2006-11-20 11:39:16
Message-ID: 1164022756.389304.8477.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 606410 by binner:
break long help text instead of truncating/blending it
M +34 -5 k_new_mnu.cpp
M +2 -0 k_new_mnu.h
--- branches/work/suse_kickoff_qstyle/kicker/kicker/ui/k_new_mnu.cpp #606409:606410
@@ -2108,6 +2108,27 @@
}
}
+QString KMenu::insertBreaks(const QString& text, QFontMetrics fm, int width, QString \
leadInsert) +{
+ QString result, line;
+ QStringList words = QStringList::split(' ', text);
+
+ for(QStringList::Iterator it = words.begin(); it != words.end(); ++it) {
+ if (fm.width(line+' '+*it) >= width) {
+ if (!result.isEmpty())
+ result = result + '\n';
+ result = result + line;
+ line = leadInsert + *it;
+ }
+ else
+ line = line + ' ' + *it;
+ }
+ if (!result.isEmpty())
+ result = result + '\n';
+
+ return result + line;
+}
+
void KMenu::clearSearchResults(bool showHelp)
{
m_searchResultsWidget->clear();
@@ -2115,17 +2136,25 @@
setTabOrder(m_kcommand, m_searchResultsWidget);
if (showHelp) {
+ const int width = m_searchResultsWidget->width();
+ QFontMetrics fm = m_searchResultsWidget->fontMetrics();
+
QListViewItem* item;
- item = new QListViewItem( m_searchResultsWidget, " " + i18n("- Add \
ext:type to specify a file extension.") ); + item = new QListViewItem( \
m_searchResultsWidget, insertBreaks(i18n("- Add ext:type to specify a file \
extension."), fm, width, " ") ); item->setSelectable(false);
- item = new QListViewItem( m_searchResultsWidget, " " + i18n("- When \
searching for a phrase, add quotes.") ); + item->setMultiLinesEnabled(true);
+ item = new QListViewItem( m_searchResultsWidget, insertBreaks(i18n("- When \
searching for a phrase, add quotes."), fm, width, " " ) ); \
item->setSelectable(false);
- item = new QListViewItem( m_searchResultsWidget, " " + i18n("- To exclude \
search terms, use the minus symbol in front.") ); + \
item->setMultiLinesEnabled(true); + item = new QListViewItem( \
m_searchResultsWidget, insertBreaks(i18n("- To exclude search terms, use the minus \
symbol in front."), fm, width, " " ) ); item->setSelectable(false);
- item = new QListViewItem( m_searchResultsWidget, " " + i18n("- To search \
for optional terms, use OR.") ); + item->setMultiLinesEnabled(true);
+ item = new QListViewItem( m_searchResultsWidget, insertBreaks(i18n("- To \
search for optional terms, use OR."), fm, width, " ") ); \
item->setSelectable(false);
- item = new QListViewItem( m_searchResultsWidget, " " + i18n("- You can use \
upper and lower case.") ); + item->setMultiLinesEnabled(true);
+ item = new QListViewItem( m_searchResultsWidget, insertBreaks(i18n("- You \
can use upper and lower case."), fm, width, " ") ); item->setSelectable(false);
+ item->setMultiLinesEnabled(true);
item = new QListViewItem( m_searchResultsWidget, i18n("Search Quick Tips"));
item->setSelectable(false);
}
--- branches/work/suse_kickoff_qstyle/kicker/kicker/ui/k_new_mnu.h #606409:606410
@@ -332,6 +332,8 @@
void resetOverflowCategory();
void fillOverflowCategory();
+
+ QString insertBreaks(const QString& text, QFontMetrics fm, int width, QString \
leadInsert = QString::null); };
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic