[bug] Валидность длины для файловой системы в QueueManager::checkTarget

* Во первых MAX_PATH сравнивался полностью со всей pathname, что собственно и приводило к exception даже тогда, когда файловая система готова была принять файл с длиной пути в ~248 символов
* Во вторых., к чему вообще такие извращения ? файловых систем много, у каждой свои ограничения на длину имени файла, на длину всего пути, на длину каждой ее части, на максимальную вложенность, и т.п.
  не учитывать же индивидуально всех ради такой валидации (внешние storage и вовсе не предсказуемы чего у них там может быть). Пускай этим занимаются драйвера, нам то зачем такие извращения.

  Хотя пару тройку можно подогнать под общий знаменатель, в этом есть смысл потому что это разумеется быстрей по скорости, но не охото сверять все характиристики основных фс чтобы не накосячить.
  ( В транке флая аналогично, только сверка с FULL_MAX_PATH )

  Собственно прозрачнее и надежнее всего-то сделать попытку, и словить исключение если есть... +те же аксессы, атрибуты, и т.п.
  В File выделен соответствующий метод. Для секции _Win32 - в winapi есть транзакционные функции, если что, лучше их... дописать по надобностям, т.к. просто покрыл быстренько ошибку!

TODO:
* Транзакционные апишные функции
* атрибутика чтобы скрыть подобные манипуляции (FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN ...)
* Недописанный метод по юниксовые системы
* по желанию настроить кастомизацию исключений, пока по умолчанию все будет идти с TARGET_FILENAME_TOO_LONG
[bug] MAX_PATH -> FULL_MAX_PATH для QueueManager::checkTarget

Замена константы для исправления бага, детали в 6dded72

+
  Revert "[bug] Валидность длины для файловой системы в QueueManager::checkTarget"
  This reverts commit 6dded729da571668b0b4a45bbc3e22794c86f889.
[enhancement] Реализовано построение цепочек фильтрации на основе CGrid из bitbucket.org/3F/sandbox

Сделал функциональный аналог с Thunderbird

* ICGridEventKeys повесил на SearchFrm
* В CGridItem дополнен GetValue. Доп. интерфейс выделять не стал чтобы не дергать иерархию
* Обработчик фильтра - обертка над Wildcards из песочницы. Работает шустро. Пространство менять не стал. Задержку в обработке желательно сделать настраиваемой.

TODO:
* resize поля ввода при получения фокуса, аналогично листу
* usability для условий и wildcards - для меня не критично
* пересаживаться уже наконец на новую платформу
[merge][strongdc-sqlite] to r15922:

changelog:
===============

Revision: 15922
Author: pavel.pimenov@gmail.com
Date: 3 ноября 2013 г. 18:28:48
Message:
*  Исправлена ошибка приводящая к ошибкам загрузки по http
Ошибки выглядят так:
[2013-11-02 17:07:50] InternetOpenUrl [http://checkip.dyndns.com] error =
Операция успешно завершена.[error: 0]
[2013-11-02 17:07:50] [Step ] [GetIP] Error download : Операция успешно
завершена.[error: 0] [3553 ms]
[2013-11-02 17:34:41] InternetOpenUrl [http://checkip.dyndns.com] error =
Операция успешно завершена.[error: 0]
[2013-11-02 17:34:41] [Step ] [GetIP] Error download : Операция на
незаблокированном сокете не может быть завершена немедленно.[error: 10035] [2669
ms]

Revision: 15822
Author: pavel.pimenov@gmail.com
Date: 26 октября 2013 г. 13:47:36
Message:
#[strongdc-sqlite][setup]

Revision: 15821
Author: pavel.pimenov@gmail.com
Date: 26 октября 2013 г. 12:07:39
Message:
* Updating the database ISPs
   http://www.assembla.com/spaces/customlocations-greylink
   Build on the base 1289, created 2013-10-11 09:57:14 +0700
   Total in database:
    - ISP - 1403
    - ISPs logo - 1412
    - Address range - 5983
   Archive CustomLocations.7z created by NightOrion

Revision: 15820
Author: pavel.pimenov@gmail.com
Date: 26 октября 2013 г. 12:05:33
Message:
* [strongdc-sqlite]
  Обновлены
  - miniupnp
  - natpmp
  - sqlite
  - mediainfo
  - jsoncpp

Revision: 15819
Author: pavel.pimenov@gmail.com
Date: 26 октября 2013 г. 11:59:50
Message:
# [strongdc-sqlite] + strongdc-sqlite-config.xml

Revision: 15800
Author: pavel.pimenov@gmail.com
Date: 24 октября 2013 г. 22:19:06
Message:
# [strongdc-sqlite] Удалил лишнюю подписку на FavoriteManager

Revision: 15771
Author: pavel.pimenov@gmail.com
Date: 22 октября 2013 г. 7:11:11
Message:
* (Fixed  issue 1355 ) crash-server] Падение в void HashManager::hashDone при
  закрытии приложения (TODO влить в strongdc-sqlite)
 http://code.google.com/p/flylinkdc/issues/detail?id=1355

Revision: 15272
Author: pavel.pimenov@gmail.com
Date: 6 сентября 2013 г. 22:12:33
Message:
* Updating the database ISPs
   http://www.assembla.com/spaces/customlocations-greylink
   Build on the base 1285, created 2013-09-01 01:14:36 +0700
   Total in database:
    - ISP - 1404
    - ISPs logo - 1413
    - Address range - 5978
   Archive CustomLocations.7z created by NightOrion

Revision: 15271
Author: pavel.pimenov@gmail.com
Date: 6 сентября 2013 г. 22:11:36
Message:
# [strongdc-sqlite] Убрал копию в коробки

Revision: 15063
Author: pavel.pimenov@gmail.com
Date: 23 августа 2013 г. 21:57:10
Message:
* del /S /F /Q ipch\*.ipch
# Log

Revision: 15039
Author: pavel.pimenov@gmail.com
Date: 23 августа 2013 г. 6:53:10
Message:
# [build] Изменил место хранение бинарей,отладочных символов и исходников

Revision: 15010
Author: pavel.pimenov@gmail.com
Date: 21 августа 2013 г. 4:47:21
Message:
# [setup] http://flylinkdc.no-ip.org:8888/app/flylinkdc-factory/flylinkdc.html Заменил на ->  http://www.fly-server.ru/install/custom

Revision: 15008
Author: pavel.pimenov@gmail.com
Date: 20 августа 2013 г. 20:57:07
Message:
# Вернул ShowWindow(SW_HIDE); при закрытии приложения.
  https://code.google.com/p/flylinkdc/source/detail?r=15000

Revision: 15002
Author: pavel.pimenov@gmail.com
Date: 20 августа 2013 г. 19:59:46
Message:
* [strongdc-sqlite][merge] miniupnp 1.8.20130801

Revision: 15001
Author: pavel.pimenov@gmail.com
Date: 20 августа 2013 г. 19:59:01
Message:
* [strongdc-sqlite][merge] Забрал фиксы из ветки дружественного клиента https://bitbucket.org/3F/flightsdc/commits/branch/support

Revision: 15000
Author: pavel.pimenov@gmail.com
Date: 20 августа 2013 г. 19:47:57
Message:
* [strongdc-sqlite][merge] Забрал фиксы из ветки дружественного клиента https://bitbucket.org/3F/flightsdc/commits/branch/support

Revision: 14994
Author: pavel.pimenov@gmail.com
Date: 19 августа 2013 г. 22:29:40
Message:
# [merge] Маркер тормозов в void ClientManager::updateNick_internal - мапа g_nicks заполняется всеми никами на хабе
  TODO - Найти когда сломали или зачем это делается.

у флая при подключении к allavtovo.ru в коллекцию влетает все 14 тыс записей

!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14907 nicks.size() = 223 nick = [Depo2]Sergey
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14908 nicks.size() = 224 nick = ICSamsom
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14909 nicks.size() = 225 nick = newbie2233
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14910 nicks.size() = 225 nick = (BBB)Rhiozd
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14911 nicks.size() = 226 nick = giufgiufglfd
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14912 nicks.size() = 227 nick = User821081_
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14913 nicks.size() = 228 nick = С‡СЏС‡СЏ121321412
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14914 nicks.size() = 229 nick = Ratis9998
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14915 nicks.size() = 230 nick = jaxx_on
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14916 nicks.size() = 231 nick = archersigma
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14917 nicks.size() = 232 nick = Jony3000
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14918 nicks.size() = 233 nick = kiri@na
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14919 nicks.size() = 234 nick = РІРёС‚Р°Р»РёР№РјРёС…РµРµРІ
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick_internal count = 14920 nicks.size() = 235 nick = [HUN]kljdarerjk

При этом в аналогичном методе StrongDC++ sqlite
при открытии аналогичного хаба - всего 15 вызовов.
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick count = 9 nicks.size() = 7 nick = OpChat
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick count = 10 nicks.size() = 8 nick = РџРћР›РћР–РС‚РµР»СЊРЅС‹Р№
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick count = 11 nicks.size() = 9 nick = LiMoNaDa
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick count = 12 nicks.size() = 10 nick = #Р“РѕР»РѕСЃРѕРІР°РЅРёСЏ РЅР° AllAvtovo.ru#
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick count = 13 nicks.size() = 11 nick = Terminator
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick count = 14 nicks.size() = 12 nick = MaxFox
NmdcHub::onLine Unknown command $BotList #Голосования на AllAvtovo.ru#$$OpChat$$Terminator$$Testovii$$
!!!!!!!!!!!!!!!!!!!!!!!!!!!! ClientManager::updateNick count = 15 nicks.size() = 13 nick = ffddded

Revision: 14988
Author: pavel.pimenov@gmail.com
Date: 19 августа 2013 г. 20:49:24
Message:
* [merge] Устранены 2 утечки в CryptoManager.  (Спасибо reg)
  https://bitbucket.org/3F/flightsdc/commits/220b9ce93f3332087492ec3747f86ef29fe88118

Revision: 14977
Author: pavel.pimenov@gmail.com
Date: 16 августа 2013 г. 20:05:48
Message:
# [setup]

Revision: 14976
Author: pavel.pimenov@gmail.com
Date: 16 августа 2013 г. 20:05:28
Message:
# [setup] Удаляем ID региональной сборки в Software\FlylinkDC++\VID при ее деинсталляции
fix 113168a убрана динам. перерисовка с клавиши shift

+ обработчик событий поделен на событии и конфигурацию.

TODO:
* найден косяк с чтением активной конфигурации в SBE v0.3.1 выпустить патч
fix Потеря hit при перемещении файлов

Как ходьба по минному полю о_о

Здесь только покрытие особенностей с hit!
Проблема состоит в самой логике управления записями о файлах В БД. Отсюда и вытикает следующие: flylinkdc.ru/2013/08/tth.html
как и упоминал, расчет суммы не столь проблемный для алгоритма tiger tree

Пример коллизий после перемещения файла:

"328","suzumiya haruhi no yuuutsu - 05 [bd 720p x264 flac] - coalgirls.ass","2221","1330273699","5677","0","1351771229","0","6","0","0","",""
"339","suzumiya haruhi no yuuutsu - 05 [bd 720p x264 flac] - coalgirls.ass","2221","1330273699","5677","0","1352549714","0","6","0","0","",""
"533","suzumiya haruhi no yuuutsu - 05 [bd 720p x264 flac] - coalgirls.ass","2221","1363367309","5677","0","1385722181","0","6","0","0","",""
"530","suzumiya haruhi no yuuutsu - 05 [bd 720p x264 flac] - coalgirls.ass","2221","1330273699","5677","0","1385722183","0","6","0","0","",""
"545","suzumiya haruhi no yuuutsu - 05 [bd 720p x264 flac] - coalgirls.ass","2221","1363367309","5677","0","1385722785","0","6","0","0","",""
"542","suzumiya haruhi no yuuutsu - 05 [bd 720p x264 flac] - coalgirls.ass","2221","1330273699","5677","0","1385722788","0","6","0","0","",""

я точно не возьмусь ковырять CFlylinkDBManager - прости Павел, но такой код тяжело разгребать, когда все в одном месте написано...

* Отключил TS атрибут - TODO: сделать опцию
fix d560f7f Устранена блокировка главного потока для PIN_ITEMCHANGED

Поток висел из-за обработки задержки в waitPerformAllow - Пропущена инициализация _keypressPrevTime
trivial: рейтинг из базы для полосы и aboutDlg
EXT версия Wildcards заменена на более расширенную версию ESS - sha1 ревизии: 2bc1073f9953

TODO:
Особенности с унификацией строк StrongDC пока не стал перекладывать как в EXT версии... можно будет также разрулить с шаблонами
Старая версия ::Hit(..) для CFlylinkDBManager - LIMIT для этой сборки не доступен, а разницу все равно покроет сумма...

т.е. модификация для LoadDir пока остается
см. e05ff24

Править и перераспределять сущности не возьмусь в виду времени на мониторинг ошибок
bool подправлен на VARIANT_BOOL
WildcardsESS - * fix: out of range for END
Revert "[merge][strongdc-sqlite] to r15922:"

This reverts commit 3c32ce5d3419770e90cc6314227d9b4c4ceee73f.

Conflicts:
	build_strongdc_all.bat
+updateSearchListSafe и правка _lowercase для WildcardsESS

TODO:
 * уменьшить секцию try для фильтров
 * саму фильтрацию, лучше переписать на торможение потока при поступления новой обработки
 * Прикрутить критическую секцию, иначе с флагами цирк получается.. к тому же redraw уже достал... надо бы использовать фишки raii
 * пока убрана фильтрация для новых порций
обновил скрипт сборки, заодно нашлось пару задачек для плагина :) см. трекер

* не забыть: ревизия 6b07dff стабильная - сливалось с локальной ветки support-LC в использовании уже больше полугода
* TODO: пробовать слить новые изменения от Павла, но не забывать про r15922 (3c32ce5) там сплошные падения по разным причинам помнится были