Stiff 0 Опубликовано: 2009-07-29 15:03:24 Share Опубликовано: 2009-07-29 15:03:24 Изучаю связку c++ + qt, захотелось написать чёнидь полезное, решил остановиться на авторизаторе, т.к. сам юзаю линух, а консольный авторизатор неудобен. Интерфейс практически полностью скопирован с обычного inetaccess. Заголовочные файлы, отвечающие за сетевой обмен выдраны оттуда же. Проверено - собирается под винду (msvc 2008 express) и под линукс (gcc). Под линух сборка тривиальна (qmake && make) Под винду для мсвц собирается, если добавить строчку LIBS += WSock32.Lib в qinetaccess.pro, затем qmake и nmake. Под mingw собирать не пробовал. Макоси под рукой также нет. Что не сделано: 1. Синхронизация потоков, в результате чего приложение может ругаться в консоль. Когда-нибудь сделаю. Насколько я знаю, в виндовом inetaccess также ничего подобного не сделано, а работает ведь 2. Не сделан перевод (интерфейс на англицком) 3. Не сохраняется история сообщений 4. Мелкие недоработки, типа невозможности подключиться/отключиться через контекстное меню вобщем пробуем, собираем, отписываемся что получилось. Считайте, что это альфа-версия и нестабильна по определению. qinetaccess_0.1.tar.gz Ссылка на сообщение Поделиться на других сайтах
Stiff 0 Опубліковано: 2009-07-29 15:08:28 Автор Share Опубліковано: 2009-07-29 15:08:28 123 qinetaccess_bin.tar.gz Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2009-07-30 09:01:32 Share Опубліковано: 2009-07-30 09:01:32 Что-то я не нашел где там протоколу прописывается адрес и порт сервера. К стати, сам начинал делать в прошлом году - только библиотеку протокола так и не прикрутил Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2009-07-30 09:17:48 Share Опубліковано: 2009-07-30 09:17:48 Советую не собирать библиотеку авторизатора "на месте", а линковать ее динамически или статически. Кроме того советую пронаследовать QTableModel, инкапуслировать в него протокол и положиться на нормальный механиз общения Model/View, вместо явных вызовов model->setItem(row, column, new QStandardItem(text)); и model->setVerticalHeaderLabels(dirs); Это больше соответствует идеологии ООП и паттерну MVC. Ссылка на сообщение Поделиться на других сайтах
Stiff 0 Опубліковано: 2009-08-03 18:00:26 Автор Share Опубліковано: 2009-08-03 18:00:26 Выкладываю след. версию: реализовал потокобезопасность, работают все настройки. Не сделано пока сохранение истории сообщений и перевод. Советую не собирать библиотеку авторизатора "на месте", а линковать ее динамически или статически.Кроме того советую пронаследовать QTableModel, инкапуслировать в него протокол и положиться на нормальный механиз общения Model/View, вместо явных вызовов model->setItem(row, column, new QStandardItem(text)); и model->setVerticalHeaderLabels(dirs); Это больше соответствует идеологии ООП и паттерну MVC. То есть, вы советуете разбить программу на модуль (.so, .dll) и отдельно исполняемый бинарник? Логику model/view реализую когда изучу, что это такое сырцы: qinetaccess_0.1.1.tar.gz Ссылка на сообщение Поделиться на других сайтах
Stiff 0 Опубліковано: 2009-08-03 18:27:09 Автор Share Опубліковано: 2009-08-03 18:27:09 Осторожно! пароль хранится в незашифрованном виде! Ссылка на сообщение Поделиться на других сайтах
dummy 8 Опубліковано: 2009-08-03 19:07:38 Share Опубліковано: 2009-08-03 19:07:38 Советую не собирать библиотеку авторизатора "на месте", а линковать ее динамически или статически.Кроме того советую пронаследовать QTableModel, инкапуслировать в него протокол и положиться на нормальный механиз общения Model/View, вместо явных вызовов model->setItem(row, column, new QStandardItem(text)); и model->setVerticalHeaderLabels(dirs); Это больше соответствует идеологии ООП и паттерну MVC. бинарничек еще бы под виндоз плиз Ссылка на сообщение Поделиться на других сайтах
Stiff 0 Опубліковано: 2009-08-04 07:22:09 Автор Share Опубліковано: 2009-08-04 07:22:09 Забирайте. Для винды обязательно наличие MSVC Redistributable 2008. Под винду также в архив включены qt библиотеки qinetaccess_linux_bin.tar.gz qinetaccess_win32_bin.zip Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2009-08-04 09:38:38 Share Опубліковано: 2009-08-04 09:38:38 То есть, вы советуете разбить программу на модуль (.so, .dll) и отдельно исполняемый бинарник? Можно и статически. Но чтобы исходники не тащили с собой либу а использовали ту что идет в комплекте Stargazer. Тогда можно без проблем собирать всегда с самой последней версией клиентской библиотеки. Логику model/view реализую когда изучу, что это такое Очень рекомендую. Прирост в скорости отрисовки в Qt4 по сравнению с Qt3 частично вызван именно использованием MVC. Фактически, у тебя он реализован (т.к. ты используешь TableView а не TableWidget), но используется в духе старой доброй VCL с "ручной" расстановкой значений по ячейкам. Я в свое время разбирался с Qt'шной реализацией. Немного инфы есть тут: http://madf.livejournal.com/43869.html (правда, на смеси украинского и английского Если что - могу проконсультировать по почте (faust@stg.dp.ua) или в Jabber (madf@jabber.kiev.ua). Забирайте.Для винды обязательно наличие MSVC Redistributable 2008. Под винду также в архив включены qt библиотеки Может, лучше использовать MinGW и его библиотеки? Я как-то M$ не очень доверяю... Ссылка на сообщение Поделиться на других сайтах
_Om_ 0 Опубліковано: 2009-08-30 20:07:36 Share Опубліковано: 2009-08-30 20:07:36 Решил по тестить под win32. Из того что заметил нет возможности показывать трафик суммарно up+download Ссылка на сообщение Поделиться на других сайтах
_Om_ 0 Опубліковано: 2009-09-14 07:46:13 Share Опубліковано: 2009-09-14 07:46:13 Не работает в Kubuntu 9.04 x86-x64 собиралось из сорцов qinetaccess_0.1.1 не конектиться к серверу. В win32 сообщения приходят в кракозяблах, в стандартном авторизаторе сообщения приходят нормально. Лог cборки по kubuntu roman@om:~/Документы/qinetaccess$ qmake && make /usr/bin/uic-qt4 mainwindow.ui -o ui_mainwindow.h /usr/bin/uic-qt4 settingsdialog.ui -o ui_settingsdialog.h /usr/bin/uic-qt4 messageswindow.ui -o ui_messageswindow.h g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o main.o main.cpp g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o mainwindow.o mainwindow.cpp mainwindow.cpp:118: предупреждение: параметр ‘msg’ не используется mainwindow.cpp:350: предупреждение: параметр ‘i’ не используется mainwindow.cpp:350: предупреждение: параметр ‘showTime’ не используется mainwindow.cpp:350: предупреждение: параметр ‘sendTime’ не используется mainwindow.cpp:356: предупреждение: параметр ‘winKOI’ не используется g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o settingsdialog.o settingsdialog.cpp g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o messageswindow.o messageswindow.cpp g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o proto_unit.o proto_unit.cpp proto_unit.cpp: In member function ‘int CLIENTPROT::NetSend(int)’: proto_unit.cpp:328: предупреждение: неиспользуемая переменная ‘ciphertext’ proto_unit.cpp:334: предупреждение: неиспользуемая переменная ‘str’ proto_unit.cpp:335: предупреждение: ‘msgLen’, возможно, используется без инициализации в данной функции proto_unit.cpp: In member function ‘int CLIENTPROT::NetRecv()’: proto_unit.cpp:208: предупреждение: ‘pn’, возможно, используется без инициализации в данной функции g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o common.o common.cpp g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o blowfish.o blowfish.cpp /usr/bin/moc-qt4 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. mainwindow.h -o moc_mainwindow.cpp g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o moc_mainwindow.o moc_mainwindow.cpp /usr/bin/moc-qt4 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. settingsdialog.h -o moc_settingsdialog.cpp g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o moc_settingsdialog.o moc_settingsdialog.cpp /usr/bin/moc-qt4 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. messageswindow.h -o moc_messageswindow.cpp g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o moc_messageswindow.o moc_messageswindow.cpp /usr/bin/moc-qt4 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. proto_unit.h -o moc_proto_unit.cpp g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o moc_proto_unit.o moc_proto_unit.cpp /usr/bin/rcc -name resources resources.qrc -o qrc_resources.cpp g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o qrc_resources.o qrc_resources.cpp g++ -Wl,-O1 -o qinetaccess main.o mainwindow.o settingsdialog.o messageswindow.o proto_unit.o common.o blowfish.o moc_mainwindow.o moc_settingsdialog.o moc_messageswindow.o moc_proto_unit.o qrc_resources.o -L/usr/lib -lQtGui -lQtCore -lpthread Ссылка на сообщение Поделиться на других сайтах
Stiff 0 Опубліковано: 2009-10-15 14:18:50 Автор Share Опубліковано: 2009-10-15 14:18:50 Лог сборки-то зачем? ошибок же нет в нём. зы. можете попробовать пособирать отсюда http://code.google.com/p/qinetaccess/source/checkout Ссылка на сообщение Поделиться на других сайтах
rizloff 0 Опубліковано: 2009-11-17 01:27:35 Share Опубліковано: 2009-11-17 01:27:35 Отличная идея сделать GUI-авторизатор для линукса. Давно пора. Я руками и ногами за и хочу чтобы такой был. Скачал бинарник из темы. Запускается родимый, все есть, нажимаешь подключиться и глухо как в танке. Вообще ничего не происходит - ни так, ни в консоль. Стянул из svn, собрал - такая же ботва, только теперь еще пишет "UPD_NEED Вам необходимо обновить программу авторизации. Скачать можно тут http://www.foo.com/bar.tgz". Но если запустить авторизатор, консольный или через вайн, подключится, вырубить и сразу же запустить qinetaccess, то даже покажет upload + download. Правда на этом все и заканчивается. Через минуту, естественно, подключения нет ну и трафик, ессно, не бегает В общем как то так... Есть надежда? Fedora 11, KDE 4.3, собирал на Qt 4.5.3 Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2009-11-26 15:44:35 Share Опубліковано: 2009-11-26 15:44:35 Моя собственная разработка. Пока еще сырая. Работает только авторизация, отображение статистики и сворачивание в трей. Под винду собирается с напильником и работает нестабильно. Под Linux собирается без напильника и работает, вроде, стабильно. Под FreeBSD и прочие не собирал. Исходники: http://stg.dp.ua/download/qia-1.2.tar.gz Пакет для Debian/Ubuntu: http://stg.dp.ua/download/qia_1.2_i386.deb В комплекте имеется русская, украинская и английская локализации. Ссылка на сообщение Поделиться на других сайтах
Drool 0 Опубліковано: 2009-11-26 19:20:27 Share Опубліковано: 2009-11-26 19:20:27 Моя собственная разработка. Привет, Макс. Авторизилка со старыми версиями, как я понимаю, несовместима по протоколу? P.S. desktop-файл кто делать будет? Шурик Пушкин? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2009-11-27 08:44:06 Share Опубліковано: 2009-11-27 08:44:06 Моя собственная разработка. Привет, Макс. Авторизилка со старыми версиями, как я понимаю, несовместима по протоколу? P.S. desktop-файл кто делать будет? Шурик Пушкин? Совместима. Иначе нафига бы я ее делал? Эммм... Нету опыта мейнтейнерства Забыл про такие мелочи. Добавлю в версии 1.3. RPM соберешь или ты совсем от дел отошел? PS: забыл про инструкцию по сборке. # lrelease translations/*ts # mkdir build # cd build # cmake ../ # make Ссылка на сообщение Поделиться на других сайтах
_Om_ 0 Опубліковано: 2009-11-27 09:26:09 Share Опубліковано: 2009-11-27 09:26:09 Сорри а чем под вин собирать и как ? можно небольшое описание спасибо Ссылка на сообщение Поделиться на других сайтах
Drool 0 Опубліковано: 2009-11-27 10:06:28 Share Опубліковано: 2009-11-27 10:06:28 1. Совместима. Иначе нафига бы я ее делал? 2. Эммм... Нету опыта мейнтейнерства 3. Добавлю в версии 1.3. 4. RPM соберешь или ты совсем от дел отошел? 1. Это хорошо, у меня среди пользователей есть один клиент старгайзера, где-то в восточных областях. Пускает авторизилку в вайне. 2. Давай к нам, а? 3. А почему я на сайте не нашел ссылку на этот файл? Добавь. 4. Соберу. От старгайзера я пока отошел. От мантейнерства - нет. Есть в планах сделать специализированный дистрибутив для биллинга. С Инквизитором хотим попробовать. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2009-11-27 11:09:05 Share Опубліковано: 2009-11-27 11:09:05 Сорри а чем под вин собирать и как ? можно небольшое описание спасибо Qt + MinGW + напильник. Первые два компонента входят в состав Qt SDK. Еще и вместе с Qt Creator. Только сам Creator, кажется, не умеет с cmake работать, по этому придется все из консоли делать. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2009-11-27 11:16:38 Share Опубліковано: 2009-11-27 11:16:38 1. Совместима. Иначе нафига бы я ее делал? 2. Эммм... Нету опыта мейнтейнерства 3. Добавлю в версии 1.3. 4. RPM соберешь или ты совсем от дел отошел? 1. Это хорошо, у меня среди пользователей есть один клиент старгайзера, где-то в восточных областях. Пускает авторизилку в вайне. 2. Давай к нам, а? 3. А почему я на сайте не нашел ссылку на этот файл? Добавь. 4. Соберу. От старгайзера я пока отошел. От мантейнерства - нет. Есть в планах сделать специализированный дистрибутив для биллинга. С Инквизитором хотим попробовать. Не первый раз уже зовешь Но я если и буду мейнтейнить эти проекты - то только в Gentoo (хотя кто знает?). Все-таки это мой основной дистрибутив. Вот Ubuntu на работе поавился - я упаковал deb-ку. А Альт я пока только на картинках видел Ссылки на офсайте нет, это да. Дома щас без инета сижу, делал все на работе в последние 15 минут, по этому не успел новость сочинить. Мож сегодня сделаю. Ссылка на сообщение Поделиться на других сайтах
Drool 0 Опубліковано: 2009-11-27 11:42:51 Share Опубліковано: 2009-11-27 11:42:51 А Альт я пока только на картинках видел Как непатриотично Ссылка на сообщение Поделиться на других сайтах
Drool 0 Опубліковано: 2009-11-27 11:44:35 Share Опубліковано: 2009-11-27 11:44:35 Кстати, Макс. Вспомни обсуждение на альтовском форуме. Вы не думали перенести/отзеркалить проект на sf.net ? Мне кажется, от этого будет много пользы. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2009-11-27 12:38:40 Share Опубліковано: 2009-11-27 12:38:40 Кстати, Макс. Вспомни обсуждение на альтовском форуме. Вы не думали перенести/отзеркалить проект на sf.net ? Мне кажется, от этого будет много пользы. Не думали. Сегодня если не забуду - подумаем. Хотя, если честно, в последнее время sf как-то перестал мне нравится. С его новым интерфейсом... Ссылка на сообщение Поделиться на других сайтах
Drool 0 Опубліковано: 2009-11-27 15:48:07 Share Опубліковано: 2009-11-27 15:48:07 Хотя, если честно, в последнее время sf как-то перестал мне нравится. С его новым интерфейсом... При чем тут интерфейс? Я вижу пользу в количестве пользователей sf.net, а исходя из этого - улучшения, патчи, предложения, новые модули и т.д и т.п. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2009-11-27 16:56:48 Share Опубліковано: 2009-11-27 16:56:48 Осилил desktop entry и иконку. Других качественных изменений нет. Пакет для Debian/Ubuntu: qia-1.3.1-i386.deb Исходники: qia-1.3.1.tar.gz Теперь прямо из исходников можно генерить deb-пакет: # make package Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас