Заметка шестая. Диалог выбора папки

Если вы программируете пользовательский интерфейс, то, пожалуйста, никогда не используйте вот такой диалог выбора папки:

Взгляните, в это окно даже нельзя вставить путь до нужной папки из буфера обмена! (А я, кстати, регулярно это делаю: в большинстве случаев я прихожу в этот диалог из Фара).

Не понимаю, зачем в Майкрософте вообще придумали этот недоделанный диалог, и почему до сих пор не запретили использовать. Справедливости ради, у него есть версия, когда путь до папки всё-таки можно ввести:

Но ведь этого тоже недостаточно! Сравните, например, эти окна с нормальным диалогом выбора файла:

Здесь и однокликовый переход в любую папку на пути до текущей, и быстрые переходы из панели слева, и поиск, и возможность разной сортировки (по имени, дате изменения, типу и так далее), и превью фотографий, чтобы убедиться, что папка — та самая, и возможность получить автоматические подсказки после ввода первых букв.

Если не знаете, что использовать — используйте полноценный диалог выбора файла. Даже если вам надо, чтобы пользователь выбрал папку. Потом проверите, что он выбрал не файл, это же две строчки в коде.

В MacOS, кстати, всё тоже плохо с этим:

Опытные люди знают, что нужно нажать Cmd+Shift+G, чтобы можно было ввести путь до папки, но ведь до этого ещё догадаться надо.

Необязательно делать такое навороченное окно, как у Хрома. Вот, например, нормальные диалоги, использованные в SourceTree и VLC:

Send
Share
Pin