Summary: | Виджет списка дополнительных групп при установке | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Andrey Cherepanov <cas> |
Component: | alterator-browser-qt | Assignee: | Sergey V Turchin <zerg> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | boyarsh, inger, kharpost |
Version: | unstable | Keywords: | usability |
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 23155 |
Description
Andrey Cherepanov
2009-04-14 12:33:37 MSD
Есть идеи, для чего он может еще быть использован? Есть идея доработать текущий: Картинки можно справа помещать, а крыжики остануться слева. Так же можно добавить event, который будет отправляться при нахождении курсора мыши над строкой. По нему в отдельном label можно будет показывать соотв. description. Это сэкономит место по высоте. (В ответ на комментарий №2) > Есть идея доработать текущий: > Картинки можно справа помещать, а крыжики остануться слева. > Так же можно добавить event, который будет отправляться при нахождении курсора > мыши над строкой. По нему в отдельном label можно будет показывать соотв. > description. Это сэкономит место по высоте. Не годится. Нынешний список очень сложно использовать. Есть также предложение сделать выделение в виде дерева, а описание и (опционально) значок - в виде отдельного блока.
То есть примерно так:
Виджет списка:
> [x] Работа с мультимедиа
L [x] Редактирование звука
L [x] Редактирование звука
L [x] Редактирование звука
При нажатии на галочку (>) ветка сворачивается или разворачивается. По умолчанию все ветки свёрнуты. При нажатии на текст пункта показывается его описание (пока без значка можно) в виджете 2 (обычный Label с переносом), расположенный под списком.
(В ответ на комментарий №3) > Нынешний список очень сложно использовать. Кому? Пользователю? Чем? Почему "очень"? (В ответ на комментарий №3) > Нынешний список очень сложно использовать. Я подозреваю, что новый будет действительно "очень сложно использовать" Стасу, т.к. тот же ахалай-махалай, который он сделал с tree повторить(еще и с наворотами) не смогу, а сделаю по-своему. (В ответ на комментарий №5) > (В ответ на комментарий №3) > > Нынешний список очень сложно использовать. > Кому? Пользователю? Да. И не одному. > Чем? Почему "очень"? Потому что а) слишком много пунктов, а в большом списке легко пропустить нужное б) нет описаний в) нет структурированности (как следствие — см. п. а) г) выделение всей строки сбивает пользателя с толку, он привык что выделение показывает текущий фокус. (В ответ на комментарий №7) > а) слишком много пунктов, а в большом списке легко пропустить нужное С деревом меньше пунктов не станет > б) нет описаний с описаниями их будет "еще больше", поэтому предлагаю по накрытию мышкой показывать описание в одном отдельном месте (это далеко не моя идея, см. настройки virtualbox). > в) нет структурированности (как следствие — см. п. а) Насчем неразвернутости дерева по умолчанию сомневаюсь, т.к. "легко пропустить нужное". А-а-а, там получиться плюс в том, что всю ветку отметить можно будет. > г) выделение всей строки сбивает пользателя с толку, он привык что выделение > показывает текущий фокус. Там еще галки есть. Выделение, согласен, лишенее, но сбивать не должно, т.к. везде такое используется. В HTML списках с множественным выбором, например. В общем, что-нибудь сварганю, но мне кажется, что это не быстро. (В ответ на комментарий №8) > (В ответ на комментарий №7) > > а) слишком много пунктов, а в большом списке легко пропустить нужное > С деревом меньше пунктов не станет Будет меньше пунктов на верхнем уровне. > > б) нет описаний > с описаниями их будет "еще больше", поэтому предлагаю по накрытию мышкой > показывать описание в одном отдельном месте (это далеко не моя идея, см. > настройки virtualbox). Читай мой комментарий #4 - я как раз это и предлагал. > > в) нет структурированности (как следствие — см. п. а) > Насчем неразвернутости дерева по умолчанию сомневаюсь, т.к. "легко пропустить > нужное". > А-а-а, там получиться плюс в том, что всю ветку отметить можно будет. Угу. Зато не будет путаницы. Пользователь же идёт от общих задач. > > г) выделение всей строки сбивает пользателя с толку, он привык что выделение > > показывает текущий фокус. > Там еще галки есть. Выделение, согласен, лишенее, но сбивать не должно, т.к. > везде такое используется. В HTML списках с множественным выбором, например. Неее, это только твоё творчество. > В общем, что-нибудь сварганю, но мне кажется, что это не быстро. Я не тороплю ;) (В ответ на комментарий №9) > > везде такое используется. В HTML списках с множественным выбором, например. > Неее, это только твоё творчество. Мое творчество -- галочки. А выделение везде есть. (В ответ на комментарий №10) > Мое творчество -- галочки. А выделение везде есть. Нет, выделение по включение галочки только у тебя есть. Что не есть правильно. (В ответ на комментарий №11) > Нет, выделение по включение галочки только у тебя есть. Еще раз повторяю. У меня включение галочки по выделению. Галочки туда я запихал. Остальное стандартное, как в HTML, например. Реанимируем тему для Кентавра. Сергей, что необходимо чтобы реализовать? Как минимум, пока можно реализовать без значков и описаний. Просто иерархический список с контролируемым включением/выключением флажков и управлением первоначальным сворачиванием (до первого уровня). (В ответ на комментарий №13) > Сергей, что необходимо чтобы реализовать? Мне врубиться в "Model/View Programming", но пока не врубаюсь (В ответ на комментарий №15) > Мне врубиться в "Model/View Programming", но пока не врубаюсь А зачем? Внешний вид переключаться не будет. Так что парадигма MVC здесь не особо уместна и избыточна. Тогда я просто не знаю, как сделать. Если есть исходники необходимого класса, дайте -- встрою. (В ответ на комментарий №17)
> Тогда я просто не знаю, как сделать. Если есть исходники необходимого класса,
> дайте -- встрою.
Нужно на этапе создания строки добавить что-то типа (внимание! неработающий прототип!)
--- a/alterator-browser-qt/widgets/al_listbox.cc
+++ b/alterator-browser-qt/widgets/al_listbox.cc
@@ -124,6 +124,25 @@ void AListBox::addRow(QStringList& data, RowType row_type)
int col = 0;
AListBoxItem *item = new AListBoxItem(this);
+
+ /*
+ else if ("parent" == name)
+ {
+ // Lookup parent if it name is defined
+ if( ! value.isEmpty() ) {
+ QTreeWidgetItem *parent = NULL;
+ QList<QTreeWidgetItem *> l = wnd_->findItems( value );
+ if( l.count() > 0 ) {
+ parent = l.at(0);
+ }
+ }
+
+ // Set parent by create new item and move under new parent
+ if( parent ) {
+ parent->addChild( );
+ }
+ }
+ */
Есть две проблемы: 1. addRow не принимает сторонних свойств (name, parent,...) 2. Не факт, что элемент родителя будет создан раньше дочернего элемента. (В ответ на комментарий №18) > неработающий прототип! Да таких я много могу сделать, а толку? alterator-browser-qt-2.13.0-alt1 |