====================================================================
+PluginSQL: нужно вернуть асинхронные запросы как в r1070
+Добавить в prj\Service\qtservice\qtservice_unix.cpp
+ установку службы для дебиан в файл /usr/lib/systemd/system/jCjSService.service
====================================================================
+Добавить в инсталлятор предупреждение, что все файлы в каталоге jCjS2/stuff будут заменены
+Добавить в инсталлятор напоминание, что бы пользователь не забыл сохранить каталог jCjS2/stuff
+Добавить в инсталлятор соглашение, что пользователь берет на себя ответственность за возможную потерю
====================================================================

Надпись в "Программы и удаление"
Добавить параметр 'Скрытый пост'

Проверить и Исправить функцию toFloat2 (пост ACOTT/RMS)

SerialPort: продумать режим modbus-slave
SerialPort: проверить функцию canReadBlock('\n')

Анимированная иконка в трее

jCjSHttpRequester при необходимости доостнастить класс полной поддержкой QHttpMultiPart

SQL        - добавить тестирование плагина
authSystem - добавить тестирование server.authSystem(post, customAuthFunc)

добавить сортировку скриптов в окно дебагера

QT_NO_DEPRECATED_WARNINGS

+проверить установку службы с длинным аргументом.  VDT2 были проблемы
./jCjSService -e -cfg ../stuff/ACOTT/r_block_state/SAES/asott-vdt1-vdt2.xml

no_web.html   разрешить выдачу файлов по относительным путям
//<!--=  '\n'+post.procTmplFile('stat@js/nano.js') -->   OK
//<!--   '\n'+post.procTmplFile('../stat/nano.js') -->   ER

https://stackoverflow.com/questions/664957/can-i-mask-an-input-text-in-a-bat-file
====================================================================
 для миграции на qjsengine
#ifdef QT_SCRIPT_LIB
# include <QtScript/QScriptEngine>
# include <QtScript/QScriptValue>
# include <QtScript/QScriptContext>
# include <QScriptEngineDebugger>
#include "jcjsscriptdebugcontroller.h"
#else
# define QScriptEngineDebugger QObject
#endif

#ifdef QT_QML_LIB
#include <QtQml/qjsengine.h>
#endif
====================================================================

LPF с затухающим коэфициентом зависимым от времени
    чем чаще приходят значения, тем k стремится к максимальному коэфициенту фильтрации
    если измерение пришло и превышено интервал между измерениями (t-огранич), то k = 1

Переписать в стиле стрим << :
  ByteArrayPrototype::appendDouble
  ByteArrayPrototype::replaceDouble
  ByteArrayPrototype::insertDouble

добавить пост, для архивации логов
Сделать обработчик удаления объкта соединения  http

Нерешенные вопросы, перспективы, идеи и т.д.

добавить поддержку последовательных интерфейсов через именованные каналы

Рассмотреть методу смены темы в web-фейсах (на дневную/ночную) и возможности браузеров
Добавить событие server.clientConnected(), post.clientConnected()

Рассмотреть шаблонную обработку статических файлов (Только объекты http и server)
Добавить в rpm changelog
Рассмотреть возможность тестирования бэкенда для phonon
Добавить поддержку TCP/IP v.6
Подумать о дополнительной JS машине, выполняемой в отдельном потоке для распаралеливания вычислений
Продумать ДЕМО режим
Пароль на репозиторий

универсальный сеттер для объекта (JS)
  : автоматически добавлять в энумератор только разрешенные поля

bootstrap v.4 нельзя пока использовать (нет поддержки CSS  .navbar-fixed-top)

!!! Добавить кукишаринг для кросс авторизации

---------------------------------------------------------------------------------------
QGradient

Currency
1234.5670    0000000000BC6146
   1.1100    0000000000002B5C

подавление вывода предупреждений при линковке об отсутствии файлов *.pdb
contains( MAKEFILE_GENERATOR, MSVC.NET|MSBUILD ): {
 QMAKE_CFLAGS   += /wd4996 /wd4099
 QMAKE_CXXFLAGS += /wd4996 /wd4099
}

--------------------------------
QString c;
QDebug(&c) << var;
JCJS_ERROR( c );

--------------------------------
QEventLoop loop;
connect(m_sslSocket, SIGNAL(connected()), &loop, SLOT(quit()));
loop.exec();
//loop.processEvents(QEventLoop::ExcludeSocketNotifiers, timeOut);


tcpCli   forceConnect DOCS

--------------------------------
ВНИМАНИЕ!!! Никогда не далать так:
QTextCodec::setCodecForLocale(jCjSLoggerLight::m_stream_codec);  // влияет на поведение данных в ByteArray (JS)

--------------------------------
В Win 7 x64 попробовал так| Код:  (Размер 128x128, все работает без проблем.)
cTrayIcon = new QSystemTrayIcon(QIcon(QApplication::applicationDirPath() + "/logo2.ico"), this);
cTrayIcon->show();

---------------------------------------------------------------------------------------
Продумать функционал трансформации ByteArray    ПРОВЕРЕНО,  ВОЗМОЖНОСТИ НЕТ  (ЕСТЬ  ВИЖУ РЕШЕНИЕ)
 ba.shortArray[3] = 0xABD5
 ba.intArray[3]   = 2312
 ba.int64Array[3] = 23126542
 ba.floatArray[3] = 25.6

Загуглить возможность менять префикс у некоторых объектных файлов при сборке (такая возможность отсутствует)
 но в qmake можно применить хук и менять имена результирующих moc файлов (реализовано)
---------------------------------------------------------------------------------------
Тестировочные команды
---------------------------------------------------------------------------------------

-cfg ../stuff/tests/_test/jcjs_test.xml
-cfg ../stuff/tests/pluginNetwork/LOC_Srv/jcjs_loc.xml
-cfg ../stuff/tests/pluginNetwork/TCP_Srv/jcjs_tcp.xml
-cfg ../stuff/tests/pluginNetwork/UDP_Srv/jcjs_udp.xml

-cfg ../stuff/tests/GUI_tray_menu/jcjs_add_menu.xml
-cfg ../stuff/tests/GUI_ui_load/jcjs_ui_load.xml
-cfg ../stuff/tests/GUI_ui_load_ext/jcjs_ui_load_ext.xml
-cfg ../stuff/tests/GUI_WebBrowser/jcjs_webkit.xml
-cfg ../stuff/tests/GUI_Wrapper/jcjs_wrapper.xml            !!!!
-cfg ../stuff/tests/WebCapture/jcjs_webcapture.xml

-cfg ../stuff/tests/pluginProc/jcjs_proc.xml
-cfg ../stuff/tests/testSingleShot/jcjs_singleShot.xml

-cfg ../stuff/modbus/scanReg/jcjs_scanModbus.xml
-cfg ../stuff/nikiet/uvv_scan/jcjs_uvv_scan.xml

query.trimmed().startsWith(QLatin1String("EXECUTE BLOCK"), Qt::CaseInsensitive))
