provide functions for enhanced log preview

This commit is contained in:
floty
2012-11-29 20:52:51 +01:00
parent b7f46d12e2
commit 10f94f2749
2 changed files with 55 additions and 6 deletions
+52 -4
View File
@@ -735,15 +735,15 @@ void guiLog::exportLogPdbToTxt(QString fileStringPdb, QString exportFileString)
}
void guiLog::showLog(QString fileStringPdb, QTextBrowser *tb_tmp)
void guiLog::showLog(QString fileStringPdb, QTextBrowser *tb_tmp, int uniqueGameID)
{
tb = tb_tmp;
tb->clear();
exportLog(fileStringPdb,3);
exportLog(fileStringPdb,3,uniqueGameID);
}
int guiLog::exportLog(QString fileStringPdb,int modus)
int guiLog::exportLog(QString fileStringPdb,int modus,int uniqueGameID_req)
{
bool neu = false;
@@ -857,7 +857,11 @@ int guiLog::exportLog(QString fileStringPdb,int modus)
log_string = "";
// read game
sql = "SELECT * FROM Game";
if(uniqueGameID_req > 0) {
sql = "SELECT * FROM Game WHERE UniqueGameID=" + boost::lexical_cast<std::string>(uniqueGameID_req);
} else {
sql = "SELECT * FROM Game";
}
if(sqlite3_get_table(mySqliteLogDb,sql.c_str(),&results.result_Game,&nRow_Game,&nCol_Game,&errmsg) != SQLITE_OK) {
cout << "Error in statement: " << sql.c_str() << "[" << errmsg << "]." << endl;
cleanUp(results, mySqliteLogDb);
@@ -1492,6 +1496,50 @@ int guiLog::exportLog(QString fileStringPdb,int modus)
}
QList<int> guiLog::getGameList(QString fileStringPdb)
{
result_struct results;
results.result_Session = 0;
results.result_Game = 0;
results.result_Player = 0;
results.result_Hand = 0;
results.result_Hand_ID = 0;
results.result_Action = 0;
int nRow_Game=0;
int nCol_Game=0;
char *errmsg = 0;
int game_ctr = 0;
int i = 0;
QList<int> gameList;
// open sqlite log-db
sqlite3 *mySqliteLogDb;
sqlite3_open(fileStringPdb.toStdString().c_str(), &mySqliteLogDb);
if( mySqliteLogDb != 0 ) {
string sql = "SELECT * FROM Game";
if(sqlite3_get_table(mySqliteLogDb,sql.c_str(),&results.result_Game,&nRow_Game,&nCol_Game,&errmsg) != SQLITE_OK) {
cout << "Error in statement: " << sql.c_str() << "[" << errmsg << "]." << endl;
} else {
for(game_ctr=1; game_ctr<=nRow_Game; game_ctr++) {
for(i=0; i<nCol_Game; i++) {
if(boost::lexical_cast<std::string>(results.result_Game[i]) == "UniqueGameID") {
gameList.append(boost::lexical_cast<int>(results.result_Game[i+nCol_Game*game_ctr]));
}
}
}
}
}
cleanUp(results, mySqliteLogDb);
return gameList;
}
void guiLog::cleanUp(result_struct &results, sqlite3 *mySqliteLogDb)
{
+3 -2
View File
@@ -67,8 +67,9 @@ public slots:
void flushLogAtHand();
void exportLogPdbToHtml(QString fileStringPdb, QString exportFileString);
void exportLogPdbToTxt(QString fileStringPdb, QString exportFileString);
void showLog(QString fileStringPdb, QTextBrowser *tb);
int exportLog(QString fileStringPdb, int modus);
void showLog(QString fileStringPdb, QTextBrowser *tb, int uniqueGameID = 0);
int exportLog(QString fileStringPdb, int modus, int uniqueGameID = 0);
QList<int> getGameList(QString fileStringPdb);
public:
QStringList translateCardCode(int cardCode);