KubuntuLaunchpadIntegration

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/<release>/+sources/<package>/+gethelp

and "Translate this Application" which goes to

https://launchpad.net/distros/ubuntu/<release>/+sources/<package>/+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

KubuntuLaunchpadIntegration (last edited 2008-08-06 16:39:15 by localhost)