From e0e1f800053410ecdbbb0669b67bed7d8e255c55 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@nokia.com> Date: Wed, 14 Apr 2010 09:26:44 +0200 Subject: [PATCH] WelcomeMode: Code polishing. --- src/libs/utils/welcomemodetreewidget.cpp | 9 ++- .../welcome/communitywelcomepagewidget.cpp | 63 ++++++++++++------- 2 files changed, 47 insertions(+), 25 deletions(-) diff --git a/src/libs/utils/welcomemodetreewidget.cpp b/src/libs/utils/welcomemodetreewidget.cpp index 2fa611646e1..f774d24a5ee 100644 --- a/src/libs/utils/welcomemodetreewidget.cpp +++ b/src/libs/utils/welcomemodetreewidget.cpp @@ -106,17 +106,20 @@ QTreeWidgetItem *WelcomeModeTreeWidget::addItem(const QString &label, const QStr if (!toolTip.isEmpty()) wdg->setToolTip(toolTip); return item; - } void WelcomeModeTreeWidget::slotAddNewsItem(const QString &title, const QString &description, const QString &link) { - int itemWidth = width()-header()->sectionSize(0); + const int itemWidth = width()-header()->sectionSize(0); QFont f = font(); QString elidedText = QFontMetrics(f).elidedText(description, Qt::ElideRight, itemWidth); f.setBold(true); QString elidedTitle = QFontMetrics(f).elidedText(title, Qt::ElideRight, itemWidth); - QString data = QString::fromLatin1("<b>%1</b><br /><font color='gray'>%2</font>").arg(elidedTitle).arg(elidedText); + QString data = QLatin1String("<b>"); + data += elidedTitle; + data += QLatin1String("</b><br /><font color='gray'>"); + data += elidedText; + data += QLatin1String("</font>"); addTopLevelItem(addItem(data, link, link)); } diff --git a/src/plugins/welcome/communitywelcomepagewidget.cpp b/src/plugins/welcome/communitywelcomepagewidget.cpp index 517e48be092..a19f778d968 100644 --- a/src/plugins/welcome/communitywelcomepagewidget.cpp +++ b/src/plugins/welcome/communitywelcomepagewidget.cpp @@ -37,8 +37,47 @@ #include <QtGui/QDesktopServices> #include <QtGui/QTreeWidgetItem> +struct Site { + const char *description; + const char *url; +}; + +static const Site supportSites[] = { + { QT_TRANSLATE_NOOP("Welcome::Internal::CommunityWelcomePageWidget", + "<b>Forum Nokia</b><br /><font color='gray'>Mobile Application Support</font>"), + "http://www.forum.nokia.com/I_Want_To/Develop_Mobile_Applications/Technical_Support/"}, + { QT_TRANSLATE_NOOP("Welcome::Internal::CommunityWelcomePageWidget", + "<b>Qt GPL Support</b><br /><font color='gray'>Buy professional Qt support</font>"), + "http://shop.qt.nokia.com/en/support.html"}, + { QT_TRANSLATE_NOOP("Welcome::Internal::CommunityWelcomePageWidget", + "<b>Qt Centre</b><br /><font color='gray'>Community based Qt support</font>"), + "http://www.qtcentre.org" } +}; + +static const Site sites[] = { + { QT_TRANSLATE_NOOP("Welcome::Internal::CommunityWelcomePageWidget", + "<b>Qt Home</b><br /><font color='gray'>Qt by Nokia on the web</font>"), + "http://qt.nokia.com" }, + { QT_TRANSLATE_NOOP("Welcome::Internal::CommunityWelcomePageWidget", + "<b>Qt Git Hosting</b><br /><font color='gray'>Participate in Qt development</font>"), + "http://qt.gitorious.org"}, + { QT_TRANSLATE_NOOP("Welcome::Internal::CommunityWelcomePageWidget", + "<b>Qt Apps</b><br /><font color='gray'>Find free Qt-based apps</font>"), + "http://www.qt-apps.org"} +}; + namespace Welcome { namespace Internal { + +static inline void populateWelcomeTreeWidget(const Site *sites, int count, Utils::WelcomeModeTreeWidget *wt) +{ + for (int s = 0; s < count; s++) { + const QString description = CommunityWelcomePageWidget::tr(sites[s].description); + const QString url = QLatin1String(sites[s].url); + wt->addItem(description, url, url); + } +} + CommunityWelcomePageWidget::CommunityWelcomePageWidget(QWidget *parent) : QWidget(parent), m_rssFetcher(new RSSFetcher(7)), @@ -58,28 +97,8 @@ CommunityWelcomePageWidget::CommunityWelcomePageWidget(QWidget *parent) : //: Add localized feed here only if one exists m_rssFetcher->fetch(QUrl(tr("http://labs.trolltech.com/blogs/feed"))); - QList<QPair<QString, QString> > supportSites; - QList<QPair<QString, QString> > sites; - - supportSites << qMakePair(tr("<b>Forum Nokia</b><br /><font color='gray'>Mobile Application Support</font>"), QString(QLatin1String("http://www.forum.nokia.com/I_Want_To/Develop_Mobile_Applications/Technical_Support/"))); - supportSites << qMakePair(tr("<b>Qt GPL Support</b><br /><font color='gray'>Buy professional Qt support</font>"), QString(QLatin1String("http://shop.qt.nokia.com/en/support.html"))); - supportSites << qMakePair(tr("<b>Qt Centre</b><br /><font color='gray'>Community based Qt support</font>"), QString(QLatin1String("http://www.qtcentre.org"))); - - sites << qMakePair(tr("<b>Qt Home</b><br /><font color='gray'>Qt by Nokia on the web</font>"), QString(QLatin1String("http://qt.nokia.com"))); - sites << qMakePair(tr("<b>Qt Git Hosting</b><br /><font color='gray'>Participate in Qt development</font>"), QString(QLatin1String("http://qt.gitorious.org"))); - sites << qMakePair(tr("<b>Qt Apps</b><br /><font color='gray'>Find free Qt-based apps</font>"), QString(QLatin1String("http://www.qt-apps.org"))); - - QListIterator<QPair<QString, QString> > supportSitesIt(supportSites); - while (supportSitesIt.hasNext()) { - QPair<QString, QString> pair = supportSitesIt.next(); - ui->supportSitesTreeWidget->addItem(pair.first, pair.second, pair.second); - } - - QListIterator<QPair<QString, QString> > sitesIt(sites); - while (sitesIt.hasNext()) { - QPair<QString, QString> pair = sitesIt.next(); - ui->miscSitesTreeWidget->addItem(pair.first, pair.second, pair.second); - } + populateWelcomeTreeWidget(supportSites, sizeof(supportSites)/sizeof(Site), ui->supportSitesTreeWidget); + populateWelcomeTreeWidget(sites, sizeof(sites)/sizeof(Site), ui->miscSitesTreeWidget); } CommunityWelcomePageWidget::~CommunityWelcomePageWidget() -- GitLab