Frameworks/Epics/KDEUI Crumble

From KDE Community Wiki

KDEUI Crumble

This page is the battle plan to finally get rid of KDEUI in kdelibs/frameworks. It lists the header name of all the classes in kdeui, they are sorted in sections per new destination for them.

Each section tries to also provide simple indications of the contraints to follow during the move (mostly about dependencies). If a class is not fitting one of the constraints, it is part of the job to first reduce the dependencies of the class to fit the contraints prior to the move. If you are too blocked to carry on, please add a note for the class.

The sections are roughly sorted by order of difficulty. The classes in the first sections should be reasonably easy to move, while the ones in the last sections are more challenging.

Tip: you can use http://lxr.kde.org/ to find out where in KDE the class is used.

KDE4Support

Points to verify before moving the class in KDE4Support:

  • Make sure the class is used only in kde4support itself or kde4attic but not anywhere else in kdelibs
  • Don't forget to change the export in the moved header
  • Add API doc in the header file about it being deprecated and indicate how to port
  • Look at the bug reports for the component


Status Description Notes Contact
DONE ./fonts/kfontdialog.h deprecated for QFontDialog Review 110351 <[email protected]>
DONE ./fonts/kfontcombobox.h deprecated for QFontComboBox Review 110456 <[email protected]>
DONE ./dialogs/kinputdialog.h deprecated for QInputDialog Review 110874 <[email protected]>
DONE ./widgets/keditlistbox.h deprecated for KEditListWidget Review 110464 <[email protected]>
DONE ./widgets/kstringvalidator.h only the zombie kfilemetainfowidget uses it Review 110997 - Moving both kstringvalidator and kfilemetainfowidget to kde4support <[email protected]>
DONE ./widgets/ktabbar.h deprecated for QTabBar Review 110460 <[email protected]>
DONE ./widgets/ktabwidget.h deprecated for QTabWidget ... <[email protected]>
DONE ./widgets/kbuttongroup.h Use real QGroupBox and QButtonGroup instances please, kthxbye Review 110478 <[email protected]>
DONE ./widgets/knuminput.h Use real QSpinBox Review 110418 <[email protected]>
DONE ./widgets/ktextbrowser.h deprecated for QTextBrowser Review 110437 <[email protected]>
DONE ./util/kpixmapcache.h deprecated for KImageCache or KSharedDataCache Review 110500 <[email protected]>
DONE ./util/kaccelgen.h Review 110540 <[email protected]>

KDE4Attic

Points to verify before moving the class in KDE4Attic [[1]]:

  • Make sure the class is not used anywhere in kdelibs anymore


Status Description Notes Contact
DONE ./widgets/kdatetimeedit.h Review 110415 <[email protected]>
DONE ./widgets/kdatepicker.h used in security/crypto/kdatetimedlg.cpp (but it's not built) <[email protected]>
DONE ./widgets/kdatetable.h used by kdatepicker <[email protected]>
DONE ./widgets/kmultitabbar.h: used by kate, digikam, kexi --- but could use a cleanup, see e.g. KDEV3ICON... Review 110939 <[email protected]>
DONE ./widgets/kdatecombobox.h Review 110447 <[email protected]>
DONE ./widgets/ktimezonewidget.h Review 110451 <[email protected]>
DONE ./widgets/kdatetimewidget.h Review 110457 <[email protected]>
DONE ./widgets/kcharselect.h: can soon go into kwidgetsaddons (needs clear button in QLineEdit) Review 110942 <[email protected]>
DONE ./widgets/kdatewidget.h Review 110622 <[email protected]>
DONE ./widgets/ktimecombobox.h Review 110477 <[email protected]>
DONE ./dialogs/kdeprintdialog.h (should be done by Qt, kcups* goes with it) Review 110907 <[email protected]>
TODO ./util/kpassivepopupmessagehandler.h: only user is kde-runtime/knotify. Move it there? ... <[email protected]>
IN PROGRESS ./shortcuts/kgesture.h use #if 0 for the code in xmlgui (KShortcutsEditor) that uses KGesture (it's already hidden from the user anyway) <[email protected]>
TODO ./shortcuts/kgesturemap.h: needs polish before it can be resurrected used by KShortcutsEditor and staging/kde4support/src/kdeui/kaction <[email protected]>

KGuiAddons

Points to verify before moving a class in KGuiAddons:

  • It depends only on QtGui or QtCore, eventually QX11Info
Status Description Notes Contact
TODO ./util/kmodifierkeyinfo.h also kmodifierkeyinfoprovider_p.h <[email protected]>
DONE ./fonts/kfontutils.h 110646 <[email protected]>
TODO ./util/kimagecache.h but but but... KsharedDataCache is in kcoreaddons :-/ (tough problem) ... <[email protected]>

KWidgetsAddons

Points to verify before moving a class in KWidgetsAddons:

  • It depends only on QtWidgets, QtGui or QtCore
  • It can depend on other classes in KWidgetsAddons, but that should be kept minimal


Status Description Notes Contact
DONE ./fonts/kfontrequester.h ... <[email protected]>
IN PROGRESS ./dialogs/kassistantdialog.h ... <[email protected]>
IN PROGRESS ./dialogs/knewpassworddialog.h ... <[email protected]>
DONE ./dialogs/kpassworddialog.h https://git.reviewboard.kde.org/r/110643/ <[email protected]>
DONE ./dialogs/kpixmapregionselectordialog.h https://git.reviewboard.kde.org/r/110847/ <[email protected]>
DONE ./widgets/kpixmapregionselectorwidget.h https://git.reviewboard.kde.org/r/110847/ <[email protected]>
DONE ./widgets/ktitlewidget.h commit 44da8fea214dc41243c6aed9caa32e0cda7d3027 <[email protected]>
DONE ./widgets/kratingwidget.h https://git.reviewboard.kde.org/r/110826/ <[email protected]>
DONE ./widgets/kratingpainter.h https://git.reviewboard.kde.org/r/110826/ <[email protected]>
TODO ./widgets/kmessagewidget.h (Needs to get rid of K* using fixed default colors, Qstyle :styleHint and Qstyle :standardPixmap) ... <[email protected]>
DONE ./widgets/keditlistwidget.h https://git.reviewboard.kde.org/r/110825/ <[email protected]>
DONE ./widgets/kactionselector.h https://git.reviewboard.kde.org/r/110820/ <[email protected]>
DONE ./util/kpassivepopup.h https://git.reviewboard.kde.org/r/110815/ <[email protected]>
DONE ./util/kcursor.h https://git.reviewboard.kde.org/r/110827/ <[email protected]>
DONE ./paged/kpagewidget.h https://git.reviewboard.kde.org/r/110997/ (got in kwidgets by mistake) <[email protected]>
DONE ./paged/kpagedialog.h https://git.reviewboard.kde.org/r/110997/ (got in kwidgets by mistake) <[email protected]>
DONE ./paged/kpageview.h https://git.reviewboard.kde.org/r/110997/ (got in kwidgets by mistake) <[email protected]>
DONE ./paged/kpagemodel.h https://git.reviewboard.kde.org/r/110997/ (got in kwidgets by mistake) <[email protected]>
DONE ./paged/kpagewidgetmodel.h https://git.reviewboard.kde.org/r/110997 (got in kwidgets by mistake)/ <[email protected]>
TODO ./shortcuts/kacceleratormanager.h the list of translated texts from standard actions will have to be set by the first KStandardAction being constructed ... <[email protected]>
TODO ./colors/kcolorbutton.h minor duplication of KcolorMimeData though ... <[email protected]>
DONE ./colors/kcolorcombo.h http://git.reviewboard.kde.org/r/110838/ <[email protected]>
DONE ./actions/kactionmenu.h https://git.reviewboard.kde.org/r/110963 <[email protected]>
DONE ./actions/ktoolbarlabelaction.h https://git.reviewboard.kde.org/r/110974/ <[email protected]>
DONE ./actions/ktoolbarpopupaction.h https://git.reviewboard.kde.org/r/110983/ <[email protected]>
DONE ./actions/ktoolbarspaceraction.h Review 110674 <[email protected]>


KWindowSystem

Points to verify before moving a class in KWindowSystem:

  • It depends only on QtWidgets, QtGui or QtCore
  • It can depend on other classes in KWindowSystem, but that should be kept minimal


Status Description Notes Contact
DONE ./util/kkeyserver_x11.h https://git.reviewboard.kde.org/r/111028/ <[email protected]>
DONE ./util/kkeyserver_win.h https://git.reviewboard.kde.org/r/111028/ <[email protected]>
DONE ./util/kkeyserver_mac.h https://git.reviewboard.kde.org/r/111028/ <[email protected]>
DONE ./util/kkeyserver.h https://git.reviewboard.kde.org/r/111028/ <[email protected]>
DONE ./util/kxerrorhandler.h https://git.reviewboard.kde.org/r/111086/ <[email protected]>

KWidgets

Points to verify before moving a class in KWidgets:

  • It doesn't use anything aimed at KCompletion (e.g. KLineEdit or KComboBox)
  • It doesn't use anything aimed at ItemViews
  • It doesn't use anything from kdecore
  • Using things from tier1 is fine
  • Using things from tier2 is forbidden


Status Description Notes Contact
IN PROGRESS ./dialogs/ktip.h https://git.reviewboard.kde.org/r/111170/ <[email protected]>
IN PROGRESS ./widgets/klanguagebutton.h used in kdeui/dialogs/kswitchlanguagedialog_p.cpp, which is used by kdeui/widgets/khelpmenu.cpp <[email protected]>

ItemViews

Points to verify before moving a class in ItemViews:

  • It doesn't use anything aimed at KCompletion (e.g. KLineEdit or KComboBox)
  • It doesn't use ki18n
  • It doesn't use anything from kdecore
  • It doesn't use anything from kwidgets
  • Using things from tier1 is fine


Status Description Notes Contact
DONE ./itemviews/kcategorizedview.h Review: 110837, 110845 <[email protected]>
DONE ./itemviews/klistwidgetsearchline.h (port away from KlineEdit and i18n) Review: 110837, 110845 <[email protected]>
DONE ./itemviews/ktreewidgetsearchline.h (port away from KlineEdit and i18n) Review: 110837, 110845 <[email protected]>
DONE ./itemviews/kwidgetitemdelegate.h Review: 110837, 110845 <[email protected]>
DONE ./itemviews/kfilterproxysearchline.h (port away from KlineEdit and i18n) Review: 110837, 110845 <[email protected]>
DONE ./itemviews/kcategorydrawer.h Review: 110837, 110845 <[email protected]>
IN PROGRESS ./itemviews/kcategorizedsortfilterproxymodel.h Review: 110837, 110845

Need port away form KStringHandler (see Qt contributions)

<[email protected]>

KCompletion

Points to verify before moving a class in KCompletion:

  • It doesn't use anything from kwidgets
  • It doesn't use anything from kdecore
  • It doesn't use anything from kdeui
  • Using things from tier1 is fine


Status Description Notes Contact
IN PROGRESS ./widgets/khistorycombobox.h Needs KComboBox to be moved first <[email protected]>
IN PROGRESS ./widgets/kcombobox.h Needs KCompletionBox to be moved first <[email protected]>
IN PROGRESS ./widgets/klineedit.h ... <[email protected]>
IN PROGRESS ./widgets/kcompletionbox.h ... <[email protected]>
DONE ./util/kcompletion.h move ksortablelist.h with it ... <[email protected]>

KConfigWidgets

Points to verify before moving a class in KConfigWidgets:

  • It uses only classes from kconfigcore, kconfigui or kwidgetsaddons


Status Description Notes Contact
IN PROGRESS ./dialogs/kconfigdialogmanager.h old unit test crashes on load! <[email protected]>
TODO ./dialogs/kconfigdialog.h ... <[email protected]>
TODO ./widgets/kcmodule.h ... <[email protected]>
DONE ./itemviews/kviewstatesaver.h Review: 111002 <[email protected]>
DONE ./itemviews/kviewstatemaintainer.h Review: 111002 <[email protected]>

KCrash

Important: At time of writing the KCrash framework doesn't exist yet in staging, the person picking the first move task here would have to do that.

Points to verify before moving a class in KCrash:

  • It uses only classes from kcoreaddons or kwindowsystem


Status Description Notes Contact
IN PROGRESS ./util/kcrash.h ... <[email protected]>

KIconThemes

Points to verify before moving a class in KIconThemes:

  • It uses only classes from tier1 or tier2
  • It uses nothing from kdeui or kdecore


Status Description Notes Contact
DONE ./util/kpixmapsequencewidget.h Review 110733 <[email protected]>
DONE ./util/kpixmapsequenceoverlaypainter.h Review 110733 <[email protected]>
DONE ./util/kpixmapsequence.h Review 110733 <[email protected]>
IN PROGRESS ./icons/kiconbutton.h https://git.reviewboard.kde.org/r/111175/ <[email protected]>
IN PROGRESS ./icons/kicondialog.h https://git.reviewboard.kde.org/r/111175/ <[email protected]>

KJobWidgets

Points to verify before moving a class in KJobWidgets:

  • It uses only classes from Qt, kcoreaddons or kwidgetsaddons


Status Description Notes Contact
DONE ./jobs/kwidgetjobtracker.h Review: 110995 <[email protected]>
DONE ./jobs/kabstractwidgetjobtracker.h Review: 110995 <[email protected]>
DONE ./jobs/kdialogjobuidelegate.h Review: 110995 <[email protected]>
DONE ./jobs/kstatusbarjobtracker.h Review: 110995 <[email protected]>

KNotifications

Points to verify before moving a class in KNotifications:

  • It uses only classes from KWindowSystem, QtWidgets, QtDBus


Status Description Notes Contact
IN PROGRESS ./notifications/kstatusnotifieritem.h ... <[email protected]>
IN PROGRESS ./notifications/knotificationrestrictions.h ... <[email protected]>

KWallet

Important: At time of writing the KWallet framework doesn't exist yet in staging, the person picking the first move task here would have to do that.

Points to verify before moving a class in KWallet:

  • It uses only classes from kconfigcore, kconfigui or kwindowsystem


Status Description Notes Contact
DONE ./util/kwallet.h Review 111105 <[email protected]>

XmlGui

Points to verify before moving a class in XmlGui:

  • It uses only classes from tier1 or tier2
  • It uses nothing from kdeui or kdecore


Status Description Notes Contact
IN PROGRESS ./dialogs/kaboutapplicationdialog.h (probably difficult) ... <[email protected]>
IN PROGRESS ./dialogs/kbugreport.h ... <[email protected]>
IN PROGRESS ./widgets/khelpmenu.h <[email protected]>
IN PROGRESS ./dialogs/kshortcutseditor.h ... <[email protected]>
IN PROGRESS ./dialogs/kshortcutsdialog.h ... <[email protected]>
IN PROGRESS ./dialogs/kedittoolbar.h ... <[email protected]>
IN PROGRESS ./widgets/kshortcutwidget.h ... <[email protected]>
IN PROGRESS ./widgets/kkeysequencewidget.h ... <[email protected]>
TODO ./util/kundoactions.h Depends on kactioncollection <[email protected]>
IN PROGRESS ./kdepackages.h (goes with kbugreport) ... <[email protected]>
IN PROGRESS ./xmlgui/kxmlguiclient.h ... <[email protected]>
IN PROGRESS ./xmlgui/kxmlguiwindow.h ... <[email protected]>
IN PROGRESS ./xmlgui/kxmlguifactory.h ... <[email protected]>
IN PROGRESS ./xmlgui/kmainwindow.h ... <[email protected]>
IN PROGRESS ./xmlgui/kxmlguibuilder.h ... <[email protected]>
IN PROGRESS ./xmlgui/ktoolbar.h ... <[email protected]>
TODO ./shortcuts/kcheckaccelerators.h Depends on kactioncollection <[email protected]>
IN PROGRESS ./actions/kactioncollection.h ... <[email protected]>
IN PROGRESS ./actions/ktoggletoolbaraction.h ... <[email protected]>
IN PROGRESS ./actions/kactioncategory.h ... <[email protected]>

KTextWidgets

Important: At time of writing the KTextWidgets framework doesn't exist yet in staging, the person picking the first move task here would have to do that.

Points to verify before moving a class in KTextWidgets:

  • It uses only classes from tier1 or tier2
  • It uses nothing from kdeui or kdecore


Status Description Notes Contact
IN PROGRESS ./findreplace/kfinddialog.h ... <[email protected]>
IN PROGRESS ./findreplace/kreplacedialog.h ... <[email protected]>
IN PROGRESS ./findreplace/kfind.h ... <[email protected]>
IN PROGRESS ./findreplace/kreplace.h ... <[email protected]>
TODO ./widgets/krichtextwidget.h ... <[email protected]>
TODO ./widgets/nestedlisthelper.h (goes with krichtextedit) ... <[email protected]>
IN PROGRESS ./widgets/ktextedit.h ... <[email protected]>
TODO ./widgets/krichtextedit.h ... <[email protected]>
TODO ./dialogs/klinkdialog.h It's not exported, but needed for KRichTextEdit <[email protected]>