Показать полную графическую версию : Snappy Driver Installer (программа для установки и обновления драйверов)
Даже не знаю. Если расцвечивать все события получается какая то гирлянда:
http://s020.radikal.ru/i704/1403/c2/923baff49484.jpg
А картинками не охота нагружать бессмысленная потеря быстродействия ради свистелок перделок.
ну раз перешли в фазу обсуждения улучшения интерфейса, то пожелание
Когда разворачиваем список драйверов, то выводить их с отступом от базового.
ну раз перешли в фазу обсуждения улучшения интерфейса, то пожелание
Когда разворачиваем список драйверов, то выводить их с отступом от базового. »
Этого пока точно нельзя.
Смещение только // Driver items они в группе я так понял. Мне так же не нравится что стрелки так же в группе т.е лучше было бы если стрелка была на основном списке а не на всех развернутых "подменю"
Мне так же не нравится что стрелки так же в группе т.е лучше было бы если стрелка была на основном списке а не на всех развернутых "подменю" »
Но в этом случае, если развернутое выходит за нижнюю границу, для сворачивания надо будет прокруткой возвращаться к основному. А так клик на стрелке любого развернутого вызывает закрытие. ИМХО, удобно.
еще могу предложить вместо двух кнопок, одну, конкретно:
выделить все и снять выделение либо просто добавить флажок по типу как на фильтрах ,либо как кнопку которая при нажатии будет менять надпись на противоположную.
согласитесь , что для включения лампочки ставить два прибора включатель и выключатель както странно
еще могу предложить вместо двух кнопок, одну, конкретно:
выделить все и снять выделение либо просто добавить флажок по типу как на фильтрах ,либо как кнопку которая при нажатии будет менять надпись на противоположную.
согласитесь , что для включения лампочки ставить два прибора включатель и выключатель както странно »
Для одной лампочки два прибора лишние, а для 20 очень даже нужны.
По технологии создания интерфейсов там должно быть две кнопки.
Если тебе нужно из 20 DP поставить 15, то выделяешь все и убираешь не нужные. И получится что все равно нужно две кнопки. Пускай остается.
не путайте божий дар с яичницей ! убрать ненужные паки сняв с них галочку это ни как не затрагивает !
и каким образом кнопка снять выделение помогает снятию галочек с отдельных паков? или вам настолько хорошо после 8марта?!! :)
BadPointer
09-03-2014, 22:28
Для одной лампочки два прибора лишние, а для 20 очень даже нужны.
По технологии создания интерфейсов там должно быть две кнопки.
Если тебе нужно из 20 DP поставить 15, то выделяешь все и убираешь не нужные. И получится что все равно нужно две кнопки. Пускай остается. »
и каким образом кнопка снять выделение помогает снятию галочек с отдельных паков? »
Если отстаивать только одну кнопку, то становится непонятно как она должна работать, когда галки стоят только у части драйверов. Выделять все? Снимать выделение? Инвертировать галки? Эти вопросы нужно как-то решить, чтобы можно было обойтись одной кнопкой.
На мой взгляд две кнопки избавляют от подобных неясностей.
Подписи состояний драйверов. Если эти подписи будут изменены, то их всех нужно менять сразу чтобы они были выдержаны в одном стиле. Я советую выдвигать свои варианты в документе по нижеприведенной ссылке. Первую страницу можно использовать в качестве шаблона, а на последующих можно предлагать свои варианты. Только автор своего варианта может может редактировать свою страницу, а остальные участники должны оставлять комментарии.
https://docs.google.com/document/d/1sFOJyiqwD26mL398RJuGhGsWjVAATvXjfnBYebXCQz0/edit
непонятно как » да все понятно выделить все в любом случае выделяет все , а на кнопке будет уже другая надпись снять выделение и при нажатии на не будет не инвертировать выделение а снимать галочки с только с выделенных паков и эта надпись снять выделение должна будет появляться даже при выделении одно пака . что точно будет определять свою функцию и название "снять выделение" то есть все придельно точно.
да все понятно выделить все в любом случае выделяет все , а на кнопке будет уже другая надпись снять выделение и при нажатии на не будет не инвертировать выделение а снимать галочки с только с выделенных паков и эта надпись снять выделение должна будет появляться даже при выделении одно пака . что точно будет определять свою функцию и название "снять выделение" то есть все придельно точно. »
Там должно быть две кнопки. Одна снять все, другая выделить все. Единственное что нужно дизаблить когда действительно выделены все/сняты все, но это не нужный код.
vserd, в вашем случае надо на каждую кнопку драйвера поставить кнопку снимать выделение ....
если человек не хочет понять тривиально все доводы тщетны
Мы про это говорим?
Если да, то там две кнопки должно быть.
Так по правильным интерфейсам положено.
Мы про это говорим? » да и на кой хрен там их две должно быть?
когда я описал как все возможные операции делаются одной кнопкой?
вы действительно не понимаете или посты набиваете?
тогдла для особо одаренных :
просто на кнопке выделить все поставить галочку : выделятся все паки (если что не нужно сними галочки с ненужных паков) а если галочку снять все регистры обнулятся (то есть снимутся галочки с выделенных паков хоть с одного хоть со 150 паков)
если опять не понятно тогда барак абама белый
BadPointer
11-03-2014, 20:21
quarq,
Кнопка "[V] Выделить все" может быть воспринята как команда выделения всех драйверпаков, так и индикация того что все драйверпаки уже выделены, а значит нажатие на кнопку снимет выделение. В любом случае это нестандартное решение и оно идет вопреки тому, к чему привык пользователь при выборе нескольких элементов в списке.
Одной кнопкой можно было бы обойтись если бы тут были только два взаимоисключающих состояния, но в данном случае их гораздо больше. Поэтому в программах со списками всегда доступны обе команды. Можешь привести пример программ, где реализована одна кнопка отвечает за выделение/снятие выделения?
quarq, А за что такая принципиальная борьба? что добиваетесь?
просто на кнопке выделить все поставить галочку : выделятся все паки (если что не нужно сними галочки с ненужных паков) а если галочку снять все регистры обнулятся (то есть снимутся галочки с выделенных паков хоть с одного хоть со 150 паков) »
ок
галки нет, ставим. выделяется 10 пакетов из 10.
Снимаем отметку с двух DP. как должен выглядеть чекбокс? снят или поставлен уже не подходит, серым это вообще ЖОПА.
Другая ситуация в данном случае аналогичная предыдущей , галка стоит, сняли, все очистилось, поставили галку на двух DP, состояние чекбокса?
Мне как программеру не понятно как это описать. Мне как пользователю не понятно что эти галка делает? индицирует или управляет?
Выделить все и галка стоит и что? что означает что все выделено? как снять мне не нужны все, я хочу только один?
Выделить все и галка не стоит, на экране вижу выделенный DP. Какого? ведь драйвера выделены, должно быть с галкой,
А вот если кликнуть не на галке, а рядом и попасть в кнопку, то что-то происходит и описывать мне это не хочется. Это начинается логика
Здесь играем, здесь нет, а здесь рыбу заворачивали.
Ты пытаешся показать текущее состояние системы из трех возможных состояний, контролом который может иметь только два состояния.
Это показать одним контролом не возможно. Возможно показать двумя контролами которые имеют два состояния, одно из состояний не используется. И это тоже не правильно с точки зрения интерфейса пользователя.
И еще одна ошибка при проектировании UI, смешение исполнительного (кнопка) и индикаторно-переключательного (чекбокс) контрола в одной связке как испонительного. Это рвет мозг прямиком, и очень досаждает когда пользуешся двумя или более программами в которых правила фунциклирования таких контролов разные. Нужно еще помнить где какой базис.... :(
То как в данный момент реализовано, нормально. Не хватает только общего кол-ва драйверов, но оно начинает влиять когда все не помещаются на экране.
что ж так мыслить линейно??
ставим галку "выделить все" с точки зрения программирования что это значит?? это значит что триггеры переходят из дефолтного состояния из 0 в 1 снимаем галочку переход в дефолтное состояние то есть все имеющиеся "1" переходят в состояние "0" и какая разница сколько выделено драйверов 10 или 100 их выделение или снятие выделения ни как ни чем ни разниться рассмотрим ваш любимый вариант мы жмем на кнопку (или ставим галочку без разницы) "выделить все" выделилось 15 драйверов а там два лишних ну сняли эти два при этом с кнопкой("выделить все" ) ничего не произойдет она будет в состоянии нажата (или галочка ) если надо снять выделение с 13 паков, что мешает повторно нажать на кнопку которая по функции обязана возвращать триггеры в исходное состояние(заметьте не инвертировать состояние всех тригеров а сброс)? рассмотрим последний возможный вариант вы в ручную натыкали "энное" количество паков а потом решили сбросить ... в этом состоянии кнопка будет выглядеть как "снять выделение" (или с галочкой) просто нажимаем на кнопку (снимаем галочку) происходит обнуление триггеров в дефолтное состояние единственное что необходимо добавить к такой комбинированной кнопке это опрос состояния активных триггеров (из за многообразия фильтров не все триггеры в состоянии "0"или"1" будут активны)
ps если вам рвет мозг что кнопка будет менять название можно не менять название просто пусть будет устанавливаться галочка на кнопку "выделить все" тогда будет полная аналогия выделению одного драйвера или отмена оного (тут и ребенок поймет) выше я описал оба варианта...
Комсомолец
12-03-2014, 13:38
Вот развели спор то...
Оставьте 2 кнопки - не все программисты будут пользоваться программой, да и незачем усложнять её. Если с точки зрения "программиста" - то он и руками поставить сможет без проблем, а программу автор сделал для всех - вот все и говорят, что проще когда кнопки разнесены, и ему по барабану на триггеры.
BadPointer
12-03-2014, 14:01
"выделить все" выделилось 15 драйверов а там два лишних ну сняли эти два при этом с кнопкой("выделить все" ) ничего не произойдет она будет в состоянии нажата (или галочка ) если надо снять выделение с 13 паков, что мешает повторно нажать на кнопку которая по функции обязана возвращать триггеры в исходное состояние(заметьте не инвертировать состояние всех тригеров а сброс)? »
Изначально кнопка выглядела "[ ] выделить все".
Пользователь нажал на кнопку: выделилось все и кнопка стала выглядеть "[V] выделить все". Из этого пользователь делает вывод что "выделить все" является командой, а галка является индикацией состояния.
Пользователь снимает выделение с нескольких драйверов и кнопка остается без изменений. В этом случае индикация галкой уже не отражает состояние списка, а поскольку надпись осталась прежней, пользователь ожидает что "выделить все" выполнится как команда.
Сценарий №1
Выделено 2 драйвера из 15.
Кнопка: [V] выделить все
Ожидание пользователя: нажатие на кнопку выделит все драйверы.
Выполняемое действие: снятие выделения.
рассмотрим последний возможный вариант вы в ручную натыкали "энное" количество паков а потом решили сбросить ... в этом состоянии кнопка будет выглядеть как "снять выделение" (или с галочкой) просто нажимаем на кнопку (снимаем галочку) происходит обнуление триггеров в дефолтное состояние единственное что необходимо добавить к такой комбинированной кнопке это опрос состояния активных триггеров (из за многообразия фильтров не все триггеры в состоянии "0"или"1" будут активны) »
Сценарий №2
Выделено 2 драйвера из 15.
Кнопка: [ ] снять выделение
Ожидание пользователя: нажатие на кнопку снимет выделение.
Выполняемое действие: снятие выделения
В обоих сценариях конечное состояние выделенных драйверов одинаковое, но при при этом название команды и индикация галкой отличается из за того что к этому состоянию пришли разными путями. Такую ситуацию нельзя допускать, так как для идентичных состояний должны быть доступны идентичные команды и идентичная индикация.
quarq, еще одно соображение.
Две кнопки, это два контрола, кнопка и чекбокс тоже два контрола итого выиграша нет.
Дальше пойдем у нутря.
В данный момент кажда кнопка делает то что на ней написано, и сколько там выделено/снято DP ей фиолетово. Код простой.
При варианте с чек боксами, на каждый клик по выбору/снятию нужно дергать код нового контрола, чтобы он проанализировал крайние состояния и перерисовал себя. Итого усложнение кода по простановке/снятию галки на DP.
Идем в сам код кнопки и чекбокса. Нужно хранить состояние, нужно анализировать его и при необходимости перерисовывать.
В место двух циклов по структуре имеем два цикла + кучу предусловий. Итого усложнение кода.
Заходим с точки зрения документации/поддержки:
Вопрос "что делать если мне нужно снять все отметки с DP?" ответ "Нажмите на кнопку Снять выделение".
Вопрос "что делать если мне нужно поставить все отметки на DP?" ответ "Нажмите на кнопку Выделить все ".
Немотря на дебилизм вопроса, ответы простые.
Теперь напишите ответ на эти вопросы с вашим контролом. Думаю там будет несколько предложений и будут несколько слов "если"...
На мой взгляд сплошные минуса. Плюсов пока не вижу.
Я даже не совсем понимаю суть спора, но попробую угадать
Нужно сделать 1 только кнопку с 2 state
если не выделено ничего = выделить все []
если нажато выделить все то = снять выделение [v]
Почему 2 контрола? Чекбокс как и баттон может иметь динамический caption. Не знаю как на C++ на delphi это реализуется легко.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC