"Don't show this message again." - MS guidance

Vítáme všechny návrhy na nové funkce a vylepšení programu Altap Salamander. Pro každý návrh prosím vytvořte samostatný příspěvek.
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

"Don't show this message again." - MS guidance

Post by zarevak »

Dobrý den,
dnes mám další designerskou perličku 8)

Jedná se o zaškrtávací políčko u dialogů potvrzujících zavření oken pomocí klávesy Escape.

Podle MSDN: Design Principles - Top Violations by mělo toto zaškrtávací políčko buď:
a) Pamatovat vybranou volbu (případně i Cancel)
b) Zobrazit, jaká volba bude příště využita

Dialog "Do you want to close Find?" okna hledání (Find) obsahuje tlačítka Yes a No a zaškrtávací políčko "Don't show this message again." Pokud však použiji tlačítko No při současném zaškrtnutí políčka, tak se při příštím zmáčknutí klávesy Esc zavře okno hledání bez jakéhokoliv dotazu.

Možná řešení:
1) Změnit text, aby bylo jasné, že ať se použije jakékoliv ltačítko, tak příště bude po zmáčknutí klávesy Esc okno hledání zavřeno.
2) Upravit chování dialogu, aby si pamatoval výsledek dotazu. Pro uživatele tak přibude možnost zakázat zavírání okna pomocí Esc bez jakéhokoliv přebytečeného dialogu.

Renamer plugin obsahuje podobný dialog, ale fráze zaškrtávacího políčka je položena opačně (frázování by mělo být standardní) a též při odkliknutí No, se příště okno Renameru zavře bez dotazu.

Poznámky:
- Tento problém je obecný pro všechny podobné dialogy - okno hledání (Find) a Renamer byly použity jen jako ukázka.
- Velmi kladně hodnotím nápovědu "How to revert" ;)
MSDN wrote:Clearly indicate when user input will be used for future default values by adding the following sentence under the option: Your selections will be used by default in the future.

If users select the option and click Cancel, this option does take effect. This setting is a meta-option, so it doesn't follow the standard Cancel behavior of leaving no side effect. Note that if users don't want to see the dialog in the future, most likely they want to cancel it as well.
User avatar
stepand76
Plugin Developer
Plugin Developer
Posts: 455
Joined: 16 Apr 2007, 21:22
Location: Pardubice, Czech Republic

Post by stepand76 »

+1
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Post by zarevak »

Žádný komentář jako v případě Last command? :shock:

Pro mne jako vývojáře pluginů by bylo jednoduší jen změna textu, protože pak do konfigurace stačí dát jen jednoduchý Checkbox s textem "ESC key closes xxx window without confirmation."

Pokud bychom zavedli možnost pamatovat si volbu uživatele, tak vzniknou tři stavy, které jednoduchým a pochopitelným přepínačem nevyjádříme.


Ještě nápad: Co takhle zavést podporu pro tyto potvrzovací dialogy do Plugin Interface? Plugin by dopředu oznámil jejich existenci, takže Salamander by mohl zobrazit jejich seznam v konfiguračním panelu "Confirmations". Pak by plugin zavolal nějakou metodu ConfirmAction(...), která by buď vrátila nastavenou hodnotu nebo zobrazila standardní potvrzovací dialog a vrátila výběr uživatele.
Výhody: Standardní dialog; Jedno místo na správu všech potvrzení
Pamatovat na: Potřeba zachovat možnost změnit nastavení dialogu z konfigurace pluginu (tedy na dvou místech: centrálně a plugin)
Petr Solin
ALTAP Staff
ALTAP Staff
Posts: 1112
Joined: 08 Dec 2005, 09:13
Location: Novy Bor, Czech Republic
Contact:

Post by Petr Solin »

OK, diky za postreh, asi jen zmenim text na neco jako: Close Find dialog without asking next time. To same Renamer + jestli to najdu i jinde.

Pamet vsech variant odpovedi mi prijde jako ono povestne s kanonem na vrabce.

Obecna podpora by asi byla v mnohem fajn, ale necitim zadny tlak na tuto vec ze strany vyvojaru pluginu + znamena to zase X hodin prace a komplikaci rozhrani, konfigurace, atd., takze aspon prozatim mi to neprijde rozumne.
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Post by zarevak »

A já doufal, že bych se vyhnul ruční implementaci toho dialogu 8)

Neprošlo to... Třeba někdy příště ;)
Petr Solin
ALTAP Staff
ALTAP Staff
Posts: 1112
Joined: 08 Dec 2005, 09:13
Location: Novy Bor, Czech Republic
Contact:

Post by Petr Solin »

Neni to zadna veda, viz SalamanderGeneral->SalMessageBoxEx a CheckBoxText+CheckBoxValue v MSGBOXEX_PARAMS. :)

Priklad pouziti je i v DemoPlugu v SDK.
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Post by zarevak »

Jéééé, díky!

SalMessageBoxEx jsem nějak ignoroval s tím, že se jedná jen o Indirect variantu normálního SalMessageBox :oops:
Petr Solin
ALTAP Staff
ALTAP Staff
Posts: 1112
Joined: 08 Dec 2005, 09:13
Location: Novy Bor, Czech Republic
Contact:

Re: "Don't show this message again." - MS guidance

Post by Petr Solin »

Upravil jsem texty checkboxu (v Renameru jsem ho negoval, aby odpovidal zbytku softu) + jejich zapnuti se uklada i pri Cancel (nebo ESC), jak doporucuje MSDN. Tak uz by to nemelo byt matouci, diky za postreh.
Post Reply