##(see the SpecSpec for an explanation) * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/kubuntu-launchpad-integration * '''Created''': 6/6/06 by JonathanRiddell * '''Contributors''': JonathanRiddell, SivanGreen * '''Packages affected''': kdelibs, Qt apps in main, launchpad-integration == Summary == Include Launchpad Integration in Kubuntu programs. == Rationale == Ubuntu has Launchpad integration in most of its Gnome programmes. This adds menu items "Get Help Online" and "Translate this Application" which takes the user to a Launchpad page with links to support and help. We should include this in Kubuntu's KDE programmes. The Gnome spec is at https://wiki.kubuntu.org/UbuntuDownUnder/BOFs/LaunchpadIntegration == Use cases == Maisie wants to know where to get support for Kontact, a Help menu item would show her where to find it. Daniel is browing around the Kubuntu applications and notices a menu item "Translate this application", this takes him to a Launchpad page for translating the application in Rosetta and becomes a keen translator. == Scope == Add "Get Help Online" and "Translate this Application" to any application that uses kdelibs and all other Qt applications in main. == Design == KDE includes a standard Help menu in every application provided by the kdeui library, this means we only have to patch one place and can avoid having to patch every application. The patch will add a menu item "Get Help Online" that goes to https://launchpad.net/distros/ubuntu//+sources//+gethelp and "Translate this Application" which goes to https://launchpad.net/distros/ubuntu//+sources//+translate == Implementation == The python script `launchpad-integration` is used to find the package name for a running application. KDE programmes are usually run from kdeinit and ''launchpad-integration --pid'' picks up kdeinit so instead we will use ''--file'' and find the full path of the application using KStandardDirs. All KDE applications know their binary name in the KApplication static class. The change needs to be made to the kdeui library in kdelibs. ''launchpad-integration'' needs to be modified to have a KDE option. A ''--kde'' command line switch will be added which runs the URL from ''kfmexec'' instead of ''gnome-open''. When "Translate this Application" is run from e.g. Konqueror the command used will be ''launchpad-integration --kde --file /usr/bin/konqueror --translate''. Qt only apps will need to be patched individually. Qt apps to patch: * scribus * speedcrunch * qtparted * qtdesigner * gambas * psi