fravsitc / psi-dev

Automatically exported from code.google.com/p/psi-dev
0 stars 0 forks source link

Load Plugin Settings #246

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
В окне настроек на пункте плагинов если 
выбрать в выпадалке 
неактивный плагин и нажать на галку 
активировать, то настройки 
плагина не появляются пока psi+ не 
перезапустишь.

Original issue reported on code.google.com by ivan.bor...@gmail.com on 26 Jan 2010 at 8:26

GoogleCodeExporter commented 8 years ago
Та ну как так? В последних ревизиях уже ж 
все появляется.

Original comment by wadea...@gmail.com on 27 Jan 2010 at 7:25

GoogleCodeExporter commented 8 years ago
Ревизия 1718
приходится переоткрывать окно настроек

Original comment by ivan.bor...@gmail.com on 28 Jan 2010 at 1:58

GoogleCodeExporter commented 8 years ago
Не воспроизводится.
Psi+ 0.15.1734 Beta (Jan 28 2010) // Windows XP // Qt 4.6.1

Original comment by vladimir.shelukhin on 28 Jan 2010 at 4:13

GoogleCodeExporter commented 8 years ago
Баг повторяется - при установке галки 
интерфейс настроек плагина не появляется.
Только после переоткрытия окна настроек.

Psi+ 0.15.1748 Beta (Jan 30 2010) / Debian GNU/Linux unstable (sid)

Original comment by ivan.bor...@gmail.com on 30 Jan 2010 at 4:17

Attachments:

GoogleCodeExporter commented 8 years ago
версия Qt какая?

Original comment by vladimir.shelukhin on 30 Jan 2010 at 5:57

GoogleCodeExporter commented 8 years ago

Original comment by vladimir.shelukhin on 30 Jan 2010 at 6:39

GoogleCodeExporter commented 8 years ago
4.5.3

Original comment by ivan.bor...@gmail.com on 30 Jan 2010 at 10:01

GoogleCodeExporter commented 8 years ago
У меня тоже такая. Но тем не менее, 
настройки плагина появляются сразу после 
нажатия
на кнопку "Применить". Посмотри сам в коде, 
там после нажатия кнопки применить заново
вызывается процедура прорисовки опций. 

Original comment by wadea...@gmail.com on 31 Jan 2010 at 8:22

GoogleCodeExporter commented 8 years ago
o_O

А никому не кажется, что настройки должны 
появляться после нажатия на галку 
активировать?

Original comment by ivan.bor...@gmail.com on 31 Jan 2010 at 8:38

GoogleCodeExporter commented 8 years ago
нет, не кажется для того и кнопка,вроде как

Original comment by VampiRUS...@gmail.com on 31 Jan 2010 at 9:25

GoogleCodeExporter commented 8 years ago
Кнопка применить вообще по сути равна 
кнопке ОК без закрытия окна.
Опции - дополнительные настройки плагина, 
тоесть по сути если был бы другой 
интерфейс, 
то можно было бы представить так

*--X активировать ---------------------*
|                                     |
|  опции                              |
|                                     |
*-------------------------------------*

Галка активировать выполняет роль именно 
этого переключателя в настройках, просто 
расположена не там.

Original comment by ivan.bor...@gmail.com on 31 Jan 2010 at 12:57

GoogleCodeExporter commented 8 years ago
Если я правильно понял, то после нажатия на 
кнопку применить, у тебя опции тоже
появляются?
Галочка "активировать" помимо прочего еще и 
изменяет значение соответствующей
настройки в базе. Раньше она как раз делала 
это без нажатия кнопки "применить", что
неправильно. Сейчас же все работает так, 
как нужно. Нажал кнопку "применить" -
получил результат. Нажал "Отмена" - ничего 
не поменялось.

Original comment by wadea...@gmail.com on 31 Jan 2010 at 1:41

GoogleCodeExporter commented 8 years ago
Да, появляются. Сейчас ты рассказываешь как 
все работает с точки зрения реализации, и 
с этой точки зрения все правильно, но с 
другой точки зрения - интерфейса это 
неправильно.

Установка галочки не меняет настройку в 
базе - она меняется только при нажатии 
применить или ОК.
Нужно на событие смены значения галки 
поставить перерисовку виджета с 
настройками 
плагина.

Original comment by ivan.bor...@gmail.com on 31 Jan 2010 at 1:49

GoogleCodeExporter commented 8 years ago
Так делать не получится. Нельзя показывать 
настройки плагина, если он выключен. И
нельзя включать плагин просто поставив 
галку без нажатия на кнопку "Применить" - это
неправильно.

Original comment by wadea...@gmail.com on 31 Jan 2010 at 8:06

GoogleCodeExporter commented 8 years ago
Почему нельзя показывать настройки 
плагина, если он выключен?
при включении/выключении плагина 
настройки не меняются.

Original comment by ivan.bor...@gmail.com on 31 Jan 2010 at 8:49

GoogleCodeExporter commented 8 years ago
А открой любой плагин и посмотри с чего 
начинается функция показа настроек.
if(!enabled) return 0;
:)

Original comment by wadea...@gmail.com on 31 Jan 2010 at 8:58

GoogleCodeExporter commented 8 years ago
Опять на реализацию перешел.
Какого она там написана?

Original comment by ivan.bor...@gmail.com on 31 Jan 2010 at 9:05

GoogleCodeExporter commented 8 years ago
int value=PsiOptions::instance()->getOption(option).toBool();
if (value)
    value=Qt::Checked;
else
    value=Qt::Unchecked;
d->cb_loadPlugin->setChecked(value);
state_ = d->cb_loadPlugin->isChecked();

Кхм, это что за п...ц такой?

state_ = PsiOptions::instance()->getOption(option).toBool();
d->cb_loadPlugin->setChecked(state_ ? Qt::Checked : Qt::Unchecked);

Сейчас допишу патч, чтобы работало.

Original comment by ivan.bor...@gmail.com on 31 Jan 2010 at 11:33

GoogleCodeExporter commented 8 years ago
Пока получилось вот это.
Показ опций работает, но может что-то 
поломал.

Original comment by ivan.bor...@gmail.com on 1 Feb 2010 at 1:48

Attachments:

GoogleCodeExporter commented 8 years ago
На счет п...ц - так в апстриме. Они такой код 
посчитали приемлемым. А на счет патча -
я считаю, что сейчас все работает так, как 
нужно. Вампирус, вроде, тоже. Интересует
еще мнения по этому поводу.

Original comment by wadea...@gmail.com on 1 Feb 2010 at 7:46

GoogleCodeExporter commented 8 years ago
что в апстриме - не спорю, я же никого не 
обвиняю :)
Ну пусть повисит, может кто что скажет...

Original comment by ivan.bor...@gmail.com on 1 Feb 2010 at 8:44

GoogleCodeExporter commented 8 years ago
Мое мнение такое:
Хотя именно так сделано и в других 
программах (например, SIM-IM), я считаю более 
удобным для пользователя появление 
настроек плагина сразу после активации. В 
конце 
концов, программа для пользователя, а не 
для программиста! В программе все должно 
быть просто удобно, просто работать (как 
например в моем любимом iRiver - не надо 
нажимать лишнего, думать, как сделать - а 
просто сделать самым очевидным образом - и 
это будет сделано именно правильно)

Original comment by sta...@gmail.com on 1 Feb 2010 at 9:32

GoogleCodeExporter commented 8 years ago
Не смотря на "неправильность", так, как 
делает патч - как минимум удобнее :)
Другое дело - мне кажется, что если опций 
плагина нет в базе (плагин не был загружен
ни разу) - ничего всё равно не произойдёт, 
пока не нажмёшь "применить".

Original comment by st.yaga@gmail.com on 1 Feb 2010 at 6:48

GoogleCodeExporter commented 8 years ago
Наконец-то дошли руки посмотреть патч. В 
общем, он ломает все что можно :) С ним
функция чекбокса "Активировать" сводится к 
простому скрытию-показу настроек плагина.
Плагин не включить налету нельзя, ни 
отключить. Можешь легко это проверить. 
Отключи
любой плагин, а потом попробуй проверить 
его работу - ты увидишь, что он все еще
работает :)
В общем, суммируя все вышесказанное - не 
получится сделать так, как ты хочешь потому,
что отключенный плагин не показывает свои 
настройки. 

Original comment by wadea...@gmail.com on 6 Feb 2010 at 6:00

GoogleCodeExporter commented 8 years ago

Original comment by wadea...@gmail.com on 14 Apr 2010 at 1:40