diff options
author | Mavridis Philippe <mavridisf@gmail.com> | 2021-12-24 11:39:08 +0200 |
---|---|---|
committer | Mavridis Philippe <mavridisf@gmail.com> | 2022-01-14 12:39:19 +0200 |
commit | b1d0b204e125214893eb84c05d25772ac3afaa28 (patch) | |
tree | 98de199a2515a34682e994a5ab5884ce38b2ccf1 /kweather | |
parent | 257301adc00e7adab75adf9103a5564572a99972 (diff) | |
download | tdetoys-b1d0b204e125214893eb84c05d25772ac3afaa28.tar.gz tdetoys-b1d0b204e125214893eb84c05d25772ac3afaa28.zip |
KWeather: Split Display module in two sumbodules
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
Diffstat (limited to 'kweather')
-rw-r--r-- | kweather/CMakeLists.txt | 25 | ||||
-rw-r--r-- | kweather/appletconfig.ui (renamed from kweather/prefdialogdata.ui) | 274 | ||||
-rw-r--r-- | kweather/kcmweatherapplet.cpp (renamed from kweather/kcmweather.cpp) | 61 | ||||
-rw-r--r-- | kweather/kcmweatherapplet.desktop (renamed from kweather/kcmweather.desktop) | 12 | ||||
-rw-r--r-- | kweather/kcmweatherapplet.h (renamed from kweather/kcmweather.h) | 16 | ||||
-rw-r--r-- | kweather/kcmweatherservice.cpp | 140 | ||||
-rw-r--r-- | kweather/kcmweatherservice.desktop | 10 | ||||
-rw-r--r-- | kweather/kcmweatherservice.h | 60 | ||||
-rw-r--r-- | kweather/kcmweatherstations.cpp | 72 | ||||
-rw-r--r-- | kweather/kcmweatherstations.desktop | 16 | ||||
-rw-r--r-- | kweather/kcmweatherstations.h | 47 | ||||
-rw-r--r-- | kweather/kweather.cpp | 5 | ||||
-rw-r--r-- | kweather/serviceconfig.ui | 198 | ||||
-rw-r--r-- | kweather/sidebarwidget.cpp | 1 | ||||
-rw-r--r-- | kweather/stationsconfig.ui (renamed from kweather/serviceconfigdata.ui) | 14 | ||||
-rw-r--r-- | kweather/stationsconfigwidget.cpp (renamed from kweather/serviceconfigwidget.cpp) | 30 | ||||
-rw-r--r-- | kweather/stationsconfigwidget.h (renamed from kweather/serviceconfigwidget.h) | 12 |
17 files changed, 647 insertions, 346 deletions
diff --git a/kweather/CMakeLists.txt b/kweather/CMakeLists.txt index b618585..a3abbcd 100644 --- a/kweather/CMakeLists.txt +++ b/kweather/CMakeLists.txt @@ -110,21 +110,29 @@ tde_add_kpart( weather_panelapplet AUTOMOC ) -##### kcm_weather (kpart) ####################### +##### kcm_weatherapplet (kpart) ################# -tde_add_kpart( kcm_weather AUTOMOC - SOURCES kcmweather.cpp prefdialogdata.ui +tde_add_kpart( kcm_weatherapplet AUTOMOC + SOURCES kcmweatherapplet.cpp appletconfig.ui weatherservice.stub LINK tdeio-shared DESTINATION ${PLUGIN_INSTALL_DIR} ) - -##### kcm_weatherservice (kpart) ################ +##### kcm_weatherservice (kpart) ################# tde_add_kpart( kcm_weatherservice AUTOMOC - SOURCES kcmweatherservice.cpp - serviceconfigwidget.cpp serviceconfigdata.ui + SOURCES kcmweatherservice.cpp serviceconfig.ui + weatherservice.stub + LINK tdeio-shared + DESTINATION ${PLUGIN_INSTALL_DIR} +) + +##### kcm_weatherstations (kpart) ################ + +tde_add_kpart( kcm_weatherstations AUTOMOC + SOURCES kcmweatherstations.cpp + stationsconfigwidget.cpp stationsconfig.ui weatherservice.stub LINK tdeui-shared tdehtml-shared DESTINATION ${PLUGIN_INSTALL_DIR} @@ -171,8 +179,9 @@ tde_create_translated_desktop( tde_create_translated_desktop( SOURCE kweatherservice.desktop - kcmweather.desktop + kcmweatherapplet.desktop kcmweatherservice.desktop + kcmweatherstations.desktop DESTINATION ${SERVICES_INSTALL_DIR} PO_DIR kweather-desktops ) diff --git a/kweather/prefdialogdata.ui b/kweather/appletconfig.ui index 6c053aa..d29ab3d 100644 --- a/kweather/prefdialogdata.ui +++ b/kweather/appletconfig.ui @@ -1,16 +1,16 @@ <!DOCTYPE UI><UI version="3.3" stdsetdef="1"> -<class>prefsDialogData</class> +<class>appletConfig</class> <author>ian reinhart geiser <geiseri@kde.org></author> <widget class="TQWidget"> <property name="name"> - <cstring>prefsDialogData</cstring> + <cstring>appletConfig</cstring> </property> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>761</width> - <height>464</height> + <height>385</height> </rect> </property> <property name="sizePolicy"> @@ -28,7 +28,7 @@ </size> </property> <property name="caption"> - <string>prefsDialogData</string> + <string>appletConfig</string> </property> <property name="focusPolicy"> <enum>TabFocus</enum> @@ -138,65 +138,84 @@ <property name="exclusive"> <bool>true</bool> </property> - <vbox> + <widget class="TQRadioButton"> <property name="name"> - <cstring>unnamed</cstring> + <cstring>m_smallView</cstring> </property> - <widget class="TQRadioButton"> - <property name="name"> - <cstring>m_smallView</cstring> - </property> - <property name="sizePolicy"> - <sizepolicy> - <hsizetype>1</hsizetype> - <vsizetype>0</vsizetype> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>&Show icon only</string> - </property> - <property name="buttonGroupId"> - <number>1</number> - </property> - <property name="toolTip" stdset="0"> - <string><qt>Click here to show only the weather icon.</qt></string> - </property> - <property name="whatsThis" stdset="0"> - <string>This feature will allow you to make KWeather take up only one slot on the kicker. Normally this application will take up two slots. The small view will only show the weather icon, while the normal view will display both the icon and the current weather statistics. For the small view the weather statistics will be put on the buttons tool tip.</string> - </property> - </widget> - <widget class="TQRadioButton"> - <property name="name"> - <cstring>CheckBox9</cstring> - </property> - <property name="text"> - <string>Show &icon and temperature</string> - </property> - <property name="buttonGroupId"> - <number>2</number> - </property> - </widget> - <widget class="TQRadioButton"> - <property name="name"> - <cstring>CheckBox10</cstring> - </property> - <property name="text"> - <string>Show icon, temperature, &wind and pressure information</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - <property name="buttonGroupId"> - <number>3</number> - </property> - </widget> - </vbox> + <property name="geometry"> + <rect> + <x>6</x> + <y>24</y> + <width>747</width> + <height>26</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>&Show icon only</string> + </property> + <property name="buttonGroupId"> + <number>1</number> + </property> + <property name="toolTip" stdset="0"> + <string><qt>Click here to show only the weather icon.</qt></string> + </property> + <property name="whatsThis" stdset="0"> + <string>This feature will allow you to make KWeather take up only one slot on the kicker. Normally this application will take up two slots. The small view will only show the weather icon, while the normal view will display both the icon and the current weather statistics. For the small view the weather statistics will be put on the buttons tool tip.</string> + </property> + </widget> + <widget class="TQRadioButton"> + <property name="name"> + <cstring>CheckBox10</cstring> + </property> + <property name="geometry"> + <rect> + <x>6</x> + <y>82</y> + <width>747</width> + <height>26</height> + </rect> + </property> + <property name="text"> + <string>Show icon, temperature, &wind and pressure information</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + <property name="buttonGroupId"> + <number>3</number> + </property> + </widget> + <widget class="TQRadioButton"> + <property name="name"> + <cstring>CheckBox9</cstring> + </property> + <property name="geometry"> + <rect> + <x>6</x> + <y>53</y> + <width>747</width> + <height>26</height> + </rect> + </property> + <property name="text"> + <string>Show &icon and temperature</string> + </property> + <property name="buttonGroupId"> + <number>2</number> + </property> + </widget> </widget> <widget class="TQGroupBox"> <property name="name"> - <cstring>GroupBox1</cstring> + <cstring>groupBox3</cstring> </property> <property name="sizePolicy"> <sizepolicy> @@ -207,110 +226,6 @@ </sizepolicy> </property> <property name="title"> - <string>Logging Options</string> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="TQCheckBox" row="0" column="0" rowspan="1" colspan="2"> - <property name="name"> - <cstring>m_enableLog</cstring> - </property> - <property name="text"> - <string>E&nable logging</string> - </property> - </widget> - <spacer row="0" column="2"> - <property name="name"> - <cstring>Spacer6_2</cstring> - </property> - <property name="orientation"> - <enum>Horizontal</enum> - </property> - <property name="sizeType"> - <enum>Expanding</enum> - </property> - <property name="sizeHint"> - <size> - <width>294</width> - <height>16</height> - </size> - </property> - </spacer> - <widget class="TQLabel" row="1" column="0"> - <property name="name"> - <cstring>m_labelLogFile</cstring> - </property> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="text"> - <string>Log &file:</string> - </property> - <property name="buddy" stdset="0"> - <cstring>m_logFile</cstring> - </property> - </widget> - <widget class="KURLRequester" row="1" column="1" rowspan="1" colspan="2"> - <property name="name"> - <cstring>m_logFile</cstring> - </property> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="minimumSize"> - <size> - <width>252</width> - <height>0</height> - </size> - </property> - <property name="toolTip" stdset="0"> - <string>Enter the logfile name.</string> - </property> - <property name="whatsThis" stdset="0"> - <string>Enter the full path and filename to enable logging in KWeather.</string> - </property> - </widget> - </grid> - </widget> - <widget class="TQButtonGroup"> - <property name="name"> - <cstring>m_iconTheme</cstring> - </property> - <property name="title"> - <string>Weather Icons</string> - </property> - <vbox> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="TQRadioButton"> - <property name="name"> - <cstring>m_systemIcons</cstring> - </property> - <property name="text"> - <string>&Use system theme</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - </widget> - <widget class="TQRadioButton"> - <property name="name"> - <cstring>m_kweatherIcons</cstring> - </property> - <property name="text"> - <string>Use classic &KWeather theme</string> - </property> - </widget> - </vbox> - </widget> - <widget class="TQGroupBox"> - <property name="name"> - <cstring>groupBox3</cstring> - </property> - <property name="title"> <string>Text</string> </property> <hbox> @@ -351,33 +266,36 @@ <enum>Horizontal</enum> </property> <property name="sizeType"> - <enum>Expanding</enum> + <enum>MinimumExpanding</enum> </property> <property name="sizeHint"> <size> - <width>637</width> + <width>624</width> <height>20</height> </size> </property> </spacer> </hbox> </widget> + <spacer> + <property name="name"> + <cstring>spacer4</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>91</height> + </size> + </property> + </spacer> </vbox> </widget> -<connections> - <connection> - <sender>m_enableLog</sender> - <signal>toggled(bool)</signal> - <receiver>m_labelLogFile</receiver> - <slot>setEnabled(bool)</slot> - </connection> - <connection> - <sender>m_enableLog</sender> - <signal>toggled(bool)</signal> - <receiver>m_logFile</receiver> - <slot>setEnabled(bool)</slot> - </connection> -</connections> <includes> <include location="global" impldecl="in implementation">kcolorbutton.h</include> <include location="global" impldecl="in implementation">kcombobox.h</include> diff --git a/kweather/kcmweather.cpp b/kweather/kcmweatherapplet.cpp index b480980..87decad 100644 --- a/kweather/kcmweather.cpp +++ b/kweather/kcmweatherapplet.cpp @@ -36,26 +36,26 @@ #include <kcolorbutton.h> #include "dockwidget.h" -#include "prefdialogdata.h" +#include "appletconfig.h" -#include "kcmweather.h" +#include "kcmweatherapplet.h" #include "weatherservice_stub.h" extern "C" { - KDE_EXPORT TDECModule *create_weather( TQWidget *parent, const char * ) + KDE_EXPORT TDECModule *create_weatherapplet( TQWidget *parent, const char * ) { - return new KCMWeather( parent, "kweather" ); + return new KCMWeatherApplet( parent, "kweather" ); } } -KCMWeather::KCMWeather( TQWidget *parent, const char *name ) +KCMWeatherApplet::KCMWeatherApplet( TQWidget *parent, const char *name ) : TDECModule( parent, name ) { mWeatherService = new WeatherService_stub( "KWeatherService", "WeatherService" ); TQVBoxLayout *layout = new TQVBoxLayout( this ); - mWidget = new prefsDialogData( this ); + mWidget = new appletConfig( this ); mWidget->m_reportLocation->setFocus(); layout->addWidget( mWidget ); @@ -63,19 +63,15 @@ KCMWeather::KCMWeather( TQWidget *parent, const char *name ) fillStationList(); load(); - connect( mWidget->m_enableLog, TQT_SIGNAL( toggled( bool ) ), - TQT_SLOT( enableLogWidgets( bool ) ) ); connect( mWidget->m_viewMode, TQT_SIGNAL( released( int ) ), TQT_SLOT( changeViewMode( int ) ) ); connect( mWidget->m_reportLocation, TQT_SIGNAL( activated( const TQString& ) ), TQT_SLOT( reportLocationChanged() ) ); connect( mWidget->m_textColor, TQT_SIGNAL( changed(const TQColor &) ), TQT_SLOT( textColorChanged(const TQColor &) ) ); - connect( mWidget->m_iconTheme, TQT_SIGNAL( released( int ) ), - TQT_SLOT( changed() ) ); TDEAboutData *about = new TDEAboutData( - I18N_NOOP( "kcmweather" ), + I18N_NOOP( "kcmweatherapplet" ), I18N_NOOP( "KWeather Configure Dialog" ), 0, 0, TDEAboutData::License_GPL, I18N_NOOP( "(c), 2003 Tobias Koenig" ) ); @@ -84,16 +80,16 @@ KCMWeather::KCMWeather( TQWidget *parent, const char *name ) setAboutData(about); } -KCMWeather::~KCMWeather() +KCMWeatherApplet::~KCMWeatherApplet() { delete mWeatherService; } -void KCMWeather::showEvent( TQShowEvent * ) +void KCMWeatherApplet::showEvent( TQShowEvent * ) { fillStationList(); } -void KCMWeather::fillStationList() +void KCMWeatherApplet::fillStationList() { // store current selection TQString current = mWidget->m_reportLocation->currentText(); @@ -135,41 +131,30 @@ void KCMWeather::fillStationList() reportLocationChanged(); } -void KCMWeather::changeViewMode( int mode ) +void KCMWeatherApplet::changeViewMode( int mode ) { mViewMode = mode; emit changed( true ); } -void KCMWeather::enableLogWidgets( bool value ) -{ - mWidget->m_logFile->setEnabled( value ); - mWidget->m_labelLogFile->setEnabled( value ); - - emit changed( true ); -} - -void KCMWeather::reportLocationChanged() +void KCMWeatherApplet::reportLocationChanged() { kdDebug() << "New station: " << mWidget->m_reportLocation->currentText() << " Code: " << mWeatherService->stationCode( mWidget->m_reportLocation->currentText() ) << endl; emit changed( true ); } -void KCMWeather::textColorChanged(const TQColor &) +void KCMWeatherApplet::textColorChanged(const TQColor &) { emit changed( true ); } -void KCMWeather::load() +void KCMWeatherApplet::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 ); static TQColor black(TQt::black); TQColor textColor = config.readColorEntry("textColor", &black); @@ -177,27 +162,21 @@ void KCMWeather::load() TQString loc = config.readEntry( "report_location" ); - mWidget->m_logFile->setURL( config.readPathEntry( "log_file_name" ) ); - if ( ! loc.isEmpty() ) mWidget->m_reportLocation->setCurrentText( mWeatherService->stationName( loc ) ); mWidget->m_viewMode->setButton( config.readNumEntry( "smallview_mode", dockwidget::ShowAll ) ); changeViewMode( config.readNumEntry( "smallview_mode", dockwidget::ShowAll ) ); - mWidget->m_iconTheme->setButton( config.readBoolEntry("use_icon_theme", true) ? 0 : 1 ); - emit changed( false ); } -void KCMWeather::save() +void KCMWeatherApplet::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( "textColor", mWidget->m_textColor->color() ); // Station idx to local idx; if nothing selected yet, keep it empty @@ -208,23 +187,17 @@ void KCMWeather::save() config.writeEntry( "smallview_mode", mViewMode ); - config.writeEntry( "use_icon_theme", mWidget->m_iconTheme->selectedId() == 0 ); - config.sync(); emit changed( false ); } -void KCMWeather::defaults() +void KCMWeatherApplet::defaults() { - mWidget->m_enableLog->setChecked( false ); - enableLogWidgets( false ); - - mWidget->m_logFile->setURL( "" ); mWidget->m_reportLocation->setCurrentText( "" ); changeViewMode( dockwidget::ShowAll ); emit changed( true ); } -#include "kcmweather.moc" +#include "kcmweatherapplet.moc" diff --git a/kweather/kcmweather.desktop b/kweather/kcmweatherapplet.desktop index cc8f28d..247ba19 100644 --- a/kweather/kcmweather.desktop +++ b/kweather/kcmweatherapplet.desktop @@ -1,15 +1,15 @@ [Desktop Entry] -Icon=configure +Icon=kicker Type=Service X-TDE-ServiceTypes=TDECModule X-TDE-ModuleType=Library -X-TDE-Library=weather -X-TDE-FactoryName=weather +X-TDE-Library=weatherapplet +X-TDE-FactoryName=weatherapplet X-TDE-ParentApp=weather_panelapplet X-TDE-ParentComponents=weather_panelapplet -Name=Display -Comment=Display Setup -Keywords=kweather; weather; configure; settings; display; +Name=Applet +Comment=Applet Config +Keywords=kweather; weather; configure; settings; display; applet; X-DocPath=kweather?anchor=configuring-kweather diff --git a/kweather/kcmweather.h b/kweather/kcmweatherapplet.h index fb4abcf..adb6f98 100644 --- a/kweather/kcmweather.h +++ b/kweather/kcmweatherapplet.h @@ -20,21 +20,20 @@ without including the source code for TQt in the source distribution. */ -#ifndef KCMWEATHER_H -#define KCMWEATHER_H +#ifndef KCMWEATHERAPPLET_H +#define KCMWEATHERAPPLET_H #include <tdecmodule.h> -class prefsDialogData; +class appletConfig; -class KCMWeather : public TDECModule +class KCMWeatherApplet : public TDECModule { Q_OBJECT - public: - KCMWeather( TQWidget *parent = 0, const char *name = 0 ); - ~KCMWeather(); + KCMWeatherApplet( TQWidget *parent = 0, const char *name = 0 ); + ~KCMWeatherApplet(); virtual void load(); virtual void save(); @@ -45,13 +44,12 @@ class KCMWeather : public TDECModule virtual void showEvent( TQShowEvent * ); private slots: - void enableLogWidgets( bool value ); void changeViewMode( int mode ); void reportLocationChanged(); void textColorChanged(const TQColor &); private: - prefsDialogData *mWidget; + appletConfig *mWidget; WeatherService_stub *mWeatherService; int mViewMode; }; 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" diff --git a/kweather/kcmweatherservice.desktop b/kweather/kcmweatherservice.desktop index f04ea65..adddb83 100644 --- a/kweather/kcmweatherservice.desktop +++ b/kweather/kcmweatherservice.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Icon=kweather +Icon=gear Type=Service X-TDE-ServiceTypes=TDECModule @@ -10,7 +10,7 @@ X-TDE-ParentApp=weather_panelapplet X-TDE-ParentComponents=weather_panelapplet,kontact_weatherplugin X-TDE-CfgDlgHierarchy=KontactSummary -Name=Weather Service -Comment=Weather Service Setup -Keywords=kweather; weather service; configure; settings; -X-DocPath=kweather?anchor=weather-service +Name=Service +Comment=Weather Service Config +Keywords=kweather; weather service; configure; settings; service; +X-DocPath=kweather?anchor=configuring-kweather diff --git a/kweather/kcmweatherservice.h b/kweather/kcmweatherservice.h index f22e179..9e61e86 100644 --- a/kweather/kcmweatherservice.h +++ b/kweather/kcmweatherservice.h @@ -1,24 +1,23 @@ /* - This file is part of KWeather. - Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> + 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 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. + 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. + 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. */ #ifndef KCMWEATHERSERVICE_H @@ -26,22 +25,27 @@ #include <tdecmodule.h> -class ServiceConfigWidget; +class serviceConfig; class KCMWeatherService : public TDECModule { - Q_OBJECT - + Q_OBJECT + + public: + KCMWeatherService( TQWidget *parent = 0, const char *name = 0 ); + ~KCMWeatherService(); - public: - KCMWeatherService( TQWidget *parent = 0, const char *name = 0 ); + virtual void load(); + virtual void save(); + virtual void defaults(); - virtual void load(); - virtual void save(); - virtual void defaults(); + private slots: + void enableLogWidgets( bool value ); - private: - ServiceConfigWidget *mWidget; + private: + serviceConfig *mWidget; + WeatherService_stub *mWeatherService; + int mViewMode; }; -#endif +#endif
\ No newline at end of file diff --git a/kweather/kcmweatherstations.cpp b/kweather/kcmweatherstations.cpp new file mode 100644 index 0000000..3d60f5a --- /dev/null +++ b/kweather/kcmweatherstations.cpp @@ -0,0 +1,72 @@ +/* + 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 <tqlayout.h> + +#include <tdeaboutdata.h> +#include <kdebug.h> +#include <tdelocale.h> + +#include "stationsconfigwidget.h" + +#include "kcmweatherstations.h" + +extern "C" +{ + KDE_EXPORT TDECModule *create_weatherstations( TQWidget *parent, const char * ) { + return new KCMWeatherStations( parent, "kweather" ); + } +} + +KCMWeatherStations::KCMWeatherStations( TQWidget *parent, const char *name ) + : TDECModule( parent, name ) +{ + TQVBoxLayout *layout = new TQVBoxLayout( this ); + mWidget = new StationsConfigWidget( this ); + + // not needed, as a change immediately changes the service + //connect(mWidget, TQT_SIGNAL(changed(bool)), this, TQT_SIGNAL(changed(bool))); + + layout->addWidget( mWidget ); + TDEAboutData *about = new TDEAboutData( "kcmweatherstations", + 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); +} + +void KCMWeatherStations::load() +{ +} + +void KCMWeatherStations::save() +{ +} + +void KCMWeatherStations::defaults() +{ +} + +#include "kcmweatherstations.moc" diff --git a/kweather/kcmweatherstations.desktop b/kweather/kcmweatherstations.desktop new file mode 100644 index 0000000..1fd39b4 --- /dev/null +++ b/kweather/kcmweatherstations.desktop @@ -0,0 +1,16 @@ +[Desktop Entry] +Icon=kweather +Type=Service +X-TDE-ServiceTypes=TDECModule + +X-TDE-ModuleType=Library +X-TDE-Library=weatherstations +X-TDE-FactoryName=weatherstations +X-TDE-ParentApp=weather_panelapplet +X-TDE-ParentComponents=weather_panelapplet,kontact_weatherplugin +X-TDE-CfgDlgHierarchy=KontactSummary + +Name=Stations +Comment=Weather Stations Config +Keywords=kweather; weather service; configure; settings; stations; +X-DocPath=kweather?anchor=weather-service diff --git a/kweather/kcmweatherstations.h b/kweather/kcmweatherstations.h new file mode 100644 index 0000000..7660457 --- /dev/null +++ b/kweather/kcmweatherstations.h @@ -0,0 +1,47 @@ +/* + 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. +*/ + +#ifndef KCMWEATHERSTATIONS_H +#define KCMWEATHERSTATIONS_H + +#include <tdecmodule.h> + +class StationsConfigWidget; + +class KCMWeatherStations : public TDECModule +{ + Q_OBJECT + + + public: + KCMWeatherStations( TQWidget *parent = 0, const char *name = 0 ); + + virtual void load(); + virtual void save(); + virtual void defaults(); + + private: + StationsConfigWidget *mWidget; +}; + +#endif diff --git a/kweather/kweather.cpp b/kweather/kweather.cpp index 62114c1..76ffb48 100644 --- a/kweather/kweather.cpp +++ b/kweather/kweather.cpp @@ -161,8 +161,9 @@ void kweather::preferences() settingsDialog = new KCMultiDialog( this ); connect( settingsDialog, TQT_SIGNAL( configCommitted() ), TQT_SLOT( slotPrefsAccepted() ) ); - settingsDialog->addModule( "kcmweather.desktop" ); - settingsDialog->addModule( "kcmweatherservice.desktop" ); + settingsDialog->addModule( "kcmweatherapplet.desktop" ); + settingsDialog->addModule( "kcmweatherstations.desktop" ); + settingsDialog->addModule( "kcmweatherservice.desktop" ); } settingsDialog->show(); diff --git a/kweather/serviceconfig.ui b/kweather/serviceconfig.ui new file mode 100644 index 0000000..84ca62e --- /dev/null +++ b/kweather/serviceconfig.ui @@ -0,0 +1,198 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>serviceConfig</class> +<author>ian reinhart geiser <geiseri@kde.org></author> +<widget class="TQWidget"> + <property name="name"> + <cstring>serviceConfig</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>491</width> + <height>194</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>3</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="caption"> + <string>serviceConfig</string> + </property> + <property name="focusPolicy"> + <enum>TabFocus</enum> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <widget class="TQButtonGroup"> + <property name="name"> + <cstring>m_iconTheme</cstring> + </property> + <property name="title"> + <string>Weather Icons</string> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQRadioButton"> + <property name="name"> + <cstring>m_systemIcons</cstring> + </property> + <property name="text"> + <string>&Use system theme</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + <widget class="TQRadioButton"> + <property name="name"> + <cstring>m_kweatherIcons</cstring> + </property> + <property name="text"> + <string>Use classic &KWeather theme</string> + </property> + </widget> + </vbox> + </widget> + <widget class="TQGroupBox"> + <property name="name"> + <cstring>GroupBox1</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Logging Options</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQCheckBox" row="0" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>m_enableLog</cstring> + </property> + <property name="text"> + <string>E&nable logging</string> + </property> + </widget> + <spacer row="0" column="2"> + <property name="name"> + <cstring>Spacer6_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>294</width> + <height>16</height> + </size> + </property> + </spacer> + <widget class="TQLabel" row="1" column="0"> + <property name="name"> + <cstring>m_labelLogFile</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Log f&ile:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>m_logFile</cstring> + </property> + </widget> + <widget class="KURLRequester" row="1" column="1" rowspan="1" colspan="2"> + <property name="name"> + <cstring>m_logFile</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="minimumSize"> + <size> + <width>252</width> + <height>0</height> + </size> + </property> + <property name="toolTip" stdset="0"> + <string>Enter the logfile name.</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Enter the full path and filename to enable logging in KWeather.</string> + </property> + </widget> + </grid> + </widget> + <spacer> + <property name="name"> + <cstring>spacer4</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>111</height> + </size> + </property> + </spacer> + </vbox> +</widget> +<connections> + <connection> + <sender>m_enableLog</sender> + <signal>toggled(bool)</signal> + <receiver>m_labelLogFile</receiver> + <slot>setEnabled(bool)</slot> + </connection> + <connection> + <sender>m_enableLog</sender> + <signal>toggled(bool)</signal> + <receiver>m_logFile</receiver> + <slot>setEnabled(bool)</slot> + </connection> +</connections> +<includes> + <include location="global" impldecl="in implementation">kcolorbutton.h</include> + <include location="global" impldecl="in implementation">kcombobox.h</include> + <include location="global" impldecl="in implementation">kdialog.h</include> + <include location="global" impldecl="in implementation">kurlrequester.h</include> + <include location="global" impldecl="in implementation">kpushbutton.h</include> + <include location="global" impldecl="in implementation">klineedit.h</include> +</includes> +<layoutdefaults spacing="3" margin="6"/> +<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/> +</UI> diff --git a/kweather/sidebarwidget.cpp b/kweather/sidebarwidget.cpp index 792d4a4..693f525 100644 --- a/kweather/sidebarwidget.cpp +++ b/kweather/sidebarwidget.cpp @@ -85,6 +85,7 @@ void sidebarwidget::slotConfigure() settingsDialog = new KCMultiDialog(0); connect( settingsDialog, TQT_SIGNAL( configCommitted() ), this, TQT_SLOT( slotRefresh() ) ); + settingsDialog->addModule( "kcmweatherstations.desktop" ); settingsDialog->addModule( "kcmweatherservice.desktop" ); } diff --git a/kweather/serviceconfigdata.ui b/kweather/stationsconfig.ui index 35be484..5ad40b6 100644 --- a/kweather/serviceconfigdata.ui +++ b/kweather/stationsconfig.ui @@ -1,9 +1,9 @@ <!DOCTYPE UI><UI version="3.3" stdsetdef="1"> -<class>wsPrefs</class> +<class>stationsConfig</class> <author>Ian Reinhart Geiser <geiseri@kde.org></author> <widget class="TQWidget"> <property name="name"> - <cstring>wsPrefs</cstring> + <cstring>stationsConfig</cstring> </property> <property name="geometry"> <rect> @@ -201,31 +201,31 @@ <connection> <sender>mAddButton</sender> <signal>clicked()</signal> - <receiver>wsPrefs</receiver> + <receiver>stationsConfig</receiver> <slot>addStation()</slot> </connection> <connection> <sender>mRemoveButton</sender> <signal>clicked()</signal> - <receiver>wsPrefs</receiver> + <receiver>stationsConfig</receiver> <slot>removeStation()</slot> </connection> <connection> <sender>mUpdate</sender> <signal>clicked()</signal> - <receiver>wsPrefs</receiver> + <receiver>stationsConfig</receiver> <slot>updateStations()</slot> </connection> <connection> <sender>mExit</sender> <signal>clicked()</signal> - <receiver>wsPrefs</receiver> + <receiver>stationsConfig</receiver> <slot>exitWeatherService()</slot> </connection> <connection> <sender>mSelectedStations</sender> <signal>selectionChanged(TQListViewItem*)</signal> - <receiver>wsPrefs</receiver> + <receiver>stationsConfig</receiver> <slot>selectionChanged(TQListViewItem*)</slot> </connection> </connections> diff --git a/kweather/serviceconfigwidget.cpp b/kweather/stationsconfigwidget.cpp index d6f85e2..b02d4be 100644 --- a/kweather/serviceconfigwidget.cpp +++ b/kweather/stationsconfigwidget.cpp @@ -31,7 +31,7 @@ #include <kpushbutton.h> #include <kstandarddirs.h> -#include "serviceconfigwidget.h" +#include "stationsconfigwidget.h" #include "weatherservice_stub.h" class StationItem : public TQListViewItem @@ -55,8 +55,8 @@ class StationItem : public TQListViewItem static void parseStationEntry( const TQString &line, TQString &name, TQString &uid ); -ServiceConfigWidget::ServiceConfigWidget( TQWidget *parent, const char *name ) - : wsPrefs( parent, name ), mService(0) +StationsConfigWidget::StationsConfigWidget( TQWidget *parent, const char *name ) + : stationsConfig( parent, name ), mService(0) { mService = new WeatherService_stub( "KWeatherService", "WeatherService" ); connect( mAllStations, TQT_SIGNAL( doubleClicked ( TQListViewItem *, const TQPoint &, int ) ), TQT_SLOT( addStation() ) ); @@ -67,12 +67,12 @@ ServiceConfigWidget::ServiceConfigWidget( TQWidget *parent, const char *name ) scanStations(); } -ServiceConfigWidget::~ServiceConfigWidget() +StationsConfigWidget::~StationsConfigWidget() { delete mService; } -void ServiceConfigWidget::addStation() +void StationsConfigWidget::addStation() { if ( !dcopActive() ) return; @@ -87,7 +87,7 @@ void ServiceConfigWidget::addStation() modified(); } -void ServiceConfigWidget::removeStation() +void StationsConfigWidget::removeStation() { if ( !dcopActive() ) return; @@ -102,7 +102,7 @@ void ServiceConfigWidget::removeStation() modified(); } -void ServiceConfigWidget::updateStations() +void StationsConfigWidget::updateStations() { if ( !dcopActive() ) return; @@ -111,7 +111,7 @@ void ServiceConfigWidget::updateStations() scanStations(); } -void ServiceConfigWidget::exitWeatherService() +void StationsConfigWidget::exitWeatherService() { if ( !dcopActive() ) return; @@ -120,7 +120,7 @@ void ServiceConfigWidget::exitWeatherService() modified(); } -void ServiceConfigWidget::scanStations() +void StationsConfigWidget::scanStations() { if ( !dcopActive() ) return; @@ -145,23 +145,23 @@ void ServiceConfigWidget::scanStations() } } -void ServiceConfigWidget::selectionChanged( TQListViewItem *item ) +void StationsConfigWidget::selectionChanged( TQListViewItem *item ) { mRemoveButton->setEnabled( item != 0 ); } -void ServiceConfigWidget::modified() +void StationsConfigWidget::modified() { emit changed( true ); } -void ServiceConfigWidget::initGUI() +void StationsConfigWidget::initGUI() { mAllStations->header()->hide(); mSelectedStations->header()->hide(); } -void ServiceConfigWidget::loadLocations() +void StationsConfigWidget::loadLocations() { TDEConfig config( locate( "data", "kweatherservice/weather_stations.desktop" ) ); @@ -201,7 +201,7 @@ void ServiceConfigWidget::loadLocations() } } -bool ServiceConfigWidget::dcopActive() +bool StationsConfigWidget::dcopActive() { TQString error; TQCString appID; @@ -236,4 +236,4 @@ void parseStationEntry( const TQString &line, TQString &name, TQString &uid ) } } -#include "serviceconfigwidget.moc" +#include "stationsconfigwidget.moc" diff --git a/kweather/serviceconfigwidget.h b/kweather/stationsconfigwidget.h index 3fb7006..afdac56 100644 --- a/kweather/serviceconfigwidget.h +++ b/kweather/stationsconfigwidget.h @@ -17,22 +17,22 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#ifndef SERVICECONFIGWIDGET_H -#define SERVICECONFIGWIDGET_H +#ifndef STATIONSCONFIGWIDGET_H +#define STATIONSCONFIGWIDGET_H -#include <serviceconfigdata.h> +#include <stationsconfig.h> class TQListViewItem; class WeatherService_stub; -class ServiceConfigWidget : public wsPrefs +class StationsConfigWidget : public stationsConfig { Q_OBJECT public: - ServiceConfigWidget( TQWidget *parent, const char *name = 0 ); - virtual ~ServiceConfigWidget(); + StationsConfigWidget( TQWidget *parent, const char *name = 0 ); + virtual ~StationsConfigWidget(); signals: void changed( bool ); |