Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/162: Рейтинг темы: голосов - 162, средняя оценка - 4.77
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816

Концепция файлового менеджера

19.07.2013, 19:15. Показов 37264. Ответов 374
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На тестирование представляется файловый менеджер для Windows DM-Commander.
Основной принцип программы - быстродействие и удобство работы с файлами.
Окончательная цель проекта - реализовать самую удобную программу по управлению файлами.

Основные свойства программы DM-Commander:

- 2-х панельный классический интерфейс в стиле NC;
- 5 режимов просмотра списка файлов (в том числе режим просмотра эскизов);
- 7 режимов сортировки;
- файловые операции (копирование, перемещение, перемещение в корзину, удаление);
- Взаимодействие между панелями и другими программами посредством перетаскивания файлов;
- Просмотр файлов. Поддержка кодировок 1251,866,KOI8-R,Unicode, UTF-8 (не все языки) без участия ОС (ENG, RUS, UKR), режимы text, hex, dump, размер файлов не ограничен;
- Редактор текста (ANSI, Unicode, RTF);
- Работа с архивами как с обычными файлами. Поддержка на чтение 7z,arj,rar,zip,gzip,bzip2,iso и др., на запись - 7zip;
- Поиск файлов;
- Виртуальная панель;
- Поддержка FTP (планируется к удалению как устаревшее);
- Групповое переименование/копирование по правилам;
- Механизм работы с командной строкой;
- Независимая история смены путей для каждой панели.

ОС: Windows 2000 - Windows 10
Лицензия: без ограничения использования (GPL v3), исходные тексты распространяются вместе с программой (библиотека 7-zip предоставляется по отдельной лицензии, размещенной на: http://7-zip.org/license.txt).

Ссылка на актуальную версию: https://sourceforge.net/projects/dm-commander/

Скриншоты:




Внимание, пост обновляется

Ссылка на актуальную версию:
dmc-1.4-portable-X86-X64.7z
dmc-1.4-source.7z
help.txt
readme.txt

ИНТЕРФЕЙС ПРОГРАММЫ
~~~~~~~~~~~~~~~~~~~

В заголовке окна отображается значок программы и текущий путь, также эта информация отображается в панели задач Windows.

Ниже заголовка окна находится адресная панель, содержащая (слева направо):
1. Стрелка "Назад" перемещает на одно значение назад в истории смены путей.
2. Стрелка "Вперед" перемещает на одно значение вперед в истории смены путей.
3. Стрелка "Вверх" перемещает на один уровень вверх в иерархии папок.
4. Адресная строка предназначена для ввода произвольного пути (в том числе сетевого), либо выбора любой локации из ста последних.
5. Главное меню программы.

Ниже адресной панели находятся файловые панели, содержащие (сверху вниз):
1. Путь. Путь вверху активной панели выделяется цветом фона текста. Меню панелей располагается в правой верхней части панели, правее пути.
2. В центральной части панели располагается список файлов.
3. В нижней части панели располагается информационная панель с информацией о текущем элементе, количестве выделенных элементов.
В нижней строке информационной панели выводится информация о текущей локации, а также свободное место на текущем диске (если опция включена).

Ниже файловых панелей расположена командная строка, предназначенная для ввода произвольных команд, либо выбора любой команды из ста последних.

В самой нижней части расположена строка быстрого доступа к основным функциям.


Горячие клавиши:

Развернуть на весь экран/в окно: Alt+Enter
Перейти к вводу пути в адресной строке: Ctrl+F12
Запустить новую копию программы: Ctrl+N
Вертикальное/горизонтальное выравнивание: Alt+F9
Запомнить пути: Shift+F9
Сохранить конфигурацию: Shift+F10
Выйти из программы: F10

МЕНЮ ПАНЕЛЕЙ
~~~~~~~~~~~~

Меню панелей располагается в правой верхней части панели.

Активный элемент панели: элемент под курсором
Выделенные элементы панели: все выделенные элементы, включая элемент под курсором
Горячие клавиши:

Перемещение по списку файлов: Up, Down, Left, Right, PgUp, PgDn, Home, End
Открытие активного элемента: Enter
Выделение файлов: Insert, правая кнопка мыши.
При длительном нажатии правой кнопкой на элементе появится системное меню Windows для выделенных элементов.
Длительность задержки перед появлением системного меню задается параметром реестра:
HKEY_CURRENT_USER\SOFTWARE\DMCommander\X 64(X86)\PanelContextMenuTimer


Переключение между панелями: Tab, либо нажатие левой кнопкой мыши на панели, путь вверху активной панели выделяется цветом фона текста.
Выбор источника для левой панели: Alt + F1
Выбор источника для правой панели: Alt + F2

Режимы отображения:
Краткий: Ctrl + 1
Средний: Ctrl + 2
Полный: Ctrl + 3
Детальный: Ctrl + 4
Эскизы: Ctrl + 5

Режимы сортировки:
Имя: Ctrl+F3
Расширение: Ctrl+F4
Время записи: Ctrl+F5
Размер: Ctrl+F6
Без сортировки: Ctrl+F7
Время создания: Ctrl+F8
Время доступа: Ctrl+F11 !!!

Обновить активную панель: Ctrl+R

Просмотр активного элемента: F3. Если активным элементом является папка, либо выделено несколько папок, то производится расчет их размера со всеми вложениями.
Редактирование активного элемента: F4
Копировать файл(ы): F5
Переименовать/переместить файл(ы): F6
Создать папку: F7
Удалить выделенные элементы в корзину: Del, F8
Удалить выделенные элементы: Shift+Del, Shift+F8
Добавить выделенные элементы в архив: Shift+F1
Извлечь выделенные элементы из архива: F5, Shift+F2 внутри архива
Свойства активного элемента (системное меню Windows): Ctrl+P
Выделить группу элементов по маске: + на цифровой клавиатуре
Выделить все: Ctrl+A
Снять выделение с группы: - на цифровой клавиатуре
Инвертировать выделение: * на цифровой клавиатуре
Копировать в буфер список выделенных элементов (без путей): Ctrl+Ins
Копировать в буфер список выделенных элементов (с полными путями): Ctrl+C
Расширение/сужение панелей: Ctrl+Left, Ctrl+Right, либо мышью при нажатой левой клавише в зоне между панелями
Быстрый поиск файла: Начать набирать имя файла в текущей панели, курсор автоматически перейдет на первый найденный элемент
Уменьшение/увеличение шрифта: Ctrl+"+", Ctrl+"-" в текущей панели
Поменять панели местами: Ctrl-U
Получатель равен источнику: F11



РАБОТА С АРХИВАМИ
~~~~~~~~~~~~~~~~~

Работа с архивами (навигация, просмотр, извлечение) происходит как с обычными файлами и реализована посредством библиотеки 7zip.

Поддерживаемые алгоритмы:
LZMA, LZMA2, PPMd, Bzip2, Deflate и Deflate64

Поддерживаемые форматы:
упаковка: 7z
только распаковка: ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, MBR, ISO, LZH (LHA),
LZMA, MSI, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, XAR, Z (TAR).
11
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.07.2013, 19:15
Ответы с готовыми решениями:

Реализация файлового менеджера
Нужно сделать программу что-то вроде "Файлового менеджера"(Упрощённый, то есть отображение структуры файлов, функции такие как: копировать,...

Исходник файлового менеджера
Есть ли у кого нибудь исходник файлового менеджера(проводника) на C# в visual studio 2012 -2017

Шаблон файлового менеджера
Приветствую Уважаемые коллеги! Может есть у кого на примете шаблон файлового менеджера? Хочу что то похожее как в open cart. ...

374
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
02.08.2015, 16:45
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от dmitry94 Посмотреть сообщение
но главное окно при этом находилось в минимизированном состоянии
Точно не помню, но похоже, что было именно это

Сейчас вспомнил, что у меня были мысли о том, что где-то есть окно с выдачей ошибки, а потому, чтобы найти его я позакрывал все программы, но так и не нашёл. В своё время с моей программой была похожая проблема, а потому ситуацию я видел на уровне "ж...й чую", но внятно объяснить, по каким критериям возникало такое ощущение, сказать не могу. Так что я на 99.9% уверен, что это был именно этот случай
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
04.08.2015, 20:25  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
При ВЫКЛюченной настройке отображения скрытых и системных файлов, по прежнему отображается $RECYCLE.BIN
Цитата Сообщение от Evg Посмотреть сообщение
По ходу дела как следствие нескольких нажатий Ctrl-N, в истории имеется несколько подряд идущих записей с одним и тем же путём. Из-за этого скакать по истории по Ctrl+стрелка не удобно: несколько раз повторяется одно и то же и не совсем понятно, то ли кнопка не нажалась, то ли лаги, то ли ещё что
Это исправил. С местом появления нового окна не понятно как быть, ведь место его появления считывается из конфига, будет не корректно отображать его в другом месте.

Добавлены предупреждения при удалении или перезаписи файлов с атрибутом "только для чтения".

Добавлено через 6 минут
Цитата Сообщение от Evg Посмотреть сообщение
Когда в истории становится много путей, то в окне, отображающем историю, появляется скроллбар. Было бы удобнее, если при этом позиционирование происходило на самый последний путь (т.е. скроллбар был внизу, а не наверху). Или историю отображать в обратном порядке (сие ближе к тому, как делает браузер)
По ctrl+F12 так и делается, но, видимо, действительно будет удобнее отображать историю в обратном порядке.

Добавлено через 25 минут
Переделал отображение истории путей в обратном порядке (чем выше, тем новее). Так удобнее.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
04.08.2015, 20:58
Цитата Сообщение от dmitry94 Посмотреть сообщение
С местом появления нового окна не понятно как быть, ведь место его появления считывается из конфига
Ну так считал из конфига в промежуточное место. Там подхачил кординаты, из промежуточного места восстановил конфиг окна. Или ты конфигурацию окна сохраняешь как чёрный ящик, не разбираясь, в каком месте какие поля записаны? Тогда нужно уметь восстанавливать не из конфига, а все свойства по одному перетаскивать ручками из окна-оригинала
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
04.08.2015, 21:27  [ТС]
Смещать окно при запуске технически нет никаких проблем. Просто нужно смотреть при запуске сколько окон уже запущено и смещаться исходя из количества окон. Сделаю к следующему разу.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
04.08.2015, 21:49
Цитата Сообщение от dmitry94 Посмотреть сообщение
Просто нужно смотреть при запуске сколько окон уже запущено и смещаться исходя из количества окон
По-моему тут нереально будет. Каждое новое окно могли подвигать. По-моему достаточно новое сместить относительно того, кто является родителем. Чтобы визуально сразу было видно. При таком раскладе случайное двойное нажатие точно так же будет замечено
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
06.08.2015, 14:45  [ТС]
ffm-06-08-2015.7z:
Основные новшества:
- По F3 можно посчитать размер выделенных папок
- Выделение не сбрасывается после обновления списка файлов
- Оптимизировал еще перерисовку панелей, что позволило увеличить скорость отображения, особенно заметно в режимах detailed и thumbnails

Добавлено через 48 секунд
Цитата Сообщение от Evg Посмотреть сообщение
По-моему достаточно новое сместить относительно того, кто является родителем.
Ага, так сделал, причем если окна дойдут до края экрана, то начнут появляться с левого верхнего угла.
1
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
14.08.2015, 16:48  [ТС]
dmc-14-08-2015.7z:
Программа теперь называется DM Commander

Помимо исправления большого количества мелких ошибок:
- Выделение снимается с тех файлов, операции над которыми прошли успешно после окончания копирования.
- Реализован довольно мощный инструмент по групповому переименованию. Были большие сомнения по поводу этой опции. Но часто нужно самому например рассортировать много файлов по папкам вида: год\месяц\файл в автоматическом режиме, по этому включил, интерфейс старался делать максимально простым, насколько это возможно.




- Корректная поддержка High DPI при размере шрифтов 125% и более в Windows 10.

Кардинально больше ничего добавлять и изменять не буду в этой версии, только устранение ошибок. Нужно выпускать первую версию. По этому большая просьба к участникам форума тестировать и указывать на ошибки.
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
14.08.2015, 19:22
dmitry94, у меня не открывается.
Цитата Сообщение от Windows XP SP3 x32
dmcommander.exe не является приложением Win32
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
14.08.2015, 19:35  [ТС]
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
dmcommander.exe не является приложением Win32
Наверное связано с тем, что откомпилировал последнюю версию в VS2015. Больше таких экспериментов не будет, выложил обычную версию, скомпилированную в VS2008.
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
14.08.2015, 20:12
dmitry94,
Цитата Сообщение от Windows
Ошибка входа в процедуру SetProcessDPIAware
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
14.08.2015, 20:18  [ТС]
Ну как? Заработало?

Добавлено через 56 секунд
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
Ошибка входа в процедуру SetProcessDPIAwar
Ты из под XP?
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
14.08.2015, 20:21
dmitry94, да
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
14.08.2015, 20:32  [ТС]
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
dmitry94, да
Сейчас все должно работать, все дело в Visual Studio 2015, под которую я решил собрать новую версию программы, где решили, что XP поддерживать более не нужно Больше подобных экспериментов не будет.
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
14.08.2015, 20:46
dmitry94, теперь все хорошо. А почему нельзя выделить группу файлов мышкой? (как в проводнике Windows)

Добавлено через 1 минуту
А сейчас увидел что надо правой кнопкой

Добавлено через 37 секунд
dmitry94, как можно быстро добавить файл на временную панель?

Добавлено через 2 минуты
dmitry94, когда решил подключиться к FTP, если я введу неверный пароль, то программа зависает (ожидая ответа от сервера). Сделайте так чтобы писало Подключение к серверу и программа не висла
1
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
14.08.2015, 22:14  [ТС]
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
dmitry94, как можно быстро добавить файл на временную панель?
F5 (копирование), либо можно перетащить мышью.

Добавлено через 5 минут
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
dmitry94, когда решил подключиться к FTP, если я введу неверный пароль, то программа зависает (ожидая ответа от сервера). Сделайте так чтобы писало Подключение к серверу и программа не висла
Честно скажу, работа с ftp - побочная функция, которая и не планировалась изначально, там нет никаких потоков и не будет, так что ждать придется соединения. В следующих версиях конечно сделаю, если увижу запрос от пользователей, реально использующих программу.

Добавлено через 38 минут
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
А почему нельзя выделить группу файлов мышкой? (как в проводнике Windows)
Файлы выделяются кнопкой Ins либо правой кнопкой мыши. Можно выделить любое количество.
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
15.08.2015, 13:09
dmitry94, когда использую контекстное меню из вашего менеджера, то в пункте Открыть с помощью ничего нету
1
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
15.08.2015, 19:45  [ТС]
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
когда использую контекстное меню из вашего менеджера, то в пункте Открыть с помощью ничего нету
Да, но у меня там есть пункт "открыть с помощью", по которому предлагается программа для открытия. У вас не так? Контекстное меню вызывается через стандартный COM-интерфейс.
Почему меню не такое как в explorer остается только догадываться, скорее всего это задумка MS.
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
16.08.2015, 16:26  [ТС]
0
 Аватар для rockandroll
16 / 16 / 8
Регистрация: 05.08.2015
Сообщений: 79
18.08.2015, 04:21
интересный проект. но мне пожалую было бы страшно использовать его на своих данных) просто для фана - да.
я немного прошелся по теме. все не вчитывался.

возможно это не баг а фича. но например я нажал на папке F6 чтобы переименовать и случайно нажал пробел и ОК. все закрылось - папка ушла в неизвестном направлении)) репродьюсится все время.
1
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
18.08.2015, 11:43  [ТС]
Цитата Сообщение от rockandroll Посмотреть сообщение
возможно это не баг а фича. но например я нажал на папке F6 чтобы переименовать и случайно нажал пробел и ОК. все закрылось - папка ушла в неизвестном направлении))
В этом случае как раз папка переименовывается в " ", все как положено. Только вот обратно ее переименовать нельзя, это действительно баг, исправлю.

Добавлено через 6 часов 13 минут
Исправил работу с именами, начинающимися с пробела, либо содержащими одни пробелы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.08.2015, 11:43

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

Смена файлового менеджера по умолчанию
Как сменить файловый менеджер по умолчанию на Linux mint 17 MATE? Надо чтобы все папки, включая computer:///, trash:///, домашнюю и т.д.,...

Оформление для файлового менеджера
Глупо задавать вопрос. Но сам я затрудняюсь красиво оформить вкладку графиеских файлов чтобы все влезло Вот это окно где уже лежать...

Написание консольного файлового менеджера
Добрый день, в университете задали проект по созданию консольного Файлового менеджера на C++ в котором можно: 1)Перемещать между...

Основные функции файлового менеджера
Добрый день. Имеется начальный вид файлового менеджера (отображение структуры дисков, переходы по папкам, упорядоченные столбцы (имя,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
280
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru