outwiker icon indicating copy to clipboard operation
outwiker copied to clipboard

Установка плагинов из zip-архивов

Open Jenyay opened this issue 7 years ago • 6 comments

Jenyay avatar Apr 02 '17 13:04 Jenyay

не совсем понятен юзер кейс? нужно ли с учётом обновления в update_notifier?

twobolts avatar May 15 '18 05:05 twobolts

Идея в том, чтобы облегчить установку плагинов. Чтобы через интерфейс программы (скорее всего в диалоге настроек, где приводится список плагинов) пользователь мог нажать кнопку и выбрать скачанный архив с плагином, а не вручную его распаковывать в папку, которую не так просто найти.

Это может быть полезно, если не установлен плагин UpdateNotifier.

Jenyay avatar May 16 '18 05:05 Jenyay

тогда по хорошему и удаление туда же нужно добавлять.

Возможно функцию установки/удаления плагинов стоит перенести из UpdateNotifier в базовый функционал программы?

А то сейчас получается немного странно, чтобы получить такую возможность надо руками поставить плагин UpdateNotifier , который по названию вообще должен только уведомлять об обновлениях.

twobolts avatar May 16 '18 06:05 twobolts

Я тоже об этом задумался. Можно для начала попробовать окно обновлений перенести в диалог настроек. Но я боюсь, что там такой интерфейс на основе HTML будет выглядеть чужеродно.

Jenyay avatar May 16 '18 06:05 Jenyay

Частично портировал функционал установки/удаления плагинов в окно настроек.

Что получилось ниже на скриншотах видно.

Есть пара вопросов:

  1. Наверное стоит и обновить сделать кнопку?
  2. При портировании пришлось втащить много модулей из UpdateNotifier, не уверен, что добавил их куда надо, буду благодарен проревьюишь.
  3. Меню настроек для плагинов создаются по событию onPreferencesDialogCreate, соответственно при добавлении/удалении плагинов из диалога настроек, нет механизма для обновления dialog.treeBook, кроме как закрыть весь диалог и открыть заново, но это не выглядит хорошей идеей. Как с этим быть непонятно.

попробовать можно у меня в ветке move_install

Окно настройки: 2018-05-20 21-46-38

Установка: 2018-05-20 21-49-15

twobolts avatar May 20 '18 19:05 twobolts

  1. Я думаю, что тут стоит глобально переделать интерфейс, чтобы он был по сути как в UpdateNotifier, а не вызывался как отдельный диалог. Но у меня все-таки есть сомнения по поводу того, что стоит там использовать стиль веб-интерфейса, а не обычные кнопки и надписи.

Например, можно сделать, чтобы для каждого плагина в строку шли такие элементы:

  • CheckBox для активации / деактивации плагина.
  • Название с текущей версией. Оно же ссылка на сайт (как в Update Notifier).
  • Кнопка "Скачать / удалить".
  • Кнопка "Обновить", если есть обновления.

Кнопки - BitmapButton.

  1. Код посмотрю, но эти изменения буду забирать уже после того, как выложу версию 2.1.0.842 на следующей неделе.

  2. Да, надо подумать, как это лучше сделать. Можно сделать так, чтобы в реальности плагины устанавливались и удалялись, только когда пользователь нажимает кнопку OK в диалоге.

Jenyay avatar May 20 '18 19:05 Jenyay