LINUX.ORG.RU
ФорумTalks

[c пятницы на субботу тред] пользующиеся автобусами подмосквичи будут довольны


0

1

Привет лор. Хочу представить свой проект, который не так давно мелькал на скриншотах.

Это клиент для сайта mostransavto.ru. Написан на Qt/C++. Интерфейс - табовый. Поддерживаются все райцентры Мособласти.

Использовались модули:

  • QtGui, QtCore
  • QtSql -хранит данные в SQLite
  • QtPhonon - напоминалка
  • QtWebkit - парсинг HTML-страниц

Реализовано:

  • Загрузка материалов с сайта
  • Таблицы для остановок

Осталось реализовать:

  • Сворачивание в трей
  • Напоминалку
  • Еще таблицы (с фильтрацией)

url: GIT

qmake для сборки.

★★★★

Лого, конечно, ужасное.

roman77 ★★★★★
()

Лучше бы клиент для rusavtobus...

silw ★★★★★
()

Ага и запихнуть всё это в андроед. Вот тогда это будет действительно нужно.

daemonpnz ★★★★★
()
Ответ на: комментарий от CYB3R

Я уж думал тут новость про вайфай в автобусах.



Скоро будет

lexxus-lex ★★★
()
Ответ на: комментарий от roman77

Заголовок окна сначала прочитал как «Монстрасавто».

Sadler ★★★
()

А я думал что будет танцпол про Путинги. P.S. Почему не CMake?

flareguner
()
Ответ на: комментарий от Relan

показывает расписание автобусов с сайта mostransavto.ru в удобоваримом виде.

pashazz ★★★★
() автор топика

Отлично! Периодически живу по несколько дней в области - будет полезно.

Кстати, а как поживает тот проект Qt под Android? Может получится перенести

Drisch
()

Простите, в 4 ночи не подумал о скриншотах

http://itmages.ru/image/view/450208/84b259bd

Алсо, русавтобус - вполне самодостаточная вещь, чего не скажешь о сайте мострансавто.

pashazz ★★★★
() автор топика

Неделю назад я похожую штуку на js написал, для вологодского транспорта. Удобно тем, что работает даже на телефоне.

Biga
()

И как это скачать?

andrey@power-debian:~/trash/build/mosautobus$ git clone http://sourceforge.net/p/mostrans/code/
Cloning into 'code'...
WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-8E5Icd/pkcs11: No such file or directory
fatal: http://sourceforge.net/p/mostrans/code/info/refs not found: did you run git update-server-info on the server?

goose
()

да, кстати, если у QTabWidget tabsMovable установлено в true, то при перемещении табы меняется ее индекс, или нет?

pashazz ★★★★
() автор топика

Было б на мобильник - было бы в несколько раз полезнее. А с компа... ну можно, да, но ставить отдельную прогу для просмотра расписания автобусов - это только в чьем-нибудь отделе логистики для курьеров без машин надо имхо

upcFrost ★★★★★
()

присоединяюсь: нужен порт под андроид.

chg ★★★★★
()

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

darkshvein ☆☆
()
Ответ на: комментарий от darkshvein

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

fixed

router ★★★★★
()

Класс. В область выбираюсь редко, но программа архиполезная :) К тому же и про сайт не знал, спасибо

router ★★★★★
()
Ответ на: комментарий от upcFrost

если время будет, или люди помогут

pashazz ★★★★
() автор топика
Ответ на: комментарий от megabaks

Спасибо, осталось выяснить как это собрать.

andrey@power-debian:~/trash/build/mosautobus/code$ qmake Makefile 
WARNING: /home/andrey/trash/build/mosautobus/code/Makefile:16: Variable INCPATH is deprecated; use INCLUDEPATH instead.
/home/andrey/trash/build/mosautobus/code/Makefile:126: Parse Error ('first: all')
Error processing project file: Makefile
andrey@power-debian:~/trash/build/mosautobus/code$ /usr/bin/qmake  MostransautoApp.pro 
andrey@power-debian:~/trash/build/mosautobus/code$ /usr/bin/qmake  MostransautoApp.pro -o Makefile 
andrey@power-debian:~/trash/build/mosautobus/code$ /usr/bin/qmake -o Makefile MostransautoApp.pro

goose
()
Ответ на: комментарий от goose
[ megabaks@desktop ] ~ $ git clone git://git.code.sf.net/p/mostrans/code
Cloning into 'code'...
remote: Counting objects: 222, done.
remote: Compressing objects: 100% (221/221), done.
remote: Total 222 (delta 151), reused 0 (delta 0)
Receiving objects: 100% (222/222), 312.78 KiB | 102 KiB/s, done.
Resolving deltas: 100% (151/151), done.
[ megabaks@desktop ] ~ $ cd code/
[ megabaks@desktop ] ~/code $ ls
aboutdialog.cpp   alarmmanager.h  data        LICENSE         mainwindow.h   MostransautoApp.pro  res.qrc               stoplineedit.cpp
aboutdialog.h     base            dialogue.h  LICENSE.odt     mainwindow.ui  paths.h              selectcitydialog.cpp  stoplineedit.h
aboutdialog.ui    citywidget.cpp  gimp        main.cpp        misc           quicktablemodel.cpp  selectcitydialog.h    timetableparser.cpp
alarmmanager.cpp  citywidget.h    HEADER      mainwindow.cpp  model          quicktablemodel.h    selectcitydialog.ui   timetableparser.h
[ megabaks@desktop ] ~/code $ qmake MostransautoApp.pro 
[ megabaks@desktop ] ~/code $ make -j3
/usr/bin/uic mainwindow.ui -o ui_mainwindow.h
/usr/bin/uic selectcitydialog.ui -o ui_selectcitydialog.h
/usr/bin/uic aboutdialog.ui -o ui_aboutdialog.h
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_PHONON_LIB -DQT_SQL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSql -I/usr/include/qt4/phonon -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I/usr/include/qt4/phonon_compat -I. -I. -o main.o main.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_PHONON_LIB -DQT_SQL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSql -I/usr/include/qt4/phonon -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I/usr/include/qt4/phonon_compat -I. -I. -o mainwindow.o mainwindow.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_PHONON_LIB -DQT_SQL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSql -I/usr/include/qt4/phonon -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I/usr/include/qt4/phonon_compat -I. -I. -o timetableparser.o timetableparser.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_PHONON_LIB -DQT_SQL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSql -I/usr/include/qt4/phonon -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I/usr/include/qt4/phonon_compat -I. -I. -o selectcitydialog.o selectcitydialog.cpp
dialogue.h: In static member function «static bool pashazz::question(QWidget*, const QString&, const QString&, const QString&)»:
....
bla-bla-bla
....
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_PHONON_LIB -DQT_SQL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSql -I/usr/include/qt4/phonon -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I/usr/include/qt4/phonon_compat -I. -I. -o moc_quicktablemodel.o moc_quicktablemodel.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_PHONON_LIB -DQT_SQL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSql -I/usr/include/qt4/phonon -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I/usr/include/qt4/phonon_compat -I. -I. -o moc_alarmmanager.o moc_alarmmanager.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_PHONON_LIB -DQT_SQL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSql -I/usr/include/qt4/phonon -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I/usr/include/qt4/phonon_compat -I. -I. -o moc_citywidget.o moc_citywidget.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_PHONON_LIB -DQT_SQL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSql -I/usr/include/qt4/phonon -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I/usr/include/qt4/phonon_compat -I. -I. -o qrc_res.o qrc_res.cpp
g++ -Wl,-O1 -o MostransautoApp main.o mainwindow.o timetableparser.o selectcitydialog.o city.o bus.o bustrip.o busstop.o aboutdialog.o stopmodel.o stoplineedit.o stoplineeditvalidator.o quicktablemodel.o alarmmanager.o citywidget.o moc_mainwindow.o moc_timetableparser.o moc_selectcitydialog.o moc_city.o moc_bus.o moc_aboutdialog.o moc_stopmodel.o moc_stoplineedit.o moc_stoplineeditvalidator.o moc_quicktablemodel.o moc_alarmmanager.o moc_citywidget.o qrc_res.o    -L/usr/lib/qt4 -lQtWebKit -lphonon -lQtSql -L/usr/lib/mysql -L/usr/lib/qt4 -lQtGui -L/usr/X11R6/lib -lQtNetwork -lQtCore -lgthread-2.0 -lrt -lglib-2.0 -lpthread 
[ megabaks@desktop ] ~/code $ 
megabaks ★★★★
()

Для сборки и работы на Debian нужно установить следующие пакеты.

apt-get install libphonon-dev qt4-qmake libqt4-dev libqt4-sql-sqlite
Прога страшновата, по внешнему виду, но для 1-й версии не критично. Без проблем собралась на pps. Спасибо за работу. Ничего не появлется при выборе в меню настройки, так и должно быть?

goose
()
Ответ на: комментарий от pashazz

Заработало отображение расписания :))

Не работает выбор временного промежутка

Как все заработает - выложу =)

Drisch
()
Ответ на: комментарий от pashazz

обновитесь, запилил диалог настроек. Алсо поменялась 1 опция в конфиге - можно ставить по умолчанию несколько городов.

pashazz ★★★★
() автор топика
Ответ на: комментарий от pashazz

не проверял раб-ность, занят.

pashazz ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.