move more qt-tools stuff

This commit is contained in:
Felix Hammer
2015-08-13 15:36:27 +02:00
parent d14343b8ac
commit a935bfd0b8
11 changed files with 699 additions and 0 deletions
@@ -0,0 +1,107 @@
/*****************************************************************************
* PokerTH - The open source texas holdem engine *
* Copyright (C) 2006-2012 Felix Hammer, Florian Thauer, Lothar May *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* *
* Additional permission under GNU AGPL version 3 section 7 *
* *
* If you modify this program, or any covered work, by linking or *
* combining it with the OpenSSL project's OpenSSL library (or a *
* modified version of that library), containing parts covered by the *
* terms of the OpenSSL or SSLeay licenses, the authors of PokerTH *
* (Felix Hammer, Florian Thauer, Lothar May) grant you additional *
* permission to convey the resulting work. *
* Corresponding Source for a non-source form of such a combination *
* shall include the source code for the parts of OpenSSL used as well *
* as that of the covered work. *
*****************************************************************************/
#include "qthelper.h"
#include <QtCore>
#include <iostream>
QtHelper::QtHelper()
{
}
QtHelper::~QtHelper()
{
}
std::string QtHelper::stringToUtf8(const std::string &myString)
{
QString tmpString = QString::fromLocal8Bit(myString.c_str());
std::string myUtf8String = tmpString.toUtf8().constData();
return myUtf8String;
}
std::string QtHelper::stringFromUtf8(const std::string &myString)
{
QString tmpString = QString::fromUtf8(myString.c_str());
return tmpString.toLocal8Bit().constData();
}
std::string QtHelper::getDefaultLanguage()
{
return QLocale::system().name().toStdString();
}
std::string QtHelper::getDataPathStdString(const char * /*argv0*/)
{
QString path(QCoreApplication::instance()->applicationDirPath());
#ifdef _WIN32
path += "/data/";
#else
#ifdef __APPLE__
if (QRegExp("Contents/MacOS/?$").indexIn(path) != -1) {
// pointing into an macosx application bundle
path += "/../Resources/data/";
} else {
path += "/data/";
}
#else //Unix
if (QRegExp("pokerth/?$").indexIn(path) != -1) {
// there is an own application directory
path += "/data/";
} else if (QRegExp("usr/games/bin/?$").indexIn(path) != -1) {
// we are in /usr/games/bin (like gentoo linux does)
path += "/../../share/games/pokerth/data/";
} else if (QRegExp("usr/games/?$").indexIn(path) != -1) {
// we are in /usr/games (like Debian linux does)
path += "/../share/games/pokerth/";
} else if (QRegExp("bin/?$").indexIn(path) != -1) {
// we are in a bin directory. e.g. /usr/bin
path += "/../share/pokerth/data/";
} else {
path += "/data/";
}
#endif
#endif
return (QDir::cleanPath(path) + "/").toStdString();
}
// [01:09] <Zhenech> doitux|mob, mach den pfad als define, und nur wenns nich gesetzt is wildes raten
// [01:10] <Zhenech> dann compilieren die distries mit -DDATAPTH="/usr/share/games/pokerth" o.ä.
// [01:10] <Zhenech> und du suchst eine liste ab:
// [01:10] <Zhenech> ist es in [/usr/share/pokerth, /usr/share/games/pokerth/, /usr/local/..., $PWD/data]
@@ -0,0 +1,57 @@
/*****************************************************************************
* PokerTH - The open source texas holdem engine *
* Copyright (C) 2006-2012 Felix Hammer, Florian Thauer, Lothar May *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* *
* Additional permission under GNU AGPL version 3 section 7 *
* *
* If you modify this program, or any covered work, by linking or *
* combining it with the OpenSSL project's OpenSSL library (or a *
* modified version of that library), containing parts covered by the *
* terms of the OpenSSL or SSLeay licenses, the authors of PokerTH *
* (Felix Hammer, Florian Thauer, Lothar May) grant you additional *
* permission to convey the resulting work. *
* Corresponding Source for a non-source form of such a combination *
* shall include the source code for the parts of OpenSSL used as well *
* as that of the covered work. *
*****************************************************************************/
#ifndef QTHELPER_H
#define QTHELPER_H
#ifdef POKERTH_DEDICATED_SERVER
#error This file is not for the server.
#endif
#include <string>
/**
@author FThauer FHammer <webmaster@pokerth.net>
*/
class QtHelper
{
public:
QtHelper();
~QtHelper();
std::string stringToUtf8(const std::string &);
std::string stringFromUtf8(const std::string &);
std::string getDefaultLanguage();
std::string getDataPathStdString(const char *argv0);
};
#endif
@@ -0,0 +1,71 @@
/*****************************************************************************
* PokerTH - The open source texas holdem engine *
* Copyright (C) 2006-2012 Felix Hammer, Florian Thauer, Lothar May *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* *
* Additional permission under GNU AGPL version 3 section 7 *
* *
* If you modify this program, or any covered work, by linking or *
* combining it with the OpenSSL project's OpenSSL library (or a *
* modified version of that library), containing parts covered by the *
* terms of the OpenSSL or SSLeay licenses, the authors of PokerTH *
* (Felix Hammer, Florian Thauer, Lothar May) grant you additional *
* permission to convey the resulting work. *
* Corresponding Source for a non-source form of such a combination *
* shall include the source code for the parts of OpenSSL used as well *
* as that of the covered work. *
*****************************************************************************/
#include "qttoolswrapper.h"
#include <qthelper/qthelper.h>
using namespace std;
QtToolsInterface *CreateQtToolsWrapper()
{
return new QtToolsWrapper;
}
QtToolsWrapper::QtToolsWrapper() : myQtHelper(0)
{
myQtHelper = new QtHelper();
}
QtToolsWrapper::~QtToolsWrapper()
{
delete myQtHelper;
myQtHelper = 0;
}
std::string QtToolsWrapper::stringToUtf8(const std::string &myString)
{
return myQtHelper->stringToUtf8(myString);
}
std::string QtToolsWrapper::stringFromUtf8(const std::string &myString)
{
return myQtHelper->stringFromUtf8(myString);
}
std::string QtToolsWrapper::getDefaultLanguage()
{
return myQtHelper->getDefaultLanguage();
}
std::string QtToolsWrapper::getDataPathStdString(const char * argv0)
{
return myQtHelper->getDataPathStdString(argv0);
}
+58
View File
@@ -0,0 +1,58 @@
/*****************************************************************************
* PokerTH - The open source texas holdem engine *
* Copyright (C) 2006-2012 Felix Hammer, Florian Thauer, Lothar May *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* *
* Additional permission under GNU AGPL version 3 section 7 *
* *
* If you modify this program, or any covered work, by linking or *
* combining it with the OpenSSL project's OpenSSL library (or a *
* modified version of that library), containing parts covered by the *
* terms of the OpenSSL or SSLeay licenses, the authors of PokerTH *
* (Felix Hammer, Florian Thauer, Lothar May) grant you additional *
* permission to convey the resulting work. *
* Corresponding Source for a non-source form of such a combination *
* shall include the source code for the parts of OpenSSL used as well *
* as that of the covered work. *
*****************************************************************************/
#ifndef QTTOOLSWRAPPER_H
#define QTTOOLSWRAPPER_H
#include <qttoolsinterface.h>
#include <string>
class QtHelper;
class QtToolsWrapper : public QtToolsInterface
{
public:
QtToolsWrapper();
~QtToolsWrapper();
std::string stringToUtf8(const std::string &myString);
std::string stringFromUtf8(const std::string &myString);
std::string getDefaultLanguage();
std::string getDataPathStdString(const char *argv0);
private:
QtHelper *myQtHelper;
};
#endif
+37
View File
@@ -0,0 +1,37 @@
/*****************************************************************************
* PokerTH - The open source texas holdem engine *
* Copyright (C) 2006-2012 Felix Hammer, Florian Thauer, Lothar May *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* *
* Additional permission under GNU AGPL version 3 section 7 *
* *
* If you modify this program, or any covered work, by linking or *
* combining it with the OpenSSL project's OpenSSL library (or a *
* modified version of that library), containing parts covered by the *
* terms of the OpenSSL or SSLeay licenses, the authors of PokerTH *
* (Felix Hammer, Florian Thauer, Lothar May) grant you additional *
* permission to convey the resulting work. *
* Corresponding Source for a non-source form of such a combination *
* shall include the source code for the parts of OpenSSL used as well *
* as that of the covered work. *
*****************************************************************************/
#include "qttoolsinterface.h"
QtToolsInterface::~QtToolsInterface()
{
}
+52
View File
@@ -0,0 +1,52 @@
/*****************************************************************************
* PokerTH - The open source texas holdem engine *
* Copyright (C) 2006-2012 Felix Hammer, Florian Thauer, Lothar May *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* *
* Additional permission under GNU AGPL version 3 section 7 *
* *
* If you modify this program, or any covered work, by linking or *
* combining it with the OpenSSL project's OpenSSL library (or a *
* modified version of that library), containing parts covered by the *
* terms of the OpenSSL or SSLeay licenses, the authors of PokerTH *
* (Felix Hammer, Florian Thauer, Lothar May) grant you additional *
* permission to convey the resulting work. *
* Corresponding Source for a non-source form of such a combination *
* shall include the source code for the parts of OpenSSL used as well *
* as that of the covered work. *
*****************************************************************************/
#ifndef QTTOOLSINTERFACE_H
#define QTTOOLSINTERFACE_H
#include <string>
class QtToolsInterface
{
public:
virtual ~QtToolsInterface();
//qthelper.cpp
virtual std::string stringToUtf8(const std::string &) =0;
virtual std::string stringFromUtf8(const std::string &) =0;
virtual std::string getDefaultLanguage() =0;
virtual std::string getDataPathStdString(const char *argv0) =0;
};
QtToolsInterface *CreateQtToolsWrapper();
#endif
+24
View File
@@ -0,0 +1,24 @@
#ifndef QMLWRAPPER_H
#define QMLWRAPPER_H
#include <QtCore>
#include <boost/shared_ptr.hpp>
class ConfigFile;
class QQmlApplicationEngine;
class QmlWrapper: public QObject
{
Q_OBJECT
public:
QmlWrapper(boost::shared_ptr<ConfigFile>);
~QmlWrapper();
QmlWrapper(const QmlWrapper&);
public slots:
private:
boost::shared_ptr<QQmlApplicationEngine> myEngine;
boost::shared_ptr<ConfigFile> myConfig;
};
#endif // QMLWRAPPER_H
+107
View File
@@ -0,0 +1,107 @@
/*****************************************************************************
* PokerTH - The open source texas holdem engine *
* Copyright (C) 2006-2012 Felix Hammer, Florian Thauer, Lothar May *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* *
* Additional permission under GNU AGPL version 3 section 7 *
* *
* If you modify this program, or any covered work, by linking or *
* combining it with the OpenSSL project's OpenSSL library (or a *
* modified version of that library), containing parts covered by the *
* terms of the OpenSSL or SSLeay licenses, the authors of PokerTH *
* (Felix Hammer, Florian Thauer, Lothar May) grant you additional *
* permission to convey the resulting work. *
* Corresponding Source for a non-source form of such a combination *
* shall include the source code for the parts of OpenSSL used as well *
* as that of the covered work. *
*****************************************************************************/
#include "qthelper.h"
#include <QtCore>
#include <iostream>
QtHelper::QtHelper()
{
}
QtHelper::~QtHelper()
{
}
std::string QtHelper::stringToUtf8(const std::string &myString)
{
QString tmpString = QString::fromLocal8Bit(myString.c_str());
std::string myUtf8String = tmpString.toUtf8().constData();
return myUtf8String;
}
std::string QtHelper::stringFromUtf8(const std::string &myString)
{
QString tmpString = QString::fromUtf8(myString.c_str());
return tmpString.toLocal8Bit().constData();
}
std::string QtHelper::getDefaultLanguage()
{
return QLocale::system().name().toStdString();
}
std::string QtHelper::getDataPathStdString(const char * /*argv0*/)
{
QString path(QCoreApplication::instance()->applicationDirPath());
#ifdef _WIN32
path += "/data/";
#else
#ifdef __APPLE__
if (QRegExp("Contents/MacOS/?$").indexIn(path) != -1) {
// pointing into an macosx application bundle
path += "/../Resources/data/";
} else {
path += "/data/";
}
#else //Unix
if (QRegExp("pokerth/?$").indexIn(path) != -1) {
// there is an own application directory
path += "/data/";
} else if (QRegExp("usr/games/bin/?$").indexIn(path) != -1) {
// we are in /usr/games/bin (like gentoo linux does)
path += "/../../share/games/pokerth/data/";
} else if (QRegExp("usr/games/?$").indexIn(path) != -1) {
// we are in /usr/games (like Debian linux does)
path += "/../share/games/pokerth/";
} else if (QRegExp("bin/?$").indexIn(path) != -1) {
// we are in a bin directory. e.g. /usr/bin
path += "/../share/pokerth/data/";
} else {
path += "/data/";
}
#endif
#endif
return (QDir::cleanPath(path) + "/").toStdString();
}
// [01:09] <Zhenech> doitux|mob, mach den pfad als define, und nur wenns nich gesetzt is wildes raten
// [01:10] <Zhenech> dann compilieren die distries mit -DDATAPTH="/usr/share/games/pokerth" o.ä.
// [01:10] <Zhenech> und du suchst eine liste ab:
// [01:10] <Zhenech> ist es in [/usr/share/pokerth, /usr/share/games/pokerth/, /usr/local/..., $PWD/data]
+57
View File
@@ -0,0 +1,57 @@
/*****************************************************************************
* PokerTH - The open source texas holdem engine *
* Copyright (C) 2006-2012 Felix Hammer, Florian Thauer, Lothar May *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* *
* Additional permission under GNU AGPL version 3 section 7 *
* *
* If you modify this program, or any covered work, by linking or *
* combining it with the OpenSSL project's OpenSSL library (or a *
* modified version of that library), containing parts covered by the *
* terms of the OpenSSL or SSLeay licenses, the authors of PokerTH *
* (Felix Hammer, Florian Thauer, Lothar May) grant you additional *
* permission to convey the resulting work. *
* Corresponding Source for a non-source form of such a combination *
* shall include the source code for the parts of OpenSSL used as well *
* as that of the covered work. *
*****************************************************************************/
#ifndef QTHELPER_H
#define QTHELPER_H
#ifdef POKERTH_DEDICATED_SERVER
#error This file is not for the server.
#endif
#include <string>
/**
@author FThauer FHammer <webmaster@pokerth.net>
*/
class QtHelper
{
public:
QtHelper();
~QtHelper();
std::string stringToUtf8(const std::string &);
std::string stringFromUtf8(const std::string &);
std::string getDefaultLanguage();
std::string getDataPathStdString(const char *argv0);
};
#endif
+71
View File
@@ -0,0 +1,71 @@
/*****************************************************************************
* PokerTH - The open source texas holdem engine *
* Copyright (C) 2006-2012 Felix Hammer, Florian Thauer, Lothar May *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* *
* Additional permission under GNU AGPL version 3 section 7 *
* *
* If you modify this program, or any covered work, by linking or *
* combining it with the OpenSSL project's OpenSSL library (or a *
* modified version of that library), containing parts covered by the *
* terms of the OpenSSL or SSLeay licenses, the authors of PokerTH *
* (Felix Hammer, Florian Thauer, Lothar May) grant you additional *
* permission to convey the resulting work. *
* Corresponding Source for a non-source form of such a combination *
* shall include the source code for the parts of OpenSSL used as well *
* as that of the covered work. *
*****************************************************************************/
#include "qttoolswrapper.h"
#include <qthelper/qthelper.h>
using namespace std;
QtToolsInterface *CreateQtToolsWrapper()
{
return new QtToolsWrapper;
}
QtToolsWrapper::QtToolsWrapper() : myQtHelper(0)
{
myQtHelper = new QtHelper();
}
QtToolsWrapper::~QtToolsWrapper()
{
delete myQtHelper;
myQtHelper = 0;
}
std::string QtToolsWrapper::stringToUtf8(const std::string &myString)
{
return myQtHelper->stringToUtf8(myString);
}
std::string QtToolsWrapper::stringFromUtf8(const std::string &myString)
{
return myQtHelper->stringFromUtf8(myString);
}
std::string QtToolsWrapper::getDefaultLanguage()
{
return myQtHelper->getDefaultLanguage();
}
std::string QtToolsWrapper::getDataPathStdString(const char * argv0)
{
return myQtHelper->getDataPathStdString(argv0);
}
+58
View File
@@ -0,0 +1,58 @@
/*****************************************************************************
* PokerTH - The open source texas holdem engine *
* Copyright (C) 2006-2012 Felix Hammer, Florian Thauer, Lothar May *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* *
* Additional permission under GNU AGPL version 3 section 7 *
* *
* If you modify this program, or any covered work, by linking or *
* combining it with the OpenSSL project's OpenSSL library (or a *
* modified version of that library), containing parts covered by the *
* terms of the OpenSSL or SSLeay licenses, the authors of PokerTH *
* (Felix Hammer, Florian Thauer, Lothar May) grant you additional *
* permission to convey the resulting work. *
* Corresponding Source for a non-source form of such a combination *
* shall include the source code for the parts of OpenSSL used as well *
* as that of the covered work. *
*****************************************************************************/
#ifndef QTTOOLSWRAPPER_H
#define QTTOOLSWRAPPER_H
#include <qttoolsinterface.h>
#include <string>
class QtHelper;
class QtToolsWrapper : public QtToolsInterface
{
public:
QtToolsWrapper();
~QtToolsWrapper();
std::string stringToUtf8(const std::string &myString);
std::string stringFromUtf8(const std::string &myString);
std::string getDefaultLanguage();
std::string getDataPathStdString(const char *argv0);
private:
QtHelper *myQtHelper;
};
#endif