Posts tagged ‘ktorrent’

Что мне не нравится в KTorrent и как я это пофиксил…

Предисловие

Хотя сам и работаю админом, но за домашним компом не слежу абсолютно… то есть совсем. На работе естественно только Linux, ну а дома стояла винда, и использовалась она по большей части для скачки фильмов и их просмотра :) . Все бы ничего, но винда сама по себе долго жить не может (хотя последней установке нужно отдать должное, простояла 1,5 года), а обновлять антивирусные базы я ужас как не люблю. Несколько походов к друзьям с переносным винчестером и винде стало плохо, сначала самостоятельные отключения от Интернета, потом нежелание выключатся, последней каплей было когда начал сам по себе вылетать сервис «Windows Audio», т.е. уже и музыку не послушаешь и фильм не посмотришь.
Все к чертям, вперед на Linux, дистром выбрал свой любимый Debian, как заядлый поклонник GNOME на stable ветке высидеть не удалось, не хватает некоторых рюшечек из 2.6.24 (как минимум), перешел на unstable. Полный восторг от версий пакетов и как не странно вполне стабильная работа :) .
Встал вопрос чем качать фильмы с торентов, после отличного uTorrent наиболее юзабельным показался KTorrent, если бы не два «НО»: отсутствие прогресс бара для столбца «% загружено» и своеобразный метод подсчета оставшегося времени скачки (он просто ужасен).

И грянул гром…

Каждый кто использует Open Source знает что при желании может и сам поучаствовать в разработке любого понравившегося приложения, но на практике это сложнее. У кого-то нет необходимых знаний, кто-то считает что это слишком сложно, кому-то просто лень. Я относился скорее всего к последней категории и все выжидал когда же мне надоесть какой-нибудь баг и я захочу его поправить :) .
И вот свершилось, в субботу вместо того чтобы заниматься заслуженным «ничего-не-деланьем» я начал искать где взять сорсы KTorrent. Последняя версия из SVN оказалась слишком «development» и постоянно падала, поэтому достал последний стабильный код:

svn co svn://anonsvn.kde.org/home/kde/branches/stable/extragear-kde4/network/ktorrent/

Уже давненько порывался опробовать Qt Creator, и наконец предоставился случай. Признаюсь честно, это был неописуемый восторг, первая IDE после Borland`овских с отличным дополнением кода и навигацией по нему, «правильно» работающей справкой и т.д., это нужно просто один раз опробовать. В общем поставил и начал творить жульства… на скрине ниже результаты.

KTorrent, точнее то что я с ним сделал

1. Раньше в столбце статус выводился значек с восклицательным знаком, если есть какие-то ошибки. Перенес статус торента к его имени, и теперь он отображает как статус «ОК» так и ошибки.
2. Вместо цифр с процентами, сделал полноценный прогресс бар, наглядность повысилась в разы.
3. Как оказалось в коде есть несколько алгоритмов подсчета времени окончания закачки, но выбран почему-то собственный алгоритм, который выдает довольно загадочный estimate. Возможно в опция где-то есть выбор алгоритма, если кто знает подскажите.
3.1 Убивает смотреть на время загрузки «2 года 8 месяцев 13 дней» :) , если время загрузки более 30 дней выводится знак бесконечности.
4.Если скорость скачки меньше 1 килобайта, скорость пишется в байтах и это иногда сбивает с толку. Теперь если скорость менее килобайта она выводится как дробная часть от 1 Кб. Только пока не сделал «многоязычный» вариант, поэтому выводится тупо «Kb», но это поправимо.
5.Цвет статуса у торентов которые раздаются сделал синим, чтобы отличать их от загружаемых.

Вот так вот потрудился за 5 часов субботы :) . Осталось только связаться с разработчиками и закомитить изменения.

Арихв с сорсами и «доработкой» можно найти здесь.
Как собирать можно найти в официальной FAQ на сайте раззработчиков.
Собранные бинарники можно найти здесь, за работоспособность не ручаюсь (для работы думаю лучше иметь установленный KTorrent, чтобы были все библиотеки).