Название: Редактирование preferences (цвет окон) Отправлено: Igors от Сентябрь 16, 2014, 13:57 Добрый день
Почему-то испытываю затруднения с казалось бы очень простой задачей. Есть модальный диалог в котором, помимо всего прочего, есть настройка background цвета всех окон приложения. Есть такие контролы - сам виджет цвета (назовем его ColorBox). Если юзер изменил там цвет - все окна должны перерисоваться немедленно, чтобы был виден рез-т. - кнопка Default (рядом с ColorBox). Ставиться цвет по умолчанию и все окна перерисовываются - общая кнопка Reset для сброса всех установок, для цвета ф-ционал тот же что и Default - Ok и Cancel кнопки - стандартно, принять или отменить. Разумеется при отмене цвет надо вернуть на исходный если он был изменен. И что-то у меня выходит как-то длинно, откуда-то вылазят переменные, методы. Наверное перемудрил. А как бы Вы делали? Спасибо Название: Re: Редактирование preferences (цвет окон) Отправлено: Bepec от Сентябрь 16, 2014, 14:03 1 метод не пойдёт? просто метод изменения цвета.
И 1 переменная цвета бывшего ранее. Переменная цвета бывшего ранее заполняется в конструкторе и не меняется в течении всей жизни диалога. Изменяемый цвет будет храниться в самом colorBox. default и reset вызовут метод с константным цветом (#000000 допустим). Ok - вызываем метод с цветом из colorBox и передаём его наружу (куда то, чтоб он там был запомнен). Cancel - вызываем метод с переменной цвета бывшего ранее. Название: Re: Редактирование preferences (цвет окон) Отправлено: GreatSnake от Сентябрь 16, 2014, 14:28 Если юзер изменил там цвет - все окна должны перерисоваться немедленно, чтобы был виден рез-т. Коли такая политика, то ни каких Ok/Cancel быть не должно.Название: Re: Редактирование preferences (цвет окон) Отправлено: Bepec от Сентябрь 16, 2014, 15:28 По-моему логично Ok Cancel. К тому же в примерах Qt такая же логика имеется.
Название: Re: Редактирование preferences (цвет окон) Отправлено: GreatSnake от Сентябрь 16, 2014, 15:33 По-моему логично Ok Cancel. К тому же в примерах Qt такая же логика имеется. Коли есть Ok и Cancel, то в таком случае должна быть Apply.Если изменение настроек применяется сразу, то кроме как Close больше ничего не должно быть. Название: Re: Редактирование preferences (цвет окон) Отправлено: Bepec от Сентябрь 16, 2014, 16:00 ну сценариев всего 3:
1) Изменить цвет. 2) Изменить цвет на default. 3) Вернуть как было. Как в вашем случае можно выполнить 3 сценарий без Ok-Cancel? PS как было цвет != default Название: Re: Редактирование preferences (цвет окон) Отправлено: GreatSnake от Сентябрь 16, 2014, 16:22 Как в вашем случае можно выполнить 3 сценарий без Ok-Cancel? А он обязательно нужен?Посмотри на современные интерфейсы - Ok-Cancel - это уже анахронизм) PS. похоже есть непонимание. Я пытаюсь сказать, что если есть Ok/Cancel, то применять настройки сразу по их изменению нельзя. Делать это нужно либо по OK, либо по Apply. Если требуется сразу, то от Ok/Cancel нужно отказываться. Название: Re: Редактирование preferences (цвет окон) Отправлено: Bepec от Сентябрь 16, 2014, 16:57 Это же предпросмотр. Удобно и нет нужды применять изменения. Посмотрел 10 вариантов, выбрал/отказался от одного.
Название: Re: Редактирование preferences (цвет окон) Отправлено: GreatSnake от Сентябрь 16, 2014, 17:14 Это же предпросмотр. Удобно и нет нужды применять изменения. Посмотрел 10 вариантов, выбрал/отказался от одного. Это называется кривой GUI, т.к. получаем неоднозначное поведение.Название: Re: Редактирование preferences (цвет окон) Отправлено: Igors от Сентябрь 16, 2014, 17:15 Я пытаюсь сказать, что если есть Ok/Cancel, то применять настройки сразу по их изменению нельзя. Я понял, так и сделано для всех остальных настроек. Но с цветом тот же подход очень неудобен - может понадобиться масса "подкруток", не пере-открывать же диалог всякий раз (точнее даже 2 диалога, второй по нажатию ColorBox) Название: Re: Редактирование preferences (цвет окон) Отправлено: Bepec от Сентябрь 16, 2014, 17:34 Неоднозначное - это как? Все диалоги неоднозначны. У них как минимум 2 значения :D Мб не тот термин написали?
В принципе можно разве что заменить названия кнопок, вместо безликих ok cancel на что-нибудь более подходящее. Название: Re: Редактирование preferences (цвет окон) Отправлено: GreatSnake от Сентябрь 16, 2014, 17:39 Неоднозначное - это как? Именно неоднозначное, т.к. одни применяются сразу, а другие по Ok.Цитировать Все диалоги неоднозначны. С чего это вдруг ??? Если Ok/Cancel то либо выбор применяется либо нет. Друго быть не должно. |