CaptainFlint
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору oshizelly Цитата: Это ж программера надо, куда мне... Вот если бы кто-нить умный разобрался и всех остальных научил... | Это надо не просто программера, а программера а) знакомого с разработкой расширений, б) знакомого с тонкостями Win7, или в) незнакомого с этими областями, но очень желающего с ними познакомиться. PS: "Нам нужен не всякий программист, — сказал горбоносый. — Программисты народ дефицитный, избаловались, а нам нужен небалованный." © Стругацкие, "ПНвС" Avada Цитата: это лишь начало цепочки.А дальше? | Так я ж говорю, что не в курсе, что там умеет TWinKey, я им так и не пользуюсь, всё руки не доходят. Если встроенной поддержки нет, то, наверное, дальше никуда. Вообще, в голове крутится сырая идея некоего обходного пути, довольно громоздкого, не факт, что работающего, и вообще неудобного при модификации цветовых настроек, но тем не менее: 1. Каждое существующее цветовое правило дублируется. 2. Вторая из этих двух копий остаётся неизменной, а в первую добавляются два дополнительных плагиновых правила: а) tc.Comment непуст, б) twinkey.какое-то-поле=0. 2а. В самый конец добавить ещё одно цветовое правило, в котором будут только эти два пункта (tc.comment и twinkey). 3. TWinKey при запросе его Тоталом какого-то-поля получает имя файла, сразу помечает его фоновым цветом, а в качестве значения для какого-то-поля возвращает ноль (или любое другое значение, одинаковое для всех файлов/каталогов — тогда, естественно, вместо нуля в пунктах 2 и 2а надо будет указать именно это значение). Чтобы всё это работало, необходимо, чтобы Тотал запрашивал плагины ровно в той последовательности, в какой они перечислены в шаблоне, а также чтобы он выполнял проверку полей эффективным образом (а именно, если очередное правило в шаблоне не сработало, то остальные правила проверять уже нет смысла, чтобы не тратить время — всё равно шаблон уже точно не полодёш, можно сразу переходить к проверке следующего шаблона). Ну и, естественно, надо, чтобы в TWinKey существовало какое-то поле с описанным поведением (или чтобы подобное поведение можно было настроить). Тогда схема работы Тотала с плагином будет выглядеть так: 0. Пример набора цветовых шаблонов с учётом всех необходимых модификаций. Пусть у нас сначала было два шаболна: ReadOnly и Hidden. Тогда после модификации будет пять шаблонов, расположенных в следующем порядке: ReadOnly_Comment — это ReadOnly с добавленными tc.comment и twinkey ReadOnly — это старый ReadOnly без изменений Hidden_Comment — это Hidden с добавленными tc.comment и twinkey Hidden — это старый Hidden без изменений Comment — это шаблон, в котором только два правила, tc.comment и twinkey (цвет чёрный) 1. Файл без комментария -> Тотал начинает проверять его на соответствие цветовым шаблонам по порядку. В каждой паре первым идёт *_Comment, Тотал обнаруживает, что комментария нет, переходит к следующему шаблону (поскольку правило с комментарием не выполняется, TWinKey за ненадобностью не вызывается, поэтому файл фоновым цветом не подсвечивается). Следующий шаблон - такой же, как предыдущий, но без комментария и без TWinKey, проверяется обычным образом. 2. Файл с комментарием -> Тотал из пары правил первым подхватит "комментаторское". На этот раз комментарий не пуст, должны будуть проверться все правила, вызывается TWinKey и подсвечивает файл. При этом правило с TWinKey тоже должно сработать (именно поэтому нам надо фиксированное значение какого-то-поля), чтобы Тотал посчитал шаблон соответствующим и подсветил файл соответствующим цветом (уже шрифта, а не фона). Если ни одна существующая подсветка не подошла, то срабатывает последнее правило, в котором указан только комментарий и TWinKey — подсветки Тоталом не будет, а TWinKey'ем будет. Итого получится в точности то, что надо: каждый закомментаренный файл подсвечивается дополнительным фоновым цветом, при этом существующая цветовая разметка самого Тотала не нарушается. Но, как я уже сказал, сначала необходимо проверить, а) что Тотал действительно не вызывает излишних плагиновых проверок, б) что он проверяет данные строго в указанном порядке и в) что TWinKey позволяет сделать указанную хитрость с подсветкой и возвратом фиксированного значения. Надеюсь, изложил не слишком сумбурно…
---------- Почему же, ё-моё, ты нигде не пишешь "ё"? |
|