From 164e730ed23a44698a3f3d372ad51329b0ae2438 Mon Sep 17 00:00:00 2001 From: doitux Date: Tue, 29 Jun 2010 09:44:27 +0000 Subject: [PATCH] next steps on enhanced log file handling via settings dialog --- src/engine/local_engine/replay.cpp | 2 +- src/gui/qt/gametable/gametableimpl.cpp | 16 ++++ src/gui/qt/gametable/log/log.cpp | 2 +- .../qt/settingsdialog/settingsdialogimpl.cpp | 82 +++++++++++++++---- .../qt/settingsdialog/settingsdialogimpl.h | 4 + 5 files changed, 90 insertions(+), 16 deletions(-) diff --git a/src/engine/local_engine/replay.cpp b/src/engine/local_engine/replay.cpp index f75c76ff..feb02276 100644 --- a/src/engine/local_engine/replay.cpp +++ b/src/engine/local_engine/replay.cpp @@ -25,7 +25,7 @@ Replay::Replay() : replaySqliteLogDb(0) replaySqliteLogDb = new QSqlDatabase(); *replaySqliteLogDb = QSqlDatabase::addDatabase("QSQLITE"); - //replaySqliteLogDb->setDatabaseName(myLogDir->absolutePath()+"/pokerth-log-"+currentTime.toString("yyyy-MM-dd_hh.mm.ss")+".db"); + //replaySqliteLogDb->setDatabaseName(myLogDir->absolutePath()+"/pokerth-log-"+currentTime.toString("yyyy-MM-dd_hh.mm.ss")+".pdb"); //if(!mySqliteLogDb->open()) { // QMessageBox::critical(0, tr("ERROR"),mySqliteLogDb->lastError().text().toUtf8().data(), QMessageBox::Cancel); //} diff --git a/src/gui/qt/gametable/gametableimpl.cpp b/src/gui/qt/gametable/gametableimpl.cpp index 54950e5e..91dd77c4 100755 --- a/src/gui/qt/gametable/gametableimpl.cpp +++ b/src/gui/qt/gametable/gametableimpl.cpp @@ -1501,6 +1501,22 @@ void gameTableImpl::meInAction() { lineEdit_betValue->selectAll(); } +// if(this->isMinimized()){ +// this->showNormal(); +// this->activateWindow(); +// this->raise(); +// } +// else if(!this->isActiveWindow()) { +// this->showMinimized(); +// this->activateWindow(); +// this->raise(); +// this->showNormal(); +// this->activateWindow(); +// this->raise(); +// +// } + + myActionIsRaise = 0; myActionIsBet = 0; diff --git a/src/gui/qt/gametable/log/log.cpp b/src/gui/qt/gametable/log/log.cpp index 5d3c74d8..d1a5ff5c 100755 --- a/src/gui/qt/gametable/log/log.cpp +++ b/src/gui/qt/gametable/log/log.cpp @@ -83,7 +83,7 @@ Log::Log(gameTableImpl* w, ConfigFile *c) : myW(w), myConfig(c), myLogDir(0), my int i; // lege sqlite-Datenbank *mySqliteLogDb = QSqlDatabase::addDatabase("QSQLITE"); - mySqliteLogDb->setDatabaseName(myLogDir->absolutePath()+"/pokerth-log-"+currentTime.toString("yyyy-MM-dd_hh.mm.ss")+".db"); + mySqliteLogDb->setDatabaseName(myLogDir->absolutePath()+"/pokerth-log-"+currentTime.toString("yyyy-MM-dd_hh.mm.ss")+".pdb"); if(!mySqliteLogDb->open()) { QMessageBox::critical(0, tr("ERROR"),mySqliteLogDb->lastError().text().toUtf8().data(), QMessageBox::Cancel); } diff --git a/src/gui/qt/settingsdialog/settingsdialogimpl.cpp b/src/gui/qt/settingsdialog/settingsdialogimpl.cpp index 595baa34..d331edd4 100644 --- a/src/gui/qt/settingsdialog/settingsdialogimpl.cpp +++ b/src/gui/qt/settingsdialog/settingsdialogimpl.cpp @@ -120,6 +120,10 @@ settingsDialogImpl::settingsDialogImpl(QWidget *parent, ConfigFile *c, selectAva connect( pushButton_removeCardDeckStyle, SIGNAL( clicked() ), this, SLOT( removeCardDeckStyle()) ); connect( pushButton_internetGameRemoveIgnoredPlayer, SIGNAL( clicked()), this, SLOT( removePlayerFromIgnoredPlayersList())); + connect( pushButton_deleteLog, SIGNAL(clicked()), this, SLOT (deleteLogFile())); + connect( pushButton_exportLogHtml, SIGNAL(clicked()), this, SLOT (exportLogToHtml())); + connect( pushButton_exportLogTxt, SIGNAL(clicked()), this, SLOT (exportLogToTxt())); + } void settingsDialogImpl::exec() { @@ -405,19 +409,7 @@ void settingsDialogImpl::exec() { spinBox_logStoreDuration->setValue(myConfig->readConfigInt("LogStoreDuration")); comboBox_logInterval->setCurrentIndex(myConfig->readConfigInt("LogInterval")); - QDir logFileDir; - logFileDir.setPath(QString::fromUtf8(myConfig->readConfigString("LogDir").c_str())); - QStringList filters; - filters << "*.db"; - QStringList dbFilesList = logFileDir.entryList(filters, QDir::Files, QDir::Time); - - QStringListIterator logFileIt(dbFilesList); - while (logFileIt.hasNext()) { - - QTreeWidgetItem *item = new QTreeWidgetItem; - item->setText(0, logFileIt.next()); - treeWidget_logFiles->addTopLevelItem(item); - } + refreshLogFileList(); bool tmpHasIpv6 = socket_has_ipv6(); @@ -795,7 +787,20 @@ void settingsDialogImpl::setLogDir() QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); - if (!dir.isEmpty()) lineEdit_logDir->setText(dir); + if (!dir.isEmpty()) { + + QDir logDir(dir); + if(logDir.exists()) { + lineEdit_logDir->setText(dir); + refreshLogFileList(); + } + else { + QMessageBox::warning(this, tr("Settings Error"), + tr("The log file directory doesn't exist.\n" + "Please select an valid directory!"), + QMessageBox::Ok); + } + } } void settingsDialogImpl::clearInternetGamePassword(bool clear) { @@ -1168,3 +1173,52 @@ void settingsDialogImpl::removePlayerFromIgnoredPlayersList() treeWidget_internetGameIgnoredPlayers->takeTopLevelItem(treeWidget_internetGameIgnoredPlayers->currentIndex().row()); } } + +void settingsDialogImpl::refreshLogFileList() +{ + QDir logFileDir; + logFileDir.setPath(lineEdit_logDir->text()); + QStringList filters; + filters << "*.pdb"; + QFileInfoList dbFilesList = logFileDir.entryInfoList(filters, QDir::Files, QDir::Time); + + treeWidget_logFiles->clear(); + int i; + for (i=0; i < dbFilesList.size(); i++) { + + QTreeWidgetItem *item = new QTreeWidgetItem; + item->setText(0, dbFilesList.at(i).fileName()); + item->setData(0, Qt::UserRole, dbFilesList.at(i).absoluteFilePath()); + treeWidget_logFiles->addTopLevelItem(item); + } +} + +void settingsDialogImpl::deleteLogFile() +{ + QTreeWidgetItem* selectedItem = treeWidget_logFiles->currentItem(); + + if(selectedItem) { + int ret = QMessageBox::warning(this, tr("PokerTH - Log file"), + tr("Do you really want to delete the seleted log file?"), + QMessageBox::Yes | QMessageBox::No); + + if(ret == QMessageBox::Yes) { + + QFile fileToDelete (selectedItem->data(0, Qt::UserRole).toString()); + if(!fileToDelete.remove()) { + QMessageBox::warning(this, "Remove log file", "PokerTH cannot remove this log file, please check if you have write access to this file!", QMessageBox::Close ); + } + refreshLogFileList(); + } + } +} + +void settingsDialogImpl::exportLogToHtml() +{ + +} + +void settingsDialogImpl::exportLogToTxt() +{ + +} diff --git a/src/gui/qt/settingsdialog/settingsdialogimpl.h b/src/gui/qt/settingsdialog/settingsdialogimpl.h index 732f1fcc..e04131a0 100644 --- a/src/gui/qt/settingsdialog/settingsdialogimpl.h +++ b/src/gui/qt/settingsdialog/settingsdialogimpl.h @@ -91,6 +91,10 @@ public slots: void addCardDeckStyle(); void removeCardDeckStyle(); void removePlayerFromIgnoredPlayersList(); + void refreshLogFileList(); + void deleteLogFile(); + void exportLogToHtml(); + void exportLogToTxt(); private: