Frameworks/Epics/Reduce class duplication: Difference between revisions

From KDE Community Wiki
(Created page with "= Reducing class duplication with Qt = Some of the splitting for kdelibs are easily blocked by classes mentionned here. The goal of this epic, is to determine for each class wha...")
 
(started)
Line 14: Line 14:
!  width=250 | Comment
!  width=250 | Comment
|-
|-
{{FeatureTodo|KApplication : public QApplication|??}}
{{FeatureTodo|KApplication : public QApplication|kde4support}}


{{FeatureTodo|KComboBox : public QComboBox, public KCompletionBase|??}}
{{FeatureTodo|KComboBox : public QComboBox, public KCompletionBase|major features on top of Qt (completion), plus lots of small API things that should go into QComboBox (contains, ...)}}


{{FeatureTodo|KCursor : public QCursor|??}}
{{FeatureTodo|KLineEdit : public QLineEdit, public KCompletionBase|major features on top of Qt (completion), plus lots of small API or behaviors that should go into QLineEdit (dropping URLs). TODO: deprecate clickMessage, by applying https://git.reviewboard.kde.org/r/101360/diff/#index_header and porting kdelibs}}


{{FeatureTodo|KDialog : public QDialog|??}}
{{FeatureTodo|KDialog : public QDialog|??}}
Line 31: Line 31:


{{FeatureTodo|KLibrary : public QLibrary|??}}
{{FeatureTodo|KLibrary : public QLibrary|??}}
{{FeatureTodo|KLineEdit : public QLineEdit, public KCompletionBase|??}}


{{FeatureTodo|KListWidget : public QListWidget|??}}
{{FeatureTodo|KListWidget : public QListWidget|??}}

Revision as of 08:35, 28 April 2012

Reducing class duplication with Qt

Some of the splitting for kdelibs are easily blocked by classes mentionned here. The goal of this epic, is to determine for each class what it will become. Possible solutions are:

  • go straight in hel^Wkde4support if it is obsoleted completely by a class in Qt;
  • have it's features ported to the corresponding class in Qt 5, then moved to kde4support (in which case a corresponding task has to be opened in one of the Qt 5 epics;
  • if it provides a valid feature on its own on top of Qt (real novelty, not just some addon cramed into a subclass), decide on which framework it goes to;
  • if it's purely about integration among KDE applications, go straight to the upcoming kde "consistency" framework (Tier 4).


Status Description Comment
TO DO KApplication : public QApplication kde4support <{{{3}}}>


TO DO KComboBox : public QComboBox, public KCompletionBase major features on top of Qt (completion), plus lots of small API things that should go into QComboBox (contains, ...) <{{{3}}}>


TO DO KLineEdit : public QLineEdit, public KCompletionBase major features on top of Qt (completion), plus lots of small API or behaviors that should go into QLineEdit (dropping URLs). TODO: deprecate clickMessage, by applying https://git.reviewboard.kde.org/r/101360/diff/#index_header and porting kdelibs <{{{3}}}>


TO DO KDialog : public QDialog ?? <{{{3}}}>


TO DO KDialogButtonBox : public QDialogButtonBox ?? <{{{3}}}>


TO DO KDialogButtonBox : public QDialogButtonBox ?? <{{{3}}}>


TO DO KDoubleValidator : public QDoubleValidator ?? <{{{3}}}>


TO DO KIcon : public QIcon ?? <{{{3}}}>


TO DO KLibrary : public QLibrary ?? <{{{3}}}>


TO DO KListWidget : public QListWidget ?? <{{{3}}}>


TO DO KMainWindow : public QMainWindow ?? <{{{3}}}>


TO DO KMenu : public QMenu ?? <{{{3}}}>


TO DO KMenuBar : public QMenuBar ?? <{{{3}}}>


TO DO KMenuBar : public QMenuBar ?? <{{{3}}}>


TO DO KPluginLoader : public QPluginLoader ?? <{{{3}}}>


TO DO KProcess : public QProcess ?? <{{{3}}}>


TO DO KPushButton : public QPushButton ?? <{{{3}}}>


TO DO KSplashScreen : public QSplashScreen ?? <{{{3}}}>


TO DO KStatusBar : public QStatusBar ?? <{{{3}}}>


TO DO KSystemTrayIcon : public QSystemTrayIcon ?? <{{{3}}}>


TO DO KTabBar: public QTabBar ?? <{{{3}}}>


TO DO KTabWidget : public QTabWidget ?? <{{{3}}}>


TO DO KTextBrowser : public QTextBrowser ?? <{{{3}}}>


TO DO KTextEdit : public QTextEdit ?? <{{{3}}}>


TO DO KToolBar : public QToolBar ?? <{{{3}}}>


TO DO KUndoStack : public QUndoStack ?? <{{{3}}}>


TO DO KUrl : public QUrl ?? <{{{3}}}>


TO DO KAction : public QWidgetAction ?? <{{{3}}}>


TO DO KDateTime ?? <{{{3}}}>


TO DO KLocale ?? <{{{3}}}>


TO DO KColorDialog ?? <{{{3}}}>


TO DO KMessageBox ?? <{{{3}}}>


TO DO KInputDialog ?? <{{{3}}}>


TO DO KFileDialog ?? <{{{3}}}>


TO DO KProgressDialog ?? <{{{3}}}>