Features & Issues: Post 2/8 - Text Editor

Feature Improvements & Issues … let’s talk about Quelea.

Without further ado …

Issue 2:

Text editors! Well, … it works … or so!
What I mean is the text editor in Quelea works but it is objectively horrible in the sense that it lacks basic features and is stiff. Zoom in on the text for example.
In all fairness that applies to most presentation software.
But you know what, that’s actually OK! It really is perfectly ok.
We don’t need to reinvent the hot water. Take Reaper, for example. It’s great but it has the option to open anything with external editors. Or Total Commander can include plugs, listeners, editors and call any program for any type of file(naturally we don’t need to go that far).
Point is, I really like notepad++, you might like something else, so why not use them? Well, I do, but it’s kind of annoying having to paste back and forth, no?

Solution:

It’s actually very simple. The songs are stored in non-text editable format, but while the editor is displayed we can include a button. Shall we call it, “Eidt Externally” or “Open in external Editor”
Here is my proposition for a solution:

  1. The current text is dumped in a temporary text file with the song name or unique key.
    Extra fields and metadata are marked in some type of obvious format with comments. But we could include an option to just export the lyrics themselves.
    Maybe have a panel in the options section where we set those preferences.
  2. Quelea then calls our favourite editor with this temp file.
    This will be in a Quelea-managed directory.
    Every 100ms or so we can check for file updates or changes, while we are currently working in e.g. Notepad++. Save there, Quelea updates, we are happy.
    We stop looking for changes when the file is deleted or upon pressing the toggle form of the button.
    • i.e.: “OK”, “apply changes”, “get from the external editor” etc.
    • closing the edit window or when we press the alternate state of the “Open in external Editor” which could be called
      “apply from external editor”/“Close editor”/“Editor closed”/“Finish Edits”/“Apply Edits” etc… etc…
  3. The particulars are obviously up for discussion.
  4. Errors can be handled by clearing this temp folder upon startup. Simple, no!?
    Do you know how sometimes you save 2 versions of the same song? Ahhh!
    Well if we put this “edit externally” as a context option in the database or service song option menus, then we can call both in a row. Or we can call lost in a row!
    The options will stay active, therefore you can open all your songs in the service in notepad++.
    There could be toggle options in the context menu to close the external editor but it will only close when the context menu is closed.
    Better yet periodic checks while there are files in the folder would work too.
    Errors can be handled the same way.
    Now in notepad++, we can compare the 2 files and just think how many mice clicks we saved.