ROS Shell
Содержание
[убрать]Начало
Первое время в ReactOS не было графической оболочки. Она была реализована в выпуске 0.2, Мартином Фуксом, при чем реализована неправильно с точки зрения ее программной архитектуры. В ReactOS, кроме этого проводника есть еще один - explorer_new. В идеале он должен по функциональности быть аналогичным проводнику Windows, но для нормальной работы ему необходима библиотека Shell32.dll.
Первым большим шагом в разработке Shell32 был контракт, заключённый с Яннисом Адамопулосом (Giannis Adamopoulos) на доработку библиотеки shell32 и компонента browseui, который необходим проводнику для отображения файлового браузера. Итогом контракта стал перевод shell32 на C++, а также создание библиотеки browseui.dll. Так же Яннис изучил инфраструктуру поддержки оболочки и написал на нее документацию.
После контракта с Яннисом
Позже, 2 февраля была создана отдельная ветка разработки shell-experiments и с тех пор все изменения с shell32 вносятся туда.
Все изменения с Shell32 вы можете просмотреть на сайте code.reactos.org.
Все подзадачи разработки shell32 вы можете посмотреть на багтрекере: (CORE-7330).
С 7 марта в ветке shell-experiments новая оболочка запускается по умолчанию (explorer_new переименован в explorer, а explorer в explorer_old).
Прогресс
- 13 марта завершена работа над CMenuSite
- 15 апреля завершена работа над CMenuDeskBar
Схема компонентов Shell32

На данной схеме визуально отмечены компоненты Shell32. Зеленым цветом выделены те, над которыми сейчас идет работа. Как видно, для более полного отображения файлового браузера необходимо реализовать еще много подклассов browseui.
Нереализованные возможности
не реализовано | реализуется |
- панель меню
меню Пуск- просмотр директорий в виде дерева
- обработка аргументов командной строки
drag and drop- диалоги копирования файлов
- динамический обмен данными (DDE)
Адресная строка
4 мая начата работа над адресной строкой.
На данный момент:
- реализовано:
- отображение пути текущей папки
- отсутствуют:
- значок
- поддержка структурного анализа
- выпадающий список
Строка меню

Скриншот из отчета разработчика (от 16-мар-2014).
На 9 апреля при нажатии разворачиваются все пункты меню, кроме Edit (Правка).
На 22 апреля были написаны контекстное меню для элементов оболочки и навигация с помощью клавиатуры на вертикальных всплывающих меню, а так же почти работает навигация с помощью клавиатуры на горизонтальной панели меню. Строка меню позволяет переключаться в меню влево и вправо, пока не выберется избранное. После этого, клавиши влево/вправо работают не так, как нужно, и единственным способом, возвращения к другим меню является мышь.
Подменю
- Отображаются и функционируют:
- view(вид)>view(вид)>[размеры значков]
- view(вид)>go to(перейти)>up on level (на один уровень вверх)
- help(помощь)>about ReactOS (о ReactOS)
- Отображаются но не функционируют:
- view(вид)>go to(перейти)>[кракозябрами отображается список недавно посещенных мест]
Меню "Пуск"
В настоящее время, в меню "пуск" работают: выключение, запуск, настройки (только свойства панели задач) и программы.
Темы в новом проводнике
Пакет тем
Пакет тем для ReactOS: Whitecolor (Whindows Whistler: голубая, серая и зеленая), Luna (WindowsXP), Royale, и Human (Ubuntu). Представляет собой самораспаковывающийся архив в iso образе. Темы работают в ReactOS.
Скачать:
Скачать сборки
- Сборка 62520 от 17-марта-2014
- Сборка 62537 от 20-марта-2014
- Сборка 62693 от 9-апреля-2014
- Сборка 62891 от 23-апреля-2014
- [Сборка 63204 от 9-мая-2014]