summaryrefslogtreecommitdiffstats
path: root/kweather/kcmweatherservice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kweather/kcmweatherservice.cpp')
-rw-r--r--kweather/kcmweatherservice.cpp140
1 files changed, 102 insertions, 38 deletions
diff --git a/kweather/kcmweatherservice.cpp b/kweather/kcmweatherservice.cpp
index 81639df..cf0828c 100644
--- a/kweather/kcmweatherservice.cpp
+++ b/kweather/kcmweatherservice.cpp
@@ -1,72 +1,136 @@
-/*
- This file is part of KWeather.
- Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
-
- 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 option) 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- As a special exception, permission is given to link this program
- with any edition of TQt, and distribute the resulting executable,
- without including the source code for TQt in the source distribution.
-*/
+/*
+ This file is part of KWeather.
+ Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
+ 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 option) 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ As a special exception, permission is given to link this program
+ with any edition of TQt, and distribute the resulting executable,
+ without including the source code for TQt in the source distribution.
+*/
+
+#include <tqbuttongroup.h>
+#include <tqcheckbox.h>
+#include <tqlabel.h>
#include <tqlayout.h>
#include <tdeaboutdata.h>
+#include <tdeapplication.h>
+#include <tdeconfig.h>
#include <kdebug.h>
#include <tdelocale.h>
+#include <kurlrequester.h>
+#include <kcombobox.h>
+#include <kcolorbutton.h>
-#include "serviceconfigwidget.h"
+#include "dockwidget.h"
+#include "serviceconfig.h"
#include "kcmweatherservice.h"
+#include "weatherservice_stub.h"
extern "C"
{
- KDE_EXPORT TDECModule *create_weatherservice( TQWidget *parent, const char * ) {
- return new KCMWeatherService( parent, "kweather" );
- }
+ KDE_EXPORT TDECModule *create_weatherservice( TQWidget *parent, const char * )
+ {
+ return new KCMWeatherService( parent, "kweather" );
+ }
}
KCMWeatherService::KCMWeatherService( TQWidget *parent, const char *name )
- : TDECModule( parent, name )
+ : TDECModule( parent, name )
{
- TQVBoxLayout *layout = new TQVBoxLayout( this );
- mWidget = new ServiceConfigWidget( this );
+ mWeatherService = new WeatherService_stub( "KWeatherService",
+ "WeatherService" );
+ TQVBoxLayout *layout = new TQVBoxLayout( this );
+ mWidget = new serviceConfig( this );
+
+ layout->addWidget( mWidget );
+ layout->addStretch();
+
+ load();
+ connect( mWidget->m_enableLog, TQT_SIGNAL( toggled( bool ) ),
+ TQT_SLOT( enableLogWidgets( bool ) ) );
+ connect( mWidget->m_iconTheme, TQT_SIGNAL( released( int ) ),
+ TQT_SLOT( changed() ) );
- // not needed, as a change immediately changes the service
- //connect(mWidget, TQT_SIGNAL(changed(bool)), this, TQT_SIGNAL(changed(bool)));
+ TDEAboutData *about = new TDEAboutData(
+ I18N_NOOP( "kcmweatherservice" ),
+ I18N_NOOP( "KWeather Configure Dialog" ),
+ 0, 0, TDEAboutData::License_GPL,
+ I18N_NOOP( "(c), 2003 Tobias Koenig" ) );
+
+ about->addAuthor( "Tobias Koenig", 0, "tokoe@kde.org" );
+ setAboutData(about);
+}
+
+KCMWeatherService::~KCMWeatherService()
+{
+ delete mWeatherService;
+}
- layout->addWidget( mWidget );
- TDEAboutData *about = new TDEAboutData( "kcmweatherservice",
- I18N_NOOP( "KWeather Configure Dialog" ),
- 0, 0, TDEAboutData::License_GPL,
- I18N_NOOP( "(c), 2003 Tobias Koenig" ) );
+void KCMWeatherService::enableLogWidgets( bool value )
+{
+ mWidget->m_logFile->setEnabled( value );
+ mWidget->m_labelLogFile->setEnabled( value );
- about->addAuthor( "Tobias Koenig", 0, "tokoe@kde.org" );
- setAboutData(about);
+ emit changed( true );
}
void KCMWeatherService::load()
{
+ kdDebug() << "Load" << endl;
+ TDEConfig config( "weather_panelappletrc" );
+
+ config.setGroup( "General Options" );
+ bool enabled = config.readBoolEntry( "logging", false );
+ mWidget->m_enableLog->setChecked( enabled );
+ enableLogWidgets( enabled );
+
+ mWidget->m_logFile->setURL( config.readPathEntry( "log_file_name" ) );
+
+ mWidget->m_iconTheme->setButton( config.readBoolEntry("use_icon_theme", true) ? 0 : 1 );
+
+ emit changed( false );
}
void KCMWeatherService::save()
{
+ kdDebug() << "Save" << endl;
+ TDEConfig config( "weather_panelappletrc" );
+
+ config.setGroup( "General Options" );
+ config.writeEntry( "logging", mWidget->m_enableLog->isChecked() );
+ config.writeEntry( "log_file_name", mWidget->m_logFile->url() );
+
+ config.writeEntry( "use_icon_theme", mWidget->m_iconTheme->selectedId() == 0 );
+
+ config.sync();
+
+ emit changed( false );
}
void KCMWeatherService::defaults()
{
+ mWidget->m_enableLog->setChecked( false );
+ enableLogWidgets( false );
+ mWidget->m_logFile->setURL( "" );
+
+ mWidget->m_iconTheme->setButton(0);
+
+ emit changed( true );
}
#include "kcmweatherservice.moc"