summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am2
-rw-r--r--src/about/Makefile.am2
-rw-r--r--src/about/aboutklamav.html127
-rw-r--r--src/about/klamav.css9
-rw-r--r--src/about/top-right-klamav.pngbin0 -> 46099 bytes
-rw-r--r--src/aboutklamav.cpp154
-rw-r--r--src/aboutklamav.h134
-rw-r--r--src/klamav.cpp8
-rw-r--r--src/main.cpp15
-rwxr-xr-xsrc/welcome.cpp87
-rwxr-xr-xsrc/welcome.h54
11 files changed, 236 insertions, 356 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index eb5358e..284dd28 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -23,7 +23,7 @@ klamav_LDADD = $(LIB_TQT) $(LIB_TDECORE) -lDCOP $(LIB_TDEIO) $(LIB_TDEUI) $(LI
# which sources should be compiled for klamav
klamav_SOURCES = main.cpp klamav.cpp freshklam.cpp sigtool.cpp klamscan.cpp \
- kuarantine.cpp aboutklamav.cpp dbviewer.cpp \
+ kuarantine.cpp welcome.cpp dbviewer.cpp \
frame.cpp tabwidget.cpp viewer.cpp pageviewer.cpp klamav_run.cpp dcopklamscan.skel \
directorylist.cpp scanviewer.cpp schedule.cpp datepicker.cpp cthost.cpp \
ctcron.cpp ctmonth.cpp ctdom.cpp ctdow.cpp cttask.cpp ctvariable.cpp \
diff --git a/src/about/Makefile.am b/src/about/Makefile.am
index 83dd1bd..d6c474e 100644
--- a/src/about/Makefile.am
+++ b/src/about/Makefile.am
@@ -3,6 +3,8 @@ about_DATA = \
wait.html \
nodb.html \
aboutklamav.html \
+ klamav.css \
+ top-right-klamav.png \
klam.png
aboutdir = $(kde_datadir)/klamav/about
diff --git a/src/about/aboutklamav.html b/src/about/aboutklamav.html
index 6ce8868..824a202 100644
--- a/src/about/aboutklamav.html
+++ b/src/about/aboutklamav.html
@@ -1,64 +1,71 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
-"http://www.w3.org/TR/REC-html40/loose.dtd"><HTML>
-<HEAD>
-<meta name="description" content="" />
-<meta name="author" content="Hans de Raad"/>
-<meta name="keywords" content="KlamAV, Anti-Virus, AV, Linux, KDE, ClamAV, Freshklam, GUI" />
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<link rel="shortcut icon" HREF="http://klamav.sf.net/favicon.ico" />
-<TITLE>KlamAV</TITLE>
-<STYLE>BODY {color: black;
- font-size: 10pt;
- margin-left: 5%;
- margin-right: 5%;
- }
-.KANormal {
- font-size: 9pt;
- color: black;
- }
-.KASmall {
- font-size: 8pt;
- color: black;
- }
-A:LINK {
- font-size: 9pt;
- color: black;
- }
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-A:VISITED {
- font-size: 9pt;
- color: black}
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta name="generator" content=
+ "HTML Tidy for Linux/x86 (vers 1st August 2004), see www.w3.org" />
-A:HOVER {
- font-size: 9pt;
- font-weight: bold;
- color: #FFFFFF;
- background-color: #000000;
- } </STYLE>
-</HEAD>
-<BODY>
-<table><tr><td><img src=klam.png width=100 height=100></td><td><h2>KlamAV Anti-Virus Manager</H2></td></tr></table><table width=100% height=100%><tr><td class=KASmall align=left valign=top width=25% height=100%><a href="http://klamav.sourceforge.net/index.php?content=ka_home"><b>Home</b></a><br><a href="http://klamav.sourceforge.net/index.php?content=ka_news"><b>News</b></a><br><a href="https://sourceforge.net/project/showfiles.php?group_id=102171"><b>Download KlamAV</b></a><br><a href="https://sourceforge.net/project/showfiles.php?group_id=86638"><b>Download ClamAV</b></a><br><a href="http://klamav.sourceforge.net/index.php?content=ka_security_notes"><b>Security Notes</b></a><br><br><br><br><br><p class=KANormal></p><br><br><br><br><br><br></td><td class=KANormal align=left valign=top width=75% height=100%>
-<p class=KANormal>
-<a href="http://klamav.sf.net"><b>KlamAV</b></a> <br>
-(c) Robert Hogan 2004 - 2006 <a href="mailto:hoganrobert@users.sf.net">(hoganrobert@users.sf.net)</a> <br> <br>
+ <style type="text/css">
+ /*<![CDATA[*/
+ @import "%1"; /* klamav.css */
+ @import "%1"; /* kde_infopage.css */
+ %1 /* maybe @import "kde_infopage_rtl.css"; */
+ /*]]>*/
+ </style>
-Translations:<br>
- Russian (c) Vitaly Lipatov 2005<br>
- German (c) Marc Hansen 2005<br>
- Brazilian Portugese (c) rfsalomon 2005<br>
- Spanish (c) Carlos A. Lozano 2005<br>
- Italian (c) anon 2005<br>
- Polish (c) Marcin Lapaj 2005 <br>
- Hungarian (c) Tamas Szanto 2006<br>
- Czech (c) Tomas Klos 2005<br>
- French (c) Vincent Loison 2006<br>
- Turkish (c) Engin Çağatay, Volkan Güney<br>
-<br>
-<a href="http://www.clamav.net"><b>ClamAV</b></a> <br>
-(c) The ClamAV team 2005<br> <br>
-<br>
-<a href="http://www.viruspool.net"><b>VirusPool</b></a> <br>
-(c) Hugo van der Kooij 2006<br> <br>
+ <title>%1</title>
+</head>
-</td></tr></table>
-</BODY></HTML> \ No newline at end of file
+<body>
+ <div id="header">
+ <div id="headerL"></div>
+ <div id="headerCenter"></div>
+ <div id="headerR"></div>
+
+ <div id="title">
+ %1 <!-- KlamAV -->
+ </div>
+
+ <div id="tagline">
+ %1 <!-- version number -->
+ </div>
+ </div>
+
+ <!-- the bar -->
+ <div id="bar">
+ <div id="barT"><div id="barTL"></div><div id="barTR"></div><div id="barTC"></div></div>
+ <div id="barL">
+ <div id="barR">
+ <div id="barCenter" class="bar_text">
+ %1
+ </div>
+ </div>
+ </div>
+ <div id="barB"><div id="barBL"></div><div id="barBR"></div><div id="barBC"></div></div>
+ </div>
+
+ <!-- the main text box -->
+ <div id="box">
+ <div id="boxT"><div id="boxTL"></div><div id="boxTR"></div><div id="boxTC"></div></div>
+ <div id="boxL">
+ <div id="boxR">
+ <div id="boxCenter">
+ %1 <!-- KlamAV provides: -->
+ <ul>
+ <li>%1</li>
+ <li>%1</li>
+ <li>%1</li>
+ <li>%1</li>
+ <li>%1</li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div id="boxB"><div id="boxBL"></div><div id="boxBR"></div><div id="boxBC"></div></div>
+ </div>
+
+ <div id="footer"><div id="footerL"></div><div id="footerR"></div></div>
+</body>
+</html>
diff --git a/src/about/klamav.css b/src/about/klamav.css
new file mode 100644
index 0000000..ead11cd
--- /dev/null
+++ b/src/about/klamav.css
@@ -0,0 +1,9 @@
+#headerR {
+ width: 430px;
+ height: 131px;
+ background-image: url(top-right-klamav.png);
+}
+
+ul {
+ margin-bottom: 0;
+} \ No newline at end of file
diff --git a/src/about/top-right-klamav.png b/src/about/top-right-klamav.png
new file mode 100644
index 0000000..53919ea
--- /dev/null
+++ b/src/about/top-right-klamav.png
Binary files differ
diff --git a/src/aboutklamav.cpp b/src/aboutklamav.cpp
deleted file mode 100644
index 793b1f4..0000000
--- a/src/aboutklamav.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2004 Robert Hogan <robert at roberthogan dot net>
- */
-
-#include "aboutklamav.h"
-#include "pageviewer.h"
-#include "tabwidget.h"
-#include "version.h"
-
-#include <tdelocale.h>
-
-#include <kstandarddirs.h>
-#include <kstandarddirs.h>
-
-#include <tqlayout.h>
-
-
-using namespace KlamAV;
-
-Aboutklamav::Aboutklamav(TQWidget *parent, const char *name)
- : TQWidget(parent, name)
-{
-
-// TQString location = locate("data", "klamav/about/klam.png");
-// TQPixmap image0;
-// TQImage img;
-//
-// //img.loadFromData( image0_data, sizeof( image0_data ), "PNG" );
-// img.load(location,"PNG");
-// image0 = img;
-
-
- TQVBoxLayout *vbox = new TQVBoxLayout(this, KDialog::marginHint(),
- KDialog::spacingHint(), "vbox");
-
- TQWidget* privateLayoutWidget = new TQWidget( this, "dblayout" );
- vbox->addWidget(privateLayoutWidget);
-
- TQGridLayout* dblayout = new TQGridLayout( privateLayoutWidget, 1, 1, 2, 2, "dblayout");
- dblayout->setColStretch(1, 1);
-
- tabBrowser = new TabWidget(privateLayoutWidget);
- dblayout->addMultiCellWidget( tabBrowser, 0, 1, 1, 1 );
-
- homepage = new PageViewer(this, "page");
-
- connect( homepage, SIGNAL(setWindowCaption (const TQString &)),
- this, SLOT(slotTabCaption (const TQString &)) );
- connect( homepage, SIGNAL(urlClicked(const KURL &,bool)),
- this, SLOT(slotOpenTabPlain(const KURL &,bool)) );
-
- Frame *frame=new Frame(this, homepage, homepage->widget(), i18n( "About KlamAV") );
- tabBrowser->addFrame(frame);
-
- tabBrowser->showPage(homepage->widget());
- setFocus();
-
- TQString location = locate("data", "klamav/about/aboutklamav.html");
-
- homepage->openURL(location);
- //slotTabCaption(TQString("KlamAV %1").arg(KLAMAV_VERSION));
-
- //KMessageBox::information (this,nooffilters);
-
-/* TQGroupBox *groupBox1 = new TQGroupBox( "About KlamAV",this );
- vbox->addWidget(groupBox1);
-
- groupBox1->setGeometry( TQRect( 20, 40, 551, 391 ) );
-
- TQLabel *pixmapLabel1 = new TQLabel( groupBox1, "pixmapLabel1" );
- pixmapLabel1->setGeometry( TQRect( 60, 110, 140, 140 ) );
- pixmapLabel1->setPixmap( image0 );
- pixmapLabel1->setScaledContents( TRUE );
-
- TQLabel *textLabel1_2 = new TQLabel( "KlamAV \n(C) Robert Hogan <hoganrobert@klamav.sf.net>",groupBox1 );
- textLabel1_2->setGeometry( TQRect( 230, 80, 421, 61 ) );
-
- TQLabel *textLabel1_3 = new TQLabel( "http://klamav.sourceforge.net",groupBox1 );
- textLabel1_3->setGeometry( TQRect( 230, 130, 221, 21 ) );
-
- TQLabel *textLabel1 = new TQLabel( "Translators:\nRussian, Vitaly Lipatov \n German, Marc Hansen",groupBox1 );
- textLabel1->setGeometry( TQRect( 230, 150, 401, 61 ) );
-
-
- TQLabel *textLabel1 = new TQLabel( "ClamAV \n(C) Tomasz Kojm <tkojm@clamav.net>",groupBox1 );
- textLabel1->setGeometry( TQRect( 230, 20, 401, 61 ) );
-
- TQLabel *textLabel1_4 = new TQLabel( "http://www.clamav.net",groupBox1 );
- textLabel1_4->setGeometry( TQRect( 230, 250, 221, 21 ) );
-
- pixmapLabel1->setPixmap( image0 );
- pixmapLabel1->setScaledContents( TRUE );
- */
- //resize( TQSize(600, 480).expandedTo(minimumSizeHint()) );
-
-
-
-
-
-
-
-}
-
-void Aboutklamav::slotOpenTabPlain(const KURL& url, bool background)
-{
-
- kdDebug() << "opening tabplain" << endl;
- PageViewer* page = new PageViewer(this, "page");
- //connect( m_part, SIGNAL(signalSettingsChanged()), page, SLOT(slotPaletteOrFontChanged()));
-
-/* connect( page, SIGNAL(setTabIcon(const TQPixmap&)),
- this, SLOT(setTabIcon(const TQPixmap&)));*/
- connect( page, SIGNAL(setWindowCaption (const TQString &)),
- this, SLOT(slotTabCaption (const TQString &)) );
- connect( page, SIGNAL(urlClicked(const KURL &,bool)),
- this, SLOT(slotOpenTabPlain(const KURL &,bool)) );
-
- Frame *frame=new Frame(this, page, page->widget(), i18n("Untitled"));
- //connectFrame(frame);
- tabBrowser->addFrame(frame);
-
- if(!background)
- tabBrowser->showPage(page->widget());
- else
- setFocus();
-
- //if (m_tabs->count() > 1 && m_tabs->currentPageIndex() != 0)
-// m_tabsClose->setEnabled(true);
-
- //kdDebug() << url << endl;
- page->openURL(url);
-}
-
-void Aboutklamav::slotTabCaption(const TQString &caption)
-{
- if (!caption.isEmpty())
- {
- PageViewer *pv=(PageViewer *)sender();
- tabBrowser->setTitle(caption, pv->widget());
- pv->slotSetCaption(caption);
- }
-}
-
-
-Aboutklamav::~Aboutklamav()
-{
-}
-
-#include "aboutklamav.moc"
-
-
-
-
-
diff --git a/src/aboutklamav.h b/src/aboutklamav.h
deleted file mode 100644
index a04f106..0000000
--- a/src/aboutklamav.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (C) 2004 Robert Hogan <robert at roberthogan dot net>
- */
-
-#ifndef _ABOUTKLAMAV_H_
-#define _ABOUTKLAMAV_H_
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <tdeapplication.h>
-#include <tdemainwindow.h>
-
-
-
-class KPrinter;
-class TDEToggleAction;
-class KURL;
-class TQLineEdit;
-class TQComboBox;
-class TQCheckBox;
-class TQListBox;
-class TQPushButton;
-class TQLabel;
-class TDEProcess;
-class TDEConfig;
-class KURLRequester;
-
-namespace KlamAV
-{
- class TabWidget;
- class PageViewer;
-}
-
-
-/**
- * This class serves as the main window for Aboutklamav. It handles the
- * menus, toolbars, and status bars.
- *
- * @short Main window class
- * @author $AUTHOR <$EMAIL>
- * @version $APP_VERSION
- */
-class Aboutklamav : public TQWidget
-{
- Q_OBJECT
-public:
- /**
- * Default Constructor
- */
- Aboutklamav(TQWidget *parent, const char *name=0);
-
- /**
- * Default Destructor
- */
- virtual ~Aboutklamav();
-
- /**
- * Use this method to load whatever file/URL you have
- */
- void load(const KURL& url);
- void setDirName(TQString);
-
-protected:
- /**
- * Overridden virtuals for TQt drag 'n drop (XDND)
- */
- /*virtual void dragEnterEvent(TQDragEnterEvent *event);
- virtual void dropEvent(TQDropEvent *event);*/
-
-protected:
- /**
- * This function is called when it is time for the app to save its
- * properties for session management purposes.
- */
- //void saveProperties(TDEConfig *);
-
- /**
- * This function is called when this app is restored. The TDEConfig
- * object points to the session management config file that was saved
- * with @ref saveProperties
- */
- //void readProperties(TDEConfig *);
-
-
-private slots:
-/* void fileNew();
- void fileOpen();
- void fileSave();
- void fileSaveAs();
- void filePrint();
- void optionsShowToolbar();
- void optionsShowStatusbar();
- void optionsConfigureKeys();
- void optionsConfigureToolbars();
- void optionsPreferences();
- void newToolbarConfig();
-*/
- //void changeStatusbar(const TQString& text);
- //void changeCaption(const TQString& text);
-
-private:
- void setupAccel();
- void setupActions();
-
-private:
- //AboutklamavView *m_view;
-
- /* KPrinter *m_printer;
- TDEToggleAction *m_toolbarAction;
- TDEToggleAction *m_statusbarAction;*/
- KlamAV::PageViewer* homepage;
- KlamAV::TabWidget* tabBrowser;
-signals:
- void itemSelected(TQString abs_filename, int line);
-
-public slots:
-
-private slots:
-
-protected slots:
- void slotOpenTabPlain(const KURL& url, bool background = false);
- void slotTabCaption(const TQString &capt);
-
-private:
-
- TQPushButton *about_button;
- TDEConfig *config;
- TQComboBox *check_combo;
- TQLabel *notes_label;
-};
-
-#endif // _Aboutklamav_H_
diff --git a/src/klamav.cpp b/src/klamav.cpp
index 3d8bb24..b1b9ccd 100644
--- a/src/klamav.cpp
+++ b/src/klamav.cpp
@@ -7,7 +7,7 @@
#include "sigtool.h"
#include "klamscan.h"
#include "kuarantine.h"
-#include "aboutklamav.h"
+#include "welcome.h"
#include "dbviewer.h"
#include "activityviewer.h"
#include "version.h"
@@ -103,6 +103,9 @@ Klamav::Klamav()
activityviewer = new Activityviewer(this);
+ aboutklamav = new Aboutklamav(this);
+ tab->addTab(aboutklamav, i18n("Welcome"));
+
klamscan = new Klamscan(this);
tab->addTab(klamscan, i18n("&Scan"));
@@ -124,9 +127,6 @@ Klamav::Klamav()
tab->addTab(activityviewer, i18n("Events"));
- aboutklamav = new Aboutklamav(this);
- tab->addTab(aboutklamav, i18n("Abou&t"));
-
diff --git a/src/main.cpp b/src/main.cpp
index f7f0191..e4c0acd 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -24,9 +24,18 @@ static TDECmdLineOptions options[] =
int main(int argc, char **argv)
{
- TDEAboutData about("klamav", I18N_NOOP(""), version, description,
- TDEAboutData::License_GPL, "(C) 2004 Robert Hogan", 0, 0, "robert at roberthogan dot net");
- about.addAuthor( "Robert Hogan", 0, "robert at roberthogan dot net" );
+ TDEAboutData about(
+ "klamav", "KlamAV", KLAMAV_VERSION,
+ I18N_NOOP( "KlamAV - Virus Protection for TDE" ),
+ TDEAboutData::License_GPL_V2,
+ "Copyright (c) 2020, The Trinity Desktop project\nCopyright (c) 2004-2006, Robert Hogan",
+ "KlamAV is a front-end for ClamAV."
+ );
+
+ about.addAuthor( "Robert Hogan", 0, "robert@roberthogan.net", "Original Author" );
+
+ about.setTranslator(I18N_NOOP2("NAME OF TRANSLATORS","Your names"), I18N_NOOP2("EMAIL OF TRANSLATORS","Your emails"));
+
TDECmdLineArgs::init(argc, argv, &about);
TDECmdLineArgs::addCmdLineOptions(options);
KUniqueApplication app;
diff --git a/src/welcome.cpp b/src/welcome.cpp
new file mode 100755
index 0000000..9b45367
--- /dev/null
+++ b/src/welcome.cpp
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2004 Robert Hogan <robert at roberthogan dot net>
+ */
+
+#include "welcome.h"
+#include "version.h"
+
+#include <tdelocale.h>
+
+#include <kstandarddirs.h>
+
+#include <tqlayout.h>
+#include <tdehtml_part.h>
+#include <tqfile.h>
+
+Aboutklamav::Aboutklamav(TQWidget *parent, const char *name)
+ : TQWidget(parent, name)
+{
+ TQVBoxLayout *vbox = new TQVBoxLayout(this, KDialog::marginHint(),
+ KDialog::spacingHint(), "vbox");
+
+ TQWidget* privateLayoutWidget = new TQWidget( this, "dblayout" );
+ vbox->addWidget(privateLayoutWidget);
+
+ TQGridLayout* dblayout = new TQGridLayout( privateLayoutWidget, 1, 1, 2, 2, "dblayout");
+ dblayout->setColStretch(1, 1);
+
+ htmlpart = new TDEHTMLPart(privateLayoutWidget);
+ dblayout->addMultiCellWidget( htmlpart->widget(), 0, 1, 1, 1 );
+
+ TQString location = locate("data", "klamav/about/aboutklamav.html");
+ TQString res = loadFile(location);
+
+ /* Stylesheets */
+ res = res.arg( locate( "data", "klamav/about/klamav.css" ) );
+ res = res.arg( locate( "data", "tdeui/about/kde_infopage.css" ) );
+ if ( kapp->reverseLayout() )
+ res = res.arg( "@import \"%1\";" ).arg( locate( "data", "tdeui/about/kde_infopage_rtl.css" ) );
+ else
+ res = res.arg( "" );
+
+
+ res = res.arg("KlamAV")
+ .arg("KlamAV")
+ .arg( i18n("Version ")+TQString(KLAMAV_VERSION) )
+ .arg( i18n("An anti-virus manager for the Trinity Desktop Environment") )
+ .arg( i18n("KlamAV is a convenient way to manage ClamAV. KlamAV provides:") )
+ .arg( i18n("Scheduled scanning") )
+ .arg( i18n("Automatic virus database updates") )
+ .arg( i18n("E-Mail scanning") )
+ .arg( i18n("Virus information browser") )
+ .arg( i18n("Quarantine management") )
+ .arg( i18n("This program is a front-end for") );
+
+ htmlpart->begin();
+ htmlpart->write(res);
+ htmlpart->end();
+}
+
+
+Aboutklamav::~Aboutklamav()
+{
+}
+
+/* borrowed from Konqueror */
+TQString Aboutklamav::loadFile( const TQString& file ) {
+ TQString res;
+ if( file.isEmpty() )
+ return res;
+
+ TQFile f(file);
+
+ if( !f.open(IO_ReadOnly) )
+ return res;
+
+ TQTextStream t(&f);
+ res = t.read();
+
+ return res;
+}
+
+#include "welcome.moc"
+
+
+
+
+
diff --git a/src/welcome.h b/src/welcome.h
new file mode 100755
index 0000000..0b93850
--- /dev/null
+++ b/src/welcome.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2004 Robert Hogan <robert at roberthogan dot net>
+ */
+
+#ifndef _ABOUTKLAMAV_H_
+#define _ABOUTKLAMAV_H_
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <tdeapplication.h>
+#include <tdemainwindow.h>
+
+
+
+class TDEHTMLPart;
+class TQWidget;
+class TQString;
+
+
+/**
+ * This class serves as the main window for Aboutklamav. It handles the
+ * menus, toolbars, and status bars.
+ *
+ * @short Main window class
+ * @author $AUTHOR <$EMAIL>
+ * @version $APP_VERSION
+ */
+class Aboutklamav : public TQWidget
+{
+ Q_OBJECT
+public:
+ /**
+ * Default Constructor
+ */
+ Aboutklamav(TQWidget *parent, const char *name=0);
+
+ /**
+ * Default Destructor
+ */
+ virtual ~Aboutklamav();
+
+private:
+ TDEHTMLPart* htmlpart;
+
+ /*
+ * Read text from file
+ */
+ TQString loadFile( const TQString& file );
+
+};
+
+#endif // _Aboutklamav_H_