Заметка шестая. Диалог выбора папки
Если вы программируете пользовательский интерфейс, то, пожалуйста, никогда не используйте вот такой диалог выбора папки:
Взгляните, в это окно даже нельзя вставить путь до нужной папки из буфера обмена! (А я, кстати, регулярно это делаю: в большинстве случаев я прихожу в этот диалог из Фара).
Не понимаю, зачем в Майкрософте вообще придумали этот недоделанный диалог, и почему до сих пор не запретили использовать. Справедливости ради, у него есть версия, когда путь до папки всё-таки можно ввести:
Но ведь этого тоже недостаточно! Сравните, например, эти окна с нормальным диалогом выбора файла:
Здесь и однокликовый переход в любую папку на пути до текущей, и быстрые переходы из панели слева, и поиск, и возможность разной сортировки (по имени, дате изменения, типу и так далее), и превью фотографий, чтобы убедиться, что папка — та самая, и возможность получить автоматические подсказки после ввода первых букв.
Если не знаете, что использовать — используйте полноценный диалог выбора файла. Даже если вам надо, чтобы пользователь выбрал папку. Потом проверите, что он выбрал не файл, это же две строчки в коде.
В MacOS, кстати, всё тоже плохо с этим:
Опытные люди знают, что нужно нажать Cmd+Shift+G, чтобы можно было ввести путь до папки, но ведь до этого ещё догадаться надо.
Необязательно делать такое навороченное окно, как у Хрома. Вот, например, нормальные диалоги, использованные в SourceTree и VLC: