diff options
| author | 2011-04-21 20:55:11 +0000 | |
|---|---|---|
| committer | 2011-04-21 20:55:11 +0000 | |
| commit | 06d84e592a226a7df83be55ad7150ff31d92d6bc (patch) | |
| tree | 1874b002c3cf23596190d2a1d0e50f54f13e5e83 /src/modules/logview | |
| parent | removed useless pointer (diff) | |
| download | KVIrc-06d84e592a226a7df83be55ad7150ff31d92d6bc.tar.gz KVIrc-06d84e592a226a7df83be55ad7150ff31d92d6bc.tar.bz2 KVIrc-06d84e592a226a7df83be55ad7150ff31d92d6bc.zip | |
more work on $log.export (wip)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5797 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/logview')
| -rw-r--r-- | src/modules/logview/LogFile.h | 13 | ||||
| -rw-r--r-- | src/modules/logview/LogViewWidget.cpp | 60 | ||||
| -rw-r--r-- | src/modules/logview/LogViewWidget.h | 22 | ||||
| -rw-r--r-- | src/modules/logview/LogViewWindow.cpp | 27 | ||||
| -rw-r--r-- | src/modules/logview/LogViewWindow.h | 12 | ||||
| -rw-r--r-- | src/modules/logview/libkvilogview.cpp | 16 |
6 files changed, 88 insertions, 62 deletions
diff --git a/src/modules/logview/LogFile.h b/src/modules/logview/LogFile.h index 6705ace26..cdf0b869a 100644 --- a/src/modules/logview/LogFile.h +++ b/src/modules/logview/LogFile.h @@ -27,7 +27,7 @@ /** * \file LogFile.h * \author Elvio Basello -* \brief +* \brief Describes a log file * * This file was originally part of LogViewWindow.h */ @@ -37,6 +37,17 @@ class QString; /** +* \typedef LogFileData +* \struct _LogFileData +* \brief A struct that contains the data of a log +*/ +typedef struct LogFileData +{ + QString szName; /**< the name of the log */ + QString szType; /**< the type of the log */ +} LogFileData; + +/** * \class LogFile * \brief The LogFile class which handle any log file * diff --git a/src/modules/logview/LogViewWidget.cpp b/src/modules/logview/LogViewWidget.cpp index 251041445..6a9314b66 100644 --- a/src/modules/logview/LogViewWidget.cpp +++ b/src/modules/logview/LogViewWidget.cpp @@ -25,7 +25,6 @@ #include "LogViewWidget.h" -//#include "kvi_debug.h" #include "KviLocale.h" #include "KviIconManager.h" #include "KviApplication.h" @@ -39,62 +38,61 @@ #include <zlib.h> #endif -LogListViewItem::LogListViewItem(QTreeWidgetItem * par, LogFile::Type type, LogFile * fileData) -: QTreeWidgetItem(par), m_eType(type), m_pFileData(fileData) +LogListViewItem::LogListViewItem(QTreeWidgetItem * pPar, LogFile::Type eType, LogFile * pLog) +: QTreeWidgetItem(pPar), m_eType(eType), m_pFileData(pLog) { setText(0,m_pFileData ? m_pFileData->name() : QString()); } -LogListViewItem::LogListViewItem(QTreeWidget * par, LogFile::Type type, LogFile * fileData) -: QTreeWidgetItem(par), m_eType(type), m_pFileData(fileData) +LogListViewItem::LogListViewItem(QTreeWidget * pPar, LogFile::Type eType, LogFile * pLog) +: QTreeWidgetItem(pPar), m_eType(eType), m_pFileData(pLog) { setText(0,m_pFileData ? m_pFileData->name() : QString()); } -LogListViewItemFolder::LogListViewItemFolder(QTreeWidgetItem * par, const QString& label) -: LogListViewItem(par,LogFile::Other,0) +LogListViewItemFolder::LogListViewItemFolder(QTreeWidgetItem * pPar, const QString & szLabel) +: LogListViewItem(pPar,LogFile::Other,0) { - setText(0,label); + setText(0,szLabel); } -LogListViewItemType::LogListViewItemType(QTreeWidget * par, LogFile::Type type) -: LogListViewItem(par,type,0) +LogListViewItemType::LogListViewItemType(QTreeWidget * pPar, LogFile::Type eType) +: LogListViewItem(pPar,eType,0) { QIcon icon; - QString text; + QString szText; switch(m_eType) { case LogFile::Channel: - icon= QIcon(*g_pIconManager->getSmallIcon(KviIconManager::Channel)); - text = __tr2qs_ctx("Channel","log"); - break; + icon = QIcon(*g_pIconManager->getSmallIcon(KviIconManager::Channel)); + szText = __tr2qs_ctx("Channel","log"); + break; case LogFile::Query: - icon= QIcon(*g_pIconManager->getSmallIcon(KviIconManager::Query)); - text = __tr2qs_ctx("Query","log"); - break; + icon = QIcon(*g_pIconManager->getSmallIcon(KviIconManager::Query)); + szText = __tr2qs_ctx("Query","log"); + break; case LogFile::DccChat: - icon= QIcon(*g_pIconManager->getSmallIcon(KviIconManager::DccMsg)); - text = __tr2qs_ctx("DCC Chat","log"); - break; + icon = QIcon(*g_pIconManager->getSmallIcon(KviIconManager::DccMsg)); + szText = __tr2qs_ctx("DCC Chat","log"); + break; case LogFile::Console: - icon= QIcon(*g_pIconManager->getSmallIcon(KviIconManager::Console)); - text = __tr2qs_ctx("Console","log"); - break; + icon = QIcon(*g_pIconManager->getSmallIcon(KviIconManager::Console)); + szText = __tr2qs_ctx("Console","log"); + break; default: - icon= QIcon(*g_pIconManager->getSmallIcon(KviIconManager::Help)); - text = __tr2qs_ctx("Other","log"); - break; + icon = QIcon(*g_pIconManager->getSmallIcon(KviIconManager::Help)); + szText = __tr2qs_ctx("Other","log"); } - setIcon(0, icon); - setText(0, text); + setIcon(0,icon); + setText(0,szText); } -LogListViewLog::LogListViewLog(QTreeWidgetItem * par, LogFile::Type type, LogFile * fileData) -: LogListViewItem(par,type,fileData) +LogListViewLog::LogListViewLog(QTreeWidgetItem * pPar, LogFile::Type eType, LogFile * pLog) +: LogListViewItem(pPar,eType,pLog) { - setText(0, m_pFileData->date().toString("yyyy-MM-dd")); + setText(0,m_pFileData->date().toString("yyyy-MM-dd")); } #ifndef COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/logview/LogViewWidget.h b/src/modules/logview/LogViewWidget.h index 618e201d6..371599140 100644 --- a/src/modules/logview/LogViewWidget.h +++ b/src/modules/logview/LogViewWidget.h @@ -34,9 +34,9 @@ class LogListViewItem : public QTreeWidgetItem { public: - LogListViewItem(QTreeWidgetItem * par, LogFile::Type type, LogFile * fileData); - LogListViewItem(QTreeWidget * par, LogFile::Type type, LogFile * fileData); - ~LogListViewItem() {}; + LogListViewItem(QTreeWidgetItem * pPar, LogFile::Type eType, LogFile * pLog); + LogListViewItem(QTreeWidget * pPar, LogFile::Type eType, LogFile * pLog); + ~LogListViewItem(){}; public: LogFile::Type m_eType; LogFile * m_pFileData; @@ -48,28 +48,28 @@ public: class LogListViewItemFolder : public LogListViewItem { public: - LogListViewItemFolder(QTreeWidgetItem * par, const QString& label); - ~LogListViewItemFolder() {}; + LogListViewItemFolder(QTreeWidgetItem * pPar, const QString & szLabel); + ~LogListViewItemFolder(){}; public: }; class LogListViewItemType : public LogListViewItem { public: - LogListViewItemType(QTreeWidget * par, LogFile::Type type); - ~LogListViewItemType() {}; + LogListViewItemType(QTreeWidget * pPar, LogFile::Type eType); + ~LogListViewItemType(){}; }; class LogListViewLog : public LogListViewItem { public: - LogListViewLog(QTreeWidgetItem * par, LogFile::Type type, LogFile * fileData); - ~LogListViewLog() {}; + LogListViewLog(QTreeWidgetItem * pPar, LogFile::Type eType, LogFile * pLog); + ~LogListViewLog(){}; virtual QString fileName() const { return m_pFileData->fileName(); }; protected: - bool operator<(const QTreeWidgetItem &other)const + bool operator<(const QTreeWidgetItem & other) const { - return m_pFileData->date() < ((LogListViewLog*)&other)->m_pFileData->date(); + return m_pFileData->date() < ((LogListViewLog *)&other)->m_pFileData->date(); } }; diff --git a/src/modules/logview/LogViewWindow.cpp b/src/modules/logview/LogViewWindow.cpp index 8ba981d7d..1b8351999 100644 --- a/src/modules/logview/LogViewWindow.cpp +++ b/src/modules/logview/LogViewWindow.cpp @@ -105,7 +105,7 @@ LogViewWindow::LogViewWindow(KviModuleExtensionDescriptor * pDesc, KviMainWindow m_pBottomLayout->setVisible(false); m_pIndexTab = new KviTalVBox(m_pTabWidget); - m_pTabWidget->addTab(m_pIndexTab,__tr2qs_ctx("HelpIndex","log")); + m_pTabWidget->addTab(m_pIndexTab,__tr2qs_ctx("Index","log")); m_pListView = new LogViewListView(m_pIndexTab); @@ -256,9 +256,9 @@ void LogViewWindow::recurseDirectory(const QString & szDir) if(info.isDir()) { // recursive - if(info.fileName()!=".." && info.fileName()!=".") + if((info.fileName() != "..") && (info.fileName() != ".")) recurseDirectory(info.filePath()); - } else if(info.suffix() == "gz" || info.suffix() == "log") + } else if((info.suffix() == "gz") || (info.suffix() == "log")) { m_logList.append(new LogFile(info.filePath())); } @@ -353,7 +353,7 @@ void LogViewWindow::filterNext() m_pLastCategory = new LogListViewItemType(m_pListView,pFile->type()); } - szCurGroup = QString(__tr2qs_ctx("%1 on %2","log")).arg(pFile->name(),pFile->network()); + szCurGroup = __tr2qs_ctx("%1 on %2","log").arg(pFile->name(),pFile->network()); if(m_szLastGroup != szCurGroup) { @@ -361,7 +361,7 @@ void LogViewWindow::filterNext() m_pLastGroupItem = 0; for(int i=0; i < m_pLastCategory->childCount(); ++i) { - LogListViewItemFolder * pTmp = (LogListViewItemFolder *) m_pLastCategory->child(i); + LogListViewItemFolder * pTmp = (LogListViewItemFolder *)m_pLastCategory->child(i); if(pTmp->text(0) == m_szLastGroup) { m_pLastGroupItem = pTmp; @@ -456,9 +456,9 @@ void LogViewWindow::deleteCurrent() { if(QMessageBox::question( this, - __tr2qs_ctx("Confirm current user log delete","log"), + __tr2qs_ctx("Confirm current user log deletion","log"), __tr2qs_ctx("Do you really wish to delete this log?","log"), - __tr2qs("&Yes"),__tr2qs("&No"),0,1) != 0) + __tr2qs("Yes"),__tr2qs("No"),0,1) != 0) return; QString szFname; @@ -474,9 +474,9 @@ void LogViewWindow::deleteCurrent() if(QMessageBox::question( this, - __tr2qs_ctx("Confirm current user logs delete","log"), + __tr2qs_ctx("Confirm current user logs deletion","log"), __tr2qs_ctx("Do you really wish to delete all these logs?","log"), - __tr2qs("&Yes"),__tr2qs("&No"),0,1) != 0) + __tr2qs("Yes"),__tr2qs("No"),0,1) != 0) return; KviPointerList<LogListViewItem> itemsList; itemsList.setAutoDelete(false); @@ -559,7 +559,7 @@ void LogViewWindow::exportLog(int iId) } } -void LogViewWindow::createLog(LogFile * pLog, int iId) +void LogViewWindow::createLog(LogFile * pLog, int iId, QString * pszFile) { if(!pLog) return; @@ -786,6 +786,13 @@ void LogViewWindow::createLog(LogFile * pLog, int iId) if(!log.open(QIODevice::WriteOnly | QIODevice::Text)) return; + if(pszFile) + { + *pszFile = ""; + QFileInfo info(log); + *pszFile = info.filePath(); + } + // Ensure we're writing in UTF-8 QTextStream output(&log); output.setCodec("UTF-8"); diff --git a/src/modules/logview/LogViewWindow.h b/src/modules/logview/LogViewWindow.h index c0b06027a..5a2748130 100644 --- a/src/modules/logview/LogViewWindow.h +++ b/src/modules/logview/LogViewWindow.h @@ -101,18 +101,18 @@ protected: bool m_bAborted; QTimer * m_pTimer; KviTalPopupMenu * m_pExportLogPopup; -protected: - void recurseDirectory(const QString & szDir); - void setupItemList(); - - +public: /** * \brief Exports the log and creates the file in the selected format * \param pLog The log file associated to the item selected in the popup * \param iId The id of the item in the popup + * \param pszFile The buffer where to store the exported log name * \return void */ - void createLog(LogFile * pLog, int iId); + void createLog(LogFile * pLog, int iId, QString * pszFile = 0); +protected: + void recurseDirectory(const QString & szDir); + void setupItemList(); virtual QPixmap * myIconPtr(); virtual void resizeEvent(QResizeEvent * pEvent); diff --git a/src/modules/logview/libkvilogview.cpp b/src/modules/logview/libkvilogview.cpp index abae5ea5b..309b6934d 100644 --- a/src/modules/logview/libkvilogview.cpp +++ b/src/modules/logview/libkvilogview.cpp @@ -5,6 +5,7 @@ // // This file is part of the KVIrc irc client distribution // Copyright (C) 2000-2010 Szymon Stefanek (pragma at kvirc dot net) +// Copyright (C) 2011 Elvio Basello (hellvis69 at gmail dot com) // // This program is FREE software. You can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -156,11 +157,20 @@ static bool logview_module_ctrl(KviModule *, const char * pcOperation, void * pP if(!g_pLogViewWindow) g_pLogViewWindow = new LogViewWindow(); */ - KviLogFileData * pLog = (KviLogFileData *)pParam; - if(!pLog) + + LogFileData * pData = (LogFileData *)pParam; + if(!pData) return false; - qDebug("name: %s - type: %s",pLog->szName.toUtf8().data(),pLog->szType.toUtf8().data()); + LogFile * pLog = new LogFile(pData->szName); + int iId = LogFile::PlainText; + if(pData->szType == "html") + iId = LogFile::HTML; + + QString szFile; + g_pLogViewWindow->createLog(pLog,iId,&szFile); + qDebug("FILE: %s",szFile.toUtf8().data()); + return true; } |
