diff options
| author | 2009-08-09 12:00:24 +0000 | |
|---|---|---|
| committer | 2009-08-09 12:00:24 +0000 | |
| commit | ffe338fd76ee7e7b6b042a16a0257fd92a443d3c (patch) | |
| tree | 5a0de4cd252c4957b51691199cdbefec3db219f8 | |
| parent | some fixes related to #504 (diff) | |
| download | KVIrc-ffe338fd76ee7e7b6b042a16a0257fd92a443d3c.tar.gz KVIrc-ffe338fd76ee7e7b6b042a16a0257fd92a443d3c.tar.bz2 KVIrc-ffe338fd76ee7e7b6b042a16a0257fd92a443d3c.zip | |
new option: directory to save logs (#371)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3405 17fca916-40b9-46aa-a4ea-0a15b648b75c
| -rw-r--r-- | src/kvirc/kernel/kvi_app.cpp | 13 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_app_fs.cpp | 17 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_options.cpp | 3 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_options.h | 3 | ||||
| -rw-r--r-- | src/modules/options/optw_logging.cpp | 12 |
5 files changed, 35 insertions, 13 deletions
diff --git a/src/kvirc/kernel/kvi_app.cpp b/src/kvirc/kernel/kvi_app.cpp index b038882bc..e04306fa4 100644 --- a/src/kvirc/kernel/kvi_app.cpp +++ b/src/kvirc/kernel/kvi_app.cpp @@ -1850,13 +1850,14 @@ void KviApp::heartbeat(kvi_time_t tNow) KVI_OPTION_UINT(KviOption_uintTotalConnectionTime)++; } - if (pTm && !pTm->tm_hour && !pTm->tm_min && !pTm->tm_sec) { + if (pTm && !pTm->tm_hour && !pTm->tm_min && !pTm->tm_sec) + { KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); - while(it.current()) { - if (it.current()->view() && it.current()->view()->isLogging()) - it.current()->view()->startLogging(0); - ++it; - } + while(it.current()) { + if (it.current()->view() && it.current()->view()->isLogging()) + it.current()->view()->startLogging(0); + ++it; + } } } diff --git a/src/kvirc/kernel/kvi_app_fs.cpp b/src/kvirc/kernel/kvi_app_fs.cpp index 486e16609..02f3399da 100644 --- a/src/kvirc/kernel/kvi_app_fs.cpp +++ b/src/kvirc/kernel/kvi_app_fs.cpp @@ -119,7 +119,22 @@ void KviApp::getLocalKvircDirectory(QString &szData,KvircSubdir dir,const QStrin case Config : szData.append("config"); break; case ConfigPlugins : szData.append("config"KVI_PATH_SEPARATOR"modules"); break; case ConfigScripts : szData.append("config"KVI_PATH_SEPARATOR"scripts"); break; - case Log : szData.append("log"); break; + case Log : + szData = KVI_OPTION_STRING(KviOption_stringLogsPath); + // we should take special care here + // the user is likely to mess the path behind our back + // try to recover from most common problems + while(szData.endsWith(KVI_PATH_SEPARATOR_CHAR)) + szData = szData.remove(szData.length()-1,1); + if(szData.isEmpty()) + { + szData = QDir::homePath(); + if(!szData.endsWith(QString(QChar(KVI_PATH_SEPARATOR_CHAR)))) + szData.append(KVI_PATH_SEPARATOR_CHAR); + szData.append("log"); + KVI_OPTION_STRING(KviOption_stringLogsPath) = szData; + } + break; case Incoming : szData = KVI_OPTION_STRING(KviOption_stringIncomingPath); // we should take special care here diff --git a/src/kvirc/kernel/kvi_options.cpp b/src/kvirc/kernel/kvi_options.cpp index 069409359..49a9d7169 100644 --- a/src/kvirc/kernel/kvi_options.cpp +++ b/src/kvirc/kernel/kvi_options.cpp @@ -395,7 +395,8 @@ KviStringOption g_stringOptionsTable[KVI_NUM_STRING_OPTIONS]= STRING_OPTION("OnQueryMessageSound","",KviOption_sectFlagFrame), STRING_OPTION("IrcViewTimestampFormat","[hh:mm:ss]",KviOption_sectFlagIrcView), STRING_OPTION("PreferredTorrentClient","auto",KviOption_sectFlagFrame), - STRING_OPTION("DefaultSrvEncoding","",KviOption_sectFlagFrame) + STRING_OPTION("DefaultSrvEncoding","",KviOption_sectFlagFrame), + STRING_OPTION("LogsPath","",KviOption_sectFlagUser | KviOption_encodePath) }; #define STRINGLIST_OPTION(_txt,_flags) \ diff --git a/src/kvirc/kernel/kvi_options.h b/src/kvirc/kernel/kvi_options.h index 8bc951934..2a803e183 100644 --- a/src/kvirc/kernel/kvi_options.h +++ b/src/kvirc/kernel/kvi_options.h @@ -392,8 +392,9 @@ DECLARE_OPTION_STRUCT(KviStringListOption,QStringList) #define KviOption_stringPreferredTorrentClient 56 /* still missing in options ! */ // empty string means guess from locale #define KviOption_stringDefaultSrvEncoding 57 /* server encoding */ +#define KviOption_stringLogsPath 58 /* logfolder */ -#define KVI_NUM_STRING_OPTIONS 58 +#define KVI_NUM_STRING_OPTIONS 59 diff --git a/src/modules/options/optw_logging.cpp b/src/modules/options/optw_logging.cpp index ddafc8a4a..638de5761 100644 --- a/src/modules/options/optw_logging.cpp +++ b/src/modules/options/optw_logging.cpp @@ -42,9 +42,8 @@ KviLoggingOptionsWidget::KviLoggingOptionsWidget(QWidget * parent) addBoolSelector(g,__tr2qs_ctx("Channel windows","options"),KviOption_boolAutoLogChannels); addBoolSelector(g,__tr2qs_ctx("DCC Chat windows","options"),KviOption_boolAutoLogDccChat); addBoolSelector(g,__tr2qs_ctx("Console windows","options"),KviOption_boolAutoLogConsole); -#ifdef COMPILE_ZLIB_SUPPORT - addBoolSelector(0,1,0,1,__tr2qs_ctx("Gzip logs","options"),KviOption_boolGzipLogs); -#endif + + addDirectorySelector(0,1,0,1,__tr2qs_ctx("Save logs to folder:","options"),KviOption_stringLogsPath); addBoolSelector(0,2,0,2,__tr2qs_ctx("Strip message type numbers in logs","options"),KviOption_boolStripMsgTypeInLogs); addBoolSelector(0,3,0,3,__tr2qs_ctx("Strip colors in logs","options"),KviOption_boolStripControlCodesInLogs); KviUIntSelector* us = addUIntSelector(0,4,0,4,__tr2qs_ctx("Auto flush logs every","options"),KviOption_uintAutoFlushLogs,0,99999,0); @@ -52,7 +51,12 @@ KviLoggingOptionsWidget::KviLoggingOptionsWidget(QWidget * parent) mergeTip(us, __tr2qs_ctx("<center>Save logs with the current interval<br>" \ "Set to 0 to disable this feature</center>","options")); - addRowSpacer(0,5,0,5); + +#ifdef COMPILE_ZLIB_SUPPORT + addBoolSelector(0,5,0,5,__tr2qs_ctx("Gzip logs","options"),KviOption_boolGzipLogs); +#endif + + addRowSpacer(0,6,0,6); } KviLoggingOptionsWidget::~KviLoggingOptionsWidget() |
