diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/about/Makefile.am | 2 | ||||
-rw-r--r-- | src/about/aboutklamav.html | 127 | ||||
-rw-r--r-- | src/about/klamav.css | 9 | ||||
-rw-r--r-- | src/about/top-right-klamav.png | bin | 0 -> 46099 bytes | |||
-rw-r--r-- | src/aboutklamav.cpp | 154 | ||||
-rw-r--r-- | src/aboutklamav.h | 134 | ||||
-rw-r--r-- | src/klamav.cpp | 8 | ||||
-rw-r--r-- | src/main.cpp | 15 | ||||
-rwxr-xr-x | src/welcome.cpp | 87 | ||||
-rwxr-xr-x | src/welcome.h | 54 |
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 Binary files differnew file mode 100644 index 0000000..53919ea --- /dev/null +++ b/src/about/top-right-klamav.png 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_ |