[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 2 месяца
  • Сообщений: 1286
  • Репутация:127

    [+] [-]
Сейчас проверил свою старую версию с иконками с использованием реестра, в ней нет проблем, отработал 37000 элементов и показал иконки нормально, по времени без иконок 9 сек, с иконками 20 сек, с иконками в релизе 23 сек, то есть моя старая версия с иконками кроме всего прочего и работает быстрее и нет проблем с памятью.
rekshd, проблема в том, что если сканировать только корень, то скорость будет высокая, не пострадает, но в 99% сканировтаься будет не корень, а какая нибудь папка. Если встроить проверку desktop.ini в каждой папке, а у меня наприме при 37000 элементов 34 тыс файлов и 3 тыс папок, значит прога будет 3000 раз проверять наличие файла desktop.ini
я визуал
да все мы визуалы, я даже прогу писал для этого
Обновил в папке Ru старый вариант определения через реестр, проверяйте. Незабудте в ini задать ico = 200000

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 4 месяца
  • Сообщений: 331
  • Репутация:7

    [+] [-]

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 2 месяца
  • Сообщений: 1286
  • Репутация:127

    [+] [-]
rekshd, работает как и задумано, для exe и ico файлов в качестве значка используется %1, то есть сам файл является значком и если не указана иконка то используется первая, с индексом 0. Это означает, что если в некоторой многоуровневой папке в среднем 50 типов файлов, то мы получаем 50 значков. Если же обсчитывать иконки и exe-файлы, а в Win10 и dll может отображаться внутренним значком, то придётся на какой нибудь сборник софта на каждый exe запрашивать его иконку и создавать ещё один список иконок для exe и ico на 100 и более значков. Это жрёт память. Вместо того чтобы взять иконку одну на все exe-файлы функция будет запрашивать внутреннюю иконку.
перезалил, мультиязычные тоже переделал.

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 4 месяца
  • Сообщений: 331
  • Репутация:7

    [+] [-]
Обновил в папке Ru старый вариант определения через реестр, проверяйте. Незабудте в ini задать ico = 200000
Ну Вы не дали мне возможности забыть - там уже в ini этот параметр =200000 af
Вообщем-то ничего не изменилось. Та же картинка. Кэш иконок сбрасил. Снова запустил. Та же картинка.
Кстати, поймал себя на мысли, что мы говорим сейчас строго про иконки файлов.
Каюсь, Похоже, я в своё время неточно сформулировал свою мысль.
Я то хотел, чтоб в окне FileSizesList отображались персональные иконки папок
(при наличии в ней desktop.ini и Icon.ico. Конечно, Icon.ico нужен тока тогда, когда он прописан в desktop.ini папки)
Причём актуально отображение уникальных иконок тока корневой папки (из контекстного меню которой стартует FileSizesList через ПКМ) и , главное, папок первого уровня
Уже Второй уровень вложенности тока желателен, но необязателен
Остальные иконки папок более глубокой вложенности можно вообще игнорировать
А Файлы отображаются однотипными иконками как раз вполне себе удобно. Как сейчас это и сделано при ico=0
Ведь основная задача проги - показать БОЛЬШИЕ по размеру папки.
Не помню, чтоб я раньше искал с помощью Scanner или WizTree большие файлы. Искались Тока БОЛЬШИЕ папки. Чтоб потом их удалить\почистить или переместить на другой диск.
Вот в этот момент и нужно визуальное отображение уникального формления тех папок, у которых оно есть.
То есть отображение уникальной иконки папки. Для папок с обычным оформлением ничего делать не нужно. там типовая иконка папки
Думаю, на это ресурсов уйдет совсем немного, в отличии от отображения иконок файлов
А БОЛЬШИЕ файлы находятся гораздо быстрее простым поиском с помошью стандартного виндосовского поиска или FileLocator-ом


Последний раз редактировалось: rekshd (2021-11-13 01:25), всего редактировалось 1 раз

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 2 месяца
  • Сообщений: 1286
  • Репутация:127

    [+] [-]
Кстати, поймал себя на мысли, что мы говорим сейчас строго про иконки файлов
да, я пытался устранить глюк с ограничением количества иконок.
А Файлы отображаются однотипными иконками как раз вполне удобно
вырезать рабочий функционал я не любитель, флагом в ini кому как надо так и сделают.
персональные иконки папок
пока лень, этот функционал надо писать, так как его нельзя обрабатывать тем же методом что и файлы, нужен отдельный список значков для папок.
А БОЛЬШИЕ файлы находятся гораздо быстрее простым поиском
Я опять же ищу своей прогой, добавил вывод относительного пути, размер, включил сортировку по размеру. Аналогично по дате.

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 4 месяца
  • Сообщений: 331
  • Репутация:7

    [+] [-]
AZJIO, Да !!! Лень - Двигатель Прогресса ab
Я немного подредактировал свой последний пост, немного уточнив мысль по папкам.
А вырезать функционал уже готовый к применению не нужно. Вы абсолютно правы.
Для этого БОГ и создал ini файлы.
Если будет не лень заняться отображением иконок папок, то я всегда в Вашем распоряжении для тестирования.
Спасибо Вам за полезняшки

[Цитировать]

    rezorustavi
  • 2337
  • Стаж: 8 лет 3 месяца
  • Сообщений: 928
  • Репутация:55

    [+] [-]
  • Откуда: Грузия, город Рустави
AZJIO,
aa Приветствую.
Добавьте пожалуйста описание настроек в ini, типа:
Параметры в ini:
Запрос на добавление в контекстное меню: r=1, r=0 без запроса
Вариант с чекбоксами: - cb = 1, без cb = 0
Чтобы удалять вместе с пунктом в дереве: idel = 1, без idel = 0
Насчет отображения иконок на файлах, считаю лишним, так как влияет на производительность. Только значки на папках. Надо фиксить ограничения по количеству иконок, а лучше вообще отказаться от этого. Тем самым скорость будет на много выше. Расширения файлов и так отображаются прекрасно.

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 5 месяцев
  • Сообщений: 3995
  • Репутация:26

    [+] [-]
  • Откуда: BG
Лень - Двигатель Прогресса
мысль понравилась. ae Поставлю у себя как подпись. ab

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 2 месяца
  • Сообщений: 1286
  • Репутация:127

    [+] [-]
Обновил для Linux, все последние (кроме иконок) обновления добавил в исходник Linux, а также собрал пакеты deb (32, 64) и арч.
89733Надо фиксить ограничения по количеству иконок
А что там фиксить? Я вроде отписал, что изменил алгоритм на старый, и теперь он работает нормально, а выбор отключить его или нет определяет пользователь параметром ico

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 5 месяцев
  • Сообщений: 3995
  • Репутация:26

    [+] [-]
  • Откуда: BG
AZJIO, а в новой версии для вин квадратики не вижу уже. ai
Изиняюсь за тупость, понял в чем проблемма. Надо 1-чку ставить в ини. aa

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 2 месяца
  • Сообщений: 1286
  • Репутация:127

    [+] [-]
Обновление
тестируйте прогу из папки Ru
ini файл теперь содержит более полные имена
width = 500
height = 600
registry = 1
checkbox = 0
itemdel = 0
icon = 500
recycle = 1
так как добавил пункт "Открыть ini-файл", то сделал параметры более понятные. Почему теперь важно открыть ini, потому что добавлен параметр recycle=1 означающий "удалять в корзину". Перенос в корзину занимает больше времени, чем безвозвратное удаление, поэтому вам принимать решение.
При удалении файлов чекбокс заменяется на квадратик (при itemdel=0), а имена файлов меняются не на "* Удалено", а на "* - имя_элемента", кстати этот квадратик не является галкой и если отметить опять другой чекбокс он не пытается удалить ранее удалённое, которое продолжает быть отмеченное. При "удалить отмеченное", если файлы не существуют, то не выскакивает куча сообщений, что элемент не найден, вместо этого пути кеширeются в лог.
Исправил логику, если окно не изменилось в размере то не писать в ini, тем самым я хотел избавить каждый раз перезапись ini, но оно продолжало перезаписывать, так как переменные были локальными, теперь пишет, только после изменения размеров. Заметил это так как AkelPad постоянно сообщает что "файл изменён внешней программой".
rekshd, я только сейчас догадался что иконка продолжает оставаться не той которую я хотел исправить, теперь исправил, проверяй.
Думаю надо параметр recycle перечитывать в реальном времени, чтобы не сканировать повторно после изменения параметра. Можно ещё сделать этот параметр в виде пункта-галки.

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 5 месяцев
  • Сообщений: 3995
  • Репутация:26

    [+] [-]
  • Откуда: BG
AZJIO, можно сделать английский вариант так?

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 2 месяца
  • Сообщений: 1286
  • Репутация:127

    [+] [-]
dimo70, скачай, мультиязычную перекомпилировал с новыми обновлениями

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 5 месяцев
  • Сообщений: 3995
  • Репутация:26

    [+] [-]
  • Откуда: BG
AZJIO, спасибо, супер получается. Будем проверять. aa

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 2 месяца
  • Сообщений: 1286
  • Репутация:127

    [+] [-]
Обновлено, двойной клик открывает файл/папку

Страница 4 из 7


Показать сообщения:    

Текущее время: 02-Май 00:53

Часовой пояс: UTC + 3


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