Projects/KNS2/Handler

From KDE TechBase
Warning
Names are just temporary. Infos can be as well. Please don't trust this page as probably most of the things are going to heavily change during this 1 month developement marathone.


The Handler

This class is meant to provide a non-GUI and class to manage KNS packages. It's meant to be used from application themselves.

It will be able to:

  • Unpack packages
  • Map package files to standard QFiles
  • more...

Proposed API

  • Handler(QString filename) Creates a bundler that operates on the given package. Note that the package needs to be unpacked somewhere first, so operating on a dir is much faster
  • Handler(KUrl dir) Creates a bundler that operates on the given directory.
  • Handler(QString packageName, QString packageVersion) Creates a bundler that operates on the package already installed in the standard way.
  • install() Extracts (installs) the package, and puts the .desktop file in $KDEHOME/services/. See here for more informations.
  • QString author()' Returns a pluginInfo object. You can retrive most of the metadata from it. <- check with KNS::Entry
  • similar methods to retrive all the rest of the metadata, icon included.
  • initLayout() Initializes the layout app-wise. It should be called only once. It will use KStandardDirs::saveLocation() to create needed dirs. See the layout section for more informations.
  • installDesktopFile() Obsoleted by install()?
  • bool isInstalled() True if the package is already installed, false otherwise
  • QFile packageFile() Returns a QFile pointing to the zipped package.
  • QDir packageDir() Returns an (absolute) QDir pointing to the folder of the installed package.
  • ...