New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature suggestion : visually highlight dead note:// link and create new note when dead link is ctrl + clicked #736

Closed
huckepick opened this Issue Oct 4, 2017 · 12 comments

Comments

Projects
None yet
3 participants
@huckepick

huckepick commented Oct 4, 2017

I come from the world of ResophNotes, NotationalVelocity, NvALT, nvpy, ...

All of them implement the following features which - in my view - would be great to have in QOwnNotes.

a)
I think it is very convenient that dead note:// links are visually highlighted.
A typical way would be a dashed underline and maybe additionally a red font.

b)
It is also very convienient to be able to create a new (WANTED) note when a dead link is ctrl + clicked.
The name of the new note would be exactly the one given in the link.

@pbek pbek added the enhancement label Oct 5, 2017

@pbek

This comment has been minimized.

Owner

pbek commented Oct 5, 2017

Thank you for your suggestion.
a) for that would be needed to check all note every time one changes a note, that's not very performant
b) that may be convenient

@huckepick

This comment has been minimized.

huckepick commented Oct 5, 2017

You may be right and maybe it's not that easy to implement.

a)
I guess you simply need:

  • a list of all existing note identifiers at all times - which you probably have already
  • and you only need to check the note which is focused at the moment after it changed - which you probably have to do already in order to update the highlighting

(another advantage of this feature:

  • if you accidentally deleted a note, changed the note identifier, broke a link by deleting a character - you will be able to notice it
    )

b)
One could argue that this very feature is quite helpful in itself, even without the highlighting.
On the other hand, clicking it, expecting to be forwarded to an existing note, and surprisingly creating a note would be somewhat strange for the user.
I think it's still worth a try but maybe in order to prevent that surprise it would be good to check whether the linked note already exitsts and if it doesn't you would show a dialog like "This note doesn't exist yet. Do you want to create it?".

(another advantage of this feature:

  • Creating new non-orphan notes gets easier and you save several steps. Currently you have to create a new note. Then you have to go to the note you want to link from. Then you insert a note link. With the new feature you simply write a link into the note you want to link from, click-create, and you are done.
    )
@pbek

This comment has been minimized.

Owner

pbek commented Mar 26, 2018

@huckepick, @DendrocoposMajor, @Alex-Intection

18.03.9

  • you can now choose to create a new note when clicking on a "broken" note-link in the note edit or the preview
@pbek

This comment has been minimized.

Owner

pbek commented Mar 26, 2018

There now is a new release, could you please test it and report if it works for you?

@Alex-Intection

This comment has been minimized.

Alex-Intection commented Mar 26, 2018

Awesome! Works for me! A small issue: CamelCaseLink is converted to Camelcaselink. Is it possible to create the new note in exactly the same way you enter it in "Create Note or search for it" (not altering case)?
BTW: You are the only cross plattform app that allows this behaviour. Deep respect for your work.

@pbek

This comment has been minimized.

Owner

pbek commented Mar 26, 2018

Great, thank you for testing!

A small issue: CamelCaseLink is converted to Camelcaselink. Is it possible to create the new note in exactly the same way you enter it in "Create Note or search for it" (not altering case)?

I'm sorry, all urls in Qt are perceived as lower-case, so I don't know about the actual cases.

BTW: You are the only cross plattform app that allows this behaviour. Deep respect for your work.

Thank you for your kind words! :)

@Alex-Intection

This comment has been minimized.

Alex-Intection commented Mar 26, 2018

src/mainwindow.cpp

originalFileName = Utils::Misc::toStartCase(
                    originalFileName.replace("_", " "));

As far as i understand this you convert it to StartCase -> first letter capitalize. Can you leave this out, or is it needed for your app to work?

Thank you for your kind words! :)

As a developer i always think we need to give some respect back to others :-)

@pbek

This comment has been minimized.

Owner

pbek commented Mar 26, 2018

As far as i understand this you convert it to StartCase -> first letter capitalize. Can you leave this out, or is it needed for your app to work?

Without it it's all lower-case.

As a developer i always think we need to give some respect back to others :-)

I see, a fellow developer! Nice. :)

@pbek

This comment has been minimized.

Owner

pbek commented Mar 29, 2018

that was quite a piece of work, I hope there are no regressions ;)

18.03.10

  • broken note-links are now highlighted in the note edit
    • there is a new entry Broken link in the Color schema settings where
      you can change the styling

@pbek pbek modified the milestones: 18.03.9, 18.03.10 Mar 29, 2018

@pbek

This comment has been minimized.

Owner

pbek commented Mar 29, 2018

There now is a new release, could you please test it and report if it works for you?

@huckepick

This comment has been minimized.

huckepick commented Apr 5, 2018

I tested the features and they work fine.
Sorry for my late reply.
Thank you very much for your invested development time!

The reason I replied so late is another very annoying issue that I will file which leads to frequent non-responding application window in Windows 10 (~40s idle time after each edit ...)

@pbek

This comment has been minimized.

Owner

pbek commented Apr 5, 2018

Great, thank you for testing! ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment