Jump to content

Frameworks/Overview

From KDE Community Wiki
Revision as of 14:39, 19 September 2013 by Sebas (talk | contribs) (more descriptions)

This page gives an overview of available libraries and solutions in KDE Frameworks 5.


Tier 1

The frameworks in Tier 1 have Qt as their sole dependency. They do not depend on each other, or on frameworks in other tiers.

ItemModels

The ItemModels framework contains data models on top of QAbstractItemModel that help in common tasks, such as sorting, proxying and filtering.

ItemModels contains useful classes such as a model for checkable or selectable items, recursive filtering and breadcrumb selection.

KArchive

KArchive offers easy packing and unpacking of files.

KArchive comes with support for a number of popular packing codecs, such as Tar, GZip, Zip, 7z and xz and offers a self-contained and easy to use library for archiving files.

kcodecs

KCodecs offers commonly used encoding algorithms, such as base64, uu and quoted-printable specifications.

A wrapper class for the most commonly used encoding and decoding algorithms. Currently there is support for encoding and decoding input using base64, uu and the quoted-printable specifications.

kconfig

The KConfig framework offers functionality around reading and writing configuration.

KConfig consists of two parts, KConfigCore and KConfigGui. KConfigCore offers an abstract API to configuration files. It allows grouping and transparent cascading and (de-)serialization. KConfigGui offers, on top of KConfigCore, shortcuts and configuration for some common cases, such as session and window restoration.

kcoreaddons

KCoreAddons offers many commonly used solutions for caching, ui, job handling, randomization, macros and strings and shell and user handling.

KCoreAddons's KSharedDataCache is a fast, memory-mapped inter-process cache for applications. It can be used for various datatypes and is optimized for fast access. KDirWatch allows to monitor the filesystem for changes, and is essential when writing event-driven code. KJob offers a flexible job-handling API, containing simple and composite jobs, job tracking and UI delegates. KRandom allows to create random number and strings, and to randomize sequences of data. KStringHandler and KMacroExpander allow for flexible text manipulation and contain some convenience API on top of QString. KShell allows for manipulation and parsing of shell commands.

kdbusaddons

kguiaddons

kidletime

kjs

kplotting

kwidgetsaddons

kwindowsystem

solid

sonnet

threadweaver

Tier 2

kauth

kconfig

kcrash

ki18n

knotifications

Tier 3

kunitconversion