WebView: Text-based Browser

...
  • HTMLv 0.75

    - при закрытии HTMLv, downloader тоже завершается;
    - невозможно запустить больше одного downloader'a;
    - отображение процесса загрузки страницы из Интернета через кнопочку "остановить", надпись "Loading...", возможность прервать процесс;
    - обновление страницы из Интернета приводит к её повторной загрузке.

    БАГИ: кнопка назад не работает как надо, заголовок страницы иногда исчезает, и главное - чтобы страница отобразилась нужно скидывать фокус с окна и активировать его.

    Ну а в целом версия очень хороша!
    Из хаоса в космос
  • SoUrcerer wrote:Leency, а теперь я очень сильно прошу тебя рассказать, как работает парсер тегов и вывод всего этого на экран. Очень хочется добавить поддержку пары важных тегов и может быть свойств.
    В двух словах всё происходит на лету - читаем из памяти страницу, рисуем сразу... Я позже более развёрнуто отвечу.

    Самая большая проблема для меня - невозможность создавать НОРМАЛЬНО на С-- массивы строк.
    Из хаоса в космос
  • А с чем собственно проблемы? CleverMouse однажды мне подсказывала, что можно загрузить весь файл в память, а потом раскидать в отдельном массиве указатели на фрагменты файла.
  • HTML Viewer 0.76
    - исправлена работа кнопки "Назад";
    - в историю посещённых страниц не может быть добавлено 2 одинаковых адреса подряд;
    - исправлено исчезание заголовка страниц;
    - исчезала кнопка вверх в прокрутке - исправлено;
    - некоторые другие исправления.

    Эту версию можно назвать STABLE, т.к. все известные мне баги исправлены. Дальше дело за архитектурными проблемами.

    Здесь их две основных для меня:
    1. Нет единой процедуры загрузки и отображения страниц, на каждый чих свой код, процедуры и ньюансы. Тонкая смесь костылей.
    2. Несложная проблема, но я не знаю как это реализовать. Вот работает программа как обычно, на события всякие реагирует. И тут открывает ссылку из нэта, запускается давнлоадер и начинает качать страницу. Так вот в чём проблема: программе нужно каждые скажем полсекунды проверять висит ли даунлоадер в процессах или уже закрылся (соответственно выкачав страницу). А потом снова жить ХТМЛв как ни в чём не бывало.
    Тут я так понимаю нужно менять маску событий чтобы программа начинала генерировать событие каждые полсекунды. Потом менять обратно. Так?
    Из хаоса в космос
  • Можно задействовать ф.23 вместо ф.10 на нужный период. Пишешь еще один главный цикл и передаешь на него управление, а когда страница скачана, то передаешь управление обратно в основной главный цикл. Из событий во вторичном главном цикле обрабатывать только перерисовку окна и обработку кнопки закрытия.
  • Спасибо, попробую.
    Из хаоса в космос
  • Можешь поправить downloader, чтобы он принимал в качестве параметра ещё и pid процесса, которому он будет отсылать IPC события о завершении своей работы и статус её завершения (скажем, 404, 403, 200 или просто success/fail). Так, на мой взгляд, будет меньше извращений.
  • А еще (вот уж вдруг) можно добавить обработку тега input и кнопки submit для отправки get-запросов. Если бы downloader умел делать и post-запросы (с передачей параметров через ipc) - вообще было бы сказочно.
  • 1. Если открывать программу с параметром, в котором ссылка на интернет-сайт, программа отобразит его. Пример: Eolite -> About (нажать на разноцветные кружочки справа от строки адреса) -> ссылка на мой сайт.
    2.
    Attachments
    scr.png
    scr.png (104.44 KiB)
    Viewed 2912 times
    Из хаоса в космос
  • bgcolor - это Ня!
  • Все еще не исправлен баг - после загрузки страницы она не отрисовывается без насильственных действий с окном программы (переключения фокуса системы, изменения размеров окна или его перетаскивания). Вероятно поправить очень сложно, так как наследуемость бага 100%.

    Почему то в Qemu (на реальном железе не проверял) не открывается http://kolibrios.org (адрес правильный и этот форум при этом открывается) и http://flatassembler.net

    Также предложение на будущее - проверять если строка адреса не начинается с символа "/" или "http://", то подставлять "http://" программа должна самостоятельно.
  • Предложение принимается. А даунлоадер их хавает (колибриос.орг и флэтассемблер)?

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

    Хм... Может lev поможет? :)
    Из хаоса в космос
  • Похоже там редиректы, результаты генерации и т.п.
    http://kolibrios.org/ru/index.html - у меня открывается
    http://flatassembler.net/index.php - не хочет
    я в этом не специалист.
    Багов с перерисовкой в Qemu пока не воспроизвёл, погоняю ещё.
  • - обработка перехода вверх "../";
    - jpg, gif, png открываются через kiv. Подумываю вообще eolite.ini прикрутить и открывать файлы соответствующими прогами... А отображать только на txt, htm, html, mht и неизвестные расширения.

    Новая версия на SVN. Обнаружил ещё две ошибки, надеюсь скоро исправить.
    Из хаоса в космос
  • Who is online

    Users browsing this forum: No registered users and 0 guests