Новостиrss
ТелеграмФорум
ТелеграмТелеграм
ВКонтактеВКонтакте
Поддержка
Подписаться »»
Aml Pages
Скачать
Новичкам…
Что нового
КУПИТЬ
 продлить Скриншоты
Видео
Плагины
ЧаВо
Статьи
Планы
Разработчику
Aml Maple
Скачать
КУПИТЬ
 продлить
Быстрый старт
ЧаВо
Видео
Отзывы
Статьи
TwinkiePaste
Скачать
КУПИТЬ
 продлить
Быстрый старт
Скриншоты
Функции
ЧаВо
Сумма прописью
Отзывы
Статьи
Pwd Cracker
    Password Cracker
ЧаВо
Реклама в PC
Перевести
WriteYours
Mouse Hunter
RSSme
поддержка
Cвязаться
Форум
Голосования
Контакты
Разное
Информеры
Награды
Модули++
Каталог
Спасибо!
Разработчикам
Возможности
Plugin API

PAD файлы
Ссылки
Sitemap

Статистика
Яндекс.Метрика
  © 2004 X-ViK Design
*

О пользе печных труб и пользовательских иконок

Собственно по многочисленным просьбам пользователей мы начали вводить поддержку пользовательских иконок для страниц Aml Pages 9.0. На текущий момент Aml Pages использует собственные встроенные иконки для отображения дерева и списков страниц. Часто заходила речь о том, что хотелось бы этот процесс неким образом "кастомизировать", т.е. дать возможность пользователю использовать собственные иконки для страниц и папок.

Было несколько вариантов возможных решений:
  1. Разрешить опционально настраивать в опциях программы специальные библиотеки ресурсов, содержащие иконки;
  2. Хранить подобные иконки в файле записной книжки;
  3. Сделать выбор между первым и вторым опциональным для пользователя;

После продолжительных дискуссий на эту тему в форуме и в "Обсуждениях" было решено что "аппетит приходит во время еды" (C) by None Smilodon), т.е. говоря иным словами "переделывать все эти технологии будем до второго пришествия" (C) by Я). Первый вариант решено было оставить для более поздней реализации. Поскольку технически он достаточно прост и тем самым мало интересен. К тому же, при переносе записной книжки на другую машину, не имеющую указанной библиотеки, обязательно бы приводил к невозможности показа "кастомизированных" иконок. Третий вариант был отметен с негодованием, поскольку для людей преимущественно работающих на одной машине, он не приносит никаких выгод по сравнению с первым, для прочих же, я думаю, была бы сущая морока постоянно помнить, где какие иконки используется и установлены, а какие хранятся в файле книги.

Поэтому на текущем этапе было решено остановиться на втором варианте, т.е. пользовательские иконки будут храниться в записной книжке. Собственно основная идея была в следующем: любая страница или папка может иметь собственную, выбираемую пользователем иконку, и в этом случае и в дереве и в списках использоваться будет именно пользовательская иконка. Если страница или папка не имеет такой иконки, то для отображения будет использоваться стандартная иконка.

Вторым важным моментом, на мой взгляд, показалось, что многие из нас будут использовать вполне ограниченный набор иконок. Не многие, как мне думается, захотят сделать из дерева страниц целый букет иконок. Но, тем не менее, целая группа страниц может использовать одну и ту же иконку для отображения, к примеру, иконку отображающую важность записанного или же мировые запасы пива на 20 часов 12 минут по Гринвичу. Заметим, что любая иконка при раскладе средней кислости будет занимать как минимум один килобайт, а при повышенной кислости - 4 килобайта. Теперь представьте себе средних размеров файл страниц так эдак на 50, причем для, допустим, 40 из них Вы используете пользовательскую иконку (причем на самом деле одно, два, три изображения по сути). Размер подобного файла при самом хорошем раскладе вырастет на 40 килобайт, а то и на все 160 кб (если иконки большие). Я думаю, это весьма ощутимая разница, если весь файл весит кило так 50!?! А и с иконками 200!?! В общем, сразу же вспоминается выражение Эдсгера Дейкстры "затраты потраченные на разработку алгоритмов оптимизации... ... всегда себя оправдывают".

Поэтому была придумана следующая схема. Каждая страница может иметь либо собственную иконку, либо же иконку - копию существующей в файле. Причем, конечно же, вторая копия не храниться в файле физически. Иначе говоря, реальный объем в файле занимает только одна иконка, это позволяет существенно снизить расходы на размер файла. Конечно же, если изменяется основная иконка, то меняется и копия существующей, которая, по сути, просто является синонимом первой.

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

  1. Пользовательский - позволяет установить собственную иконку для любой страницы с диска. Причем если файл содержит больше одной иконки, то Вам будет предоставлен выбор какую именно иконку добыть из выбранного файла. Если файл вообще не содержит иконок то Вы сможете выбрать иконку, которая ассоциирована с этим типом файлов.
  2. Копия - собственно позволяет назначить странице иконку-копию уже существующей в книге.
  3. Стандартный - собственно восстанавливает стандартную иконку.

Хотим обратить внимание, что вывод какого размера "таскать" из файлов иконки диалог выбора делает на основе размера значков, который Вы используете в дереве. Собственно, маленькая иконка будет занимать порядка килобайта, а большая порядка 4 килобайт. Но, конечно же, вторая будет качественнее отображаться именно в режиме большого размера значков. Возможно, нужно ввести какую-то иную функциональность, или опцию, позволяющую явно указать какого размера иконки извлекать из файлов.

В принципе в дальнейшем я думаю, может появиться команда "взять из библиотеки" - специального файла наиболее популярных иконок, который как мы надеемся, будет пополняться Вашими молитвами. Присылайте!

Опять же хотим напомнить, что в версии 9.0 alpha 6 b1415 представлен тестовый прототип, который пока реально не сохраняет иконки в файл Aml Pages, но, тем не менее, уже выполняющий базовое управление описанными иконками. Сохранения пока нет именно из соображений тестирования, многое может в дальнейшем поменяться. Хотя сами механизмы сохранения уже написаны и доступны для тестирования. Если у Вас появиться вопросы, пожелания, выражайтесь в форуме или в "Обсуждениях", будем рады услышать Ваше мнение.

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

PS: поскольку возникали вопросы о написании полномасштабного граббера иконок, то, упреждая подобные вопросы в будущем, отвечаю сразу: этим, честно говоря, заниматься не только некогда, но и просто "в лом". Кого сильно волнует "воровство" иконок во вселенском масштабе можете скачать подобную утилитку авторства Вашего покорного слуги - Icons Look. Она расположена на моей домашней странице. Да и вообще подобных утилит, редакторов как грязи и только ленивый их не писал.

e-Блокнот
Aml Pages
от 30/11/2024
Видео
Aml2Evernote
Aml2Dropbox
Aml2LeaderTask
Spell Checker
Aml2CHM
Aml View
Еще плагины...
«Клава» + Мышь
Aml Maple
от 02/12/2024
TwinkiePaste
от 23/11/2024
WriteYours
от 23/06/2022
Password Cracker
от 29/11/2024
Сообщество
Форум Новостная RSS-лента
ВКонтакте Русская группа пользователей Aml Pages в социальной сети ВКонтакте (на великом и могучем)
Телеграм Телеграм
Facebook Facebook
Обратная связь Спросить нас через форму обратной связи на сайте
Блог Новостная RSS-лента
Статьи
Как использовать разные Aml Pages одновременно
Где TwinkiePaste хранит фразы пользователя
Aml Pages : Телеграм
Оплатили, но не получили лицензионный ключ?
Новая версия Aml Pages 9.90
Как убрать панель Теги
Импорт из Evernote
Как выбрать папку для размещения данных из Aml Assist
Как проверить что нового в Aml Pages
Новая версия Aml View 2.0
Новый плагин Aml2Evernote
Как открыть документ Aml Pages извне?
Как в закладках Aml Pages показывать только…
Как быстро перейти к предыдущей странице
Автозагрузка и Aml Pages
Как сохранить гиперссылку в Aml Pages
Что такое быстрые настройки в Aml Pages?
• Как можно открыть раздел документа Aml Pages извне
• Можно ли изменить веб-страницу?
• Фильтры в Aml Pages
• Проверка новых версий
• Про гиперсссылки
• Быстрый доступ к заметкам
• Синхронизация документов через Интернет
• Где взять portable-версию Aml Pages?
• Как быстро открыть документ
• Все статьи
На манжетах
блог автора
Facebook
LinkedIn
Гостевая Carc`а
Просматривайте и редактируйте ваши программы на JavaScript, PHP, Perl, HTML в текстовом редакторе HippoEDIT (бесплатен для exUSSR)