Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch kuntashov-develop Excluding Merge-Ins
This is equivalent to a diff from 4be9b795c1 to 91216d8790
2012-03-01
| ||
09:09 | Изменения из ветки kuntashov-develop перенес в основную ветку. check-in: 0e0d0c951e user: kuntashov tags: trunk | |
08:56 | Синхронизировал с основной веткой. Leaf check-in: 91216d8790 user: kuntashov tags: kuntashov-develop | |
2012-02-29
| ||
10:36 | Добавлено открытие прав объекта Роль. Добавлены макросы для открытия модулей конфигурации check-in: 4be9b795c1 user: orefkov tags: trunk | |
06:42 | двойной щелчок по таблице открывает объект в дереве метаданных check-in: 590ab7c0c8 user: orefkov tags: trunk | |
2012-02-28
| ||
19:16 | Слиты изменения эксперементальной ветки default-macros (http://snegopat.ru/forum/viewtopic.php?f=1&t=123). check-in: 2f64ae860e user: kuntashov tags: kuntashov-develop | |
Changes to DevTools/immediate.js.
47 47 } 48 48 } 49 49 50 50 function macrosЗапуститьОтладчикСкриптов() 51 51 { 52 52 runDebugger(); 53 53 } 54 + 55 +/* Возвращает название макроса по умолчанию - вызывается, когда пользователь 56 +дважды щелкает мышью по названию скрипта в окне Снегопата. */ 57 +function getDefaultMacros() { 58 + return 'ОткрытьОкно'; 59 +} 60 + 54 61 55 62 /* 56 63 * Обработчики событий формы 57 64 */ 58 65 function ОбновлениеОтображения() 59 66 { 60 67 // Если надо восстановить положение курсора, сделаем это
Changes to DevTools/pflview.js.
57 57 if(!form) 58 58 { 59 59 form = loadScriptForm(SelfScript.fullPath.replace(/js$/i, 'ssf'), SelfScript.self) 60 60 walkProfile(profileRoot, form.ProfileTree) 61 61 } 62 62 form.Открыть() 63 63 } 64 + 65 +/* Возвращает название макроса по умолчанию - вызывается, когда пользователь 66 +дважды щелкает мышью по названию скрипта в окне Снегопата. */ 67 +function getDefaultMacros() { 68 + return 'ПоказатьПрофайл'; 69 +} 64 70 65 71 function КоманднаяПанельРазвернутьВсеГруппы(Кнопка) 66 72 { 67 73 for(var rowsArray = new Enumerator(form.ProfileTree.Строки); 68 74 !rowsArray.atEnd(); rowsArray.moveNext()) 69 75 { 70 76 var row = rowsArray.item();
Changes to DevTools/scriptdev.js.
69 69 jsCode = jsCode.replace(/КонецПроцедуры/ig, "}"); 70 70 71 71 stdcommands.Frntend.ClearMessageWindow.send(); // Очистить окно сообщений. 72 72 Message(jsCode); 73 73 74 74 return true; 75 75 } 76 + 77 +/* Возвращает название макроса по умолчанию - вызывается, когда пользователь 78 +дважды щелкает мышью по названию скрипта в окне Снегопата. */ 79 +function getDefaultMacros() { 80 + return 'Настройка'; 81 +} 82 + 76 83 77 84 /* ********************************************************** 78 85 * Реализация функционала скрипта. 79 86 * ********************************************************* */ 80 87 81 88 // Пути хранения настроек скрипта в профайле. 82 89 var pflPaths = {
Changes to DevTools/testrunner.js.
28 28 GetTestRunner().Show(); 29 29 } 30 30 31 31 function macrosСкрыть() 32 32 { 33 33 GetTestRunner().Close(); 34 34 } 35 + 36 +/* Возвращает название макроса по умолчанию - вызывается, когда пользователь 37 +дважды щелкает мышью по названию скрипта в окне Снегопата. */ 38 +function getDefaultMacros() { 39 + return 'Показать'; 40 +} 41 + 35 42 //} 36 43 37 44 //////////////////////////////////////////////////////////////////////////////////////// 38 45 ////{ TestRunner 39 46 //// 40 47 41 48 function TestRunner()
Changes to RegExpEditor.js.
21 21 //// 22 22 23 23 SelfScript.Self['macros������������� ���������� ���������'] = function () { 24 24 var reEditor = CreateRegExpEditor(); 25 25 reEditor.setTextWindow(GetTextWindow()); 26 26 reEditor.open(); 27 27 } 28 + 29 +/* ���������� �������� ������� �� ��������� - ����������, ����� ������������ 30 +������ ������� ����� �� �������� ������� � ���� ���������. */ 31 +function getDefaultMacros() { 32 + return '������������� ���������� ���������'; 33 +} 28 34 29 35 ////} ������� 30 36 31 37 //////////////////////////////////////////////////////////////////////////////////////// 32 38 ////{ RegExpEditor 33 39 //// 34 40 ................................................................................ 344 350 this.form.RegExSource = this.form.RegExSource.replace(/""/g, '"'); 345 351 } 346 352 347 353 _RegExpEditor.prototype.CmdBarRemoveNewLines = function (������) { 348 354 this.form.RegExSource = this.form.RegExSource.replace(/\r|\n/g, ''); 349 355 } 350 356 ////} RegExpEditor - ����������� ������� ����� 351 - 352 -
Changes to author.js.
35 35 36 36 SelfScript.self['macrosНастройка'] = function() { 37 37 // form - неявно определяемая глобальная переменная. 38 38 form = loadScriptForm(SelfScript.fullPath.replace(/js$/, 'ssf'), SelfScript.self); 39 39 form.DoModal(); 40 40 form = null; 41 41 } 42 + 43 +/* Возвращает название макроса по умолчанию - вызывается, когда пользователь 44 +дважды щелкает мышью по названию скрипта в окне Снегопата. */ 45 +function getDefaultMacros() { 46 + return 'Настройка'; 47 +} 42 48 43 49 ////} Макросы 44 50 45 51 var MarkerTypes = { 46 52 ADDED: "МаркерДобавлено", 47 53 REMOVED: "МаркерУдалено", 48 54 CHANGED:"МаркерИзменено"
Changes to autosave.js.
48 48 // Обработку событий формы привяжем к самому скрипту 49 49 form = loadScriptForm(pathToForm, SelfScript.self) 50 50 form.Включить = enabled 51 51 form.Интервал = interval 52 52 form.ОткрытьМодально() 53 53 form = null 54 54 } 55 + 56 +/* Возвращает название макроса по умолчанию - вызывается, когда пользователь 57 +дважды щелкает мышью по названию скрипта в окне Снегопата. */ 58 +function getDefaultMacros() { 59 + return 'НастройкаАвтоСохранения'; 60 +} 55 61 56 62 // Обработчики нажатий кнопок в форме 57 63 function ОкНажатие(Элемент) 58 64 { 59 65 // Прочитаем значения из формы и если они изменились, сохраним их 60 66 if(form.Включить != enabled) 61 67 {
Changes to configCaption.js.
133 133 { 134 134 captionExpr = form.Выражение 135 135 profileRoot.setValue(captionExprPath, captionExpr) 136 136 setCaption(windows.mainTitle, windows.additionalTitle) 137 137 } 138 138 form = null 139 139 } 140 + 141 +/* Возвращает название макроса по умолчанию - вызывается, когда пользователь 142 +дважды щелкает мышью по названию скрипта в окне Снегопата. */ 143 +function getDefaultMacros() { 144 + return 'Настройка'; 145 +} 140 146 141 147 function КоманднаяПанель1Проверить(Кнопка) 142 148 { 143 149 var mainTitle = windows.mainTitle, additionalTitle = windows.additionalTitle 144 150 var mainTitleShort = mainTitle.replace(/^Конфигуратор - /, "") 145 151 MessageBox(eval(form.Выражение)) 146 152 } 147 153 148 154 function КоманднаяПанель1ОК(Кнопка) 149 155 { 150 156 form.Закрыть(true) 151 157 }
Changes to extSearch.js.
58 58 } 59 59 60 60 SelfScript.self['macrosПерейти к предыдущему совпадению'] = function() { 61 61 var es = GetExtSearch(); 62 62 es.Show(); 63 63 es.moveRowCursor(false); 64 64 } 65 + 66 +/* Возвращает название макроса по умолчанию - вызывается, когда пользователь 67 +дважды щелкает мышью по названию скрипта в окне Снегопата. */ 68 +function getDefaultMacros() { 69 + return 'Открыть окно поиска'; 70 +} 65 71 66 72 ////} Макросы 67 73 68 74 //////////////////////////////////////////////////////////////////////////////////////// 69 75 ////{ ExtSearch - Расширенный поиск в тексте модуля. 70 76 //// 71 77 function ExtSearch() {
Changes to extfiles.js.
6 6 $addin stdlib 7 7 8 8 /* Скрипт для открытия внешних файлов для Снегопата 9 9 * Автор : Пушин Владимир, vladnet@gmail.com 10 10 * Дата создания: 24.08.2011 11 11 * Описание : Добавляет окно из которого можно открывать внешние файлы 12 12 */ 13 -var мВерсияСкрипта = 1.35 14 - 15 -/* Версия 1.35 16 - * 1. Добавлена возможность обновлять не все каталоги, а только текущий 17 - * 2. Косметические изменения форм 18 - * 3. Добавлены горячие кнопки для кнопок обновления каталогов 19 - * 4. Теперь при обновлении каталога позиция курсора сохраняется 20 - */ 21 - 22 -// Зададим путь в профайле 23 -var pflExtFilesOpenOnStart = "ExtFiles/OpenOnStart" 24 -var pflExtShowExtInName = "ExtFiles/ShowExtInName" 25 -var pflExtFilesPath = "ExtFiles/Path" 26 -var pflExtFilesPathBase = "ExtFiles/PathBase" 27 -var pflExtOpen1CExtensions = "ExtFiles/Open1CExtensions" 28 - 29 -// Восстановим настройки 30 -profileRoot.createValue(pflExtFilesOpenOnStart, false, pflSnegopat) 31 -profileRoot.createValue(pflExtShowExtInName, true, pflSnegopat) 32 -profileRoot.createValue(pflExtFilesPath, false, pflSnegopat) 33 -profileRoot.createValue(pflExtFilesPathBase, false, pflBase) 34 -profileRoot.createValue(pflExtOpen1CExtensions, СформироватьТзРасширенияФайловПоУмолчанию(), pflSnegopat) 35 - 36 - 37 -var мОткрыватьПриСтарте = profileRoot.getValue(pflExtFilesOpenOnStart) 38 -var мОтображатьРасширениеФайлаВПредставлении = profileRoot.getValue(pflExtShowExtInName) 39 -var мТзКаталогиОбщие = profileRoot.getValue(pflExtFilesPath) 40 -var мТзКаталогиБазы = profileRoot.getValue(pflExtFilesPathBase) 41 -var мТзРасширенияФайлов = profileRoot.getValue(pflExtOpen1CExtensions); 42 -var RE_EXTENSIONS = null; 43 - 44 -global.connectGlobals(SelfScript) 45 - 46 -function ТзКаталоговИнициализировать(пТзКаталоги) 47 -{ 13 +var мВерсияСкрипта = 1.40 14 + 15 +//////////////////////////////////////////////////////////////////////////////////////// 16 +////{ Макросы 17 +//// 18 + 19 +// Макрос для вызова окна 20 +function macrosОткрытьОкноВнешнихФайлов() { 21 + 22 + var pathToForm = SelfScript.fullPath.replace(/js$/, 'ssf') 23 + if(!мФормаСкрипта){ 24 + мФормаСкрипта = loadScriptForm(pathToForm, SelfScript.self) // Обработку событий формы привяжем к самому скрипту 25 + мФормаСкрипта.Заголовок="Внешние файлы" //+мВерсияСкрипта 26 + КэшКартинокТиповФайлов = ПолучитьКэшКартинокТиповФайлов(мФормаСкрипта); 27 + } 28 + мФормаСкрипта.Открыть() 29 +} 30 + 31 +function macrosСвернутьДеревоВнешнихФайлов() { 32 + 33 + if(мАктивноДеревоВнешнихФайлов()==false) return false 34 + 35 + if(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.Развернут(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока)==false) 36 + { 37 + if(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока.Родитель != undefined) 38 + мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока=мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока.Родитель 39 + } 40 + else 41 + мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.Свернуть(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока) 42 +} 43 + 44 +function macrosРазвернутьДеревоВнешнихФайлов() { 45 + 46 + if(мАктивноДеревоВнешнихФайлов()==false) return false 47 + мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.Развернуть(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока) 48 +} 49 + 50 +////} Макросы 51 + 52 +//////////////////////////////////////////////////////////////////////////////////////// 53 +////{ ФормаСкрипта - обработчики событий. 54 +//// 55 + 56 +function КпШапкаОбновить(Элемент) { 57 + мОбновитьФайлы() 58 +} 59 + 60 +function КпШапкаОбновитьТекущуюВетку(Элемент) { 61 + мОбновитьФайлыТекущейВетки() 62 +} 63 + 64 +function ФильтрПриИзменении(Элемент) { 65 + мОбновитьФайлы() 66 +} 67 + 68 +function ПриОткрытии() { 69 + мОбновитьФайлы() 70 +} 71 + 72 +function КпШапкаЗакрыть(Элемент) { 73 + мФормаСкрипта.Закрыть() 74 +} 75 + 76 +function мАктивноДеревоВнешнихФайлов() { 77 + if(мФормаСкрипта==null) return false 78 + if(мФормаСкрипта.ВводДоступен()!=true) return false 79 + return мФормаСкрипта.ТекущийЭлемент==мФормаСкрипта.ЭлементыФормы.ДеревоФайлов 80 +} 81 + 82 +function КпШапкаРазвернуть(Элемент) { 83 + macrosРазвернутьДеревоВнешнихФайлов(); 84 +} 85 + 86 +function КпШапкаСправка(Кнопка) { 87 + RunApp('http://snegopat.ru/scripts/wiki?name=extfiles.js'); 88 +} 89 + 90 +function КпШапкаСвернуть(Элемент) { 91 + macrosСвернутьДеревоВнешнихФайлов() 92 +} 93 + 94 +function ДеревоФайловПередНачаломИзменения(пЭлемент, пОтказ) { 95 + 96 + пОтказ.val = true 97 + лТекСтрока=пЭлемент.val.ТекущаяСтрока 98 + if(лТекСтрока.ЭтоКаталог) return 99 + 100 + if (МожноОткрытьФайлВКонфигураторе(лТекСтрока.ИмяФайла)) 101 + stdlib.openFileIn1C(лТекСтрока.ИмяФайла) 102 + else 103 + ЗапуститьПриложение(лТекСтрока.ИмяФайла); 104 +} 105 + 106 +function ДеревоФайловПриВыводеСтроки(пЭлемент, пОформлениеСтроки, пДанныеСтроки) { 107 + 108 + лЯчейкаИмя=пОформлениеСтроки.val.Ячейки.Имя 109 + лЯчейкаИмя.ОтображатьКартинку=true 110 + if(ValueIsFilled(пДанныеСтроки.val.Родитель)==false) 111 + { 112 + лЯчейкаИмя.Картинка = мФормаСкрипта.ЭлементыФормы.КартинкаПапка.Картинка; 113 + } 114 + else if(пДанныеСтроки.val.ЭтоКаталог==true) 115 + { 116 + лЯчейкаИмя.Картинка = мФормаСкрипта.ЭлементыФормы.КартинкаПапка.Картинка; 117 + } 118 + else 119 + { 120 + var КартинкаПоРасширению = ПолучитьКартинкуПоРасширению(пДанныеСтроки.val.Тип); 121 + лЯчейкаИмя.Картинка = КартинкаПоРасширению ? КартинкаПоРасширению : БиблиотекаКартинок.Форма; 122 + } 123 + 124 +} 125 + 126 +function КонтекстноеМенюОткрытьПроводник (Кнопка) { 127 + var ТекущаяСтрока = мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущиеДанные; 128 + if (ТекущаяСтрока) 129 + { 130 + var СтрокаЗапуска = 'explorer.exe "' + ПолучитьКаталогСтрокиДерева(ТекущаяСтрока) + '"'; 131 + ЗапуститьПриложение(СтрокаЗапуска); 132 + } 133 +} 134 + 135 +function КонтекстноеМенюОткрытьКонсоль (Кнопка) { 136 + var ТекущаяСтрока = мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущиеДанные; 137 + if (ТекущаяСтрока) 138 + { 139 + var Каталог = ПолучитьКаталогСтрокиДерева(ТекущаяСтрока); 140 + var СтрокаЗапуска = ПолучитьКомандуЗапускаКонсоли(Каталог); 141 + ЗапуститьПриложение(СтрокаЗапуска, Каталог); 142 + } 143 +} 144 + 145 +//// 146 +////} ФормаСкрипта - обработчики событий. 147 +//////////////////////////////////////////////////////////////////////////////////////// 148 + 149 +//////////////////////////////////////////////////////////////////////////////////////// 150 +////{ Вспомогательные процедуры и функции. 151 +//// 152 + 153 +function ТзКаталоговИнициализировать(пТзКаталоги) { 154 + 48 155 try{ 49 156 пТзКаталоги = ValueFromStringInternal(пТзКаталоги) 50 157 } 51 158 catch(e){ 52 159 пТзКаталоги = v8New("ТаблицаЗначений") 53 160 } 54 161 try{ /*тут проверяем не старые ли настройки, раньше хранились в массиве, конвертируем, в будущем удалить*/ ................................................................................ 66 173 return лТзКаталоги 67 174 } 68 175 catch(e){ 69 176 } 70 177 return пТзКаталоги 71 178 } 72 179 73 -мТзКаталогиОбщие = ТзКаталоговИнициализировать(мТзКаталогиОбщие) 74 -мТзКаталогиБазы = ТзКаталоговИнициализировать(мТзКаталогиБазы) 180 +function GetAbsolutePathName(pathToFile) { 75 181 76 -мФормаСкрипта=null 77 -мФормаНастройки=null 78 - 79 -if(мОткрыватьПриСтарте==true) 80 - macrosОткрытьОкноВнешнихФайлов() 81 - 82 -// Макрос для вызова окна 83 -function macrosОткрытьОкноВнешнихФайлов() 84 -{ 85 - var pathToForm = SelfScript.fullPath.replace(/js$/, 'ssf') 86 - if(!мФормаСкрипта){ 87 - мФормаСкрипта = loadScriptForm(pathToForm, SelfScript.self) // Обработку событий формы привяжем к самому скрипту 88 - мФормаСкрипта.Заголовок="Внешние файлы" //+мВерсияСкрипта 89 - } 90 - мФормаСкрипта.Открыть() 91 -} 92 - 93 -function КпШапкаНастройки(Элемент) 94 -{ 95 - var pathToForm=SelfScript.fullPath.replace(/.js$/, 'param.ssf') 96 - мФормаНастройки=loadScriptForm(pathToForm, SelfScript.self) // Обработку событий формы привяжем к самому скрипту 97 - мФормаНастройки.ЭлементыФормы.НадписьВерсия.Заголовок="Версия скрипта:"+мВерсияСкрипта 98 - мФормаНастройки.ОткрытьМодально() 99 -} 100 - 101 -function мЗаписатьНастройки() 102 -{ 103 - мТзКаталогиОбщие=мФормаНастройки.КаталогиОбщие 104 - мТзКаталогиБазы=мФормаНастройки.КаталогиБазы 105 - мОткрыватьПриСтарте=мФормаНастройки.ОткрыватьФормуПриЗагрузке 106 - мТзРасширенияФайлов = мФормаНастройки.РасширенияФайлов.Скопировать(); 107 - RE_EXTENSIONS = null; // Регулярку надо переформировать. 108 - 109 - profileRoot.setValue(pflExtFilesOpenOnStart, мОткрыватьПриСтарте) 110 - profileRoot.setValue(pflExtShowExtInName, мОтображатьРасширениеФайлаВПредставлении) 111 - profileRoot.setValue(pflExtFilesOpenOnStart, мОткрыватьПриСтарте) 112 - profileRoot.setValue(pflExtFilesPath, ValueToStringInternal(мТзКаталогиОбщие)) 113 - profileRoot.setValue(pflExtFilesPathBase, ValueToStringInternal(мТзКаталогиБазы)) 114 - profileRoot.setValue(pflExtOpen1CExtensions, мТзРасширенияФайлов) 115 - 116 - мОбновитьФайлы() 117 -} 118 - 119 -function мЗагрузитьНастройку(пТзКаталоги, пТаблицаКаталогов) 120 -{ 121 - for (var лИнд=0; лИнд<пТзКаталоги.Количество(); лИнд++) 122 - { 123 - лСтрокаТз=пТаблицаКаталогов.Добавить() 124 - лСтрокаТз.ИмяКаталога=пТзКаталоги.Получить(лИнд).ИмяКаталога 125 - лСтрокаТз.Развернуть=пТзКаталоги.Получить(лИнд).Развернуть 126 - } 127 -} 128 - 129 -function НастройкиПриОткрытии() 130 -{ 131 - мФормаНастройки.ОткрыватьФормуПриЗагрузке=мОткрыватьПриСтарте 132 - мФормаНастройки.ОтображатьРасширениеФайлаВПредставлении=мОтображатьРасширениеФайлаВПредставлении 133 - мЗагрузитьНастройку(мТзКаталогиОбщие, мФормаНастройки.КаталогиОбщие); 134 - мЗагрузитьНастройку(мТзКаталогиБазы, мФормаНастройки.КаталогиБазы); 135 - мФормаНастройки.РасширенияФайлов = мТзРасширенияФайлов; 136 -} 137 - 138 -function КпШапкаЗаписатьИЗакрыть(Кнопка) 139 -{ 140 - мЗаписатьНастройки() 141 - мФормаНастройки.Закрыть() 142 -} 143 - 144 -function КпШапкаЗаписать(Кнопка) 145 -{ 146 - мЗаписатьНастройки() 147 -} 148 - 149 -function мВыбратьКаталог() 150 -{ 151 - ДиалогОткрытияФайла=v8New("ДиалогВыбораФайла", РежимДиалогаВыбораФайла.ВыборКаталога) 152 - ДиалогОткрытияФайла.ПолноеИмяФайла = "" 153 - ДиалогОткрытияФайла.Заголовок = "Выберите каталог" 154 - if(ДиалогОткрытияФайла.Выбрать()==false) return "" 155 - return ДиалогОткрытияФайла.Каталог 156 -} 157 - 158 -function КаталогиОбщиеИмяКаталогаНачалоВыбора(Элемент, СтандартнаяОбработка) 159 -{ 160 - лКаталог=мВыбратьКаталог() 161 - if(лКаталог=="") return 162 - Элемент.val.Значение=лКаталог 163 -} 164 - 165 -function КаталогиБазыИмяКаталогаНачалоВыбора(Элемент, СтандартнаяОбработка) 166 -{ 167 - лКаталог=мВыбратьКаталог() 168 - if(лКаталог=="") return 169 - Элемент.val.Значение=лКаталог 170 -} 171 - 172 -function GetAbsolutePathName(pathToFile) 173 -{ 174 182 if (pathToFile.length == 0) return pathToFile 175 183 //код взят из python для определеня abspath 176 184 debugger; 177 185 backslash = "\\" 178 186 if (pathToFile.substr(0,4)=='\\\\.\\' || pathToFile.substr(0,4)=='\\\\?\\') return pathToFile 179 187 180 188 path = pathToFile.replace("/", "\\") ................................................................................ 251 259 return path+"\\"+b 252 260 } 253 261 if (path.substr(path.length-1,1) != "\\" && b.substr(0,1) == "\\") { 254 262 return path+b; 255 263 } 256 264 } 257 265 258 -function мДобавитьФайлы(пПуть, пУзел) 259 -{ 266 +function мДобавитьФайлы(пПуть, пУзел) { 267 + 260 268 var лФайлы=FindFiles(пПуть, '*.*', false) 261 269 for (var лИнд=0; лИнд<лФайлы.Количество(); лИнд++) 262 270 { 263 271 лФайл=лФайлы.Получить(лИнд) 264 272 265 273 if((лФайл.ЭтоКаталог() == false) && (мФормаСкрипта.Фильтр != '')) 266 274 if(лФайл.ИмяБезРасширения.toLowerCase().search(мФормаСкрипта.Фильтр.toLowerCase()) == -1) continue ................................................................................ 281 289 мДобавитьФайлы(лФайл.ПолноеИмя, лСтрокаДереваФайлов) 282 290 } 283 291 else 284 292 лСтрокаДереваФайлов.Тип=лФайл.Расширение.substr(1) 285 293 } 286 294 } 287 295 288 -function ДобавитьКаталоги(пТзКаталоги) 289 -{ 296 +function ДобавитьКаталоги(пТзКаталоги) { 297 + 290 298 var mainFolder = profileRoot.getValue("Snegopat/MainFolder") 291 299 try { 292 300 var fso = new ActiveXObject ("Scripting.FileSystemObject") 293 301 } 294 302 catch (er) { 295 303 var fso = null 296 304 } ................................................................................ 321 329 322 330 мДобавитьФайлы(лКаталог, лСтрокаДереваФайлов) 323 331 лСтрокаДереваФайлов.Строки.Сортировать("ЭтоКаталог Убыв, Имя", true) 324 332 } 325 333 мФормаСкрипта.ДеревоФайлов.Строки.Сортировать("ЭтоКаталог Убыв, Имя", true) 326 334 } 327 335 328 -function мОбновитьФайлы() 329 -{ 336 +function мОбновитьФайлы() { 330 337 лТекСтрока=мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока 331 338 332 339 // Запомним текущую строку 333 340 лИмяФайлаТекСтроки="" 334 341 if(лТекСтрока!=undefined) лИмяФайлаТекСтроки=лТекСтрока.ИмяФайла 335 342 336 343 мФормаСкрипта.ДеревоФайлов.Строки.Очистить() ................................................................................ 348 355 if(лИмяФайлаТекСтроки != ""){ 349 356 лСтрокаНайденная=мФормаСкрипта.ДеревоФайлов.Строки.Найти(лИмяФайлаТекСтроки, "ИмяФайла", true) 350 357 if(лСтрокаНайденная != undefined) 351 358 мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока=лСтрокаНайденная 352 359 } 353 360 } 354 361 355 -function мОбновитьФайлыТекущейВетки() 356 -{ 362 +function мОбновитьФайлыТекущейВетки() { 363 + 357 364 лТекСтрока=мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока 358 365 if(лТекСтрока==undefined) return 359 366 360 367 // Запомним текущую строку 361 368 лИмяФайлаТекСтроки=лТекСтрока.ИмяФайла 362 369 363 370 while(лТекСтрока.Родитель != undefined) лТекСтрока=лТекСтрока.Родитель ................................................................................ 367 374 368 375 // Восстановим текущую строку 369 376 лСтрокаНайденная=мФормаСкрипта.ДеревоФайлов.Строки.Найти(лИмяФайлаТекСтроки, "ИмяФайла", true) 370 377 if(лСтрокаНайденная != undefined) 371 378 мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока=лСтрокаНайденная 372 379 } 373 380 374 -function КпШапкаОбновить(Элемент) 375 -{ 376 - мОбновитьФайлы() 377 -} 378 - 379 -function КпШапкаОбновитьТекущуюВетку(Элемент) 380 -{ 381 - мОбновитьФайлыТекущейВетки() 382 -} 383 - 384 -function ФильтрПриИзменении(Элемент) 385 -{ 386 - мОбновитьФайлы() 387 -} 388 - 389 -function ПриОткрытии() 390 -{ 391 - мОбновитьФайлы() 392 -} 393 - 394 -function КпШапкаЗакрыть(Элемент) 395 -{ 396 - мФормаСкрипта.Закрыть() 397 -} 398 - 399 -function мАктивноДеревоВнешнихФайлов() 400 -{ 401 - if(мФормаСкрипта==null) return false 402 - if(мФормаСкрипта.ВводДоступен()!=true) return false 403 - return мФормаСкрипта.ТекущийЭлемент==мФормаСкрипта.ЭлементыФормы.ДеревоФайлов 404 -} 405 - 406 -function macrosСвернутьДеревоВнешнихФайлов() 407 -{ 408 - if(мАктивноДеревоВнешнихФайлов()==false) return false 409 - 410 - if(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.Развернут(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока)==false) 411 - { 412 - if(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока.Родитель != undefined) 413 - мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока=мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока.Родитель 414 - } 415 - else 416 - мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.Свернуть(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока) 417 -} 418 - 419 -function macrosРазвернутьДеревоВнешнихФайлов() 420 -{ 421 - if(мАктивноДеревоВнешнихФайлов()==false) return false 422 - мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.Развернуть(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока) 423 -} 424 - 425 -function КпШапкаРазвернуть(Элемент) 426 -{ 427 - macrosРазвернутьДеревоВнешнихФайлов(); 428 -} 429 - 430 -function КпШапкаСправка(Кнопка) 431 -{ 432 - RunApp('http://snegopat.ru/scripts/wiki?name=extfiles.js'); 433 -} 434 - 435 -function КпШапкаСвернуть(Элемент) 436 -{ 437 - macrosСвернутьДеревоВнешнихФайлов() 438 -} 439 - 440 -function ДеревоФайловПередНачаломИзменения(пЭлемент, пОтказ) 441 -{ 442 - пОтказ.val = true 443 - лТекСтрока=пЭлемент.val.ТекущаяСтрока 444 - if(лТекСтрока.ЭтоКаталог) return 445 - 446 - if (МожноОткрытьФайлВКонфигураторе(лТекСтрока.ИмяФайла)) 447 - stdlib.openFileIn1C(лТекСтрока.ИмяФайла) 448 - else 449 - ЗапуститьПриложение(лТекСтрока.ИмяФайла); 450 -} 451 - 452 -function ДеревоФайловПриВыводеСтроки(пЭлемент, пОформлениеСтроки, пДанныеСтроки) 453 -{ 454 - лЯчейкаИмя=пОформлениеСтроки.val.Ячейки.Имя 455 - лЯчейкаИмя.ОтображатьКартинку=true 456 - if(ValueIsFilled(пДанныеСтроки.val.Родитель)==false) 457 - лЯчейкаИмя.Картинка=БиблиотекаКартинок.СоздатьГруппу 458 - else if(пДанныеСтроки.val.ЭтоКаталог==true) 459 - лЯчейкаИмя.Картинка=БиблиотекаКартинок.ОткрытьФайл 460 - else 461 - лЯчейкаИмя.Картинка=БиблиотекаКартинок.Форма 462 -} 463 - 464 -function СформироватьТзРасширенияФайловПоУмолчанию() 465 -{ 381 +function ПолучитьКаталогСтрокиДерева(СтрокаДерева) { 382 + var Файл = v8New('Файл', СтрокаДерева.ИмяФайла); 383 + return Файл.ЭтоФайл() ? Файл.Путь : Файл.ПолноеИмя; 384 +} 385 + 386 +function ПолучитьКомандуЗапускаКонсоли(Каталог) { 387 + return мКомандаЗапускаКонсоли.replace(/%1/, Каталог); 388 +} 389 + 390 +function СформироватьТзРасширенияФайловПоУмолчанию() { 391 + 466 392 var ТЗ = v8New("ТаблицаЗначений"); 467 393 ТЗ.Колонки.Добавить("Расширение"); 468 394 469 395 function Расш(расширение) { ТЗ.Добавить().Расширение = расширение; } 470 396 471 397 // Стандартные файлы 1С:Предприятия 8. 472 398 Расш("txt"); Расш("bmp"); Расш("dib"); Расш("png"); Расш("rle"); ................................................................................ 476 402 477 403 // Файлы Снегопата. 478 404 Расш("ssf"); Расш("js"); Расш("vbs"); 479 405 480 406 return ТЗ; 481 407 } 482 408 483 -function МожноОткрытьФайлВКонфигураторе(ИмяФайла) 484 -{ 409 +function МожноОткрытьФайлВКонфигураторе(ИмяФайла) { 485 410 if (!RE_EXTENSIONS) 486 411 { 487 412 var ext = new Array(); 488 413 for (var i=0; i<мТзРасширенияФайлов.Количество(); i++) 489 414 ext.push(мТзРасширенияФайлов.Get(i).Расширение); 490 415 491 - RE_EXTENSIONS = new RegExp('\.(?:' + ext.join('|') + ' )$', 'i'); 416 + RE_EXTENSIONS = new RegExp('\.(?:' + ext.join('|') + ')$', 'i'); 492 417 } 493 418 494 419 return RE_EXTENSIONS.test(ИмяФайла); 495 420 } 421 + 422 +function ПолучитьКэшКартинокТиповФайлов(ФормаСкрипта) { 423 + var ЭФ = ФормаСкрипта.ЭлементыФормы; 424 + var cache = {}; 425 + 426 + function add(estr, pic) { 427 + var exts = estr.split('|'); 428 + for (var i=0; i<exts.length; i++) 429 + cache[exts[i].toLowerCase()] = pic; 430 + } 431 + 432 + add('doc|docx|dot|odf', ЭФ.КартинкаТипФайлаDoc.Картинка); 433 + add('xls|xlsx|csv', ЭФ.КартинкаТипФайлаXls.Картинка); 434 + 435 + add('pps|ppsx', ЭФ.КартинкаТипФайлаPps.Картинка); 436 + add('pdf|ps', ЭФ.КартинкаТипФайлаPdf.Картинка); 437 + 438 + add('png|jpg|jpeg|bmp|tif|dib|ico', ЭФ.КартинкаТипФайлаPng.Картинка); 439 + 440 + add('xml', ЭФ.КартинкаТипФайлаXml.Картинка); 441 + add('zip', ЭФ.КартинкаТипФайлаZip.Картинка); 442 + add('rar', ЭФ.КартинкаТипФайлаRar.Картинка); 443 + 444 + add('exe|cmd|bat', ЭФ.КартинкаТипФайлаExe.Картинка); 445 + 446 + add('txt', ЭФ.КартинкаТипФайлаTxt.Картинка); 447 + add('geo', ЭФ.КартинкаТипФайлаGeo.Картинка); 448 + add('grs', ЭФ.КартинкаТипФайлаGrs.Картинка); 449 + add('erf', ЭФ.КартинкаТипФайлаErf.Картинка); 450 + add('epf', ЭФ.КартинкаТипФайлаEpf.Картинка); 451 + add('mxl', ЭФ.КартинкаТипФайлаMxl.Картинка); 452 + 453 + add('ssf', ЭФ.КартинкаТипФайлаSsf.Картинка); 454 + add('js', ЭФ.КартинкаТипФайлаTxt.Картинка); 455 + add('vbs', ЭФ.КартинкаТипФайлаTxt.Картинка); 456 + 457 + add('unknown', ЭФ.КартинкаТипФайлаUnknown.Картинка); 458 + 459 + return cache; 460 + 461 +} 462 + 463 +function ПолучитьКартинкуПоРасширению(Расширение) { 464 + 465 + if (КэшКартинокТиповФайлов) { 466 + var pic = КэшКартинокТиповФайлов[Расширение.toLowerCase()]; 467 + return pic ? pic : КэшКартинокТиповФайлов['unknown']; 468 + } 469 + return null; 470 +} 471 + 472 +//// 473 +////} Вспомогательные процедуры и функции. 474 +//////////////////////////////////////////////////////////////////////////////////////// 475 + 476 +//////////////////////////////////////////////////////////////////////////////////////// 477 +////{ ФормаНастройки - обработчики событий. 478 +//// 479 + 480 +function КпШапкаНастройки(Элемент) { 481 + var pathToForm=SelfScript.fullPath.replace(/.js$/, 'param.ssf') 482 + мФормаНастройки=loadScriptForm(pathToForm, SelfScript.self) // Обработку событий формы привяжем к самому скрипту 483 + мФормаНастройки.ЭлементыФормы.НадписьВерсия.Заголовок="Версия скрипта:"+мВерсияСкрипта 484 + мФормаНастройки.ОткрытьМодально() 485 +} 486 + 487 +function мЗаписатьНастройки() { 488 + 489 + мТзКаталогиОбщие=мФормаНастройки.КаталогиОбщие 490 + мТзКаталогиБазы=мФормаНастройки.КаталогиБазы 491 + мОткрыватьПриСтарте=мФормаНастройки.ОткрыватьФормуПриЗагрузке 492 + мТзРасширенияФайлов = мФормаНастройки.РасширенияФайлов.Скопировать(); 493 + мКомандаЗапускаКонсоли = мФормаНастройки.КомандаЗапускаКонсоли; 494 + RE_EXTENSIONS = null; // Регулярку надо переформировать. 495 + 496 + profileRoot.setValue(pflExtFilesOpenOnStart, мОткрыватьПриСтарте) 497 + profileRoot.setValue(pflExtShowExtInName, мОтображатьРасширениеФайлаВПредставлении) 498 + profileRoot.setValue(pflExtFilesOpenOnStart, мОткрыватьПриСтарте) 499 + profileRoot.setValue(pflExtFilesPath, ValueToStringInternal(мТзКаталогиОбщие)) 500 + profileRoot.setValue(pflExtFilesPathBase, ValueToStringInternal(мТзКаталогиБазы)) 501 + profileRoot.setValue(pflExtOpen1CExtensions, мТзРасширенияФайлов) 502 + profileRoot.setValue(pflExtRunConsoleCommand, мКомандаЗапускаКонсоли) 503 + 504 + мОбновитьФайлы() 505 +} 506 + 507 +function мЗагрузитьНастройку(пТзКаталоги, пТаблицаКаталогов) { 508 + 509 + for (var лИнд=0; лИнд<пТзКаталоги.Количество(); лИнд++) 510 + { 511 + лСтрокаТз=пТаблицаКаталогов.Добавить() 512 + лСтрокаТз.ИмяКаталога=пТзКаталоги.Получить(лИнд).ИмяКаталога 513 + лСтрокаТз.Развернуть=пТзКаталоги.Получить(лИнд).Развернуть 514 + } 515 +} 516 + 517 +function НастройкиПриОткрытии() { 518 + мФормаНастройки.ОткрыватьФормуПриЗагрузке=мОткрыватьПриСтарте 519 + мФормаНастройки.ОтображатьРасширениеФайлаВПредставлении=мОтображатьРасширениеФайлаВПредставлении 520 + мЗагрузитьНастройку(мТзКаталогиОбщие, мФормаНастройки.КаталогиОбщие); 521 + мЗагрузитьНастройку(мТзКаталогиБазы, мФормаНастройки.КаталогиБазы); 522 + мФормаНастройки.РасширенияФайлов = мТзРасширенияФайлов; 523 + мФормаНастройки.КомандаЗапускаКонсоли = мКомандаЗапускаКонсоли; 524 +} 525 + 526 +function КпШапкаЗаписатьИЗакрыть(Кнопка) { 527 + мЗаписатьНастройки() 528 + мФормаНастройки.Закрыть() 529 +} 530 + 531 +function КпШапкаЗаписать(Кнопка) { 532 + мЗаписатьНастройки() 533 +} 534 + 535 +/* Возвращает название макроса по умолчанию - вызывается, когда пользователь 536 +дважды щелкает мышью по названию скрипта в окне Снегопата. */ 537 +function getDefaultMacros() { 538 + return 'ОткрытьОкноВнешнихФайлов'; 539 +} 540 + 541 +function мВыбратьКаталог() { 542 + ДиалогОткрытияФайла=v8New("ДиалогВыбораФайла", РежимДиалогаВыбораФайла.ВыборКаталога) 543 + ДиалогОткрытияФайла.ПолноеИмяФайла = "" 544 + ДиалогОткрытияФайла.Заголовок = "Выберите каталог" 545 + if(ДиалогОткрытияФайла.Выбрать()==false) return "" 546 + return ДиалогОткрытияФайла.Каталог 547 +} 548 + 549 +function КаталогиОбщиеИмяКаталогаНачалоВыбора(Элемент, СтандартнаяОбработка) { 550 + лКаталог=мВыбратьКаталог() 551 + if(лКаталог=="") return 552 + Элемент.val.Значение=лКаталог 553 +} 554 + 555 +function КаталогиБазыИмяКаталогаНачалоВыбора(Элемент, СтандартнаяОбработка) { 556 + лКаталог=мВыбратьКаталог() 557 + if(лКаталог=="") return 558 + Элемент.val.Значение=лКаталог 559 +} 560 + 561 +function НадписьCmdExeНажатие (Элемент) { 562 + мФормаНастройки.КомандаЗапускаКонсоли = Элемент.val.Заголовок; 563 +} 564 + 565 +function НадписьFarExeНажатие (Элемент) { 566 + мФормаНастройки.КомандаЗапускаКонсоли = Элемент.val.Заголовок; 567 +} 568 + 569 +//// 570 +////} ФормаНастройки - обработчики событий. 571 +//////////////////////////////////////////////////////////////////////////////////////// 572 + 573 +//////////////////////////////////////////////////////////////////////////////////////// 574 +////{ Инициализация скрипта 575 +//// 576 + 577 +// Зададим путь в профайле 578 +var pflExtFilesOpenOnStart = "ExtFiles/OpenOnStart" 579 +var pflExtShowExtInName = "ExtFiles/ShowExtInName" 580 +var pflExtFilesPath = "ExtFiles/Path" 581 +var pflExtFilesPathBase = "ExtFiles/PathBase" 582 +var pflExtOpen1CExtensions = "ExtFiles/Open1CExtensions" 583 +var pflExtRunConsoleCommand = "ExtFiles/RunConsoleCommand" 584 + 585 +// Восстановим настройки 586 +profileRoot.createValue(pflExtFilesOpenOnStart, false, pflSnegopat) 587 +profileRoot.createValue(pflExtShowExtInName, true, pflSnegopat) 588 +profileRoot.createValue(pflExtFilesPath, false, pflSnegopat) 589 +profileRoot.createValue(pflExtFilesPathBase, false, pflBase) 590 +profileRoot.createValue(pflExtOpen1CExtensions, СформироватьТзРасширенияФайловПоУмолчанию(), pflSnegopat) 591 +profileRoot.createValue(pflExtRunConsoleCommand, 'cmd.exe /K cd /D "%1"', pflSnegopat) 592 + 593 + 594 +var мОткрыватьПриСтарте = profileRoot.getValue(pflExtFilesOpenOnStart) 595 +var мОтображатьРасширениеФайлаВПредставлении = profileRoot.getValue(pflExtShowExtInName) 596 +var мТзКаталогиОбщие = profileRoot.getValue(pflExtFilesPath) 597 +var мТзКаталогиБазы = profileRoot.getValue(pflExtFilesPathBase) 598 +var мТзРасширенияФайлов = profileRoot.getValue(pflExtOpen1CExtensions); 599 +var мКомандаЗапускаКонсоли = profileRoot.getValue(pflExtRunConsoleCommand); 600 + 601 +var RE_EXTENSIONS = null; 602 + 603 +var КэшКартинокТиповФайлов = {}; 604 + 605 +global.connectGlobals(SelfScript) 606 + 607 +мТзКаталогиОбщие = ТзКаталоговИнициализировать(мТзКаталогиОбщие) 608 +мТзКаталогиБазы = ТзКаталоговИнициализировать(мТзКаталогиБазы) 609 + 610 +мФормаСкрипта=null 611 +мФормаНастройки=null 612 + 613 +if(мОткрыватьПриСтарте==true) 614 + macrosОткрытьОкноВнешнихФайлов() 615 + 616 +////} Инициализация скрипта 617 + 496 618
Changes to extfiles.ssf.
cannot compute difference between binary files
Changes to extfilesparam.ssf.
cannot compute difference between binary files
Changes to mdNavigator.js.
367 367 var n = Кнопка.val.Name 368 368 doAction(function(mdObj){mdObj.editProperty(n)}) 369 369 } 370 370 // Двойной щелчок по таблице 371 371 function ТаблицаМетаданныхВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) 372 372 { 373 373 doAction(function(mdObj){mdObj.activateInTree()}) 374 +} 375 +/* Возвращает название макроса по умолчанию - вызывается, когда пользователь 376 +дважды щелкает мышью по названию скрипта в окне Снегопата. */ 377 +function getDefaultMacros() 378 +{ 379 + return 'Открыть объект метаданных'; 374 380 }
Changes to query_colors.js.
14 14 15 15 function macrosОткрытьОкно() 16 16 { 17 17 form = loadScriptForm(SelfScript.fullPath.replace(/js$/i, 'ssf'), SelfScript.self) 18 18 form.ОткрытьМодально() 19 19 form = null 20 20 } 21 + 22 +/* Возвращает название макроса по умолчанию - вызывается, когда пользователь 23 +дважды щелкает мышью по названию скрипта в окне Снегопата. */ 24 +function getDefaultMacros() { 25 + return 'ОткрытьОкно'; 26 +} 21 27 22 28 function ПриОткрытии() 23 29 { 24 30 var qec = profileRoot.getFolder("SelectColorCategory") 25 31 for(var i = 0, c = qec.valuesCount; i < c; i++) 26 32 { 27 33 var row = form.Категории.Добавить()
Changes to snippets.js.
51 51 var sm = GetSnippetsManager(); 52 52 var params = sm.paramsManager.getAllParams(); 53 53 54 54 var selParam = sm.selectValue(params); 55 55 if (selParam) 56 56 w.SetSelectedText('<%' + selParam + '>'); 57 57 } 58 + 59 +/* Возвращает название макроса по умолчанию - вызывается, когда пользователь 60 +дважды щелкает мышью по названию скрипта в окне Снегопата. */ 61 +function getDefaultMacros() { 62 + return 'ОткрытьНастройкиСкрипта'; 63 +} 58 64 59 65 ////} Макросы 60 66 61 67 //////////////////////////////////////////////////////////////////////////////////////// 62 68 ////{ SnippetsManager 63 69 //// 64 70 65 71 function SnippetsManager() { 66 72 67 73 SnippetsManager._instance = this; 68 74 69 - this.settings = SettingsManagement.CreateManager(SelfScript.uniqueName, {'TemplateFilesList':v8New('ValueList')}); 75 + this.settings = SettingsManagement.CreateManager(SelfScript.uniqueName, {'TemplateFilesList':getDefaultTemplatesList()}); 70 76 this.settings.LoadSettings(); 71 77 72 78 this._snippets = {}; 73 79 this._snippetNames = new Array(); 74 80 75 81 this.paramsManager = new SnippetParametersManager(); 76 82 ................................................................................ 544 550 this.form.Close(); 545 551 } 546 552 547 553 SettingsManagerDialog.prototype.CmdBarAbout = function (button) { 548 554 RunApp('http://snegopat.ru/scripts/wiki?name=snippets.js'); 549 555 } 550 556 551 -SettingsManagerDialog.prototype.CmdBarStListAddStFile = function (button) { 552 - 557 +SettingsManagerDialog.prototype.selectTemplateFiles = function (multiselect) { 558 + 553 559 var dlg = v8New('FileDialog', FileDialogMode.Open); 554 - dlg.Multiselect = true; 560 + dlg.Multiselect = multiselect ? true : false; 555 561 dlg.CheckFileExist = true; 556 562 dlg.Filter = "Файлы шаблонов (*.st)|*.st|Все файлы|*"; 557 563 558 564 if (dlg.Choose()) 565 + return multiselect ? dlg.SelectedFiles : dlg.FullFileName; 566 + 567 + return null; 568 +} 569 + 570 +SettingsManagerDialog.prototype.CmdBarStListAddStFile = function (button) { 571 + 572 + var selected = this.selectTemplateFiles(true); 573 + if (selected) 559 574 { 560 575 this.form.Modified = true; 561 576 562 - for(var i=0; i<dlg.SelectedFiles.Count(); i++) 563 - { 564 - var path = dlg.SelectedFiles.Get(i); 565 - if (!this.form.TemplateFilesList.FindByValue(path)) 566 - this.form.TemplateFilesList.Add(path); 567 - } 577 + for (var i=0; i<selected.Count(); i++) 578 + this.form.TemplateFilesList.Add().Value = selected.Get(i); 568 579 } 569 580 } 570 581 571 582 SettingsManagerDialog.prototype.CmdBarStListDeleteStFile = function (button) { 572 583 var curRow = this.form.Controls.TemplateFilesList.CurrentRow; 573 584 if (curRow) 574 585 { 575 586 this.form.TemplateFilesList.Delete(curRow); 576 587 this.form.Modified = true; 577 588 } 578 589 } 590 + 591 +SettingsManagerDialog.prototype.TemplateFilesListValueStartChoice = function (Control, DefaultHandler) { 592 + 593 + DefaultHandler.val = false; 594 + 595 + var fname = this.selectTemplateFiles(false); 596 + if (fname) 597 + { 598 + this.form.Modified = true; 599 + Control.val.Value = fname; 600 + } 601 +} 579 602 580 603 SettingsManagerDialog.prototype.OnOpen = function() { 581 604 } 582 605 583 606 SettingsManagerDialog.prototype.BeforeClose = function(Cancel, StandardHandler) { 584 607 585 608 StandardHandler.val = false; ................................................................................ 599 622 } 600 623 601 624 Cancel.val = false; 602 625 } 603 626 604 627 ////} SettingsManagerDialog 605 628 629 +////{ Вспомогательные функции для работы с настройками. 630 +function getDefaultTemplatesList() { 631 + var tplList = v8New('ValueTable'); 632 + tplList.Columns.Add('Value'); 633 + return tplList; 634 +} 635 + 636 +function __convertSettingsFromValueListToValueTable() { 637 + 638 + /* Изначально настройки хранились в СпискеЗначений. 639 + Возникла необходимость переделать на ТаблицуЗначений. 640 + Данная процедура выполняет конвертацию. */ 641 + 642 + var pflSnippets = SelfScript.uniqueName + '/TemplateFilesList'; 643 + var defaultTplList = getDefaultTemplatesList(); 644 + 645 + profileRoot.createValue(SelfScript.name, defaultTplList, pflSnegopat); 646 + var tplList = profileRoot.getValue(pflSnippets); 647 + 648 + if (toV8Value(tplList).typeName() == 'ValueList') 649 + { 650 + for(var i=0; i<tplList.Count(); i++) 651 + defaultTplList.Add().Value = tplList.Get(i).Value; 652 + } 653 + 654 + profileRoot.setValue(pflSnippets, defaultTplList); 655 + 656 +} 657 +////} Вспомогательные функции для работы с настройками. 658 + 606 659 //////////////////////////////////////////////////////////////////////////////////////// 607 660 ////{ Startup 608 661 //// 609 662 function GetSnippetsManager() { 610 663 if (!SnippetsManager._instance) 611 664 new SnippetsManager(); 612 665 613 666 return SnippetsManager._instance; 614 667 } 668 + 669 +//{ Конвертация значения настройки TemplateFilesList из списка значений в таблицу значений. 670 +__convertSettingsFromValueListToValueTable(); 671 +//} 615 672 616 673 events.connect(snegopat, "onProcessTemplate", GetSnippetsManager()); 617 674 618 675 ////} Startup
Changes to snippets.settings.ssf.
cannot compute difference between binary files