diff options
| author | 2006-12-18 01:34:15 +0000 | |
|---|---|---|
| committer | 2006-12-18 01:34:15 +0000 | |
| commit | c75b9f00eaeee4b8503ba662b3d7ccc9e1914096 (patch) | |
| tree | a5e7ee244fa4124588a114732c4ecbc248c7c199 /src/modules/logview | |
| parent | Switching from cvs to svn, initial import (diff) | |
| download | KVIrc-c75b9f00eaeee4b8503ba662b3d7ccc9e1914096.tar.gz KVIrc-c75b9f00eaeee4b8503ba662b3d7ccc9e1914096.tar.bz2 KVIrc-c75b9f00eaeee4b8503ba662b3d7ccc9e1914096.zip | |
Switching from cvs to svn, initial import
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@14 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/logview')
| -rw-r--r-- | src/modules/logview/.svnignore | 9 | ||||
| -rw-r--r-- | src/modules/logview/Makefile.am | 23 | ||||
| -rw-r--r-- | src/modules/logview/caps/.svnignore | 10 | ||||
| -rw-r--r-- | src/modules/logview/caps/Makefile.am | 9 | ||||
| -rw-r--r-- | src/modules/logview/caps/logview | 0 | ||||
| -rw-r--r-- | src/modules/logview/kvilogview.dsp | 157 | ||||
| -rw-r--r-- | src/modules/logview/kvilogview.dsw | 29 | ||||
| -rw-r--r-- | src/modules/logview/libkvilogview.cpp | 170 | ||||
| -rwxr-xr-x | src/modules/logview/logview.vcproj | 192 | ||||
| -rw-r--r-- | src/modules/logview/logview_vc05.vcproj | 283 | ||||
| -rw-r--r-- | src/modules/logview/logviewmdiwindow.cpp | 317 | ||||
| -rw-r--r-- | src/modules/logview/logviewmdiwindow.h | 65 | ||||
| -rw-r--r-- | src/modules/logview/logviewwidget.cpp | 52 | ||||
| -rw-r--r-- | src/modules/logview/logviewwidget.h | 76 |
14 files changed, 1392 insertions, 0 deletions
diff --git a/src/modules/logview/.svnignore b/src/modules/logview/.svnignore new file mode 100644 index 000000000..05942bc9e --- /dev/null +++ b/src/modules/logview/.svnignore @@ -0,0 +1,9 @@ +Makefile.in +Makefile +.deps +*.o +*.lo +*.la +*.moc +.libs +moc_editor.cpp diff --git a/src/modules/logview/Makefile.am b/src/modules/logview/Makefile.am new file mode 100644 index 000000000..03a1b07eb --- /dev/null +++ b/src/modules/logview/Makefile.am @@ -0,0 +1,23 @@ +############################################################################### +# KVirc IRC client Makefile - 3.23.2002 Juanjo Álvarez <juanjux@yahoo.es> +############################################################################### + +SUBDIRS = caps + +AM_CPPFLAGS = -I$(SS_TOPSRCDIR)/src/kvilib/include/ -I$(SS_TOPSRCDIR)/src/kvirc/include/ \ +$(SS_INCDIRS) $(SS_CPPFLAGS) -DGLOBAL_KVIRC_DIR=\"$(globalkvircdir)\" + +pluglib_LTLIBRARIES = libkvilogview.la + +libkvilogview_la_LDFLAGS = -module -avoid-version $(SS_LDFLAGS) $(SS_LIBDIRS) + +libkvilogview_la_SOURCES = libkvilogview.cpp logviewwidget.cpp logviewmdiwindow.cpp +libkvilogview_la_LIBADD = $(SS_LIBLINK) ../../kvilib/build/libkvilib.la + +noinst_HEADERS= logviewwidget.h logviewmdiwindow.h + +%.moc: %.h + $(SS_QT_MOC) $< -o $@ + +logviewwidget.cpp: logviewwidget.moc +logviewmdiwindow.cpp: logviewmdiwindow.moc diff --git a/src/modules/logview/caps/.svnignore b/src/modules/logview/caps/.svnignore new file mode 100644 index 000000000..3ebe7fb0c --- /dev/null +++ b/src/modules/logview/caps/.svnignore @@ -0,0 +1,10 @@ +Makefile.in +Makefile +.deps +*.o +*.lo +*.la +*.moc +.libs +.mospics +.pics
\ No newline at end of file diff --git a/src/modules/logview/caps/Makefile.am b/src/modules/logview/caps/Makefile.am new file mode 100644 index 000000000..13c803501 --- /dev/null +++ b/src/modules/logview/caps/Makefile.am @@ -0,0 +1,9 @@ +############################################################################### +# KVirc IRC client Makefile - 10.03.2000 Szymon Stefanek <stefanek@tin.it> +############################################################################### + +tmpdir = $(pluglibdir)/caps/tool/ + +tmp_DATA= logview + +EXTRA_DIST = $(tmp_DATA) diff --git a/src/modules/logview/caps/logview b/src/modules/logview/caps/logview new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/src/modules/logview/caps/logview diff --git a/src/modules/logview/kvilogview.dsp b/src/modules/logview/kvilogview.dsp new file mode 100644 index 000000000..ee76ef6cb --- /dev/null +++ b/src/modules/logview/kvilogview.dsp @@ -0,0 +1,157 @@ +# Microsoft Developer Studio Project File - Name="kvilogview" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=kvilogview - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "kvilogview.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "kvilogview.mak" CFG="kvilogview - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "kvilogview - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "kvilogview - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "kvilogview - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACTION_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /I "_$(QTDIR)\include" /I "$(QTDIR)\include" /I "..\..\kvilib\tal" /I "..\..\kvilib\system" /I "..\..\kvilib\irc" /I "..\..\kvilib\file" /I "..\..\kvilib\ext" /I "..\..\kvilib\net" /I "..\..\kvilib\core\wstring" /I "..\..\kvilib\core" /I "..\..\kvilib\config" /I "..\..\kvirc\kvs" /I "..\..\kvirc\module" /I "..\..\kvirc\uparser\scripttoolbar" /I "..\..\kvirc\uparser" /I "..\..\kvirc\sparser" /I "..\..\kvirc\kernel" /I "..\..\kvirc\ui" /I "C:\ssl" /I "C:\zlib\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACTION_EXPORTS" /D "QT_DLL" /D "QT_THREAD_SUPPORT" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x809 /d "NDEBUG" +# ADD RSC /l 0x809 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 imm32.lib wsock32.lib winmm.lib $(QTDIR)\lib\qt-mtnc321.lib $(QTDIR)\lib\qtmain.lib libeay32.lib SSLeay32.lib ws2_32.lib kvilib.lib kvirc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib C:\zlib\lib\zdll.lib /nologo /dll /machine:I386 /out:"..\..\..\win32build\bin\modules\kvilogview.dll" /libpath:"C:\OpenSSL\lib\VC" /libpath:"..\..\kvilib\Release" /libpath:"..\..\kvirc\Release" + +!ELSEIF "$(CFG)" == "kvilogview - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACTION_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "_$(QTDIR)\include" /I "$(QTDIR)\include" /I "..\..\kvilib\tal" /I "..\..\kvilib\system" /I "..\..\kvilib\irc" /I "..\..\kvilib\file" /I "..\..\kvilib\ext" /I "..\..\kvilib\net" /I "..\..\kvilib\core\wstring" /I "..\..\kvilib\core" /I "..\..\kvilib\config" /I "..\..\kvirc\kvs" /I "..\..\kvirc\module" /I "..\..\kvirc\uparser\scripttoolbar" /I "..\..\kvirc\uparser" /I "..\..\kvirc\sparser" /I "..\..\kvirc\kernel" /I "..\..\kvirc\ui" /I "C:\ssl" /I "C:\zlib\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACTION_EXPORTS" /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x809 /d "_DEBUG" +# ADD RSC /l 0x809 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 odbc32.lib odbccp32.lib $(QTDIR)\lib\qt-mtnc321.lib $(QTDIR)\lib\qtmain.lib libeay32.lib SSLeay32.lib ws2_32.lib kvilib.lib kvirc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib C:\zlib\lib\zdll.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\win32build\KviDebug\modules\kvilogview.dll" /pdbtype:sept /libpath:"C:\OpenSSL\lib\VC" /libpath:"..\..\kvilib\Debug" /libpath:"..\..\kvirc\Debug" + +!ENDIF + +# Begin Target + +# Name "kvilogview - Win32 Release" +# Name "kvilogview - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\libkvilogview.cpp +# End Source File +# Begin Source File + +SOURCE=.\logviewmdiwindow.cpp +# End Source File +# Begin Source File + +SOURCE=.\logviewwidget.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\logviewmdiwindow.h + +!IF "$(CFG)" == "kvilogview - Win32 Release" + +# Begin Custom Build +InputDir=. +InputPath=.\logviewmdiwindow.h +InputName=logviewmdiwindow + +"$(InputDir)\$(InputName).moc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + %qtdir%\bin\moc.exe $(InputDir)\$(InputName).h -o $(InputDir)\$(InputName).moc + +# End Custom Build + +!ELSEIF "$(CFG)" == "kvilogview - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\logviewwidget.h + +!IF "$(CFG)" == "kvilogview - Win32 Release" + +# Begin Custom Build +InputDir=. +InputPath=.\logviewwidget.h +InputName=logviewwidget + +"$(InputDir)\$(InputName).moc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + %qtdir%\bin\moc.exe $(InputDir)\$(InputName).h -o $(InputDir)\$(InputName).moc + +# End Custom Build + +!ELSEIF "$(CFG)" == "kvilogview - Win32 Debug" + +!ENDIF + +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/src/modules/logview/kvilogview.dsw b/src/modules/logview/kvilogview.dsw new file mode 100644 index 000000000..e27a4badf --- /dev/null +++ b/src/modules/logview/kvilogview.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "kvilogview"=.\kvilogview.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/src/modules/logview/libkvilogview.cpp b/src/modules/logview/libkvilogview.cpp new file mode 100644 index 000000000..f1f8035f5 --- /dev/null +++ b/src/modules/logview/libkvilogview.cpp @@ -0,0 +1,170 @@ +// +// File : libkvilogview.cpp +// Creation date : Sun Feb 10 2000 23:25:10 CEST by Juanjo �varez +// +// This file is part of the KVirc irc client distribution +// Copyright (C) 1999-2000 Szymon Stefanek (pragma at kvirc dot net) +// +// This program is FREE software. You can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your opinion) any later version. +// +// This program is distributed in the HOPE that it will be USEFUL, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, write to the Free Software Foundation, +// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// + +#include "logviewwidget.h" +#include "logviewmdiwindow.h" + +#include "kvi_config.h" + +#include "kvi_module.h" + +#include "kvi_frame.h" +#include "kvi_iconmanager.h" +#include "kvi_locale.h" +#include "kvi_app.h" + +static QRect g_rectLogViewGeometry; +KviLogViewMDIWindow * g_pLogViewWindow = 0; + +#define LOGVIEW_MODULE_EXTENSION_NAME "Log viewer extension" + +/* + @doc: logview.open + @type: + command + @title: + logview.open + @short: + Opens the log viewer window + @syntax: + logview.open [-m] [-n] + @switches: + !sw: -m + Causes the window to be created as minimized + !sw: -n + Causes the window to be not raised if already open + @description: + Opens a window that allows visual browsing of the logs + stored on disk. +*/ + +// ============================================ +// Module stuff +// ============================================ + +static bool logview_kvs_cmd_open(KviKvsModuleCommandCall * c) +{ + KviModuleExtensionDescriptor * d = c->module()->findExtensionDescriptor("tool",LOGVIEW_MODULE_EXTENSION_NAME); + if(d) + { + QDict<QVariant> dict(17,true); + dict.setAutoDelete(true); + QString dummy; + dict.replace("bCreateMinimized",new QVariant(c->hasSwitch('m',dummy))); + dict.replace("bNoRaise",new QVariant(c->hasSwitch('n',dummy))); + + d->allocate(c->window(),&dict,0); + } else { + c->warning("Ops.. internal error"); + } + return true; +} + +static KviModuleExtension * logview_extension_alloc(KviModuleExtensionAllocStruct * s) +{ + bool bCreateMinimized = false; + bool bNoRaise = false; + + if(!g_pLogViewWindow) + { + if(s->pParams) + { + if(QVariant * v = s->pParams->find("bCreateMinimized")) + { + if(v->isValid()) + { + if(v->type() == QVariant::Bool) + { + bCreateMinimized = v->toBool(); + } + } + } + } + + g_pLogViewWindow = new KviLogViewMDIWindow(s->pDescriptor,g_pFrame); + g_pFrame->addWindow(g_pLogViewWindow,!bCreateMinimized); + if(bCreateMinimized)g_pLogViewWindow->minimize(); + return g_pLogViewWindow; + } + + if(s->pParams) + { + if(QVariant * v = s->pParams->find("bNoRaise")) + { + if(v) + { + if(v->isValid() && v->type() == QVariant::Bool) + bNoRaise = v->toBool(); + } + } + } + + if(!bNoRaise)g_pLogViewWindow->delayedAutoRaise(); + return g_pLogViewWindow; +} + + +static bool logview_module_init(KviModule * m) +{ + g_pLogViewWindow = 0; + + KVSM_REGISTER_SIMPLE_COMMAND(m,"open",logview_kvs_cmd_open); + + + + KviModuleExtensionDescriptor * d = m->registerExtension("tool", + LOGVIEW_MODULE_EXTENSION_NAME, + __tr2qs_ctx("Browse &Log Files","logview"), + logview_extension_alloc); + + if(d)d->setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_LOG))); + + return true; +} + +static bool logview_module_cleanup(KviModule * m) +{ + if(g_pLogViewWindow)delete g_pLogViewWindow; + g_pLogViewWindow = 0; + return true; +} + +static bool logview_module_can_unload(KviModule *m) +{ + return (!g_pLogViewWindow); +} + + +// ============================================ +// module definition structure +// ============================================ + +KVIRC_MODULE( + "KVIrc Log Viewer Widget", + "1.0.0", + "Juanjo Alvarez <juanjux@yahoo.es>", + "An structured log file viewer", + logview_module_init, + logview_module_can_unload, + 0, + logview_module_cleanup +) diff --git a/src/modules/logview/logview.vcproj b/src/modules/logview/logview.vcproj new file mode 100755 index 000000000..e5006bd32 --- /dev/null +++ b/src/modules/logview/logview.vcproj @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="7.10" + Name="logview" + ProjectGUID="{0895E8B5-8A1B-4993-8DFE-BADDB5FC1415}" + Keyword="Win32Proj"> + <Platforms> + <Platform + Name="Win32"/> + </Platforms> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(SolutionDir)\win32build\bin\modules" + IntermediateDirectory="Debug" + ConfigurationType="2" + CharacterSet="2"> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=""$(ProjectDir)\..\..\kvirc\module";"$(ProjectDir)\..\..\kvilib\config";"$(QTDIR)\include";"$(ProjectDir)\..\..\kvilib\core";"$(ProjectDir)\..\..\kvilib\system";"$(ProjectDir)\..\..\kvirc\uparser";"$(ProjectDir)\..\..\kvilib\ext";"$(ProjectDir)\..\..\kvirc\kvs";"$(ProjectDir)\..\..\kvirc\ui";"$(ProjectDir)\..\..\kvirc\kernel";"$(ProjectDir)\..\..\kvilib\tal";"$(ProjectDir)\..\..\kvilib\irc";"$(ProjectDir)\..\..\kvilib\file";"$(ZLIBINCDIR)"" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LOGVIEW_EXPORTS" + MinimalRebuild="TRUE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="4"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="qt-mtnc321.lib qtmain.lib libeay32.lib SSLeay32.lib ws2_32.lib kvilib.lib kvirc.lib zlib.lib msvcrt.lib" + OutputFile="$(OutDir)/kvi$(ProjectName).dll" + LinkIncremental="2" + AdditionalLibraryDirectories=""$(SSLLIBDIR)";"$(QTDIR)\lib";"$(SolutionDir)\win32build\bin";"$(ZLIBLIBDIR)"" + IgnoreAllDefaultLibraries="TRUE" + GenerateDebugInformation="TRUE" + ProgramDatabaseFile="$(OutDir)/logview.pdb" + SubSystem="2" + ImportLibrary="$(OutDir)/logview.lib" + TargetMachine="1"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="$(SolutionDir)\win32build\bin\modules" + IntermediateDirectory="Release" + ConfigurationType="2" + CharacterSet="2"> + <Tool + Name="VCCLCompilerTool" + GlobalOptimizations="TRUE" + InlineFunctionExpansion="2" + FavorSizeOrSpeed="1" + OmitFramePointers="TRUE" + EnableFiberSafeOptimizations="TRUE" + AdditionalIncludeDirectories=""$(ProjectDir)\..\..\kvirc\module";"$(ProjectDir)\..\..\kvilib\config";"$(QTDIR)\include";"$(ProjectDir)\..\..\kvilib\core";"$(ProjectDir)\..\..\kvilib\system";"$(ProjectDir)\..\..\kvirc\uparser";"$(ProjectDir)\..\..\kvilib\ext";"$(ProjectDir)\..\..\kvirc\kvs";"$(ProjectDir)\..\..\kvirc\ui";"$(ProjectDir)\..\..\kvirc\kernel";"$(ProjectDir)\..\..\kvilib\tal";"$(ProjectDir)\..\..\kvilib\irc";"$(ProjectDir)\..\..\kvilib\file";"$(ZLIBINCDIR)"" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LOGVIEW_EXPORTS" + RuntimeLibrary="0" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="3"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="qt-mtnc321.lib qtmain.lib libeay32.lib SSLeay32.lib ws2_32.lib kvilib.lib kvirc.lib zlib.lib msvcrt.lib" + OutputFile="$(OutDir)/kvi$(ProjectName).dll" + LinkIncremental="1" + AdditionalLibraryDirectories=""$(SSLLIBDIR)";"$(QTDIR)\lib";"$(SolutionDir)\win32build\bin";"$(ZLIBLIBDIR)"" + IgnoreAllDefaultLibraries="TRUE" + GenerateDebugInformation="TRUE" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + OptimizeForWindows98="1" + ImportLibrary="$(OutDir)/logview.lib" + TargetMachine="1"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> + <File + RelativePath=".\libkvilogview.cpp"> + </File> + <File + RelativePath=".\logviewmdiwindow.cpp"> + </File> + <File + RelativePath=".\logviewwidget.cpp"> + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> + <File + RelativePath=".\logviewmdiwindow.h"> + <FileConfiguration + Name="Debug|Win32"> + <Tool + Name="VCCustomBuildTool" + CommandLine="$(QTDIR)\bin\moc -o "$(InputDir)\$(InputName).moc" "$(InputDir)\$(InputFileName)" +" + Outputs="$(InputDir)\$(InputName).moc"/> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32"> + <Tool + Name="VCCustomBuildTool" + CommandLine="$(QTDIR)\bin\moc -o "$(InputDir)\$(InputName).moc" "$(InputDir)\$(InputFileName)" +" + Outputs="$(InputDir)\$(InputName).moc"/> + </FileConfiguration> + </File> + <File + RelativePath=".\logviewwidget.h"> + <FileConfiguration + Name="Debug|Win32"> + <Tool + Name="VCCustomBuildTool" + CommandLine="$(QTDIR)\bin\moc -o "$(InputDir)\$(InputName).moc" "$(InputDir)\$(InputFileName)" +" + Outputs="$(InputDir)\$(InputName).moc"/> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32"> + <Tool + Name="VCCustomBuildTool" + CommandLine="$(QTDIR)\bin\moc -o "$(InputDir)\$(InputName).moc" "$(InputDir)\$(InputFileName)" +" + Outputs="$(InputDir)\$(InputName).moc"/> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/modules/logview/logview_vc05.vcproj b/src/modules/logview/logview_vc05.vcproj new file mode 100644 index 000000000..868a16d46 --- /dev/null +++ b/src/modules/logview/logview_vc05.vcproj @@ -0,0 +1,283 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8,00" + Name="logview" + ProjectGUID="{0895E8B5-8A1B-4993-8DFE-BADDB5FC1415}" + RootNamespace="logview" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(SolutionDir)\win32build\bin\modules\" + IntermediateDirectory="Debug" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=""$(ProjectDir)\..\..\kvirc\module";"$(ProjectDir)\..\..\kvilib\config";"$(QTDIR)\include";"$(ProjectDir)\..\..\kvilib\core";"$(ProjectDir)\..\..\kvilib\system";"$(ProjectDir)\..\..\kvirc\uparser";"$(ProjectDir)\..\..\kvilib\ext";"$(ProjectDir)\..\..\kvirc\kvs";"$(ProjectDir)\..\..\kvirc\ui";"$(ProjectDir)\..\..\kvirc\kernel";"$(ProjectDir)\..\..\kvilib\tal";"$(ProjectDir)\..\..\kvilib\irc";"$(ProjectDir)\..\..\kvilib\file";"$(ZLIBINCDIR)"" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LOGVIEW_EXPORTS;_CRT_SECURE_NO_DEPRECATE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="qt-$(QTTAG).lib qtmain.lib libeay32.lib SSLeay32.lib ws2_32.lib kvilib.lib kvirc.lib msvcrt.lib perl58.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib winmm.lib" + OutputFile="$(OutDir)/kvi$(ProjectName).dll" + LinkIncremental="2" + AdditionalLibraryDirectories=""$(SSLLIBDIR)";"$(PERLDIR)\lib\CORE";"$(QTDIR)\lib";"$(SolutionDir)\win32build\bin";"$(ZLIBLIBDIR)"" + GenerateManifest="true" + IgnoreAllDefaultLibraries="true" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(OutDir)/logview.pdb" + SubSystem="2" + TurnOffAssemblyGeneration="true" + ImportLibrary="$(OutDir)/logview.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + EmbedManifest="true" + VerboseOutput="true" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="$(SolutionDir)\win32build\bin\modules" + IntermediateDirectory="Release" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="1" + InlineFunctionExpansion="2" + EnableIntrinsicFunctions="true" + FavorSizeOrSpeed="2" + OmitFramePointers="true" + EnableFiberSafeOptimizations="true" + WholeProgramOptimization="true" + AdditionalIncludeDirectories=""$(ProjectDir)\..\..\kvirc\module";"$(ProjectDir)\..\..\kvilib\config";"$(QTDIR)\include";"$(ProjectDir)\..\..\kvilib\core";"$(ProjectDir)\..\..\kvilib\system";"$(ProjectDir)\..\..\kvirc\uparser";"$(ProjectDir)\..\..\kvilib\ext";"$(ProjectDir)\..\..\kvirc\kvs";"$(ProjectDir)\..\..\kvirc\ui";"$(ProjectDir)\..\..\kvirc\kernel";"$(ProjectDir)\..\..\kvilib\tal";"$(ProjectDir)\..\..\kvilib\irc";"$(ProjectDir)\..\..\kvilib\file";"$(ZLIBINCDIR)"" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LOGVIEW_EXPORTS;_CRT_SECURE_NO_DEPRECATE" + StringPooling="true" + MinimalRebuild="true" + ExceptionHandling="1" + RuntimeLibrary="0" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="qt-$(QTTAG).lib qtmain.lib libeay32.lib SSLeay32.lib ws2_32.lib kvilib.lib kvirc.lib msvcrt.lib perl58.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib winmm.lib" + OutputFile="$(OutDir)/kvi$(ProjectName).dll" + LinkIncremental="1" + AdditionalLibraryDirectories=""$(SSLLIBDIR)";"$(PERLDIR)\lib\CORE";"$(QTDIR)\lib";"$(SolutionDir)\win32build\bin";"$(ZLIBLIBDIR)"" + GenerateManifest="true" + IgnoreAllDefaultLibraries="true" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + OptimizeForWindows98="1" + LinkTimeCodeGeneration="1" + TurnOffAssemblyGeneration="true" + ImportLibrary="$(OutDir)/logview.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + EmbedManifest="true" + VerboseOutput="true" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\libkvilogview.cpp" + > + </File> + <File + RelativePath=".\logviewmdiwindow.cpp" + > + </File> + <File + RelativePath=".\logviewwidget.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath=".\logviewmdiwindow.h" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCustomBuildTool" + CommandLine="$(QTDIR)\bin\moc -o "$(InputDir)\$(InputName).moc" "$(InputDir)\$(InputFileName)"
" + Outputs="$(InputDir)\$(InputName).moc" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCustomBuildTool" + CommandLine="$(QTDIR)\bin\moc -o "$(InputDir)\$(InputName).moc" "$(InputDir)\$(InputFileName)"
" + Outputs="$(InputDir)\$(InputName).moc" + /> + </FileConfiguration> + </File> + <File + RelativePath=".\logviewwidget.h" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCustomBuildTool" + CommandLine="$(QTDIR)\bin\moc -o "$(InputDir)\$(InputName).moc" "$(InputDir)\$(InputFileName)"
" + Outputs="$(InputDir)\$(InputName).moc" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCustomBuildTool" + CommandLine="$(QTDIR)\bin\moc -o "$(InputDir)\$(InputName).moc" "$(InputDir)\$(InputFileName)"
" + Outputs="$(InputDir)\$(InputName).moc" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/src/modules/logview/logviewmdiwindow.cpp b/src/modules/logview/logviewmdiwindow.cpp new file mode 100644 index 000000000..fd3574b6d --- /dev/null +++ b/src/modules/logview/logviewmdiwindow.cpp @@ -0,0 +1,317 @@ +// +// File : logviewmdiwindow.cpp +// Creation date : Tue Apr 23 2002 18:08:22 by Juanjo �varez +// +// This file is part of the KVirc irc client distribution +// Copyright (C) 1999-2000 Szymon Stefanek (pragma at kvirc dot net) +// +// This program is FREE software. You can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your opinion) any later version. +// +// This program is distributed in the HOPE that it will be USEFUL, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, write to the Free Software Foundation, +// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// + +#include "logviewmdiwindow.h" +#include "logviewwidget.h" +#include "kvi_iconmanager.h" +#include "kvi_locale.h" +#include "kvi_module.h" +#include "kvi_options.h" +#include "kvi_frame.h" +#include "kvi_ircview.h" +#include "kvi_qstring.h" +#include "kvi_app.h" +#include "kvi_fileutils.h" + +#include <qpixmap.h> +#include <qsplitter.h> +#include <qtoolbutton.h> +#include <qlistview.h> +#include <qfileinfo.h> +#include <qdir.h> +#include <qpopupmenu.h> +#include <qcursor.h> + +#ifdef COMPILE_ZLIB_SUPPORT + #include <zlib.h> +#endif +#include <qtextcodec.h> + +extern KviLogViewMDIWindow * g_pLogViewWindow; + +KviLogViewMDIWindow::KviLogViewMDIWindow(KviModuleExtensionDescriptor * d,KviFrame * lpFrm) +: KviWindow(KVI_WINDOW_TYPE_LOGVIEW,lpFrm,"logview"), KviModuleExtension(d) +{ + g_pLogViewWindow = this; +// m_pLogViewWidget = new KviLogViewWidget(this); + m_pSplitter = new QSplitter(QSplitter::Horizontal,this,"main_splitter"); + + m_pTabWidget = new QTabWidget(m_pSplitter); + + m_pIndexTab = new QVBox(m_pTabWidget); + m_pTabWidget->insertTab(m_pIndexTab,__tr2qs_ctx("Index","logview")); + m_pListView = new QListView(m_pIndexTab); + m_pListView->addColumn(__tr2qs_ctx("Log File","logview"),135); + m_pListView->setColumnWidthMode(0,QListView::Maximum); + m_pListView->setAllColumnsShowFocus(true); + m_pListView->setMultiSelection(false); + m_pListView->setShowSortIndicator(true); + m_pListView->setRootIsDecorated(true); + connect(m_pListView,SIGNAL(selectionChanged(QListViewItem *)),this,SLOT(itemSelected(QListViewItem *))); + connect(m_pListView,SIGNAL(rightButtonClicked ( QListViewItem * , const QPoint &, int )),this,SLOT(rightButtonClicked ( QListViewItem * , const QPoint &, int ))); + + //m_pSearchTab = new QVBox(m_pTabWidget); + //m_pTabWidget->insertTab(m_pSearchTab,__tr2qs_ctx("Search","logview")); + + m_pIrcView = new KviIrcView(m_pSplitter,g_pFrame,this); + m_pIrcView->setFocusPolicy(QWidget::ClickFocus); + + QValueList<int> li; + li.append(110); + li.append(width()-110); + m_pSplitter->setSizes(li); + + g_pApp->getLocalKvircDirectory(m_szLogDirectory,KviApp::Log); + KviQString::ensureLastCharIs(m_szLogDirectory,'/'); // Does this work on Windows? + + oneTimeSetup(); +} + + + +KviLogViewMDIWindow::~KviLogViewMDIWindow() +{ + g_pLogViewWindow = 0; +} + +QPixmap * KviLogViewMDIWindow::myIconPtr() +{ + return g_pIconManager->getSmallIcon(KVI_SMALLICON_LOG); +} + + +void KviLogViewMDIWindow::resizeEvent(QResizeEvent *e) +{ + m_pSplitter->setGeometry(0,0,width(),height()); +} + +void KviLogViewMDIWindow::fillCaptionBuffers() +{ + m_szPlainTextCaption = __tr2qs_ctx("Log Viewer","logview"); + + m_szHtmlActiveCaption = QString("<nobr><font color=\"%1\"><b>").arg(KVI_OPTION_COLOR(KviOption_colorCaptionTextActive).name().ascii()); + m_szHtmlActiveCaption.append(m_szPlainTextCaption); + m_szHtmlActiveCaption.append("</b></font></nobr>"); + + m_szHtmlInactiveCaption = QString("<nobr><font color=\"%1\"><b>").arg(KVI_OPTION_COLOR(KviOption_colorCaptionTextInactive).name().ascii()); + m_szHtmlInactiveCaption.append(m_szPlainTextCaption); + m_szHtmlInactiveCaption.append("</b></font></nobr>"); +} + +void KviLogViewMDIWindow::die() +{ + close(); +} + +QSize KviLogViewMDIWindow::sizeHint() const +{ + QSize ret(m_pSplitter->sizeHint().width(),m_pIrcView->sizeHint().height()); + return ret; +} + +void KviLogViewMDIWindow::oneTimeSetup() +{ + m_pListView->clear(); + KviStr tmp, lastTypeToken, lastNameToken; + QString szFname; + KviStr typeToken, nameToken, dateToken; + lastTypeToken = ""; + lastNameToken = ""; + + KviLogListViewItemType * typeNode; + KviLogListViewItemType * lastTypeNode = 0; + KviLogListViewItem * nameNode; + KviLogListViewItem * lastNameNode = 0; + KviLogListViewLog * logNode; + + QStringList m_pFileNames = getFileNames(); + m_pFileNames.sort(); + + for(QStringList::Iterator it = m_pFileNames.begin(); it != m_pFileNames.end(); ++it) + { + szFname=(*it); + QFileInfo fi(szFname); + if(fi.extension(false)=="tmp") + continue; +#ifdef COMPILE_ZLIB_SUPPORT + if(fi.extension(false)=="gz") + tmp = fi.baseName(true); + else +#endif + tmp = szFname; + typeToken = tmp.getToken('_'); + // Ignore non-logs files, this includes '.' and '..' + if( (!kvi_strEqualCI(typeToken.ptr(),"channel")) && (!kvi_strEqualCI(typeToken.ptr(),"console")) && (!kvi_strEqualCI(typeToken.ptr(),"dccchat")) && (!kvi_strEqualCI(typeToken.ptr(),"query")) ) + continue; + + // <type>_<name>.<network>_<date>.log + + KviStr undecoded = tmp.getToken('.'); + nameToken.hexDecode(undecoded.ptr()); + + int idx = tmp.findFirstIdx("_2"); + if(idx != -1) + { + undecoded = tmp.left(idx); + tmp.cutLeft(idx + 1); + } else + undecoded = tmp.getToken('_'); + + KviStr network; + network.hexDecode(undecoded.ptr()); + nameToken.append("@"); + nameToken.append(network); + dateToken.hexDecode(tmp.ptr()); + dateToken.cutRight(4); // '.log' + + if(typeToken == "dccchat") // 'ip.add.r_ip.add.r_' + { + dateToken.getToken('_');dateToken.getToken('_'); + } + if(typeToken == lastTypeToken) + { + if(nameToken == lastNameToken) + logNode = new KviLogListViewLog(lastNameNode, dateToken.ptr(),(*it).ascii(),lastNameToken.ptr()); + else // New name node (channel-#kvirc, query-Kane,...) + { + lastNameToken = nameToken; + nameNode = new KviLogListViewItem(lastTypeNode,typeToken.ptr(),nameToken.ptr()); + lastNameNode = nameNode; + + logNode = new KviLogListViewLog(lastNameNode, dateToken.ptr(),(*it).ascii(),lastNameToken.ptr()); + } + }else // New type node (channel, query...) + { + lastTypeToken = typeToken; + typeNode = new KviLogListViewItemType(m_pListView,typeToken.ptr()); + lastTypeNode = typeNode; + + lastNameToken = nameToken; + nameNode = new KviLogListViewItem(lastTypeNode,typeToken.ptr(),nameToken.ptr()); + lastNameNode = nameNode; + + logNode = new KviLogListViewLog(lastNameNode,dateToken.ptr(),(*it).ascii(),lastNameToken.ptr()); + } + } +} + +void KviLogViewMDIWindow::itemSelected(QListViewItem * it) +{ + bool bCompressed=0; + //A parent node + m_pIrcView->clearBuffer(); + if(!it || !it->parent() || (((KviLogListViewItem *)it)->fileName(0).isEmpty())) + { + return; + } + + if(((KviLogListViewItem *)it)->fileName(0).isEmpty())return; + + KviStr logName = m_szLogDirectory; + QFile logFile; + QString text; + logName.append(((KviLogListViewLog *)it)->fileName(0)); + QFileInfo fi(QString(logName.ptr())); +#ifdef COMPILE_ZLIB_SUPPORT + if(fi.extension(false)=="gz") + { + gzFile file=gzopen(QTextCodec::codecForLocale()->fromUnicode(logName.ptr()).data(),"rb"); + if(file) + { + char buff[1025]; + int len; + QCString data; + len=gzread(file,buff,1024); + while(len>0) + { + buff[len]=0; + data.append(buff); + len=gzread(file,buff,1024); + } + gzclose(file); + text = QString::fromUtf8(data); + } else { + debug("Cannot open compressed file %s",logName.ptr()); + } + } else { +#endif + logFile.setName(QString::fromUtf8(logName.ptr())); + + if(!logFile.open(IO_ReadOnly)) + return; + + QByteArray bytes; + bytes=logFile.readAll(); + text = QString::fromUtf8(bytes.data(), bytes.size()); + logFile.close(); +#ifdef COMPILE_ZLIB_SUPPORT + } +#endif + QStringList lines=QStringList::split('\n',text); + bool bOk; + int iMsgType; + for ( QStringList::Iterator it = lines.begin(); it != lines.end(); ++it ) { + QString num=(*it).section(' ',0,0); + iMsgType=num.toInt(&bOk); + if(bOk) + outputNoFmt(iMsgType,(*it).section(' ',1),KviIrcView::NoRepaint | KviIrcView::NoTimestamp); + else + outputNoFmt(0,*it,KviIrcView::NoRepaint | KviIrcView::NoTimestamp); + } + m_pIrcView->repaint(false); +} + +QStringList KviLogViewMDIWindow::getFileNames() +{ + QString logPath; + g_pApp->getLocalKvircDirectory(logPath,KviApp::Log); + QString qPath(logPath); + QDir logDir(qPath); + return logDir.entryList(); +} + +void KviLogViewMDIWindow::rightButtonClicked ( QListViewItem * it, const QPoint &, int ) +{ + if(!it) return; + if(((KviLogListViewItem *)it)->fileName(0).isEmpty()) return; + QPopupMenu* popup = new QPopupMenu(this); + popup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_QUIT)),__tr2qs_ctx("Remove file","logview"),this,SLOT(deleteCurrent())); + popup->exec( QCursor::pos() ); +} + +void KviLogViewMDIWindow::deleteCurrent() +{ + KviLogListViewItem* pItem = (KviLogListViewItem *)(m_pListView->currentItem()); + if(pItem) + { + if(!pItem->fileName(0).isNull()) + { + QString szFname; + g_pApp->getLocalKvircDirectory(szFname,KviApp::Log,pItem->fileName(0)); + KviFileUtils::removeFile(szFname); + delete pItem; + m_pIrcView->clearBuffer(); + } + } +} + +#include "logviewmdiwindow.moc" diff --git a/src/modules/logview/logviewmdiwindow.h b/src/modules/logview/logviewmdiwindow.h new file mode 100644 index 000000000..1f47fb093 --- /dev/null +++ b/src/modules/logview/logviewmdiwindow.h @@ -0,0 +1,65 @@ +#ifndef _LOGVIEWMDIWINDOW_H_ +#define _LOGVIEWMDIWINDOW_H_ +// +// File : logviewmdiwindow.h +// Creation date : Tue Apr 23 2002 18:05:59 by Juanjo �varez +// +// This file is part of the KVirc irc client distribution +// Copyright (C) 1999-2002 Szymon Stefanek (pragma at kvirc dot net) +// +// This program is FREE software. You can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your opinion) any later version. +// +// This program is distributed in the HOPE that it will be USEFUL, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, write to the Free Software Foundation, +// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// + +#include "kvi_window.h" +#include "kvi_moduleextension.h" + +#include <qvbox.h> +#include <qtabwidget.h> + +class QListView; +class QStringList; +class QListViewItem; +class KviLogViewWidget; + +class KviLogViewMDIWindow : public KviWindow , public KviModuleExtension +{ + Q_OBJECT +public: + KviLogViewMDIWindow(KviModuleExtensionDescriptor * d,KviFrame * lpFrm); + ~KviLogViewMDIWindow(); +protected: + QListView * m_pListView; + QStringList * m_pFileNames; + QString m_szLogDirectory; + QTabWidget * m_pTabWidget; + QVBox * m_pIndexTab; + QVBox * m_pSearchTab; +protected: + QStringList getFileNames(); + + void oneTimeSetup(); + + virtual QPixmap * myIconPtr(); + virtual void resizeEvent(QResizeEvent *e); + virtual void fillCaptionBuffers(); + virtual void die(); + virtual QSize sizeHint() const; +protected slots: + void rightButtonClicked ( QListViewItem *, const QPoint &, int ); + void itemSelected(QListViewItem * it); + void deleteCurrent(); +}; + +#endif //_LOGVIEWMDIWINDOW_H_ diff --git a/src/modules/logview/logviewwidget.cpp b/src/modules/logview/logviewwidget.cpp new file mode 100644 index 000000000..87888288f --- /dev/null +++ b/src/modules/logview/logviewwidget.cpp @@ -0,0 +1,52 @@ +// +// File : logviewwidget.cpp +// Creation date : Thu Apr 23 2002 17:42:12 by Juanjo �varez +// +// This file is part of the KVirc irc client distribution +// Copyright (C) 1999-2000 Szymon Stefanek (pragma at kvirc dot net) +// +// This program is FREE software. You can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your opinion) any later version. +// +// This program is distributed in the HOPE that it will be USEFUL, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, write to the Free Software Foundation, +// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// + +#include "logviewwidget.h" + +#include <qsplitter.h> +#include <qlayout.h> +#include <qdir.h> + +//#include "kvi_debug.h" +#include "kvi_locale.h" +#include "kvi_iconmanager.h" +#include "kvi_app.h" + +#include "kvi_qstring.h" +#ifdef COMPILE_ZLIB_SUPPORT + #include <zlib.h> +#endif +#include <qtextcodec.h> + +const QPixmap * KviLogListViewItemType::pixmap(int col) const +{ + if(KviQString::equalCI(m_szTypeName,"channel")) + return g_pIconManager->getSmallIcon(KVI_SMALLICON_CHANNEL); + else if(KviQString::equalCI(m_szTypeName,"query")) + return g_pIconManager->getSmallIcon(KVI_SMALLICON_QUERY); + else if(KviQString::equalCI(m_szTypeName,"dcc")) + return g_pIconManager->getSmallIcon(KVI_SMALLICON_DCCMSG); + else + return g_pIconManager->getSmallIcon(KVI_SMALLICON_CONSOLE); +} + +#include "logviewwidget.moc" diff --git a/src/modules/logview/logviewwidget.h b/src/modules/logview/logviewwidget.h new file mode 100644 index 000000000..f97c98598 --- /dev/null +++ b/src/modules/logview/logviewwidget.h @@ -0,0 +1,76 @@ +#ifndef _LOGVIEWWIDGET_H_ +#define _LOGVIEWWIDGET_H_ + +// +// File : logviewwidget.h +// Creation date : Thue Apr 23 2002 03:01:53 CET by Juanjo �varez +// +// This file is part of the KVirc irc client distribution +// Copyright (C) 2002-2003 Szymon Stefanek (pragma at kvirc dot net) +// +// This program is FREE software. You can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your opinion) any later version. +// +// This program is distributed in the HOPE that it will be USEFUL, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, write to the Free Software Foundation, +// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// + +#include "kvi_window.h" +#include "kvi_scripteditor.h" + +#include <qlistview.h> + + +class KviScriptEditor; + +class KviLogListViewItem : public QListViewItem +{ +public: + KviLogListViewItem(QListViewItem * par, const QString & typeName, const QString & name) + : QListViewItem(par), m_szTypeName(typeName), m_szName(name) {}; + KviLogListViewItem(QListView * par, const QString & typeName, const QString & name) + : QListViewItem(par), m_szTypeName(typeName), m_szName(name) {}; + ~KviLogListViewItem() {}; +public: + QString m_szTypeName; + QString m_szName; + virtual QString fileName(int col) const { return QString::null; }; + virtual QString text(int col) const { return m_szName; }; +}; + + +class KviLogListViewItemType : public KviLogListViewItem +{ +public: + KviLogListViewItemType(QListView * par, const QString & typeName) + : KviLogListViewItem(par,typeName,typeName) {}; + ~KviLogListViewItemType() {}; +public: + virtual const QPixmap * pixmap(int col) const; +}; + + +class KviLogListViewLog : public KviLogListViewItem +{ +public: + KviLogListViewLog(QListViewItem * par,const QString & date, const QString & fileName, const QString & owner) + : KviLogListViewItem(par,"",date), m_szFileName(fileName), m_szOwner(owner) {}; + ~KviLogListViewLog() {}; +public: + QString m_szFileName; + QString m_szOwner; + virtual QString fileName(int col) const { return m_szFileName; }; + virtual QString owner(int col) const { return m_szOwner; }; +}; + + +#endif + |
