Add new targets to the Makefile:
- forceclangd - allow to force installing a .clangd file
- forceclangdall - force installing .clangd file in this project and in libriaries:
pikotools, morm, ezc and tito
- forceqtcreator - force installing qtcreator files
- forceqtcreatorall - force installing qtcreator files in this project and in libraries
Existing files will be overwritten.
while here:
- update the c++ standard to c++23
remove config options:
- locale_dir
- locale_dir_default
add a config option:
- locale_dirs - a list of directories with locale files (translations)
We start reading locale from the first directory and files with the same name
in each directory are concatenated.
remove from the config:
templates_dir, templates_dir_default, txt_templates_dir, txt_templates_dir_default
add to the config:
html_templates_dirs - a list of directories with html templates
txt_templates_dirs - a list of directories with txt templates
We search from the last directory to the first one.
When creating QTCreator project files use local EnvironmentId
and default profile id. By default the environment id is stored
in ~/.config/QtProject/QtCreator.ini and the profile id in
~/.config/QtProject/qtcreator/profiles.xml.
Add a clangd make target:
$ make clangd
This installs a .clangd file with configuration (includes/macros/compiler flags)
for the clandg language server.
Add a clangdall make target:
$ make clangdall
This installs a .clangd also in pikotools/ezc/morm and tito libraries.
Add a qtcreator make target:
$ make qtcreator
This installs a .qtcreator directory with QTCreator IDE project files.
In the QTCreator you can open a project by selecting the .qtcreator/winix.creator
file.
You can use 'make qtcreator' again to refresh .qtcreator/winix.files,
the rest of the project files will not be modified.
Add a qtcreatorall make target:
$ make qtcreatorall
This installs a .qtcreator directory also in pikotools/ezc/morm and tito libraries.
An email address has two parts:
- the local part (before the "@") = max 64 characters
- the domain part (after the "@") = max 255 characters
So maximum length is 64 + @ + 255 = 320 characters
https://www.rfc-editor.org/rfc/rfc5321.html#section-4.5.3.1
Improves in emacs:
- use htmx to send content to the controller
- show txt and formatted_txt content in the second panel
- show two tabs if "tabs" winix parameter is used
- add an option to show either one or two panels
- correctly resize the editor window (F11) when two panels are shown
Improves in ckeditor:
- use htmx to send content to the controller
- do not check automatically for ckeditor update
Improves in tinymce/nicedit/meta/env:
- use htmx to send content to the controller
while here:
- change PascalCase to snake_case in meta/env controllers
- update CodeMirror editor to 5.65.16
- udpate Showdown (markdown to html converter) to 2.1.0
If there is no a template (main template and function template) for the current
language then try to find a template for a default language or for a first
available language.
in make_*() methods you can assing your controller methods in such a way:
assign_methods(this,
by_param(L"paramoption", &MyController::MyMethod3),
by_param(L"paramoption1", L"paramoption2", &MyController::MyMethod2),
by_param_post(L"paramoption", L"postoption", &MyController::MyMethod1)
);
Use a char32_t instead of a wchar_t type. This is needed on systems
where sizeof(wchar_t) is equal to 2.
This affects classes based on the pt::Stream such as Log and HtmlTextStream.
Add PluginInfo::has_res (bool, default true). If set to false by a plugin function
then the PluginInfo::res value is not taken into account when calculating how many plugins
have returned true or false.
If a date is given in a relative form with first/last parameters,
we must remember them in order to select the appropriate day
of the week from the appropriate year.
the format of a 'start' or 'end' field in a dst is:
MM-[first|last]:[monday|tuesday|wednesday|thursday|friday|saturday|sunday] HH:MM:SS
or just as beforehand: MM-DD HH:MM:SS
a sample timezone:
{
name = "tz_+01:00d"
id = "40"
offset_str = "+01:00"
dst = (
{
year = "2001"
has_dst = true
offset_str = "+01:00"
start = "03-last-sunday 01:00"
end = "10-last-sunday 01:00"
}
) # end of dst
}
This buffer is used when a Function::NeedToCopyRawPost() method returned true.
while here:
- remove WINIX_POST_PARAMS and WINIX_RAW_POST_STRING plugin messages