PDA

View Full Version : RP Manager


Znurre
05-02-2010, 03:47 PM
Introduction

So, I was bored this weekend and decided to code something.
2 years ago or so, I created an application called 'RP Manager' which I never really released to the public because of the low quality of the code.

I decided to build on this idea, and create a new application from scratch with the extended knowledge I now have about Qt4 and C++.

Description

The purpose of the application is to fetch the ranking pages from the Regnum site and display them in a nice format, with several added features compared to the pages themselves.

Features

Show all 540 entries of the RP list from all realms, all classes, sorted by column(s) chosen by the user.
Show RP earned within a timespan chosen by the user.
Show graphs of the RP curve of a selected player.
Copy one or several row(s) of information from the table to the clipboard for use elsewhere.
See trends, who has risen or fallen on the list within the selected timespan.
Search for player names easily and get their position in the RP list.
Supports multiple servers.


Screenshots

http://95.143.195.233/%7Eznurre/RPManager/images/RPManager1.png
http://95.143.195.233/%7Eznurre/RPManager/images/RPManager2.png
http://95.143.195.233/%7Eznurre/RPManager/images/RPManager3.png

Requirements
Qt 4 (Tested with 4.6)
kdelibs 4 (Tested with 4.4)

Download
You can find the sources here (http://95.143.195.233/%7Eznurre/RPManager/).
If someone is interested in contributing a package for their distro, or a Windows/MacOS binary, contact me and I will add it to the downloads.

Installation

Extract the archive
Open a terminal in the folder created and run:

qmake
make

If the process was successful, you can start the application by running:
./RPManager


Enjoy and good luck!

S_N_I_P_E_R
05-02-2010, 08:02 PM
Wow this is awsome, I could do with a windoze version if anyone were able to code it (i dont have a clue about coding).

Znurre
05-02-2010, 08:11 PM
Wow this is awsome, I could do with a windoze version if anyone were able to code it (i dont have a clue about coding).This app works for Windows, MacOS, Linux, S60, and any platforms where Qt apps can be compiled.
I do not however have a Windows installation myself so I cannot compile a Windows version for you.

If anyone is skilled enough to create a Windows build, I would gladly help distribute it :)

F_d_M
05-02-2010, 09:47 PM
it give me this errors
andrea@andrea-desktop:~$ cd /home/andrea/RP_Manager
andrea@andrea-desktop:~/RP_Manager$ qmake
andrea@andrea-desktop:~/RP_Manager$ make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -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/QtXml -I/usr/include/qt4 -I. -o main.o main.cpp
main.cpp:1:24: error: QApplication: Nessun file o directory
In file included from main.cpp:3:
MainWindow.h:4:23: error: QMainWindow: Nessun file o directory
MainWindow.h:5:27: error: QProgressDialog: Nessun file o directory
MainWindow.h:6:21: error: QLineEdit: Nessun file o directory
MainWindow.h:7:21: error: QComboBox: Nessun file o directory
MainWindow.h:8:23: error: QToolButton: Nessun file o directory
MainWindow.h:9:21: error: QSettings: Nessun file o directory
In file included from MainWindow.h:11,
from main.cpp:3:
NetworkHandler.h:4:33: error: QNetworkAccessManager: Nessun file o directory
NetworkHandler.h:5:27: error: QNetworkRequest: Nessun file o directory
NetworkHandler.h:6:24: error: QDomDocument: Nessun file o directory
NetworkHandler.h:7:25: error: QNetworkReply: Nessun file o directory
NetworkHandler.h:8:24: error: QDomNodeList: Nessun file o directory
NetworkHandler.h:9:20: error: QDomNode: Nessun file o directory
NetworkHandler.h:10:18: error: QDebug: Nessun file o directory
NetworkHandler.h:11:23: error: QStringList: Nessun file o directory
In file included from MainWindow.h:12,
from main.cpp:3:
DateSelect.h:4:19: error: QDialog: Nessun file o directory
DateSelect.h:5:23: error: QVBoxLayout: Nessun file o directory
DateSelect.h:6:27: error: QCalendarWidget: Nessun file o directory
DateSelect.h:7:21: error: QDateTime: Nessun file o directory
DateSelect.h:8:23: error: QPushButton: Nessun file o directory
DateSelect.h:9:28: error: QDialogButtonBox: Nessun file o directory
In file included from MainWindow.h:13,
from main.cpp:3:
ListWidget.h:4:24: error: QTableWidget: Nessun file o directory
ListWidget.h:5:23: error: QMouseEvent: Nessun file o directory
ListWidget.h:6:17: error: QMenu: Nessun file o directory
ListWidget.h:8:23: error: QModelIndex: Nessun file o directory
ListWidget.h:9:27: error: QModelIndexList: Nessun file o directory
ListWidget.h:10:22: error: QClipboard: Nessun file o directory
In file included from ListWidget.h:13,
from MainWindow.h:13,
from main.cpp:3:
Statistics.h:5:23: error: QFormLayout: Nessun file o directory
Statistics.h:6:18: error: QLabel: Nessun file o directory
Statistics.h:7:22: error: QTabWidget: Nessun file o directory
Statistics.h:8:21: error: QGroupBox: Nessun file o directory
Statistics.h:10:25: error: QGraphicsView: Nessun file o directory
Statistics.h:11:16: error: QDir: Nessun file o directory
Statistics.h:15:27: error: KDE/KPlotWidget: Nessun file o directory
Statistics.h:16:27: error: KDE/KPlotObject: Nessun file o directory
Statistics.h:17:25: error: KDE/KPlotAxis: Nessun file o directory
In file included from MainWindow.h:11,
from main.cpp:3:
NetworkHandler.h:14: error: expected class-name before ‘{’ token
NetworkHandler.h:15: error: ISO C++ forbids declaration of ‘Q_OBJECT’ with no type
NetworkHandler.h:17: error: expected ‘;’ before ‘public’
NetworkHandler.h:23: error: expected ‘;’ before ‘public’
NetworkHandler.h:23: error: expected ‘:’ before ‘slots’
NetworkHandler.h:24: error: expected primary-expression before ‘void’
NetworkHandler.h:24: error: ISO C++ forbids declaration of ‘slots’ with no type
NetworkHandler.h:24: error: expected ‘;’ before ‘void’
NetworkHandler.h:55: error: expected ‘;’ before ‘private’
NetworkHandler.h:58: error: expected ‘:’ before ‘slots’
NetworkHandler.h:59: error: expected primary-expression before ‘void’
NetworkHandler.h:59: error: ISO C++ forbids declaration of ‘slots’ with no type
NetworkHandler.h:59: error: expected ‘;’ before ‘void’
main.cpp:15: error: expected ‘;’ at end of input
main.cpp:15: error: expected ‘}’ at end of input
main.cpp:15: error: expected unqualified-id at end of input
make: *** [main.o] Errore 1

Znurre
05-02-2010, 10:21 PM
it give me this errors
andrea@andrea-desktop:~$ cd /home/andrea/RP_Manager
andrea@andrea-desktop:~/RP_Manager$ qmake
andrea@andrea-desktop:~/RP_Manager$ make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -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/QtXml -I/usr/include/qt4 -I. -o main.o main.cpp
main.cpp:1:24: error: QApplication: Nessun file o directory
In file included from main.cpp:3:
MainWindow.h:4:23: error: QMainWindow: Nessun file o directory
MainWindow.h:5:27: error: QProgressDialog: Nessun file o directory
MainWindow.h:6:21: error: QLineEdit: Nessun file o directory
MainWindow.h:7:21: error: QComboBox: Nessun file o directory
MainWindow.h:8:23: error: QToolButton: Nessun file o directory
MainWindow.h:9:21: error: QSettings: Nessun file o directory
In file included from MainWindow.h:11,
from main.cpp:3:
NetworkHandler.h:4:33: error: QNetworkAccessManager: Nessun file o directory
NetworkHandler.h:5:27: error: QNetworkRequest: Nessun file o directory
NetworkHandler.h:6:24: error: QDomDocument: Nessun file o directory
NetworkHandler.h:7:25: error: QNetworkReply: Nessun file o directory
NetworkHandler.h:8:24: error: QDomNodeList: Nessun file o directory
NetworkHandler.h:9:20: error: QDomNode: Nessun file o directory
NetworkHandler.h:10:18: error: QDebug: Nessun file o directory
NetworkHandler.h:11:23: error: QStringList: Nessun file o directory
In file included from MainWindow.h:12,
from main.cpp:3:
DateSelect.h:4:19: error: QDialog: Nessun file o directory
DateSelect.h:5:23: error: QVBoxLayout: Nessun file o directory
DateSelect.h:6:27: error: QCalendarWidget: Nessun file o directory
DateSelect.h:7:21: error: QDateTime: Nessun file o directory
DateSelect.h:8:23: error: QPushButton: Nessun file o directory
DateSelect.h:9:28: error: QDialogButtonBox: Nessun file o directory
In file included from MainWindow.h:13,
from main.cpp:3:
ListWidget.h:4:24: error: QTableWidget: Nessun file o directory
ListWidget.h:5:23: error: QMouseEvent: Nessun file o directory
ListWidget.h:6:17: error: QMenu: Nessun file o directory
ListWidget.h:8:23: error: QModelIndex: Nessun file o directory
ListWidget.h:9:27: error: QModelIndexList: Nessun file o directory
ListWidget.h:10:22: error: QClipboard: Nessun file o directory
In file included from ListWidget.h:13,
from MainWindow.h:13,
from main.cpp:3:
Statistics.h:5:23: error: QFormLayout: Nessun file o directory
Statistics.h:6:18: error: QLabel: Nessun file o directory
Statistics.h:7:22: error: QTabWidget: Nessun file o directory
Statistics.h:8:21: error: QGroupBox: Nessun file o directory
Statistics.h:10:25: error: QGraphicsView: Nessun file o directory
Statistics.h:11:16: error: QDir: Nessun file o directory
Statistics.h:15:27: error: KDE/KPlotWidget: Nessun file o directory
Statistics.h:16:27: error: KDE/KPlotObject: Nessun file o directory
Statistics.h:17:25: error: KDE/KPlotAxis: Nessun file o directory
In file included from MainWindow.h:11,
from main.cpp:3:
NetworkHandler.h:14: error: expected class-name before ‘{’ token
NetworkHandler.h:15: error: ISO C++ forbids declaration of ‘Q_OBJECT’ with no type
NetworkHandler.h:17: error: expected ‘;’ before ‘public’
NetworkHandler.h:23: error: expected ‘;’ before ‘public’
NetworkHandler.h:23: error: expected ‘:’ before ‘slots’
NetworkHandler.h:24: error: expected primary-expression before ‘void’
NetworkHandler.h:24: error: ISO C++ forbids declaration of ‘slots’ with no type
NetworkHandler.h:24: error: expected ‘;’ before ‘void’
NetworkHandler.h:55: error: expected ‘;’ before ‘private’
NetworkHandler.h:58: error: expected ‘:’ before ‘slots’
NetworkHandler.h:59: error: expected primary-expression before ‘void’
NetworkHandler.h:59: error: ISO C++ forbids declaration of ‘slots’ with no type
NetworkHandler.h:59: error: expected ‘;’ before ‘void’
main.cpp:15: error: expected ‘;’ at end of input
main.cpp:15: error: expected ‘}’ at end of input
main.cpp:15: error: expected unqualified-id at end of input
make: *** [main.o] Errore 1
Please install Qt and all development packages for Qt.
What distribution are you using? I could help you find the package names.

Syd_Vicious
05-02-2010, 10:52 PM
Nice app Znurre, works fine for me on Arch with KDE-Mod. One thing that I do not see working is the graphing or history functionality. The exact error from the GUI is:

No history files found for the specified timespan. Some functionality has been disabled.

This is when starting up and also when using the calendar function. No error output is being displayed in the terminal. No error was seen when compiled with qmake then make.


g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -o main.o main.cpp
g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -o MainWindow.o MainWindow.cpp
/usr/bin/moc -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. MainWindow.h -o moc_MainWindow.cpp
g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -o moc_MainWindow.o moc_MainWindow.cpp
/usr/bin/moc -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. NetworkHandler.h -o moc_NetworkHandler.cpp
g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -o moc_NetworkHandler.o moc_NetworkHandler.cpp
/usr/bin/moc -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. ListWidget.h -o moc_ListWidget.cpp
g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -o moc_ListWidget.o moc_ListWidget.cpp
/usr/bin/rcc -name Resources Resources.qrc -o qrc_Resources.cpp
g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -o qrc_Resources.o qrc_Resources.cpp
g++ -Wl,-O1 -o RP_Manager main.o MainWindow.o moc_MainWindow.o moc_NetworkHandler.o moc_ListWidget.o qrc_Resources.o -L/usr/lib -lkdeui -lQtXml -L/usr/lib -lQtGui -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread

I wonder does this mean this app must consistently have multiple days of where the RP Manager must download all the statistics so it can compile the chart itself? Am I correct in thinking that this application just pulls the dynamically created text file from the RO rankings page so that it can then display the current statistics and compare them to previous downloaded textfiles from previous days? If that is so then it explains why I can't get a historical comparison just based off of todays download.

Vythica
05-03-2010, 04:01 AM
Nice Znurre, I'd been toying with the idea of doing something like this (but more rudimentary) in python.

Very nice :)

ArcticWolf
05-03-2010, 04:15 AM
This app works for Windows, MacOS, Linux, S60, and any platforms where Qt apps can be compiled.

I'm not a fan of Qt, but your app rocks!

Hmm... Porting this to a webapp in python sounds like a good idea. Instead of hitting the poor website all the time we could have two or three servers checking the status (with an API to allow desktop apps to access that information. :D).

PS: I had to install qt4-qmake, qt4-dev-tools and kdelibs5-dev.

Znurre
05-03-2010, 08:12 AM
Nice app Znurre, works fine for me on Arch with KDE-Mod. One thing that I do not see working is the graphing or history functionality. The exact error from the GUI is:

No history files found for the specified timespan. Some functionality has been disabled.

This is when starting up and also when using the calendar function. No error output is being displayed in the terminal. No error was seen when compiled with qmake then make.


g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -o main.o main.cpp
g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -o MainWindow.o MainWindow.cpp
/usr/bin/moc -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. MainWindow.h -o moc_MainWindow.cpp
g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -o moc_MainWindow.o moc_MainWindow.cpp
/usr/bin/moc -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. NetworkHandler.h -o moc_NetworkHandler.cpp
g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -o moc_NetworkHandler.o moc_NetworkHandler.cpp
/usr/bin/moc -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. ListWidget.h -o moc_ListWidget.cpp
g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -o moc_ListWidget.o moc_ListWidget.cpp
/usr/bin/rcc -name Resources Resources.qrc -o qrc_Resources.cpp
g++ -c -pipe -march=i686 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -o qrc_Resources.o qrc_Resources.cpp
g++ -Wl,-O1 -o RP_Manager main.o MainWindow.o moc_MainWindow.o moc_NetworkHandler.o moc_ListWidget.o qrc_Resources.o -L/usr/lib -lkdeui -lQtXml -L/usr/lib -lQtGui -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread

I wonder does this mean this app must consistently have multiple days of where the RP Manager must download all the statistics so it can compile the chart itself? Am I correct in thinking that this application just pulls the dynamically created text file from the RO rankings page so that it can then display the current statistics and compare them to previous downloaded textfiles from previous days? If that is so then it explains why I can't get a historical comparison just based off of todays download.
That's correct.
It would be better, as ArtcticWolf says, to have some kind of relay inbetween handling that part so that the user don't have to bother with that :p

Oh, btw, make sure it can actually read the files from the history folder (check working folder) because the version I shipped should include my personally fetched history files for the past days for both Horus and Ra.

I'm not a fan of Qt, but your app rocks!
PS. Why don't you like Qt?
It's written in C++, cross platform, has a great API with access to everything from GUI to network sockets natively on any platform, perfect integration with GTK-environments, Qt/KDE-environments, Windows-environments and MacOS-environments, is very high performant and is also very easy and powerful.

I will look into moving the ranking fetching part from my code (NetworkHandler.h, more or less) to a separate app and have it run 24/7 on my server.

ArcticWolf
05-03-2010, 02:05 PM
That's correct.
It would be better, as ArtcticWolf says, to have some kind of relay inbetween handling that part so that the user don't have to bother with that :p

Oh, btw, make sure it can actually read the files from the history folder (check working folder) because the version I shipped should include my personally fetched history files for the past days for both Horus and Ra.


PS. Why don't you like Qt?
It's written in C++, cross platform, has a great API with access to everything from GUI to network sockets natively on any platform, perfect integration with GTK-environments, Qt/KDE-environments, Windows-environments and MacOS-environments, is very high performant and is also very easy and powerful.

I will look into moving the ranking fetching part from my code (NetworkHandler.h, more or less) to a separate app and have it run 24/7 on my server.

I have a python hosting in regnumcentral.com.ar reserved for future projects. I was thinking about having a RESTful API to make it highly portable (i.e.: you can use libcurl in c/c++, urllib2 in python, java.net.URLConnection in Java). It doesn't have a lot of disk space, but logs aren't going to take much anyway.

PS: It's just I had problems with qt in Debian some time ago. I should give it another chance, maybe. :P

ljrossi
05-05-2010, 06:03 PM
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XML_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/QtXml -I/usr/include/qt4 -I. -o main.o main.cpp
In file included from ListWidget.h:13,
from MainWindow.h:13,
from main.cpp:3:
Statistics.h:15:27: error: KDE/KPlotWidget: No existe el fichero ó directorio
Statistics.h:16:27: error: KDE/KPlotObject: No existe el fichero ó directorio
Statistics.h:17:25: error: KDE/KPlotAxis: No existe el fichero ó directorio
In file included from ListWidget.h:13,
from MainWindow.h:13,
from main.cpp:3:
Statistics.h:81: error: ISO C++ forbids declaration of ‘KPlotWidget’ with no type
Statistics.h:81: error: expected ‘;’ before ‘*’ token
Statistics.h: In constructor ‘Statistics::Statistics(QStringList)’:
Statistics.h:56: error: ‘graph’ was not declared in this scope
Statistics.h:56: error: expected type-specifier before ‘KPlotWidget’
Statistics.h:56: error: expected ‘;’ before ‘KPlotWidget’
Statistics.h:58: error: ‘KPlotWidget’ has not been declared
Statistics.h:59: error: ‘KPlotWidget’ has not been declared
Statistics.h: In member function ‘void Statistics::populateGraph(QString)’:
Statistics.h:87: error: ‘KPlotObject’ was not declared in this scope
Statistics.h:87: error: ‘curve’ was not declared in this scope
Statistics.h:87: error: expected type-specifier before ‘KPlotObject’
Statistics.h:87: error: expected ‘;’ before ‘KPlotObject’
Statistics.h:111: error: ‘graph’ was not declared in this scope
make: *** [main.o] Error 1


Couldnt install, what packges I do really need ?? Im using Ubuntu 10.04

Thanks

Znurre
05-05-2010, 06:07 PM
Try installing kdelibs5-dev :)
Good luck!

ljrossi
05-05-2010, 06:16 PM
Cool, the only thing you make faster is killing me.

Thanks

Znurre
09-10-2010, 11:21 PM
A new version of the application is available for download!
See the first post for information and download links.

Changes:


Reworked to make it server/client based.
I have a server application running with a cron job on my server each day 12.00 GMT+1, fetching the rankings for all servers and updating a MYSQL database table which the client quieries for all information.

This means that you no longer need to keep track of history files locally on your computer, system wide installations on Linux are now possible and it puts less strain on NGD's servers.
Added Muspell, Niflheim and Nemon to the server selection.
Optimized some parts of the code.

I might be able to upload a Windows build on Monday, but don't expect anything.
Building Qt on Windows with MYSQL support is not that easy, and especially very time consuming.

I hope you enjoy this updated version of RP Manager! :)
Feel free to report bugs with this new version in this thread.

EDIT: For a free software developer like me, the profit of creating applications is of course because I enjoy it, but also because I like creating software that other people can appreciate and find useful.
So, if you try this application and like it, please just drop a line here in this thread! That's the best reward I can get for the work I put into creating applications :)

Southbound
09-11-2010, 02:36 PM
make gives the following output:


...
/usr/include/KDE/../kplotwidget.h: At global scope:
/usr/include/KDE/../kplotwidget.h:80: error: expected class-name before ‘{’ token
/usr/include/KDE/../kplotwidget.h:81: error: ‘Q_OBJECT’ does not name a type
/usr/include/KDE/../kplotwidget.h:117: error: ‘QSize’ does not name a type
/usr/include/KDE/../kplotwidget.h:122: error: ‘QSize’ does not name a type
/usr/include/KDE/../kplotwidget.h:168: error: ‘QRectF’ does not name a type
/usr/include/KDE/../kplotwidget.h:176: error: ‘QRectF’ does not name a type
/usr/include/KDE/../kplotwidget.h:182: error: ‘QRect’ does not name a type
/usr/include/KDE/../kplotwidget.h:196: error: expected ‘,’ or ‘...’ before ‘<’ token
/usr/include/KDE/../kplotwidget.h:201: error: expected ‘;’ before ‘<’ token
/usr/include/KDE/../kplotwidget.h:231: error: ‘QColor’ does not name a type
/usr/include/KDE/../kplotwidget.h:239: error: ‘QColor’ does not name a type
/usr/include/KDE/../kplotwidget.h:246: error: ‘QColor’ does not name a type
/usr/include/KDE/../kplotwidget.h:252: error: expected ‘,’ or ‘...’ before ‘&’ token
/usr/include/KDE/../kplotwidget.h:258: error: expected ‘,’ or ‘...’ before ‘&’ token
/usr/include/KDE/../kplotwidget.h:264: error: expected ‘,’ or ‘...’ before ‘&’ token
/usr/include/KDE/../kplotwidget.h:360: error: ‘QPointF’ does not name a type
/usr/include/KDE/../kplotwidget.h:373: error: expected ‘,’ or ‘...’ before ‘&’ token
/usr/include/KDE/../kplotwidget.h:386: error: expected ‘,’ or ‘...’ before ‘&’ token
/usr/include/KDE/../kplotwidget.h:400: error: ‘QPainter’ has not been declared
/usr/include/KDE/../kplotwidget.h:415: error: expected `:' before ‘Q_SLOTS’
/usr/include/KDE/../kplotwidget.h:421: error: expected primary-expression before ‘void’
/usr/include/KDE/../kplotwidget.h:421: error: expected ‘;’ before ‘void’
/usr/include/KDE/../kplotwidget.h:434: error: ‘QEvent’ has not been declared
/usr/include/KDE/../kplotwidget.h:439: error: ‘QPaintEvent’ has not been declared
/usr/include/KDE/../kplotwidget.h:444: error: ‘QResizeEvent’ has not been declared
/usr/include/KDE/../kplotwidget.h:452: error: ‘QPainter’ has not been declared
/usr/include/KDE/../kplotwidget.h:465: error: expected ‘;’ before ‘<’ token
/usr/include/KDE/../kplotwidget.h:472: error: expected ‘;’ before ‘}’ token
/usr/include/KDE/../kplotwidget.h:472: error: expected `;' before ‘}’ token
In file included from /usr/include/KDE/KPlotObject:1,
from Statistics.h:16,
from ListWidget.h:13,
from MainWindow.h:13,
from main.cpp:3:
/usr/include/KDE/../kplotobject.h:71: error: ‘PlotTypes’ has not been declared
/usr/include/KDE/../kplotobject.h:76: error: expected ‘;’ before ‘enum’
/usr/include/KDE/../kplotobject.h:99: error: expected ‘,’ or ‘...’ before ‘&’ token
/usr/include/KDE/../kplotobject.h:109: error: ‘PlotTypes’ does not name a type
/usr/include/KDE/../kplotobject.h:143: error: ‘PointStyle’ does not name a type
/usr/include/KDE/../kplotobject.h:149: error: ‘PointStyle’ has not been declared
/usr/include/KDE/../kplotobject.h:222: error: expected ‘;’ before ‘<’ token
/usr/include/KDE/../kplotobject.h:232: error: expected ‘,’ or ‘...’ before ‘&’ token
/usr/include/KDE/../kplotobject.h:251: error: expected ‘,’ or ‘...’ before ‘&’ token
/usr/include/KDE/../kplotobject.h:277: error: expected ‘;’ before ‘}’ token
/usr/include/KDE/../kplotobject.h:277: error: expected `;' before ‘}’ token
/usr/include/KDE/../kplotobject.h:278: error: expected constructor, destructor, or type conversion before ‘(’ token
In file included from ListWidget.h:13,
from MainWindow.h:13,
from main.cpp:3:
Statistics.h:22: error: expected class-name before ‘{’ token
Statistics.h:24: error: expected `)' before ‘player’
Statistics.h:88: error: ‘QString’ has not been declared
Statistics.h: In member function ‘void Statistics::populateGraph(int)’:
Statistics.h:90: error: ‘QSettings’ was not declared in this scope
Statistics.h:90: error: ‘settings’ was not declared in this scope
Statistics.h:90: error: expected type-specifier before ‘QSettings’
Statistics.h:90: error: expected `;' before ‘QSettings’
Statistics.h:92: error: ‘Qt’ has not been declared
Statistics.h:95: error: ‘class NetworkHandler’ has no member named ‘query’
Statistics.h:95: error: ‘QString’ was not declared in this scope
Statistics.h:96: error: ‘class NetworkHandler’ has no member named ‘query’
Statistics.h:97: error: ‘class NetworkHandler’ has no member named ‘query’
Statistics.h:97: error: ‘QRegExp’ was not declared in this scope
Statistics.h:99: error: ‘class KPlotObject’ has no member named ‘points’
/usr/include/KDE/../kplotwidget.h:190: error: ‘void KPlotWidget::addPlotObject(KPlotObject*)’ is private
Statistics.h:100: error: within this context
Statistics.h:101: error: ‘class KPlotWidget’ has no member named ‘update’
In file included from MainWindow.h:13,
from main.cpp:3:
ListWidget.h: At global scope:
ListWidget.h:16: error: expected class-name before ‘{’ token
ListWidget.h:17: error: ISO C++ forbids declaration of ‘Q_OBJECT’ with no type
ListWidget.h:19: error: expected ‘;’ before ‘public’
ListWidget.h:29: error: expected `;' before ‘private’
ListWidget.h:30: error: ISO C++ forbids declaration of ‘QMenu’ with no type
ListWidget.h:30: error: expected ‘;’ before ‘*’ token
ListWidget.h:31: error: ‘Qt’ has not been declared
ListWidget.h:31: error: ISO C++ forbids declaration of ‘MouseButton’ with no type
ListWidget.h:31: error: expected ‘;’ before ‘button’
ListWidget.h:34: error: ‘QContextMenuEvent’ has not been declared
ListWidget.h:42: error: expected `:' before ‘slots’
ListWidget.h:43: error: expected primary-expression before ‘void’
ListWidget.h:43: error: ISO C++ forbids declaration of ‘slots’ with no type
ListWidget.h:43: error: expected ‘;’ before ‘void’
main.cpp:15: error: expected `;' at end of input
main.cpp:15: error: expected `}' at end of input
ListWidget.h: In member function ‘void ListWidget::contextMenuEvent(int*)’:
ListWidget.h:36: error: ‘popup’ was not declared in this scope
ListWidget.h:36: error: request for member ‘globalPos’ in ‘* event’, which is of non-class type ‘int’
ListWidget.h:39: error: ‘selectedIndexes’ was not declared in this scope
ListWidget.h: At global scope:
ListWidget.h:40: error: expected unqualified-id at end of input
make: *** [main.o] Error 1


*Scratches his head*

Masterkick
09-11-2010, 10:13 PM
just tried to compile it on windows... got a bunch of errors. I may need to download qt4 xD.

pleeeease I wanna windows version!

Greetings!

Znurre
09-11-2010, 10:58 PM
just tried to compile it on windows... got a bunch of errors. I may need to download qt4 xD.

pleeeease I wanna windows version!

Greetings!I'll try to have it ready on Monday :)
I will post an update here as soon as it's ready.

w_larsen
09-12-2010, 09:33 AM
qt, yuck :DD

i think it would be interesting to see also, how clans compare.
also NGD could open data for more players, especially for RA. :P

Znurre
09-14-2010, 06:32 AM
A windows version is available: http://94.254.68.117/~znurre/RPManager/files/RPManager.zip
You'll have to live without the graph functionality for now.

Also updated RP Manager to version 2.0.2 which adds a few small bug fixes and a new emblem on the left for new entries on the RP list.

FYI this is the trouble I am facing with the Windows version:


Download Qt for Windows
Download KDE libs for Windows
Compile application and link against Qt and KDE

So far so good - however!


The application will crash, because Qt for Windows is not compiled with MySQL support by default
Install MySQL libraries and compile Qt with MySQL support
Now the KDE DLLfiles will not work together with the self compiled Qt DLL files anymore
Recompile KDE libs for Windows against this self compiled version of Qt - which is a pain in the ass, but I'll get on to it... eventually.

So yeah, Windows is really a nightmare for me as Qt/KDE developer.

PT_DaAr_PT
09-14-2010, 07:37 AM
Windows Vista here, it works \o/ though it randomly crashes when fetching the ranks.

-Drv-
09-14-2010, 07:37 AM
Great job and thank you very much Znu.

Znurre
09-14-2010, 07:39 AM
Windows Vista here, it works \o/ though it randomly crashes when fetching the ranks.Running Windows 7 here at work and didn't notice anything like that.
Does it crash when fetching the rankings initially, when changing the timespan or when changing the server?

PT_DaAr_PT
09-14-2010, 07:48 AM
Fetching the rankings initially and changing the server. It can happen randomly, sometimes it doesn't, sometimes it does. Not always the same percentage.


Mh, I just noticed I got connection problems now, that might be it.

Znurre
09-14-2010, 07:51 AM
Fetching the rankings initially and changing the server. It can happen randomly, sometimes it doesn't, sometimes it does. Not always the same percentage.


Mh, I just noticed I got connection problems now, that might be it.
You got me realize that I'd need some more error handling though :p

Silent_Shadow
09-14-2010, 03:38 PM
Great job Znurre, the windows version works perfectly for me. Thanks :)

Torcida
07-14-2011, 02:17 AM
404 not found =/

Znurre
07-14-2011, 02:41 AM
Updated all URLs.
Thanks for letting me know.

Torcida
07-14-2011, 02:53 AM
Updated all URLs.
Thanks for letting me know.

it works again, Thank you :)

Znurre
07-14-2011, 03:00 AM
it works again, Thank you :)
No problem! There seems to still be some issues in the actual code though, caused by a recent server upgrade (that's what caused the invalid URL too).
I will look into it tomorrow.

time-to-die
07-14-2011, 09:25 AM
hello.

I am kind of noob with this stuff. I download those 2 things. but how i can open it?

Znurre
07-14-2011, 12:34 PM
Okay, so all the server side problems are fixed.
Luckily no changes in the code had to be done, so the same binaries should still work.
hello.

I am kind of noob with this stuff. I download those 2 things. but how i can open it?
What operating system are you using?

time-to-die
07-14-2011, 01:30 PM
Okay, so all the server side problems are fixed.
Luckily no changes in the code had to be done, so the same binaries should still work.

What operating system are you using?

i use vista.

time-to-die
07-14-2011, 01:38 PM
i got it thnx alot!

time-to-die
07-15-2011, 03:43 PM
Well i got it. But it doesnt update. I cant also see how much i earn.

Znurre
07-15-2011, 08:54 PM
Well i got it. But it doesnt update. I cant also see how much i earn.
It should update once a day, if it doesn't I'll have to look into it.

isgandarli
03-10-2012, 04:14 PM
Link is dead. Anyone who has this software (Win) please repost it please.

NotScias
03-10-2012, 05:08 PM
Link is dead. Anyone who has this software (Win) please repost it please.

You can still get the sources from the Inquisition website:

http://www.claninquisition.org/index.php?action=tpmod;dl=item65

Now about compiling them on Winblows I have absolutely no clue.

Znurre
03-11-2012, 09:57 AM
Windows version: http://95.143.195.233/~znurre/RPManager/files/RPManager.zip

Enjoy.

isgandarli
03-11-2012, 10:10 AM
Windows version: http://95.143.195.233/~znurre/RPManager/files/RPManager.zip

Enjoy.

Thanks a lot :thumb:

isgandarli
03-13-2012, 08:13 PM
Windows version: http://95.143.195.233/~znurre/RPManager/files/RPManager.zip

Enjoy.

Update.

Won't work on Windows 7. Tried to run in compatibility mode (Vista, XP, etc.) but won't help. Any ideas?

I had previous version, it was working perfectly on the same machine.

SilverHaven
03-13-2012, 08:22 PM
Update.

Won't work on Windows 7. Tried to run in compatibility mode (Vista, XP, etc.) but won't help. Any ideas?

I had previous version, it was working perfectly on the same machine.

There is bug somewhere. I didnt study the source code, but when i compile that on linux and run, i get segmentation fault too.

Edit:
Ok, problem is in opening the database. It doesnt succeed, query variable is uninitialized, but it gets accessed later and app crashes. Hope that helps.

Phlue4
03-14-2012, 02:42 PM
hello.

I am kind of noob with this stuff. I download those 2 things. but how i can open it?

I dont get it either.

Honestly, what the hell am I supposed to do with a bunch of c++ - source files?

What terminal do I have to open?

Thanks.

SilverHaven
03-15-2012, 12:17 PM
I dont get it either.

Honestly, what the hell am I supposed to do with a bunch of c++ - source files?

What terminal do I have to open?

Thanks.

You need to compile it, obviously. There is README in the archive saying exacly what you need to do - run qmake, then make. qmake is part of Qt (thats multiplatform toolkit for network, gui, ...) so you will need it.
If you have windows, i suggest you download "Qt creator" with bundled Qt SDK and Mingw compiler, open the .pro file there and click build button, thats it.
On linux, you need qt, make and gcc installed (+ development packages if your linux distro split those, ubuntu does so, arch linux doesnt), run from terminal those 2 commands, or you can also install qt creator and do it from there.
But as I said in my previous comment, database connection fails, seems like the hardcoded username//password in the source code is not valid, they changed ip, or something like that.

isgandarli
03-15-2012, 01:12 PM
Builded at Archlinux using PKGBUILD.

Got 'Segmentation fault' error.

*bump*

Phlue4
03-15-2012, 06:33 PM
You need to compile it, obviously. There is README in the archive saying exacly what you need to do - run qmake, then make. qmake is part of Qt (thats multiplatform toolkit for network, gui, ...) so you will need it.
If you have windows, i suggest you download "Qt creator" with bundled Qt SDK and Mingw compiler, open the .pro file there and click build button, thats it.
On linux, you need qt, make and gcc installed (+ development packages if your linux distro split those, ubuntu does so, arch linux doesnt), run from terminal those 2 commands, or you can also install qt creator and do it from there.
But as I said in my previous comment, database connection fails, seems like the hardcoded username//password in the source code is not valid, they changed ip, or something like that.

yeah ok thanks.. just wanted to try out that program... but ok... who needs an exe file when you can just compile it by yourself ...

SilverHaven
03-15-2012, 07:57 PM
Builded at Archlinux using PKGBUILD.

Got 'Segmentation fault' error.

*bump*

PPl dont read, reason why is in my comment - database connection fails, the "query" object is then uninitialized, but it still gets accessed because the code "suppose" database connection never fails and query is always initialized. That needs fixing, but I am too lazy to actually write anything, been helping a friend with his java project these days and I just cant stand it anymore ... for a while :D

isgandarli
03-15-2012, 09:06 PM
PPl dont read, reason why is in my comment - database connection fails, the "query" object is then uninitialized, but it still gets accessed because the code "suppose" database connection never fails and query is always initialized. That needs fixing, but I am too lazy to actually write anything, been helping a friend with his java project these days and I just cant stand it anymore ... for a while :D

Sorry, missed that one. Thanks. Hope someone more skilled than me in development will fix it someday :)

Znurre
03-17-2012, 03:44 PM
Probably an error on my end.
As you might've noticed I am not really active on here anymore, and I am not really maintaining my Regnum tools either.
I'll see what I can do about it...

UPDATE: Changing the IP to my new server ip (95.143.195.233) in NetworkHandler.h should solve the problem.

isgandarli
03-17-2012, 03:46 PM
Probably an error on my end.
As you might've noticed I am not really active on here anymore, and I am not really maintaining my Regnum tools either.
I'll see what I can do about it...

Thank you :)

Phlue4
09-23-2012, 01:05 AM
You need to compile it, obviously. There is README in the archive saying exacly what you need to do - run qmake, then make. qmake is part of Qt (thats multiplatform toolkit for network, gui, ...) so you will need it.
If you have windows, i suggest you download "Qt creator" with bundled Qt SDK and Mingw compiler, open the .pro file there and click build button, thats it.
On linux, you need qt, make and gcc installed (+ development packages if your linux distro split those, ubuntu does so, arch linux doesnt), run from terminal those 2 commands, or you can also install qt creator and do it from there.
But as I said in my previous comment, database connection fails, seems like the hardcoded username//password in the source code is not valid, they changed ip, or something like that.

I really tried hard again now but did not manage to get the program started.
I am done with it and would be the happiest person on earth if somebody could make a compiled version out of it.

Phlue4
03-07-2013, 05:33 AM
I really tried hard again now but did not manage to get the program started.
I am done with it and would be the happiest person on earth if somebody could make a compiled version out of it.

I still don't understand what's so hard about it.

---

Is this programm still up-to-date and where does it get its data from? Does it access some database by the internet?

ufkn
03-07-2013, 01:45 PM
STOP FUKING PUSHUP UR OLD THREADS U NOLIFE LOSER GO OUT AND DO SOMETHING FAGGOT THAN SIT HERE BUMP OLD USELESS THREADS OF YOURS!!! :ranting:


so much of my phone bandwidth wasted just on this idiot's bumped threads..

[C L O S E D ]

Phlue4
03-10-2013, 02:20 AM
STOP FUKING PUSHUP UR OLD THREADS U NOLIFE LOSER GO OUT AND DO SOMETHING FAGGOT THAN SIT HERE BUMP OLD USELESS THREADS OF YOURS!!! :ranting:


so much of my phone bandwidth wasted just on this idiot's bumped threads..

[C L O S E D ]

wtf is wrong with you? Should I open a new thread for asking stuff about this programm?
And nobody on earth will ever stop me bumping those threads I like, remember that.