aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/logview
diff options
context:
space:
mode:
authorGravatar Noldor2010-03-17 17:16:07 +0000
committerGravatar Noldor2010-03-17 17:16:07 +0000
commit00fa69bba3433896a2f81e0c62d7cb99313ecb93 (patch)
tree6e40d19ba44c13b774030275835726758f65adc5 /src/modules/logview
parentfixed halt in ctcp version reply event (diff)
downloadKVIrc-00fa69bba3433896a2f81e0c62d7cb99313ecb93.tar.gz
KVIrc-00fa69bba3433896a2f81e0c62d7cb99313ecb93.tar.bz2
KVIrc-00fa69bba3433896a2f81e0c62d7cb99313ecb93.zip
Improvements in logview module
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4146 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/logview')
-rw-r--r--src/modules/logview/logviewmdiwindow.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/modules/logview/logviewmdiwindow.cpp b/src/modules/logview/logviewmdiwindow.cpp
index f000ecbd8..861a08532 100644
--- a/src/modules/logview/logviewmdiwindow.cpp
+++ b/src/modules/logview/logviewmdiwindow.cpp
@@ -54,6 +54,7 @@
#include <QShortcut>
#include <QMouseEvent>
#include <QByteArray>
+#include <QMessageBox>
#ifdef COMPILE_ZLIB_SUPPORT
#include <zlib.h>
@@ -366,9 +367,11 @@ void KviLogViewMDIWindow::rightButtonClicked ( QTreeWidgetItem * it, const QPoin
if(!it) return;
m_pListView->setCurrentItem(it);
- if(((KviLogListViewItem *)it)->fileName().isEmpty()) return;
KviTalPopupMenu* popup = new KviTalPopupMenu(this);
- popup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_QUIT)),__tr2qs_ctx("Remove file","logview"),this,SLOT(deleteCurrent()));
+ if(((KviLogListViewItem *)it)->childCount())
+ popup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_QUIT)),__tr2qs_ctx("Remove all this channel/query logs file","logview"),this,SLOT(deleteCurrent()));
+ else popup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_QUIT)),__tr2qs_ctx("Remove file","logview"),this,SLOT(deleteCurrent()));
+
popup->exec( QCursor::pos() );
}
@@ -377,6 +380,27 @@ void KviLogViewMDIWindow::deleteCurrent()
KviLogListViewItem* pItem = (KviLogListViewItem *)(m_pListView->currentItem());
if(pItem)
{
+ if (pItem->childCount())
+ {
+ if(QMessageBox::question(
+ this,
+ __tr2qs("Confirm current user logs delete"),
+ "Do you really wish to delete all this channel/query logs", __tr2qs("&Yes"), __tr2qs("&No"),0,1
+ ) != 0) return;
+ for(int i=0;i<pItem->childCount();i++)
+ {
+ KviLogListViewItem *pCurItem=(KviLogListViewItem *)pItem->child(i);
+ if(!pCurItem->fileName().isNull())
+ {
+ QString szFname;
+ g_pApp->getLocalKvircDirectory(szFname,KviApp::Log,pCurItem->fileName());
+ KviFileUtils::removeFile(szFname);
+ delete pCurItem;
+ }
+ }
+ delete pItem;
+ return;
+ }
if(!pItem->fileName().isNull())
{
QString szFname;
@@ -384,6 +408,7 @@ void KviLogViewMDIWindow::deleteCurrent()
KviFileUtils::removeFile(szFname);
delete pItem;
m_pIrcView->clearBuffer();
+ if (!pItem->parent()->childCount()) delete pItem->parent();
}
}
}