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 = tb_tmp;
tb->clear(); 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; bool neu = false;
@@ -857,7 +857,11 @@ int guiLog::exportLog(QString fileStringPdb,int modus)
log_string = ""; log_string = "";
// read game // 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) { 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; cout << "Error in statement: " << sql.c_str() << "[" << errmsg << "]." << endl;
cleanUp(results, mySqliteLogDb); 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) void guiLog::cleanUp(result_struct &results, sqlite3 *mySqliteLogDb)
{ {
+3 -2
View File
@@ -67,8 +67,9 @@ public slots:
void flushLogAtHand(); void flushLogAtHand();
void exportLogPdbToHtml(QString fileStringPdb, QString exportFileString); void exportLogPdbToHtml(QString fileStringPdb, QString exportFileString);
void exportLogPdbToTxt(QString fileStringPdb, QString exportFileString); void exportLogPdbToTxt(QString fileStringPdb, QString exportFileString);
void showLog(QString fileStringPdb, QTextBrowser *tb); void showLog(QString fileStringPdb, QTextBrowser *tb, int uniqueGameID = 0);
int exportLog(QString fileStringPdb, int modus); int exportLog(QString fileStringPdb, int modus, int uniqueGameID = 0);
QList<int> getGameList(QString fileStringPdb);
public: public:
QStringList translateCardCode(int cardCode); QStringList translateCardCode(int cardCode);