Skip to content
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

Allow preset quotation styles, localised to the current Project's language #1772

Open
Tracked by #1773
tmarplatt opened this issue Mar 22, 2024 · 4 comments
Open
Tracked by #1773
Labels
editor Component: Editor enhancement Request: New feature or improvement planned Note: Feature planned for a later release

Comments

@tmarplatt
Copy link
Contributor

The problem

novelWriter, by default, is configured to match the English quotation style. Using novelWriter for writing in other languages means needing to reconfigure the quotation style.

Currently, this means all users that write in a different language have to enter this configuration on their own. We are expecting these users to be familiar with the quotation style features, to understand their potential and depth, and to perform the necessary configuration (e.g. see #1422).

Across so many novelWriter installations, users around the world are (once they've become aware of it) entering the same configuration themselves: identical each and every time for the same language. Needlessly. It's a cumulated and avoidable waste of time and effort.

Ideally, all a user should do is configure the Project language, and novelWriter would apply the formal quotation configuration for the target language.

The solution

  • Allow contributors to submit quoting presets and maintain one per language.
  • Each preset is a configuration scheme for the different quoting options:
    • opening and closing quotes
    • quote highlighting
    • quote conversion
  • Ship novelWriter with these presets built-in.
  • When a user configures a new Project, check if the chosen Project language matches an existing preset, and change the quotation preferences accordingly, automatically, in a transparent way. The user needs not intervene.
@tmarplatt tmarplatt added the enhancement Request: New feature or improvement label Mar 22, 2024
@tmarplatt
Copy link
Contributor Author

tmarplatt commented Mar 22, 2024

If #1770 was implemented, the preset would also allow setting a custom number of quotation nesting levels. Similar case for #1771.

@vkbo
Copy link
Owner

vkbo commented Mar 22, 2024

Across so many novelWriter installations, users around the world are (once they've become aware of it) entering the same configuration themselves: identical each and every time for the same language. Needlessly. It's a cumulated and avoidable waste of time and effort.

Cumulated effort doesn't matter. It's a small config job for each user. Most software has such a set of rules to configure.

Ideally, all a user should do is configure the Project language, and novelWriter would apply the formal quotation configuration for the target language.

That makes the erroneous assumption that there is only one configuration for each language, which there isn't. So we need a separate configuration of this anyway. That's precisely why the user can pick the symbols directly. It allows for more flexibility.

  • Allow contributors to submit quoting presets and maintain one per language.

That could in principle be done. However, it would be very annoying to users without their particular language setting available until it has been added. Thus we cannot remove the current custom implementation, and end up having two ways to configure quotes. This is confusing and complicated.

  • When a user configures a new Project, check if the chosen Project language matches an existing preset, and change the quotation preferences accordingly, automatically, in a transparent way. The user needs not intervene.

As mentioned earlier, it's not that simple.

@vkbo
Copy link
Owner

vkbo commented Mar 22, 2024

Given this some thought too. I think instead of a et of fixed rules per language, having a set of flexible settings with a dropdown of predefined rules that when selected will set the correct default settings for that language is the way to go. This would require contributions from users, but some way to export as a JSON file and submit it may solve that.

@vkbo vkbo added discussion Meta: Feature discussions editor Component: Editor labels Mar 22, 2024
@vkbo vkbo added planned Note: Feature planned for a later release and removed discussion Meta: Feature discussions labels Oct 27, 2024
@vkbo
Copy link
Owner

vkbo commented Oct 27, 2024

I think a good solution here would be to add a new settings tool for auto-formatting and dialogue and take them out of main preferences, but leave a button there to access them.

The settings would instead be a set of editor preferences that have a default and the option to override on a per-project basis. I'm thinking of adding a settings button directly in the editor where these can be accessed.

I'm not sure where to keep the settings. If I put them in their own form, I can in principle reuse the form in Preferences for the default setting, and also add them in Project Settings for override. Then the button in the editor would just pop the correct page in Project Settings. Alternatively, I can create a brand new setting tool and put it in the menu as "Editor Settings".

I'll have to experiment a little with what works. I would prefer to only have these settings in a single place anyway, and just add a switch to enable project level override.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
editor Component: Editor enhancement Request: New feature or improvement planned Note: Feature planned for a later release
Projects
None yet
Development

No branches or pull requests

2 participants