среда, 17 октября 2018 г.

Переработка диалогов управления макросами в LibreOffice

По состоянию на сейчас в LibreOffice управление макросами реализовано в интерфейсе через одно место.
Проблемы, как я их вижу, такие:
Из меню Сервис->Макросы->Управление макросами доступны ЧЕТЫРЕ разных диалога управления макросами, для каждого доступного языка отдельно. Basic, JavaScript, BeanShell и Python. Причем все они разные.
Причём диалог для Basic не позволяет управлять макросами. Для собственно управления макросами Basic нужно открыть отдельный дополнительный диалог.
Кнопка Правка во всех диалогах позволяет редактировать сам макрос, а вовсе не имя/положение библиотеки/модуля/диалога.
Я предлагаю всё это безобразие упразднить и сделать ОДИН диалог для управления макросами и запуска макросов.
Вот такого примерно вида (я на английском делал, потому что в багзилле так ВСЕ поймут, о чем речь и зачем):
В левой части диалога мы именно управляем библиотеками/модулями/диалогами, а также умеем делать импорт/экспорт. А в правой части мы работаем непосредственно с макросами: запускаем, назначаем макросы на события и редактируем их, если надо.
Никакого разделения по языкам программирования не нужно, в силу того, что LibreOffice сам различает на каком языке программирования написаны макросы в библиотеках и, я так понимаю, не допустит, чтобы из библиотеки Basic запустился модуль на Python. А значит и в моем варианте диалога нужно заставить LibreOffice значками выделять библиотеки/модули на разных ЯП и они все просто будут иерархически в одном дереве.
Есть ещё один момент: в текущей версии LibreOffice для работы с макросами на Python нужно внешнее расширение APSO. Без него не получится даже создать соответствующую библиотеку. Почему так сделано, я не очень понимаю, как и то, почему это расширение не включено в базовую поставку LibreOffice, раз базовый функционал просто нерабочий.
Так вот, при переделке диалога управления макросами этот странный факт также необходимо будет учитывать.

9 комментариев:

  1. Интересно, есть-ли в планах разработчиков опубликовать какое-нибудь вменяемое руководство/документацию по написанию макросов под LO (а значит и по uno тоже). Та свалка, что сейчас в Вики, ИМХО совершенно никуда не годится.

    ОтветитьУдалить
    Ответы
    1. Боюсь, что разработчиков устраивает та информация, которая есть в вики, причем именно в том виде, в котором она в вики сейчас

      Удалить
  2. Без, обид, но какой смысл в статье? Просто создается чувство что это не статья а письмо разрабам.

    ОтветитьУдалить
    Ответы
    1. Никаких обид. Учитывая, что это мой блог, то в данном случае это была памятка мне перед написанием письма разрабам.
      Ну и раньше я тоже писал про мои дизайнерские изыски сюда.

      Удалить
    2. Вроде не плохо выходит. И как принимают твои изменения в дизайне?
      Слушай, а не думал не кто как окно "свойства таблицы" в порядок немного перевести. А то получается что в нём нельзя изменять высоту строк, работать с шириной столбцов в каждой отдельной строке (приходиться перезаходить), да и не понятно зачем нужна отдельная вкладка для ширины столбцов, если её содержимое помещается на 3 строки.

      Удалить
    3. >И как принимают твои изменения в дизайне?

      по разному, конкретно это улучшение будет принято на ура, потому что текущее состояние никому не нравится, но делать что-то просто некому =(

      >Слушай, а не думал не кто как окно "свойства таблицы" в порядок немного перевести

      в каком модуле? Writer, Calc, Draw/Impress?

      Удалить
    4. Свойства таблице в Writer.
      Желаю удачи в продвижении твоих идей.

      Удалить
    5. В этом же меню есть ещё такая тема, что нельзя понять результат своих действий с таблицей до закрытия свойств. (приходиться лазить в свойство по 4-5 раз если результат не устраивает)

      Удалить
    6. Насчет управления таблицами в Writer:

      1. Есть бага https://bugs.documentfoundation.org/show_bug.cgi?id=104443 про отсутствие вкладки Строки в диалоге Свойства таблицы

      2. Автообновления вида таблиц без выхода из диалога в ближайшее время не планируется. Это сложно реализовывать.

      Удалить

Внимание! Сообщения проходят премодерацию!