D22199: New plugin to open the selected file path

Dominik Haumann noreply at phabricator.kde.org
Sun Jul 21 20:09:29 BST 2019


dhaumann requested changes to this revision.
dhaumann added a comment.
This revision now requires changes to proceed.


  The KTextEditor::Command implementation is wrong, see my other comments. Please fix this first :-)

INLINE COMMENTS

> plugin_kateopenselection.cpp:80
> +{
> +    return new PluginViewKateOpenSelection(this,mainWindow);
> +}

A PluginViewKateOpenSelection instance is created here for every KTextEditor::MainWindow - this is ok and works as designed / intended.

However, PluginViewKateOpenSelection inherits KTextEditor::Command, which itself registers in its constructor with the command "open-selection" in the Kate's command line. Now when you create multiple  MainWindows in Kate (View > New Window), then you will add *the same* "open-selection" command twice, which is wrong.

In short: PluginViewKateOpenSelection must not inherit KTextEditor::Command. Instead, the PluginKateOpenSelection should inherit it.

> plugin_kateopenselection.cpp:107
> +        if (selection.isEmpty()) {
> +            const KTextEditor::Cursor &cursor = editView->cursorPosition();
> +            const QString line = editView->document()->line(cursor.line());

Please factor this code part out into a separate function: QString findPathAtCursor(...).

Reasoning: Currently, you are mixing different levers of logic, i.e. slotOpenSelection() should open the selection, but not itself do the work to find the path under a cursor.

REPOSITORY
  R40 Kate

REVISION DETAIL
  https://phabricator.kde.org/D22199

To: nononux, dhaumann
Cc: dhaumann, pino, yurchor, kwrite-devel, kde-doc-english, gennad, fbampaloukas, domson, michaelh, ngraham, demsking, skadinna, cullmann, sars
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-doc-english/attachments/20190721/91ded5f9/attachment.html>


More information about the kde-doc-english mailing list