Frameworks/Epics/KTextEditor: Difference between revisions

From KDE Community Wiki
(MarkInterface will stay for now)
 
(11 intermediate revisions by 2 users not shown)
Line 2: Line 2:


==KTextEditor, Kate Part and Kate App Tasks==
==KTextEditor, Kate Part and Kate App Tasks==
Just pick a task and start working on it. All contributions are welcome!
This list contains tasks to make the KTextEditor framework 5 ready. Detailed information about changes can be found in the guide [http://api.kde.org/frameworks-api/frameworks5-apidocs/ktexteditor/html/kte_port_to_5.html Porting to KDE Frameworks 5].
{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width:100%;"
{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width:100%;"
|- style="background: #ececec; white-space:nowrap;"
|- style="background: #ececec; white-space:nowrap;"
Line 17: Line 17:
{{FeatureDone | remove any occurance of SmartCursor and SmartRange | Christoph}}
{{FeatureDone | remove any occurance of SmartCursor and SmartRange | Christoph}}
{{FeatureDone | merge KTE::CoordinatesToCursorInterface into KTE::View | Dominik }}
{{FeatureDone | merge KTE::CoordinatesToCursorInterface into KTE::View | Dominik }}
{{FeatureTodo | merge KTE::ParameterizedSessionConfigInterface into SessionConfigInterface | ?}}
{{FeatureDone | merge KTE::ParameterizedSessionConfigInterface into Document/View itself | Christoph}}
{{FeatureTodo | merge KTE::TeplateInterface 1 + 2 | ?}}
{{FeatureDone | merge KTE::TeplateInterface 1 + 2: postponed to KF  5.1, removed from installed headers | Christoph}}
{{FeatureDone | properly implement KTE::Document::isValidTextPosition(), with surrogate support | Dominik}}
{{FeatureDone | properly implement KTE::Document::isValidTextPosition(), with surrogate support | Dominik}}
{{FeatureDone | rename KTE::Document::character() to ::characterAt() | Dominik}}
{{FeatureDone | rename KTE::Document::character() to ::characterAt() | Dominik}}
Line 26: Line 26:
{{FeatureDone | make KTE::Cursor non-virtual + mark as Q_MOVABLE | Christoph}}
{{FeatureDone | make KTE::Cursor non-virtual + mark as Q_MOVABLE | Christoph}}
{{FeatureDone | make KTE::Range non-virtual + mark as Q_MOVABLE  | Christoph}}
{{FeatureDone | make KTE::Range non-virtual + mark as Q_MOVABLE  | Christoph}}
{{FeatureTodo | KTE::Range & Cursor: inline as much as possible | ?}}
{{FeatureDone | KTE::Range & Cursor: inline as much as possible | Dominik}}
{{FeatureDone | change range only via KTE::Range::setRange(), setStart() + setEnd() are provided for convenience | Christoph }}
{{FeatureDone | change range only via KTE::Range::setRange(), setStart() + setEnd() are provided for convenience | Christoph }}
{{FeatureDone | extend KTE with applications plugins | Christoph}}
{{FeatureDone | extend KTE with applications plugins | Christoph}}
{{FeatureDone | add KTE::Document::readWriteChanged, remove from KateDocument | Dominik}}
{{FeatureDone | add KTE::Document::readWriteChanged, remove from KateDocument | Dominik}}
{{FeatureTodo | KTE::Command, possibly merge wite KTE::RangeCommand ? | ?}}
{{FeatureDone | KTE::Command, merge wite KTE::RangeCommand, cleanup CommandInterface | Christoph}}
{{FeatureDone | Kate App: port Projects plugin | Christoph}}
{{FeatureDone | Kate App: port Projects plugin | Christoph}}
{{FeatureDone | Kate App: port Konsole plugin | Dominik}}
{{FeatureDone | Kate App: port Konsole plugin | Dominik}}
{{FeatureDone | KTE::TextHintInterface: allow multiple clients | Dominik}}
{{FeatureDone | KTE::TextHintInterface: allow multiple clients | Dominik}}
{{FeatureTodo | KTE::Cursor/Range Q_DECL_CONSTEXPR & Q_DECL_NOEXCEPT to make them literal types | ?}}
{{FeatureDone | KTE::Cursor/Range Q_DECL_CONSTEXPR & Q_DECL_NOEXCEPT to make them literal types | Dominik}}
{{FeatureTodo | KTE::Document: remove QString argument of textAdded/Removed signals, use internal signals or add aboutToRemove signal only with range | ?}}
{{FeatureDone | KTE::Document: remove QString argument of textAdded/Removed signals | Christoph}}
{{FeatureTodo | KTE::Cursor/Range: QTest::toString specializations | ?}}
{{FeatureDone | KTE::Cursor/Range: QTest::toString specializations | Dominik}}
{{FeatureTodo | Make highlighting a standalone library or at least decouple from KTE::View/Document if possible | ?}}
{{FeatureDone | merge KTE::HighlightInterface into KTE::Document and KDE::View | Dominik}}
{{FeatureTodo | derive KTE::ViewPrivate NOT from KTE::View for binary compatibility. Make KTE::View::* non-virtual | ?}}
{{FeatureDone | KTE::Document: RAII editing transactions | Christoph}}
{{FeatureTodo | derive KTE::DocumentPrivate NOT from KTE::Document for binary compatibility. Make KTE::Document::* non-virtual | ?}}
{{FeatureDone | KTE interface cleanup and merges | Christoph, Dominik}}
{{FeatureTodo | Do not derive KTE::View from KXmlGuiClient and make the guiClient() a public function of View | ?}}
|}
|}

Latest revision as of 08:42, 26 March 2014

The KTextEditor interfaces together with its implementation Kate Part build a framework. This page describes the todo-list for the migration to frameworks 5.

KTextEditor, Kate Part and Kate App Tasks

This list contains tasks to make the KTextEditor framework 5 ready. Detailed information about changes can be found in the guide Porting to KDE Frameworks 5.

Status Description Coordination
DONE Compile with Frameworks 5 Christoph
DONE KatePart: Port, reduce compiler warnings Michal
DONE Kate App: Port, reduce compiler warnings Michal
DONE KTE::DocumentCursor to the KTextEditor interfaces. Currently in part/kte5/documentcursor.* Dominik
DONE merge KTE::CodeCompletionModel v1-4 into a single interface Christoph
DONE remove KTE::LoadSaveFilterCheckPlugin Dominik
DONE remove any occurance of SmartCursor and SmartRange Christoph
DONE merge KTE::CoordinatesToCursorInterface into KTE::View Dominik
DONE merge KTE::ParameterizedSessionConfigInterface into Document/View itself Christoph
DONE merge KTE::TeplateInterface 1 + 2: postponed to KF 5.1, removed from installed headers Christoph
DONE properly implement KTE::Document::isValidTextPosition(), with surrogate support Dominik
DONE rename KTE::Document::character() to ::characterAt() Dominik
DONE add KTE::Document::wordAt() and ::wordRangeAt() Dominik
DONE merge Highlight Selection plugin into the built-in search in KatePart Christoph
DONE merge HTML export plugin into KatePart Christoph
DONE make KTE::Cursor non-virtual + mark as Q_MOVABLE Christoph
DONE make KTE::Range non-virtual + mark as Q_MOVABLE Christoph
DONE KTE::Range & Cursor: inline as much as possible Dominik
DONE change range only via KTE::Range::setRange(), setStart() + setEnd() are provided for convenience Christoph
DONE extend KTE with applications plugins Christoph
DONE add KTE::Document::readWriteChanged, remove from KateDocument Dominik
DONE KTE::Command, merge wite KTE::RangeCommand, cleanup CommandInterface Christoph
DONE Kate App: port Projects plugin Christoph
DONE Kate App: port Konsole plugin Dominik
DONE KTE::TextHintInterface: allow multiple clients Dominik
DONE KTE::Cursor/Range Q_DECL_CONSTEXPR & Q_DECL_NOEXCEPT to make them literal types Dominik
DONE KTE::Document: remove QString argument of textAdded/Removed signals Christoph
DONE KTE::Cursor/Range: QTest::toString specializations Dominik
DONE merge KTE::HighlightInterface into KTE::Document and KDE::View Dominik
DONE KTE::Document: RAII editing transactions Christoph
DONE KTE interface cleanup and merges Christoph, Dominik