KDE Frameworks 5 David Faure 28/06/2012 | Tallinn | Akademy Be - - PowerPoint PPT Presentation

kde frameworks 5
SMART_READER_LITE
LIVE PREVIEW

KDE Frameworks 5 David Faure 28/06/2012 | Tallinn | Akademy Be - - PowerPoint PPT Presentation

KDE Frameworks 5 David Faure 28/06/2012 | Tallinn | Akademy Be Free. KDE About me David Faure 1999-2010: KFM, KIO, KParts, KHTML, Konqueror, KOffice, kdelibs ... 2011-2012: KDE Frameworks 5 Sponsored by Nokia to work on KDE - until now Be


slide-1
SLIDE 1

Be Free. KDE

KDE Frameworks 5

David Faure

28/06/2012 | Tallinn | Akademy

slide-2
SLIDE 2

2/15 Be Free. KDE

About me

David Faure 1999-2010: KFM, KIO, KParts, KHTML, Konqueror, KOffice, kdelibs ... 2011-2012: KDE Frameworks 5 Sponsored by Nokia to work on KDE - until now

slide-3
SLIDE 3

3/15 Be Free. KDE

Available in Qt 5.0

New: QStandardPaths (replaces KStandardDirs) New: QTemporaryDir (replaces KTempDir) New: QMimeType (replaces KMimeType) New: QEventLoopLocker (replaces KGlobal::ref/deref)

slide-4
SLIDE 4

4/15 Be Free. KDE

Available in Qt 5.0 (part 2)

Improved: QTemporaryFile (replaces KTemporaryFile) Improved: QMimeData (replaces KUrl mimedata support) Improved: qDebug (output, first steps for categories) Finally working: QUrl (replaces KUrl)

slide-5
SLIDE 5

5/15 Be Free. KDE

Planned for Qt-5.1

QtCore Command-line arguments Global statics Safe file saving File locking URL path manipulation Locale and date/time (calendar support)

slide-6
SLIDE 6

6/15 Be Free. KDE

Planned for Qt-5.1

QtWidgets QLineEdit: clear button, text squeezing, URL drops QTextEdit: placeholder text QMenu: titles, keyboard navigation QLabel: text squeezing QPushButton: delayed menu etc.

slide-7
SLIDE 7

7/15 Be Free. KDE

No more sycoca

Mimetypes: on-disk caches generated Protocol files: read directly, on demand App desktop files: on-disk cache in progress App/mime user associations: mime.apps file KDE services: to be switched to new Qt plugin framework TODO: K menu (vfolder spec)

slide-8
SLIDE 8

8/15 Be Free. KDE

No more global KComponentData

Application name: QCoreApplication (config file, temp files, etc.) User-visible name: QApplication::setApplicationDisplayName()

slide-9
SLIDE 9

9/15 Be Free. KDE

No more KApplication

DBus registration: KDBusService Native event filtering (X11) -> QCoreApplication Session management -> TODO in QPA

slide-10
SLIDE 10

10/15 Be Free. KDE

No more KToolInvocation

(almost) invokeBrowser, invokeMailer => QDesktopServices::openUrl startServiceBy => DBus autolaunch invokeHelp, invokeTerminal => Keep? Tier4 "KDE consistency" framework No standard solution for help...

slide-11
SLIDE 11

11 /15 Be Free. KDE

No more KGlobal

KGlobal::config() => KSharedConfig::openConfig() KGlobal::dirs() => QStandardPaths:: KGlobal::locale() => QLocale()

slide-12
SLIDE 12

12 /15 Be Free. KDE

Available frameworks (1)

karchive solid threadweaver kcoreaddons (jobs, autosave, backup, cache) kguiaddons (icon loading, color utils...) kwidgetsaddons (additional widgets) kdbusaddons (KDBusService, ...) itemmodels kidletime

slide-13
SLIDE 13

13 /15 Be Free. KDE

Available frameworks (2)

kconfig (uses kcoreaddons for locking) kauth (uses kcoreaddons for jobs) sonnet kde4support

slide-14
SLIDE 14

14 /15 Be Free. KDE

Planned frameworks

  • i18n
  • xmlgui
  • notifications
  • bookmarks
  • KIO (core + widgets)
  • kparts
  • "KDE consistency"
  • plasma

...

slide-15
SLIDE 15

Be Free. KDE

Still much to do! Goal: No technical distinction between a "pure Qt" application and a KDE application. All apps are Qt apps, possibly using some frameworks on top.

Conclusion