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

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

19.07.2013, 19:15. Показов 37242. Ответов 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
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
21.03.2016, 19:13
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от dmitry94 Посмотреть сообщение
А ОС какая?
Windows 10 Корпоративная.

Цитата Сообщение от dmitry94 Посмотреть сообщение
Если установить HCU\Software\DMCommander\X86(X64)\PanelC ontextMenuTimer 0 тоже не появляется?
Так появляется.
1
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
22.03.2016, 03:47  [ТС]
Значит само меню работает, появление реализовано через стандартный таймер, вроде там и ломаться нечему, буду копать. Может есть еще кто-то, у кого не появляется системное меню по правой кнопке?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
22.03.2016, 10:24
По поводу правой кнопки. Нажимаю, но не отпускаю правую кнопку, файл подсвечивается другим цветом (выделение), через полсекунды появляется меню и выделение исчезает. По смыслу выделение надо делать по событию mouse-release, т.е. не в момент нажатия кнопки, а в момент отжатия, тогда не будет такого эффекта. Правда фиг знает, как это скажется на групповом выделении правой кнопкой
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
22.03.2016, 14:52  [ТС]
Так сделано специально, с целью минимизации количества действий. Если пользователь продолжит выделение, то файл остался выделенным, а если дождется меню, то выделение снимется, так как подразумевается, что хотели воспользоваться меню.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
10.04.2016, 13:40
Натолкнулся ещё на одно место, где не хватает мелочи. Когда смотришь исходники, которые по смыслу предназначены для unix-систем, то в них часто закладываются на то, что важные файлы именуют с заглавной буквы (README, INSTALL, Makefile). В unix'ах имена файлов case-sensitive, а потому при сортировке по имени такие файлы оказываются в начале списка и сразу заметны

Т.е. как бы не хватает режима сортировки по имени в режиме case-sensitive
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
12.04.2016, 09:01  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
как бы не хватает режима сортировки по имени в режиме case-sensitive
Добавлю.
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
21.05.2016, 20:11
dmitry94,

Отзыв.

Мне понравилось GUI: это второй и третий скрин внешнего вида. Беленький и тот, синенький. Это то что в первом посте.

Креативное пожелание:

Можно добавить во всплывающих подсказках которые отображаются при наведении курсора мыши на файл/каталог такую информацию:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
----------
Количество файлов в каталоге (если каталог)
----------
Количество каталогов в каталоге (если каталог)
----------
Размер файла в Б, Кб, Мб (для любого файла)
----------
Различные сгенеренные контрольные суммы файла md5, sha и так далее которые можно скопировать в буфер обмена (для любого файла)
----------
[1] Степень шумо-содержания данных файла (для любого файла)
----------
[2] Яркость изображения (для изображения)
----------
[3] Цвет изображения (для изображения)
----------
Длительность аудио файла (для аудио файла)
----------
Общая громкость аудио файла (для аудио файла)
----------
Количество видео фреймов (для видео файла)
----------
... хз что еще интересного

Не по теме:

По [1], [2], [3] могу предоставить готовые алгоритмы на ЯП, если Вам интересно. По этим же параметр можно реализовать фильтр поиска файлов на жестком диске компьютера.

1
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
23.05.2016, 12:12
dmitry94, должно быть Вы много работы провели реализовывая этот файловый менеджер. Жаль если человек много работает и его труд может быть потом никому не нужен.

Еще, совет, не делать полный клон TC, не перенасыщать все функционалом, что бы по проще программа была. И, имхо, если хотите продвинуть свой продукт в нем должна быть особенность какая то, тогда он проще рекламируется. Ведь хорошая вещь всем нужна. Кстати, простая двух оконная программа для управления файлами это тоже особенность. Мне иногда достаточно открыть два окна в Windows с лева на право, поделить экран на две части - вот уже и готов файловый менеджер, элементарный.
0
Evg
23.05.2016, 13:04

Не по теме:

Цитата Сообщение от tolimadokara Посмотреть сообщение
не перенасыщать все функционалом
Предложения из поста #347 по больше части и есть перенасыщение функционалом

0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
23.05.2016, 13:12  [ТС]
Цитата Сообщение от tolimadokara Посмотреть сообщение
должно быть Вы много работы провели реализовывая этот файловый менеджер. Жаль если человек много работает и его труд может быть потом никому не нужен.
Опыт пригодится в любом случае, теперь есть понимание как решать многие задачи и как оно работает, да и для общего развития полезно.

А по поводу востребованности, скорее всего такой интерфейс себя исчерпал, да и есть Total Commander.
Сейчас нужно что-то новое.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
07.06.2016, 22:16
На одной панели выделил множество файлов для копирования. Они подсветились жёлтым цветом (цвет выделения). Начал их копировать. Те файл, которые скопировались, постепенно окрашиваются в белый цвет (дефолтный цвет).

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

Добавлено через 23 секунды
Ой, только вот было не копирование, а перемещение, но, думаю, принципиальной разницы нет

Добавлено через 1 минуту
Дело тут, видимо, в том, что окно коммандера неактивно (т.е. фокус не на нём)
1
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
10.06.2016, 19:09
dmitry94, а какую GUI библиотеку использует DM Commander? (Qt, wxWidgets и т.д.)
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
10.06.2016, 21:11  [ТС]
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
dmitry94, а какую GUI библиотеку использует DM Commander? (Qt, wxWidgets и т.д.)
Ничего не использует, только winapi.

Добавлено через 2 минуты
Ну и 7-zip для архивов, это указано

Добавлено через 1 час 7 минут
Раз уж зашла речь, поделюсь дальнейшими планами по программе.

Сейчас начал писать версию 2.0, которая будет с открытым кодом, с использованием своей библиотеки классов, которую тоже предстоит сначала написать (ей сейчас и занимаюсь). Интерфейс планирую изменить и приблизить к привычному для пользователей из нашего времени. Делать точную копию far/total commander было ошибкой.

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

Было бы проще использовать готовые библиотеки типа QT, но это мне не интересно.

Версия, которая выложена здесь 1.1.3.1 скорее всего дальнейшего развития не получит. Эта программа подошла к тому моменту, когда нужно взять и написать все заново, но уже зная все нюансы.
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
18.06.2016, 19:57  [ТС]
Вчера нужно было быстро изменить расширение 10 файлов с разными названиями (названия файлов придумывали долго, а вот расширения установить забыли, рисунки для конкурса). Оценил полезность этой программы, все-таки иногда бывают такие действия, которые проводник сделать не позволяет, а dm-commander - легко.
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
18.06.2016, 21:07
Цитата Сообщение от dmitry94 Посмотреть сообщение
которые проводник сделать не позволяет
Подозреваю, что тот, кто пользуется Проводником, тому ни когда в голову не придет использовать dm-commander.
Кто познал прелести Total Commander тот от него никогда не откажется.
Мне сразу понравилась Ваша программа, и я даже вначале участвовал ( помните, подсказал, что удобнее использовать 7Z, чем кучу разных распаковщиков?). Она довольно компактна, не требует установки и регистрации. Но дольше одного дня использовать её не смог - всё рано что то не то по сравнению с TC, чего то не хватает. Но на флешку записал на всякий случай, может когда и пригодится на чужом компе, где только Проводник.
1
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
18.06.2016, 22:14  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Она довольно компактна, не требует установки и регистрации. Но дольше одного дня использовать её не смог
Я использую постоянно и на работе и дома, мне просто удобнее работать так (хотя в душе уже отказался от развития этой программы), до этого использовал FAR с момента его основания, а до этого в 90-х годах использовал NC. Во времена Фидо использовал FAR в основном из-за качественного текстового редактора, тогда я тоже занимался программированием и писал свои программы в текстовом редакторе FAR. Total Commander не использовал никогда, но работа со списком файлов в моем менеджере должна работать побыстрее, так как здесь не используется стандартный listbox как в TC, а над оптимизацией работы со списком я много работал, так как это и считал основным преимуществом, но, как выясняется, это никому не нужно.

Добавлено через 36 минут
Приведу вещи, которые казались важными для меня, но по факту оказались не нужными:

1. При скроллинге в списке файлов весь список файлов смещается на 1 элемент, а не на страницу, как в стандартном listbox?listview.
2. При входе/выходе в папку/архив запоминается положение (первый и текущий элементы списка) и при изменении состояния список отобразится в неизменном виде. На практике это обозначает то, что при выходе из папки/архива вы окажитесь в том же месте списка, откуда входили/выходили в папку или архив.
3. Групповое преименование/копирование с перемименованием сделано максимально просто, достаточно только поставить одну галочку и можно совершать любые операции, но вряд-ли кто-то это делал кроме меня, значит этот интерфейс не доработан.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
07.03.2017, 22:02
При удалении файла вылезает окошко "Удалить? да/нет". Интуитивно пытался нажимать ESC, чтобы отменить действие, но на ESC не реагирует
1
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
14.03.2017, 11:39  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
При удалении файла вылезает окошко "Удалить? да/нет". Интуитивно пытался нажимать ESC, чтобы отменить действие, но на ESC не реагирует
Исправил. Пока собрал под win32.
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
14.03.2017, 11:42  [ТС]
dmc-w32-14-03-2017.7z
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
14.03.2017, 12:06
В "Interface Settings" по-умолчанию стоит галочка на "System menu on right button", но по факту происходит выделение файлов и папок.
Зачем вам manifest в виде отдельного файла? Почему бы не встроить его в EXE-шник?
Подтверждение выхода из программы считаю лишним. Не такая уж и опасная ситуация случайно закрыть ФМ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2017, 12:06

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
360
Ответ Создать тему
Новые блоги и статьи
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru