diff options
Diffstat (limited to 'ksplashml/kcmksplash/main.cpp')
-rw-r--r-- | ksplashml/kcmksplash/main.cpp | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/ksplashml/kcmksplash/main.cpp b/ksplashml/kcmksplash/main.cpp new file mode 100644 index 000000000..f0b5d1f52 --- /dev/null +++ b/ksplashml/kcmksplash/main.cpp @@ -0,0 +1,105 @@ +/*************************************************************************** + * Copyright Ravikiran Rajagopal 2003 * + * [email protected] * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License (version 2) as * + * published by the Free Software Foundation. * + * * + ***************************************************************************/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <tqlayout.h> +#include <tqtabwidget.h> + +#include <tdeaboutdata.h> +#include <tdecmodule.h> +#include <kdebug.h> +#include <kgenericfactory.h> +#include <kstandarddirs.h> + +#include "installer.h" + +class KSplashThemeMgr : public TDECModule +{ +public: + KSplashThemeMgr( TQWidget *parent, const char *name, const TQStringList &/*unused*/); + ~KSplashThemeMgr(); + + TQString quickHelp() const; + + virtual void init(); + virtual void save(); + virtual void load(); + virtual void defaults(); + +private: + SplashInstaller *mInstaller; +}; + +typedef KGenericFactory< KSplashThemeMgr, TQWidget > KSplashThemeMgrFactory; +K_EXPORT_COMPONENT_FACTORY( kcm_ksplashthemes, KSplashThemeMgrFactory("ksplashthemes") ) + +// ----------------------------------------------------------------------------------------- + +KSplashThemeMgr::KSplashThemeMgr( TQWidget *parent, const char *name, const TQStringList &) + : TDECModule( KSplashThemeMgrFactory::instance(), parent, name ), mInstaller(new SplashInstaller(this)) +{ + init(); + +#if 0 + TQHBoxLayout *box = new TQHBoxLayout(this); + TQTabWidget *tab = new TQTabWidget(this); // There will be more tabs in the future. + box->addWidget(tab); + tab->addTab( mInstaller, i18n("&Theme Installer") ); +#else + TQHBoxLayout *box = new TQHBoxLayout(this, 0, 0); + box->addWidget(mInstaller); +#endif + connect( mInstaller, TQT_SIGNAL(changed(bool)), TQT_SIGNAL(changed(bool)) ); + TDEAboutData *about = new TDEAboutData( "kcmksplash" + ,I18N_NOOP("TDE splash screen theme manager") + ,"0.1" + ,0 + ,TDEAboutData::License_GPL + ,I18N_NOOP("(c) 2003 KDE developers") ); + about->addAuthor("Ravikiran Rajagopal", 0, "[email protected]"); + about->addCredit("Brian Ledbetter", I18N_NOOP("Original KSplash/ML author"), "[email protected]"); + about->addCredit(I18N_NOOP("TDE Theme Manager authors" ), I18N_NOOP("Original installer code") ); + // Once string freeze is over, replace second argument with "Icon" + about->addCredit("Hans Karlsson", 0, "[email protected]" ); + setAboutData(about); +} + +KSplashThemeMgr::~KSplashThemeMgr() +{ + // Do not delete the installer as it is now owned by the tab widget. +} + +TQString KSplashThemeMgr::quickHelp() const +{ + return i18n("<h1>Splash Screen Theme Manager </h1> Install and view splash screen themes."); +} + +void KSplashThemeMgr::init() +{ + TDEGlobal::dirs()->addResourceType("ksplashthemes", TDEStandardDirs::kde_default("data") + "ksplash/Themes"); +} + +void KSplashThemeMgr::save() +{ + mInstaller->save(); +} + +void KSplashThemeMgr::load() +{ + mInstaller->load(); +} + +void KSplashThemeMgr::defaults() +{ + mInstaller->defaults(); +} |