Перейти к содержанию
GPS навигатор СитиГИД

FAQ по редактированию LangPack-ов


Рекомендуемые сообщения

2 часа назад, IШIN сказал:

Сделать "с маневрами" и "без маневров"

так как это реализовать в штатном скине, может подскажите...

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 1.7т
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Популярные посты

Во исполнение идеи, кинутой PsevDANImом, закладываю первый камень в фундамент FAQа. Предлагаю в этой теме обсуждений/споров не вести. Если знаете полезную информацию - размещайте (желательно в форма

В рубрике "уроки самопальщика" или "сделай сам себе лангпак" рассмотрим, как немного доработать чужой скин на примере конкретной задачи. Задача - добавить кнопку "скриншот" на основной экран в скин

Как изменить цвет и ширину дорог? Как изменить цвет и размер дельтаплана? Как изменить цвет и ширину линии маршрута? Никак. То есть, лангпаком - никак. Цвета дорог и маршрутной линии можно

Изображения в теме

5 минут назад, rwww сказал:

так как это реализовать в штатном скине

Начнем-с...

1. General.xml

В самом начале есть блок panel controller. В штатном там что-то закомментировано, я приведу уже свой, измененный вариант:

  <panelcontroller name="nav_screen">
    <panellist name="panels_main">
      <panel type="RollPanel" name="RollPanel"/>
      <panel type="ContextMenu" name="ContextMenu"/>
      <panel type="JunctionView" name="JunctionView"/>
       <panel type="ButtonsWithRoute" name="ButtonsPanel2" prefix="square_"/>
      <panel type="ButtonsNoRoute" name="ButtonsPanelDrive2" prefix="square_"/>
      <panel type="NavWithRoute" name="NavPanel2" prefix="square_"/>
      <panel type="NavNoRoute" name="NavPanelDrive2" prefix="square_"/>
   </panellist>
    <panellist name="panels_square">
      <panel type="RollPanel" name="RollPanel"/>
      <panel type="ContextMenu" name="ContextMenu"/>
      <panel type="JunctionView" name="JunctionView"/>
      <panel type="ButtonsWithRoute" name="ButtonsPanel3" prefix="square_"/>
      <panel type="ButtonsNoRoute" name="ButtonsPanelDrive3" prefix="square_"/>
      <panel type="NavWithRoute" name="NavPanel3" prefix="square_"/>
      <panel type="NavNoRoute" name="NavPanelDrive3" prefix="square_"/>
   </panellist>

</panelcontroller>

В штатном (и у Фотолома) был еще один panellist - с именем "classic"

У меня не получилось его запустить, глючил. В итоге я забил, оставил два - с ними у меня работает.

Еще обнаружил хитрость (приставал к Фотолому с вопросом) - оказывается, имена панел-листов менять нельзя. (panels_main и panels_square).

Я пробовал давать им свои имена - не работает (выбор не сохраняется при выходе). Так что имена оставляем как есть. (можете этот блок целиком использовать из данного примера)

В каждом панель-листе кроме всего прочего описаны, как видим 4 варианта панели - с маршрутом и без+кнопки.

2. Дальше, если поискать по файлу (например по ButtonsPanel), найдем блоки типа:

  <menu name="NavPanelDrive2" rows="3" cols="2">
    <props layout="template_np_drive"/>
    <items>
    </items>
  </menu>

  <menu name="ButtonsPanelDrive2" rows="5" cols="2">
    <props layout="template_buttons_drive"/>
    <items>
    </items>
  </menu>  
.......................

всего их будет 4, соответствуют тем, что были в первом блоке.

Надо по аналогии добавить свои, для второго режима (без маневров)

У меня это все выглядит так:

<!--Панели основного экрана, зум слева -->
  <menu name="NavPanelDrive2" rows="3" cols="2">
    <props layout="template_np_drive"/>
    <items>
    </items>
  </menu>

  <menu name="ButtonsPanelDrive2" rows="5" cols="2">
    <props layout="template_buttons_drive"/>
    <items>
    </items>
  </menu>  
    
  <menu name="NavPanel2" rows="3" cols="2">
    <props layout="template_np"/>
    <items>
    </items>
  </menu>
   
  <menu name="ButtonsPanel2" rows="5" cols="2">
    <props layout="template_buttons"/>
    <items>
    </items>
  </menu>

<!--Панели основного экрана, зум справа -->
  <menu name="NavPanelDrive3" rows="3" cols="2">
    <props layout="template_np_drive_mirror"/>
    <items>
    </items>
  </menu>

  <menu name="ButtonsPanelDrive3" rows="5" cols="2">
    <props layout="template_buttons_drive_mirror"/>
    <items>
    </items>
  </menu>  
    
  <menu name="NavPanel3" rows="3" cols="2">
    <props layout="template_np_mirror"/>
    <items>
    </items>
  </menu>
   
  <menu name="ButtonsPanel3" rows="5" cols="2">
    <props layout="template_buttons_mirror"/>
    <items>
    </items>
  </menu>

В моем примере для одного режима будут использоваться раскладки типа template_np_hor, template_np_vert и т.д., для другого - template_np_mirror_hor и т.п.

Можете просто mirror везде заменить например на NoManevr, и этот блок Вам подойдет как родной.

 

3. Все перечисленные меню должны быть упомянуты в том же файле (general.xml) еще в одном месте:

Ищем itemlist name="allmenu"

Попадем на список всех менюшек, там будут и наши navpaneldrive, но только для одного режима.

Добавим свои:

 <itemlist name="allmenu">
    <item name="StartMenu"/>

.........................

    <item name="NavPanelDrive2"/>
    <item name="ButtonsPanelDrive2"/>
    <item name="NavPanel2"/>
    <item name="ButtonsPanel2"/>
    <item name="NavPanelDrive3"/>
    <item name="ButtonsPanelDrive3"/>
    <item name="NavPanel3"/>
    <item name="ButtonsPanel3"/>

..........................

</itemlist>

4. Чтоб вернуть в меню выкушенную разработчиками команду смены вида, ищем блок settings_ui, вставляем в него строку

<subseting name="subset_navPanels"/>
 (естественно - в ту позицию, где в менюшке нам нужна будет эта строка) 

Получим что-то вроде (у меня эта шпала будет второй сверху, сразу после настройки Ёменю)

      <setting name="settings_ui" menu="SubOptionsDlg">
        <subseting name="settings_mymenu" info="@settings_mymenu_info" layout="Action_info"/>
        <subseting name="subset_navPanels"/>
        <subseting name="subset_GUI_size"/>
    <subseting name="subset_cm_mode"/>
        <subseting name="s_view"/>
        <subseting name="subset_viewOnScreen"/>
        <subseting name="subset_route_street_name_mode"/>
        <subseting name="subset_info"/>
        <subseting name="subset_startmenu"/>
        <subseting name="subset_animate_menu"/>
      </setting>

Все, с General-ом покончено.

5. Теперь открываем Layouts.xml.

В нем копируем все 4 блока template_np_hor, template_np_drive_hor, template_buttons_hor, template_buttons_drive_hor, (сразу же следом за исходными, чтоб долго не искать) и естественно копии переименовываем - добавляем в название перед "hor" например NoManevr (ну разумеется должно быть то же, что писали в Генерале).

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

6. Повторяем пункт 5 для блоков с окончанием "_vert"

7. Сохраняем, проверяем.

8. Расстраиваемся что не сделали бэкап, т.к. где-то не закрыли скобку, и теперь на экране карта без кнопок. Ищем ошибку. :)

 

Ссылка на сообщение
Поделиться на другие сайты

Спасибо, будем пробовать.

 В штатном скине            (и у Фотолома) был еще один panellist - с именем "classic",              тоже присутствует

Изменено пользователем rwww
Ссылка на сообщение
Поделиться на другие сайты
1 час назад, IШIN сказал:

Сохраняем, проверяем

Блестяще!

Если позволите, добавлю только, что если хочется видеть в выборе скина свои названия, то правим rus.xml, дефолтные названия (это <panellist name="panels_main"> и, соответственно остальные) там уже есть, по ним и ищем.

Второй (или первый) нюанс: при добавлении третьего варианта, для которого был назначен первый панель-лист, обнаружились странность с пропаданием некоторых кнопок в некоторых ситуациях. Преодолеть удалось заменой

    <item name="NavPanelDrive"/>
    <item name="ButtonsPanelDrive"/>
    <item name="NavPanel"/>
    <item name="ButtonsPanel"/> 
  

На

    <item name="NavPanel4"/>
    <item name="NavPanelDrive4"/>
    <item name="ButtonsPanel4"/>
    <item name="ButtonsPanelDrive4"/>

Возможно, были и другие пути преодоления, но не стал заморачиваться, заработало и ладно. Вот если захочется четвёртый вариант...

Ссылка на сообщение
Поделиться на другие сайты

+1000!

Когда начинал сочинять, про рус.хмл помнил и собирался написать. Но пока растекался мысию по древу, забыл.

За ашипке прашю венить TapaTalk

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, IШIN сказал:

В нем копируем все 4 блока template_np_hor, template_np_drive_hor, template_buttons_hor, template_buttons_drive_hor, (сразу же следом за исходными

с  General.xml разобрался а вот Layouts.xml. не совсем понятно, однако, можно по подробнее

Ссылка на сообщение
Поделиться на другие сайты
Вот если захочется четвёртый вариант...

Я ещё в предпредыдущей версии чуть в психушку не попал. Всем блокам-панелям давал свои осмысленные имена - и ничего не работало. Вся структура сохранена, а не работает... Еле допер, что программа не читает имена панелей из файла, а ищет конкретные, и переименовывать низя..

За ашипке прашю венить TapaTalk

2 минуты назад, rwww сказал:

вот Layouts.xml. не совсем понятно, однако, можно поподробнее

Щас, сформулирую.

А вообще-то что нужно - только убрать указатели маневров и расстояния до них?

Тогда можно в 4 раза упростить задачу. Щас надергаю примеров, покажу

Ссылка на сообщение
Поделиться на другие сайты
17 минут назад, IШIN сказал:

Но пока растекался мысию по древу

Скрытый текст

Ай, порадовали!

 

Ссылка на сообщение
Поделиться на другие сайты
22 минуты назад, IШIN сказал:

А вообще-то что нужно - только убрать указатели маневров и расстояния до них?

Мысль вообще то была, сделать  пункт в меню убрать первый маневр , как сделано со вторым маневром в меню=настройки=интерфейс=панель навигации= первый маневр,                тк второй\показать-убрать\ уже есть в настройках

а не переброска по экрану вправо влево маневров

Изменено пользователем rwww
Ссылка на сообщение
Поделиться на другие сайты
 <layout name="template_np_NoManevr_hor">

...мноооооого текста

...

</layout>

Итак. Если хотим только убрать указатели маневров, то получается, что режим "без маршрута" менять ваще не нужно (за него отвечают блоки c приставкой "_drive", более точно можно их имена посмотреть в General, то, о чем писал в п.1).

Кнопки, допустим, нас тоже устраивают, их двигать не хочем (это раскладки со словом buttons).

Тогда меняться у нас будет только раскладка template_np_hor и template_np_vert (это в моем примере, у Вас там может быть немного другое название).

В общем случае алгоритм такой.

В General все упрощается - 

В начале можно написать в таком стиле:

  <panelcontroller name="nav_screen">
    <panellist name="panels_main">
      <panel type="RollPanel" name="RollPanel"/>
      <panel type="ContextMenu" name="ContextMenu"/>
      <panel type="JunctionView" name="JunctionView"/>
       <panel type="ButtonsWithRoute" name="ButtonsPanel2" prefix="square_"/>
      <panel type="ButtonsNoRoute" name="ButtonsPanelDrive2" prefix="square_"/>
      <panel type="NavWithRoute" name="NavPanel2" prefix="square_"/>
      <panel type="NavNoRoute" name="NavPanelDrive2" prefix="square_"/>
   </panellist>
    <panellist name="panels_square">
      <panel type="RollPanel" name="RollPanel"/>
      <panel type="ContextMenu" name="ContextMenu"/>
      <panel type="JunctionView" name="JunctionView"/>
      <panel type="ButtonsWithRoute" name="ButtonsPanel2" prefix="square_"/>
      <panel type="ButtonsNoRoute" name="ButtonsPanelDrive2" prefix="square_"/>
      <panel type="NavWithRoute" name="NavPanel3" prefix="square_"/>
      <panel type="NavNoRoute" name="NavPanelDrive2" prefix="square_"/>
   </panellist>

Обратите внимание - второй панель-лист для ButtonsWithRoute, ButtonsNoRoute и NavNoRoute использует те же панели (".......2"), чтто и первый.

И только NavWithRoute  (панель в режиме с маршрутом)  использует свою схему - NavPanel3

Соответственно, везде далее в ГЕНЕРАЛе можно нужно лишние строки и блоки (по сравнению с предыдущим моим постом) убрать.

А вот теперь лезем руками в LAYOUTS.XML.

Допустим, что в ГЕНЕРАЛе мы для режима с маневрами и без использовали соответственно блоки 

 <menu name="NavPanel2" rows="3" cols="2">
    <props layout="template_np"/>
    <items>
    </items>
  </menu>
...   
...
  <menu name="NavPanel3" rows="3" cols="2">
    <props layout="template_np_NoManevr"/>
    <items>
    </items>
  </menu>

Тогда в Лэйаутсах ищем текст template_np

Найдем блок типа

 <layout name="template_np_hor">

...мноооооого текста

...

</layout>

Выделяем весь блок и копируем следом за самим собой.

И чуток меняем имя, чтоб было как в ГЕНЕРАЛе

 

 <layout name="template_np_NoManevr_hor">

...мноооооого текста

...

</layout>

В нем ищем - где у нас панель маневров.

Дальше все зависит от того, как в исходном ЛП сделано. У меня можно просто удалить весь блок маневров вместе с дистанциями до них - они плавающие, ничего не сползет. Если не уверены - лучше убирать содержимое, оставляя структуру. Найти маневры в структуре несложно - сочетания m1 и m2 приведут к ним.

Пример 

            <VerticalPanel width="66X" invoke="r_listing_auto">
                <HorizontalPanel height="58X">
                  <ImageLabel width="66X" bgimage="@square_navPanel_m1" bgmode="directdraw"/>
                </HorizontalPanel>
            </VerticalPanel>

Если в строке 

<ImageLabel width="66X" bgimage="@square_navPanel_m1" bgmode="directdraw"/>

убрать все лишнее (картинку и режим ее отрисовки), и оставтиь только

<ImageLabel width="66X"/>

то ячейка останется, но без маневра, то есть гарантированно ничего не сползет. (самая частая ошибка - случайное удаление слэша в конце перед угл.скобкой)

Но ячейка останется "кликабельной", то есть при тапе по пустому месту вызовется команда Легенда- invoke="r_listing_auto" 

Мы и ее вырежем - из строки <VerticalPanel width="66X" invoke="r_listing_auto">

оставим <VerticalPanel width="66X">

И так далее.

А затем повторяем в аналогичном блоке template_np_vert

(копируем и вырезаем лишнее)

17 минут назад, fotolom сказал:

Ай, порадовали!

Спасибо В.Ворошилову. Еще в школе видел вопрос про вещего Олега в "ЧтоГдеКогда". Засело в черепной коробке.

12 минуты назад, rwww сказал:

Мысль вообще то была, сделать  пункт в меню убрать первый маневр , как сделано со вторым маневром в меню=настройки=интерфейс=панель навигации= первый маневр,                тк второй\показать-убрать\ уже есть в настройках

а не переброска по экрану вправо влево маневров

Дык я и говорю - пункт такой не вставить. Но можно вставить (там же, в Настройки-Интерфейс) "Выбор экрана навигации" - и там будут "С маневрами" и "Без маневров" (как мы их назовем в Rus.xml).

А если эту настройку еще в ЁМеню добавть, вообще удобно будет.

Ссылка на сообщение
Поделиться на другие сайты

да, только в штатном скине строка         <VerticalPanel bgimage="@square_navPanel_f1_bg" invoke="r_listing_auto"> 

сделал ее                                                <VerticalPanel width="44X">

осталось еще метры убрать

из этой строки 

<ImageLabel type="text" class="square_p1_dist2m1_val" text="@navPanel_txt_dist2m1"/>

делаем <ImageLabel width="44X"/>

и метров нету и левый угол свободный, ну а первый и  второй маневры  на малых повторителях видны, для 7" девайса и их вполне хватит

теперь подумать надо, двигать спидометр или нет, надо проехаться.

Screenshot_20160524-160632.jpg

Изменено пользователем rwww
Ссылка на сообщение
Поделиться на другие сайты

пока сделал вот так 

оставил на экране кн выход

Screenshot_20160524-164356.jpg

Изменено пользователем rwww
Ссылка на сообщение
Поделиться на другие сайты
56 минут назад, rwww сказал:

да, только в штатном скине строка         <VerticalPanel bgimage="@square_navPanel_f1_bg" invoke="r_listing_auto"> 

сделал ее                                                <VerticalPanel width="44X">

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

57 минут назад, rwww сказал:

Теперь подумать надо, двигать спидометр или нет

ИМХО и думать нечего, конечно двигать.

Чего  он болтается, как фиалка в проруби.

Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, IШIN сказал:

Чего  он болтается, как фиалка в проруби.

Тоже так думаю.

в принципе кн ДРОИ ПОИСК и др можно в верхнее меню отправить

Screenshot_20160524-165920.jpg

Изменено пользователем rwww
Ссылка на сообщение
Поделиться на другие сайты

пока остановился на таком варианте

Screenshot_20160524-182924.jpg

Screenshot_20160524-183444.jpg

Изменено пользователем rwww
Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

В новой тестовой версии 9.3.779 появилась кнопка обыкновенный  фотоаппарат, не путать  со снимком экрана, так же по моему и проигрыватель хотят встроить, посмотрим.

<layout name="template_ScriptPanel_hor">

Screenshot_20160602-102749.jpg

Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, rwww сказал:

В новой тестовой версии 9.3.779 появилась кнопка обыкновенный  фотоаппарат

Ужос. Еще кнопки СМС, Твитнуть, Пиднять-покласть слухавку, ...

И этих фото-кнопок две сделать! Вторая - селфи ж !

Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, rwww сказал:

появилась кнопка обыкновенный  фотоаппарат,

Есть подозрение, что не совсем обыкновенный. А интегрированный в отправку фото во всяческие чаты и путевые заметки. И не стоит говорить, что это никому не нужно. Загляните в Ленты и прочие чаты. Количество тусующихся там заметно превышает количество пишущих, что это на фиг не нужно.

Так что, будем реалистами.

Из замеченного ещё: лента новостей RSS, изменена Легенда, там теперь ещё и ПОИ в ключевых точках. И загадочная секция в layout.xml, благодаря которой справа от скорости (в дефолтном ленгпаке) появляются какие-то цифры (по виду - время), что значат, непонятно.

Секция такая:

    <VerticalPanel>
      <HorizontalPanel height="13.33X" name="toolbar"/>
      <HorizontalPanel height="23X"/>
      <HorizontalPanel height="28X">
        <VerticalPanel width="90X"/>
        <VerticalPanel width="35X" type="text" class="square_dpoi_txt_info" text="@warn_INFO1"/>
        <VerticalPanel width="35X" type="text" class="square_dpoi_txt_info" text="@warn_INFO2"/>
        <VerticalPanel width="35X" type="text" class="square_dpoi_txt_info" text="@warn_INFO3"/>
      </HorizontalPanel>
    </VerticalPanel>

Переделаны некоторые строки в меню, типа "расстояние до", "время до". Пустяки, одним словом. Зато очень облегчен за счёт этого rus.xml.

Ссылка на сообщение
Поделиться на другие сайты
16 минут назад, fotolom сказал:

И загадочная секция в layout.xml, благодаря которой справа от скорости (в дефолтном ленгпаке) появляются какие-то цифры (по виду - время), что значат, непонятно.

А это разве не надписи расстояния под значками радаров, засад и неровных дорог? Они-то издавна были

Ссылка на сообщение
Поделиться на другие сайты
9 часов назад, IШIN сказал:

А это разве не надписи расстояния под значками радаров, засад и неровных дорог? Они-то издавна были

Нет, это другое. Что, пока непонятно.

Ссылка на сообщение
Поделиться на другие сайты
14 часа назад, rwww сказал:

В новой тестовой версии 9.3.779 появилась кнопка обыкновенный  фотоаппарат, не путать  со снимком экрана, так же по моему и проигрыватель хотят встроить, посмотрим.

<layout name="template_ScriptPanel_hor">

Screenshot_20160602-102749.jpg

просили селфи - получите.  Кнопку нужно побольше и посередине экрана сделать.

Изменено пользователем dkltd
Ссылка на сообщение
Поделиться на другие сайты
В 02.06.2016 в 12:16, IШIN сказал:

разве не надписи расстояния под значками радаров, засад и неровных дорог?

 

В 02.06.2016 в 21:20, fotolom сказал:

Нет, это другое. Что, пока непонятно.

Разъяснилось, это относится к новому сервису "Пробки по маршруту":

screenshot_272.png

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

Пришлось много чего исправлять, ошибки в дефолтном скине, особенно в таблет.

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...