Loopback писал(а):Мы же отфильтровали диалог копирования, так что для этого диалога надо делать отдельный обработчик с помощью AddDialog.
Верно. Я так и сделал в тестовом примере и оно благополучно работает: надписи B2, B3, B4 отображаются.
Loopback писал(а):Исключение для панельки реализовано только для диалога копирования...
А, теперь понятно. Это как раз у меня и вызвало когнитивный диссонанс (баг в моей голове, как я выразился). Беда то в том, что при введении отдельного обработчика для диалога ярлыков (ДЯ) он наследует настройки PINNED из предыдущего обработчика, т.е. из диалога копирования (ДК). В тестовом примере не только не отображаются B3P, B4P, но вместо них отображаются A3P, A4P — в этом казус (прошу пардону, видимо мне надо было это дословно отрапортовать, но я понадеялся, что вы мой тест у себя воспроизведёте). В реальном же окружении это приводит к тому, что если я настроил ДК, то мне ДЯ лучше вообще не трогать, ибо если я его трону, то он у меня в PINNED состоянии станет вот таким:
И никак евонный PINNED не исправить, единственный выход — это отказаться от настройки ДЯ.
Loopback писал(а):Кстати, тут обнаружился интересный баг тотала
Я его уже
зарепортил, и Гислер его уже исправил. Обновитесь, пожалуйста, до TC 11.01RC1

.
Loopback писал(а):Фильтры для pinned и post не работают, фильтрация определяется... Пожалуй, это и правда недостаточно документированный момент.
Вот, вот, очень хорошо было бы прояснить как именно в этом случае работает фильтрация для PINNED. Что определяет границы действия фильтра: следующий вызов AddDialog или вызов AddDialog без PINNED? И вообще не всякий случай очевиден. Вот например, в 64-бит в ДК кнопка «F2 В очередь» это Button 2, а в ДК PINNED она уже Button 7. Хорошо бы юзеру быть уверенным, что когда он настроил Кнопку 2 в одном состоянии диалога, эта настройка экстраполируется на Кнопку 7 в другом состоянии этого же диалога — само по себе это не очевидно.
Но вообще с этими PINNED хорошо бы разобраться. Из истории с вышеупомянутым багом видно, что ДК и ДЯ — взаимозависимы, по факту это вообще один и тот же диалог, только видимость некоторых элементов различается. Если я пришпилил ДК, а затем сразу же вызвал ДЯ, то у меня и ДЯ тоже отобразится пришпиленным. Такие вот дела.
Ну, и в 64-бит настройки для DIALOG_COPYMOVE_PINNED не работают. Кажется работали некоторое время назад. Кажется работали до того, как вы сделали отрисовку (такую замечательную) иконок для маврофильного режима. Точно я не уверен, но помню что я тогда по-всякому тестировал свой код для ДК и всё везде работало. Мне дополнительные тесты предпринимать или вы уже сами увидели?