outwiker
outwiker copied to clipboard
Установка плагинов из zip-архивов
не совсем понятен юзер кейс? нужно ли с учётом обновления в update_notifier?
Идея в том, чтобы облегчить установку плагинов. Чтобы через интерфейс программы (скорее всего в диалоге настроек, где приводится список плагинов) пользователь мог нажать кнопку и выбрать скачанный архив с плагином, а не вручную его распаковывать в папку, которую не так просто найти.
Это может быть полезно, если не установлен плагин UpdateNotifier.
тогда по хорошему и удаление туда же нужно добавлять.
Возможно функцию установки/удаления плагинов стоит перенести из UpdateNotifier в базовый функционал программы?
А то сейчас получается немного странно, чтобы получить такую возможность надо руками поставить плагин UpdateNotifier , который по названию вообще должен только уведомлять об обновлениях.
Я тоже об этом задумался. Можно для начала попробовать окно обновлений перенести в диалог настроек. Но я боюсь, что там такой интерфейс на основе HTML будет выглядеть чужеродно.
Частично портировал функционал установки/удаления плагинов в окно настроек.
Что получилось ниже на скриншотах видно.
Есть пара вопросов:
- Наверное стоит и обновить сделать кнопку?
- При портировании пришлось втащить много модулей из UpdateNotifier, не уверен, что добавил их куда надо, буду благодарен проревьюишь.
- Меню настроек для плагинов создаются по событию onPreferencesDialogCreate, соответственно при добавлении/удалении плагинов из диалога настроек, нет механизма для обновления dialog.treeBook, кроме как закрыть весь диалог и открыть заново, но это не выглядит хорошей идеей. Как с этим быть непонятно.
попробовать можно у меня в ветке move_install
Окно настройки:
Установка:
- Я думаю, что тут стоит глобально переделать интерфейс, чтобы он был по сути как в UpdateNotifier, а не вызывался как отдельный диалог. Но у меня все-таки есть сомнения по поводу того, что стоит там использовать стиль веб-интерфейса, а не обычные кнопки и надписи.
Например, можно сделать, чтобы для каждого плагина в строку шли такие элементы:
- CheckBox для активации / деактивации плагина.
- Название с текущей версией. Оно же ссылка на сайт (как в Update Notifier).
- Кнопка "Скачать / удалить".
- Кнопка "Обновить", если есть обновления.
Кнопки - BitmapButton.
-
Код посмотрю, но эти изменения буду забирать уже после того, как выложу версию 2.1.0.842 на следующей неделе.
-
Да, надо подумать, как это лучше сделать. Можно сделать так, чтобы в реальности плагины устанавливались и удалялись, только когда пользователь нажимает кнопку OK в диалоге.