Вашему вниманию предлагается новый вариант Menu Editor'а, который может работать с разными вариантами mma_ucp, как от старых, так и от новых моделей (версия бета 6). Работа в P2K-режиме: тут я целиком полагаюсь на товарища dwALX (используется p2kapi2.dll), по идее должно работать и с P2K05 телефонами Работа с профилями (комбо-бокс вверху справа главной формы): профили ограничивают список допустимых пунктов поддерживаемыми данной прошивкой и определяют параметры меню (длину записи и т.д). Профиль Default - список ВСЕХ известных мне пунктов. Как создать: выбираем Create new..., выбираем CG1 от нужной прошивки и получаем профиль (гарантию функционирования для всех FW не даю). При подключении профиль определяется автоматом по версии ПО. При отсутствии - выбирается Default. Профили хранятся в подпапке Profiles папки с программой (создастся автоматом при создании 1-го профиля) Работа с CDMA-моторами (тест) (авто-определение; создание профиля НЕ гарантируется!). Для ручного переключения добавлена галка CDMA mode (little-endian) Работа с деревом меню: - чтобы вставить подпункт для выделенного в дереве пункта либо добавить еще один пункт на тот же уровень меню или заменить выделенный пункт, выбираем в комбо-боксе необходимый пункт и появившемся поп-апе выбираем, что будем делать: Add subitem -> Add first - вставить первым в подменю Add subitem -> Add last - вставить последним в подменю Add item -> Add first - вставить первым на текущем уровне Add item -> Add before - вставить непосредственно перед выделенным пунктом Replace - заменить. Если заменяемый пункт содержит подменю, а заменяющий его иметь не может, всё подменю будет удалено (после подтверждения) - чтобы изменить поведение пункта, удалить его или подвигать по своему уровню, кликнуть правой кнопкой на выделенном в дереве пункте: Modify - изменение поведения пункта Delete - удаление (вместе с подменю, с подтверждением) Move up/Move down - переместить на одну позицию вверх/вниз. Кроме того, можно таскать пункты по дереву с помощью D&D. Перетаскиваемый пункт будет вставляться перед выделенным. Клавиши таскать нельзя! - при выборе пункта в дереве появится окошко с описанием пункта: а именно, чего в нем меняли (или не меняли [not modified]) Список поддерживаемых пунктов - все, что я нашел в firmware v3x,v3xx, krzr и т.д., включая PttOnOff (его я видел только в меню с698р).Однако, если какого-либо пункта не окажется, он будет добавлен к внешней базе, создающейся в папке Profiles при первом запуске программы (itembase.dat, текстовый файл). То, что после точки с запятой - отображаемое название пункта. При желании можно поменять на свое. Но, если в названии присутствует '[SC]', эту часть не трогайте, это маркер. Имеется возможность обработки (и создания) brand-пунктов (в списке - в самом конце, Custom item. При вставке появится пункт вида ~x, где х - какое-нибудь число, и сразу же окно модификации пункта, т.к. для него надо определить все необходимые данные - как минимум, название и иконки) При выборе пункта Modify попадаем в окно свойств пункта: 1) Таб Visual (внешний вид пункта) три галки вверху справа определяют безопасность пункта Lockable - будет ли пункт виден в списке Блокировка приложений Protected - защита пункта кодом разблокировки (не работает для клавиш) Non-changeable - только для клавиш. Не будет видна в списке настраиваемых клавиш. 2 бокса для переименования пункта (в главном меню и при назначении на кнопку ) В окне: Кнопки Add и Edit приводят к появлению окна редактирования новой или выбранной в списке записи. Add - добавить новое значение: выбрать в выпадающем списке нужный язык, в строке ввода - новое название. Вводить можно на любом языке, установленном в вашей системе, лишь бы мотор его поддерживал. Edit - отредактировать существующее, выбранное в списке (все аналогично). Delete - удалить существующее. Поля Animated/static/list icon - задать (анимированную, статическую, маленькую для списка) иконку для пункта: либо путь к файлу в телефоне или на карте, либо номер иконки в DRM.Тип выбирается вручную переключателем FS/DRM. В положении DRM иконку можно выбрать из CG15. При нажатии кнопки появится диалог открытия файла - бинарника DRM. Перебор иконок - либо кнопками вверх-вниз, либо набором в поле ввода номера. При нажатии OK индекс копируется в соответствующее поле определения иконки. При подключенном телефоне путь к иконке можно выбрать из телефона (в мини-файл-менеджере). Мини-файл-менеджер теперь не совсем мини, теперь он вполне функционален. Умеет производить операции (чтение, запись, удаление, изменеие атрибутов) как над отдельными файлами, так и над их группами. Возможно считывание файлов по фиксированной маске (gif, на всех дисках - по умолчанию), всех файлов на всех дисках, и файлов по маске на дисках по выбору. Обновление - по нажатию кнопки Update file list. Выбор режима обновления - по slave-кнопке. При установке маски расширений пишем только расширение! (без точки, например, jpg). Выбор группы файлов - стандартно для списков (shift/ctrl + клик или Ctrl+A чтобы выбрать все) Файловые операции - в контекстном меню в списке файлов. Upload to this folder - загрузить в текущую папку на телефоне Download selected - сохранить отмеченный(е) файл(ы) на диск компьютера Delete selected - удалить отмеченный(е) (с подтверждением на все/на каждый) Set attribute - установить атрибуты (read-only, hidden, system). Операции с папками (создание-удаление) - в контекстном меню в дереве папок. Create folder - создать Delete folder - удалить (вместе с файлами, с подтверждением). Проверка создания папки не выполняется, ошибка выявится на стадии загрузки файлов в новую папку. С помощью галки Use path можно закинуть файлы в невидимую папку. Конечный слэш в пути необязателен. Поле автозаполняется по мере перемещения по дереву, так что остается только дописать нужную подпапку. Поиск идет на всех доступных томах. Если иконка выбрана, рядом с полем появится картинка. Номера иконок можно посмотреть в SHXCoDec или DRMPort (так можно использовать, и так на самом деле используются желтые иконки CMCC в конце DRM). 2) Таб Function (функция пункта) Функция выбирается из выпадающего списка внизу формы. При переключении функции все данные на табе сбрасываются. В списке - всё, что удалось найти. URL - тут все ясно. Будет выполнен переход по введенному адресу. Application start - запуск приложения.Параметры смотрим в jad у установленного в телефон приложения. (в MIDlet-1 пишем 1-й параметр в списке) Если был считан J2MEST (он считывается вместе с mma_ucp), приложение можно будет выбрать из выпадающего списка. Приложение может быть как в телефоне, так и на карте. --------------------------------------- ВНИМАНИЕ: поскольку карту легко вынуть/сменить, будьте внимательны - рискуете получить частично нерабочий mma (вплоть до ребута при выборе пункта) --------------------------------------- Emulate action - послать какое-нибудь событие - типа включить BT или камеру. Вводится десятичный код события (<65535) - какой - не знаю, смотрите сами, у кого поддерживается эта фича. Насколько знаю, работает только на совсем новых моделях. Shortcut data - данные для предопределенных ярлыков. Создаются автоматом. Работает также только на 3G и совсем новых моделях GSM. В списке допустимых пунктов эти ярлыки обозначаются меткой [SC] Call/Send - позвонить/послать SMS. Параметр десятичный, <255 (1 байт). Для полноты картины. Что значит параметр, не знаю. Кто знает, как это работает, дайте знать! ---Update---> как позвонить (но не отправить смс), теперь почти понятно: для ввода номера добавлено поле Dial this number. при его заполнении другие поля блокируются. Show text - также для полноты. Работает, точно знаю, на китайской проше для V360. Просто выводит текстовое окно. Редактирование как для имени пункта. Для полей с цифровым вводом и путей добавлен контроль корректности данных (пока слабенький). При неверном вводе поле просто сбрасывается. Чтобы отменить конкретную модификацию пункта, очистите соответствующее поле. Для сохранения изменений нажмите Apply (не закрывает окно, отмена еще возможна) и OK (или просто ОК) или Cancel для отмены. Для приведения пункта к стандартному виду можно нажать Reset All Data (все данные будут сброшены). Сохранить можно либо в старом, либо в новом формате (по умолчанию в новом, 36-байтном), как в файл, так и в телефон. Установка режима - с главного окна, группа mma save mode. Галка Save all data определяет режим сохранения при наличии неопознанных данных - сохранить их или отбросить - по умолчанию - отбросить. В режиме старого mma_ucp можно установить маркер для пользовательских иконок (тех, что из файла - 06 - для триплетов, 0С - для более новых) Добавлена опция установить системный атрибут на сохраняемый mma_ucp ( set SYSTEM attribute, по умолчанию - выкл.). Добавлена опция исправления J2MEST для запуска корелетов (запись измененного J2MEST происходит при сохранении mma_ucp в телефон). При обнаружении необходимости изменения будет выдан запрос на корректировку J2MEST. Также добавлена опция включения/отключения считывания J2MEST (по отдельности для телефона и карты) и опция ведения журнала p2k-операций (при этом в папке с программой появится файл p2klog.txt) для целей отладки при ошибках в работе с телефоном. Все опции вынесены в пункт Setup. Настройки сохраняются в файле mmaae.ini, применяются сразу. По умолчанию все опции выключены. ------------------------------------------- Пункт Activate items неактивен! В разработке. ------------------------------------------- Тестируем, усердно ищем баги. За убитые телефоны ответственности не несу! И вообще, еше ни разу не убил свой. ЗЫ. Русская локализация будет позже, по мере исправления и доработки. Причина - отсутствие времени, и вообще, надо знать язык врага. ЗЗЫ. Для внимательных - в программе есть маленький прикол :)