Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт сен 21, 2017 12:46 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 97 сообщений ]  На страницу 1 2 3 4 57 След.
Автор Сообщение
 Заголовок сообщения: Файловый навигатор
СообщениеДобавлено: Пн ноя 26, 2012 12:02 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Изображение
Пока ещё много недоработок, например, во время навигации,
во время перемещения по списку при переключении с мыши на клавиатуру, при возврате из пустой папки,
со скроллбаром какой-то глюк, имена с русскими буквами не всегда правильно сортируются, ...

Управление клавиатурой:
  • Home в начало списка
  • End в конец списка
  • PageUp на страницу вверх
  • PageDown на страницу вниз
  • ArrowUp на один элемент вверх
  • ArrowDown на один элемент вниз
  • L перейти в адресную строку
  • BackSpace на уровень вверх
  • ArrowLeft в предыдущую директорию
  • ArrowRight в следующую директорию
  • Enter перейти в выделенную(или введённую в адресную строку) директорию или открыть(запустить) выделенный файл

Действия Cut\Copy\Paste\Delete пока работают только для файлов. Delete подтверждения не спрашивает.


Используемые библиотеки:
  • box_lib (edit_box, scrollbar)
  • libimg (загрузка иконок и шрифта)
  • buf2d (отрисовка списка)

Следующие файлы должны находится в "/rd/1/file managers/":
  • fnav.set (список ассоциированных приложений и расширений файлов)
  • fnav_icn.png (иконки)
  • fnav_fnt.png (шрифт)


Вложения:
fNav(0.1a).7z [9.86 КБ]
95 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Пн ноя 26, 2012 12:15 am 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Молодец. А ты видел, что есть такая штука, как opendial, и в box_lib есть компонент для отображения директории файлов?


Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Пн ноя 26, 2012 12:56 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4172
SoUrcerer
Я так понимаю, 0CodErr написал "Файловый навигатор" с целью обучения асму и использования библиотек. И это похвально.

С другой стороны два файловых менеджера уже есть в Колибри. В то время, как нехватает ещё множества других программ! Например: поиск, программа календарь требует переработки, нет менеджера обоев (функция ресайза уже есть в img_lib) и много другого. Не лучше ли начать писать что-то полезное сразу? Еолайт, к примеру, был моей первой программой вместо "Hello World", или ты хочешь составить ему конкуренцию?))

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Вт ноя 27, 2012 1:43 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 742
Leency писал(а):
С другой стороны два файловых менеджера уже есть в Колибри

Почему только два - Eolite, Kfar, Kfm. Хотя Kfm уже развиватся не будет, но он пока еще есть в дистрибутиве.
SoUrcerer писал(а):
Молодец. А ты видел, что есть такая штука, как opendial, и в box_lib есть компонент для отображения директории файлов?

Я когда-то пробовал разбираться с подключением элемента opendial. Там очень много програмного кода нужного для подключения идет в самом приложении. Потому его так просто не подключишь. Например приложение само анализирует все нажатия кнопок, а перед вызовом функции нажатия на клавиатуру уже должно быть определено действие, которое должен делать элемент opendial.
Если интересно см. файл http://websvn.kolibrios.org/filedetails ... endial.asm
со строки 130 (функция key) и далее со строки 269:
Код:
.key_action:

        mov     [file_browser_data_1.key_action],ebx

 

        push    dword file_browser_data_1

        call    [FileBrowser_key]

Думаю что это хорошая программа, не смотря на то что уже есть другие файловые менеджеры.


Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Вт ноя 27, 2012 10:09 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Leency
Каждый начинающий программист должен написать своей клон коммандера, эксплорера или чего-то-там-файловое-ещё. Без этого никак нельзя.

0CodErr
Исходники будут ?


Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Ср ноя 28, 2012 5:35 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4172
Зависает при запуске.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Пн дек 03, 2012 4:48 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Leency писал(а):
Зависает при запуске.
Может buf2d слишком старая?
Serge писал(а):
Исходники будут?
Только когда доделаю. Сейчас там, выражаясь словами Leency, "своя атмосфера".
Самих исходников, возможно, будет не достаточно. Я многое сначала схематично изображаю на картинках, поэтому комментариев в коде не очень много. Картинки, например, такие:
Изображение

В новой версии некоторые доработки в навигации и во время перемещения по списку.
Добавил управление мышью:
  • средняя кнопка + движение вверх на уровень вверх
  • средняя кнопка + движение влево в предыдущую директорию
  • средняя кнопка + движение вправо в следующую директорию
Файл из архива fnav_cur.png надо тоже положить в "/rd/1/file managers/".

Со скроллбаром проблема осталась. Здесь viewtopic.php?f=24&t=1220&start=195#p44130 я приводил пример. Это только у меня так?

Насчёт смены курсора:
Он у меня меняется не сразу, а только если подвигать мышью, поэтому приходится делать это программно.

На реальной системе у меня курсоры отображаются не совсем правильно, а VirtualBox — нормально. Думаю, дело тут не в самой программе.


Вложения:
fNav(0.2a).7z [7.13 КБ]
76 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Пн дек 03, 2012 6:46 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4172
Со сколл-баром у мя тоже была проблема в HTMLv, посмотри видео по ссылке http://bugs.kolibrios.org/view.php?id=41

Пришлось перетаскивание ползунка мышью делать вручную, а не юзать готовый метод.
Спойлер: Показать
Код:
            /*scrollbar_v_mouse (#scroll1);      //скролл притормажимает, идём "своим путём"
            if (lines.first <> scroll1.position)
            {
               lines.first = scroll1.position;
               WB1.ParseHTML(buf, filesize);
               //break;
            };*/

            if (!m.lkm) scroll_used=0;
            if (m.x>=WB1.width-14) && (m.x<=WB1.width+6) && (m.y>WB1.top+16)
            && (m.y<WB1.top+WB1.height-16) && (lines.all>lines.visible) && (m.lkm)
               scroll_used=1;
            
            if (scroll_used)
            {
               half_scroll_size = WB1.height - 16 * lines.visible / lines.all - 3 /2;
               IF (half_scroll_size+WB1.top>m.y) || (m.y<0) || (m.y>4000) m.y=half_scroll_size+WB1.top; //если курсор над окном
               btn=lines.first; //сохраняем старое количество
               lines.first = m.y -half_scroll_size -WB1.top * lines.all / WB1.height;
               if (lines.visible+lines.first>lines.all) lines.first=lines.all-lines.visible;
               if (btn<>lines.first) WB1.ParseHTML(buf); //чтоб лишний раз не перерисовывать
            }

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Пн дек 03, 2012 7:06 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Я тоже пытаюсь сам корректировать .position скроллбара.
Но я ещё перед этим вызываю scrollbar_v_mouse, наверное, из-за этого меняется реальное положение ползунка(.position2, если не ошибаюсь).

Забыл сказать. Можно же разные шрифты использовать. Например, это может выглядеть так:
ИзображениеИзображениеИзображение


Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Вт дек 04, 2012 11:12 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4172
>>Может buf2d слишком старая?
Я вообще не знал, что она нужна, и программа не пишет, что библиотека такая-то не найдена.

Ок, собрал последнюю версию с SVN, всё равено падает.

Код:
K : Process - forced terminate PID: 0000002A
K : Page fault
K : EAX : 00000000 EBX : 700DD660 ECX : FFFFFFFA
K : EDX : 00020000 ESI : 700E29ED EDI : 00006000
K : EBP : 00004D1B EIP : 700D8E03 ESP : 00004D13
K : Flags : 00011246 CS : 0000001B (application)
K : destroy app object
K : destroy app object
K : Process - forced terminate PID: 0000002F
K : Page fault
K : EAX : 00000000 EBX : 70104660 ECX : FFFFFFFA
K : EDX : 00020000 ESI : 701099ED EDI : 00006000
K : EBP : 00004D1B EIP : 700FFE03 ESP : 00004D13
K : Flags : 00011246 CS : 0000001B (application)
K : Process - forced terminate PID: 00000031
K : Page fault
K : EAX : 00000000 EBX : 7011C660 ECX : FFFFFFFA
K : EDX : 00020000 ESI : 701219ED EDI : 00006000
K : EBP : 00004D1B EIP : 70117E03 ESP : 00004D13
K : Flags : 00011246 CS : 0000001B (application)
K : destroy app object


А ещё - путь к png файлу жёстко прописан на /sys/file managers или может юзать текущую папку программы?

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Вт дек 04, 2012 11:49 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Цитата:
>>Может buf2d слишком старая?
Я вообще не знал, что она нужна,
В первом сообщении указаны используемые библиотеки.
Цитата:
А ещё - путь к png файлу жёстко прописан на /sys/file managers или может юзать текущую папку программы?
Сейчас все пути жёстко заданы.
Цитата:
Ок, собрал последнюю версию с SVN, всё равено падает.
А другие программы с buf2d работают?

Используемые png-изображения открываются в KIV?


Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Вт дек 04, 2012 6:15 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4172
0CodErr писал(а):
buf2d (отрисовка списка)

Следующие файлы должны находится в "/rd/1/file managers/":
  • fnav.set (список ассоциированных приложений и расширений файлов)
  • fnav_icn.png (иконки)
  • fnav_fnt.png (шрифт)

Цитата:
Сейчас все пути жёстко заданы.

Часть файлов только в первом архиве, часть обновлено во втором. buf2d по-умолчанию в дистре нет (надо добавить). Получился пазл.
Надо какие-то сообщения об ошибках и всё же юзать текущую папку с программой. FFFUUUUU~

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Вт дек 04, 2012 6:34 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4172
Всё равно падает. Скинь свой образ kolibri.img

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Ср дек 05, 2012 1:51 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн фев 09, 2009 4:13 am
Сообщения: 445
На досуге, в помощь, сделал специально для чайников описание установки fNav, в образ. Всё файлы и описание в архиве, который прикрепил. Читать ReadMe.txt.
Leency писал(а):
Всё равно падает. Скинь свой образ kolibri.img
:arrow: Образ забирай отсюда. Всё работает. fNav расположен в папке File Managers.
--------------
0CodErr советую выкладывать свои проги, вместе с dll бинарниками (если они необходимы), с кратким описание их расположения, чтобы небыло глупых вопросов, в будущем.
--------------


Вложения:
fNav_v0.2a.7z [62.7 КБ]
76 скачиваний

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Изображение
Вернуться к началу
 Заголовок сообщения: Re: Файловый навигатор
СообщениеДобавлено: Ср дек 05, 2012 2:20 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4172
Спасибо, попробую!
Кстати на ftp сервер не пускает, просит пароль.

_________________
Через тернии к звездам


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 97 сообщений ]  На страницу 1 2 3 4 57 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB