diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-12-11 20:21:27 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-12-11 20:21:27 +0000 |
commit | 10e41144596fc9ced40fc349d9ecd099b1c2ea19 (patch) | |
tree | 88ab04e475ff5a4cd889cb082f5760b6e0bf5e4e /konqueror/about/konq_aboutpage.cc | |
parent | 4aed2c8219774f5d797760606b8489a92ddc5163 (diff) | |
download | tdebase-10e41144596fc9ced40fc349d9ecd099b1c2ea19.tar.gz tdebase-10e41144596fc9ced40fc349d9ecd099b1c2ea19.zip |
Initial import of Trinity 3.5.11 to kdebase
Extends krandrtray, adds iccconfig kcontrol module, adds run dialog autocomplete and lots of bugfixes
Will need to check for commit warnings and repair as encountered
Also needs full compile test
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1061475 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'konqueror/about/konq_aboutpage.cc')
-rw-r--r-- | konqueror/about/konq_aboutpage.cc | 54 |
1 files changed, 47 insertions, 7 deletions
diff --git a/konqueror/about/konq_aboutpage.cc b/konqueror/about/konq_aboutpage.cc index 03da9a060..8a5385697 100644 --- a/konqueror/about/konq_aboutpage.cc +++ b/konqueror/about/konq_aboutpage.cc @@ -11,6 +11,9 @@ #include <kstandarddirs.h> #include <kaction.h> #include <kiconloader.h> +#include <kurifilter.h> +#include <ktrader.h> +#include <kconfig.h> #include <assert.h> #include <qfile.h> @@ -85,8 +88,11 @@ QString KonqAboutPageFactory::loadFile( const QString& file ) QString KonqAboutPageFactory::launch() { + // FIXME: only regenerate launch page if kuriikwsfilterrc changed. + /* if ( s_launch_html ) return *s_launch_html; + */ QString res = loadFile( locate( "data", "konqueror/about/launch.html" )); if ( res.isEmpty() ) @@ -100,6 +106,7 @@ QString KonqAboutPageFactory::launch() QString wastebin_icon_path = iconloader->iconPath("trashcan_full", KIcon::Desktop ); QString applications_icon_path = iconloader->iconPath("kmenu", KIcon::Desktop ); QString settings_icon_path = iconloader->iconPath("kcontrol", KIcon::Desktop ); + QString help_icon_path = iconloader->iconPath("khelpcenter", KIcon::Desktop ); QString home_folder = QDir::homeDirPath(); QString continue_icon_path = QApplication::reverseLayout()?iconloader->iconPath("1leftarrow", KIcon::Small ):iconloader->iconPath("1rightarrow", KIcon::Small ); @@ -109,6 +116,26 @@ QString KonqAboutPageFactory::launch() else res = res.arg( "" ); + // Try to split page in three. If it succeeds, insert the default search into the middle part. + QStringList parts = QStringList::split( "<!--search bar splitter-->", res ); + if ( parts.count() == 3 ) { + KConfig config( "kuriikwsfilterrc", true /*read-only*/, false /*no KDE globals*/ ); + config.setGroup( "General" ); + QString name = config.readEntry("DefaultSearchEngine"); + KService::Ptr service = + KService::serviceByDesktopPath(QString("searchproviders/%1.desktop").arg(name)); + if ( service ) { + QString searchBar = parts[1]; + searchBar = searchBar + .arg( iconSize ).arg( iconSize ) + .arg( service->name() ) + .arg( service->property("Keys").toStringList()[0] ) + ; + res = parts[0] + searchBar + parts[2]; + } + else res = parts[0] + parts[2]; + } + res = res.arg( i18n("Conquer your Desktop!") ) .arg( i18n( "Konqueror" ) ) .arg( i18n("Conquer your Desktop!") ) @@ -139,10 +166,10 @@ QString KonqAboutPageFactory::launch() .arg(iconSize).arg(iconSize) .arg( i18n( "Applications" ) ) .arg( i18n( "Installed programs" ) ) - .arg( settings_icon_path ) + .arg( help_icon_path ) .arg(iconSize).arg(iconSize) - .arg( i18n( "Settings" ) ) - .arg( i18n( "Desktop configuration" ) ) + .arg( i18n( "About Kubuntu" ) ) + .arg( i18n( "<a href=\"help:/kubuntu/\">Kubuntu Documentation</a>" ) ) .arg( continue_icon_path ) .arg( KIcon::SizeSmall ).arg( KIcon::SizeSmall ) .arg( i18n( "Next: An Introduction to Konqueror" ) ) @@ -422,10 +449,23 @@ KonqAboutPage::~KonqAboutPage() bool KonqAboutPage::openURL( const KURL &u ) { - if (u.url() == "about:plugins") - serve( KonqAboutPageFactory::plugins(), "plugins" ); - else serve( KonqAboutPageFactory::launch(), "konqueror" ); - return true; + kdDebug(1202) << "now in KonqAboutPage::openURL( \"" << u.url() << "\" )" << endl; + if ( u.url() == "about:plugins" ) + serve( KonqAboutPageFactory::plugins(), "plugins" ); + else if ( !u.query().isEmpty() ) { + QMap< QString, QString > queryItems = u.queryItems( 0 ); + QMap< QString, QString >::ConstIterator query = queryItems.begin(); + QString newUrl; + if (query.key() == "strigi") { + newUrl = KURIFilter::self()->filteredURI( query.key() + ":?q=" + query.data() ); + } else { + newUrl = KURIFilter::self()->filteredURI( query.key() + ":" + query.data() ); + } + kdDebug(1202) << "scheduleRedirection( 0, \"" << newUrl << "\" )" << endl; + scheduleRedirection( 0, newUrl ); + } + else serve( KonqAboutPageFactory::launch(), "konqueror" ); + return true; } bool KonqAboutPage::openFile() |