summaryrefslogtreecommitdiff
authorzecke <zecke>2004-03-14 15:12:59 (UTC)
committer zecke <zecke>2004-03-14 15:12:59 (UTC)
commita104a921518d4427bf3dc9edd2c968133420607c (patch) (unidiff)
tree005a054e766250891039f9adf4bacf3d6f0486f0
parent8a243adc61fc9c8a48fa9061f0eba12c7b345d70 (diff)
downloadopie-a104a921518d4427bf3dc9edd2c968133420607c.zip
opie-a104a921518d4427bf3dc9edd2c968133420607c.tar.gz
opie-a104a921518d4427bf3dc9edd2c968133420607c.tar.bz2
ODP changes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/todayplugins/fortune/fortunepluginwidget.cpp6
-rw-r--r--noncore/todayplugins/fortune/fortunepluginwidget.h6
-rw-r--r--noncore/todayplugins/stockticker/stockticker/inputDialog.cpp4
-rw-r--r--noncore/todayplugins/stockticker/stockticker/inputDialog.h2
-rw-r--r--noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp2
-rw-r--r--noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.h4
-rw-r--r--noncore/todayplugins/stockticker/stocktickerlib/stocktimerpluginwidget.h4
-rw-r--r--noncore/todayplugins/weather/weatherpluginwidget.cpp3
-rw-r--r--noncore/todayplugins/weather/weatherpluginwidget.h4
9 files changed, 21 insertions, 14 deletions
diff --git a/noncore/todayplugins/fortune/fortunepluginwidget.cpp b/noncore/todayplugins/fortune/fortunepluginwidget.cpp
index 3aa978c..c3ee546 100644
--- a/noncore/todayplugins/fortune/fortunepluginwidget.cpp
+++ b/noncore/todayplugins/fortune/fortunepluginwidget.cpp
@@ -1,81 +1,83 @@
1/* 1/*
2 * fortunepluginwidget.cpp 2 * fortunepluginwidget.cpp
3 * 3 *
4 * copyright : (c) 2002 by Maximilian Reiß 4 * copyright : (c) 2002 by Maximilian Reiß
5 * email : harlekin@handhelds.org 5 * email : harlekin@handhelds.org
6 * 6 *
7 */ 7 */
8/*************************************************************************** 8/***************************************************************************
9 * * 9 * *
10 * This program is free software; you can redistribute it and/or modify * 10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by * 11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or * 12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. * 13 * (at your option) any later version. *
14 * * 14 * *
15 ***************************************************************************/ 15 ***************************************************************************/
16 16
17#include "fortunepluginwidget.h" 17#include "fortunepluginwidget.h"
18 18
19#include <qpe/config.h> 19#include <qpe/config.h>
20#include <qpe/qcopenvelope_qws.h> 20#include <qpe/qcopenvelope_qws.h>
21 21
22#include <qvaluelist.h> 22#include <qvaluelist.h>
23#include <qtl.h> 23#include <qtl.h>
24#include <qstring.h> 24#include <qstring.h>
25#include <qscrollview.h> 25#include <qscrollview.h>
26#include <qobject.h> 26#include <qobject.h>
27#include <qlayout.h> 27#include <qlayout.h>
28 28
29using namespace Opie::Core;
30using namespace Opie::Ui;
29FortunePluginWidget::FortunePluginWidget( QWidget *parent, const char* name ) 31FortunePluginWidget::FortunePluginWidget( QWidget *parent, const char* name )
30 : QWidget( parent, name ) 32 : QWidget( parent, name )
31{ 33{
32 34
33 fortune = NULL; 35 fortune = NULL;
34 getFortune(); 36 getFortune();
35} 37}
36 38
37FortunePluginWidget::~FortunePluginWidget() { 39FortunePluginWidget::~FortunePluginWidget() {
38 if( fortuneProcess ){ 40 if( fortuneProcess ){
39 delete fortuneProcess; 41 delete fortuneProcess;
40 } 42 }
41} 43}
42 44
43/** 45/**
44 * Get the fortunes 46 * Get the fortunes
45 */ 47 */
46void FortunePluginWidget::getFortune() { 48void FortunePluginWidget::getFortune() {
47 49
48 QVBoxLayout* layoutFortune = new QVBoxLayout( this ); 50 QVBoxLayout* layoutFortune = new QVBoxLayout( this );
49 51
50 if ( fortune ) { 52 if ( fortune ) {
51 delete fortune; 53 delete fortune;
52 } 54 }
53 55
54 fortune = new OTicker( this ); 56 fortune = new OTicker( this );
55 //fortune->setReadOnly( TRUE ); 57 //fortune->setReadOnly( TRUE );
56 //fortune->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ) ); 58 //fortune->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ) );
57 59
58 fortune->setText( QString("Obtaining fortune...") ); 60 fortune->setText( QString("Obtaining fortune...") );
59 layoutFortune->addWidget( fortune ); 61 layoutFortune->addWidget( fortune );
60 62
61 fortuneProcess = new OProcess(); 63 fortuneProcess = new OProcess();
62 *fortuneProcess << "fortune"; 64 *fortuneProcess << "fortune";
63 65
64 connect(fortuneProcess, SIGNAL(receivedStdout(OProcess*,char*,int) ), 66 connect(fortuneProcess, SIGNAL(receivedStdout(Opie::Core::OProcess*,char*,int) ),
65 this, SLOT(slotStdOut(OProcess*,char*,int) ) ); 67 this, SLOT(slotStdOut(Opie::Core::OProcess*,char*,int) ) );
66 68
67 if(!fortuneProcess->start(OProcess::NotifyOnExit, OProcess::AllOutput) ) { 69 if(!fortuneProcess->start(OProcess::NotifyOnExit, OProcess::AllOutput) ) {
68 qWarning("could not start :("); 70 qWarning("could not start :(");
69 fortune->setText( QString("Failed to obtain fortune.") ); 71 fortune->setText( QString("Failed to obtain fortune.") );
70 delete fortuneProcess; 72 delete fortuneProcess;
71 fortuneProcess = 0; 73 fortuneProcess = 0;
72 } 74 }
73 75
74} 76}
75 77
76void FortunePluginWidget::slotStdOut( OProcess* /*proc*/, char* buf, int len ) 78void FortunePluginWidget::slotStdOut( OProcess* /*proc*/, char* buf, int len )
77{ 79{
78 QCString s( buf, len ); 80 QCString s( buf, len );
79 s.replace( QRegExp("\n"), "" ); 81 s.replace( QRegExp("\n"), "" );
80 fortune->setText( s ); 82 fortune->setText( s );
81} 83}
diff --git a/noncore/todayplugins/fortune/fortunepluginwidget.h b/noncore/todayplugins/fortune/fortunepluginwidget.h
index abb7bed..1b71430 100644
--- a/noncore/todayplugins/fortune/fortunepluginwidget.h
+++ b/noncore/todayplugins/fortune/fortunepluginwidget.h
@@ -1,45 +1,45 @@
1/* 1/*
2 * fortunepluginwidget.h 2 * fortunepluginwidget.h
3 * 3 *
4 * copyright : (c) 2002 by Chris Larson 4 * copyright : (c) 2002 by Chris Larson
5 * email : kergoth@handhelds.org 5 * email : kergoth@handhelds.org
6 * 6 *
7 */ 7 */
8/*************************************************************************** 8/***************************************************************************
9 * * 9 * *
10 * This program is free software; you can redistribute it and/or modify * 10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by * 11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or * 12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. * 13 * (at your option) any later version. *
14 * * 14 * *
15 ***************************************************************************/ 15 ***************************************************************************/
16 16
17#ifndef FORTUNE_PLUGIN_WIDGET_H 17#ifndef FORTUNE_PLUGIN_WIDGET_H
18#define FORTUNE_PLUGIN_WIDGET_H 18#define FORTUNE_PLUGIN_WIDGET_H
19 19
20#include <opie2/oprocess.h> 20#include <opie2/oprocess.h>
21#include <opie2/oticker.h> 21#include <opie2/oticker.h>
22 22
23#include <qstring.h> 23#include <qstring.h>
24#include <qwidget.h> 24#include <qwidget.h>
25 25
26class FortunePluginWidget : public QWidget 26class FortunePluginWidget : public QWidget
27{ 27{
28 28
29 Q_OBJECT 29 Q_OBJECT
30 30
31public: 31public:
32 FortunePluginWidget( QWidget *parent, const char *name ); 32 FortunePluginWidget( QWidget *parent, const char *name );
33 ~FortunePluginWidget(); 33 ~FortunePluginWidget();
34 34
35private: 35private:
36 OTicker *fortune; 36 Opie::Ui::OTicker *fortune;
37 OProcess *fortuneProcess; 37 Opie::Core::OProcess *fortuneProcess;
38 38
39 void getFortune(); 39 void getFortune();
40 40
41private slots: 41private slots:
42 void slotStdOut( OProcess*, char*, int ); 42 void slotStdOut( Opie::Core::OProcess*, char*, int );
43}; 43};
44 44
45#endif 45#endif
diff --git a/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp b/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp
index b3fa708..ce35256 100644
--- a/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp
+++ b/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp
@@ -1,86 +1,88 @@
1#include "inputDialog.h" 1#include "inputDialog.h"
2 2
3#include <qapplication.h> 3#include <qapplication.h>
4#include <qlayout.h> 4#include <qlayout.h>
5#include <qcheckbox.h> 5#include <qcheckbox.h>
6#include <qlineedit.h> 6#include <qlineedit.h>
7#include <qvariant.h> 7#include <qvariant.h>
8#include <qpushbutton.h> 8#include <qpushbutton.h>
9#include <qwhatsthis.h> 9#include <qwhatsthis.h>
10#include <qlabel.h> 10#include <qlabel.h>
11#include <qlayout.h> 11#include <qlayout.h>
12#include <qpe/config.h> 12#include <qpe/config.h>
13#include <qstringlist.h> 13#include <qstringlist.h>
14using namespace Opie::Core;
15using namespace Opie::Core;
14#include <qmainwindow.h> 16#include <qmainwindow.h>
15#include "helpwindow.h" 17#include "helpwindow.h"
16 18
17#include <stdlib.h> 19#include <stdlib.h>
18// #include <sys/stat.h> 20// #include <sys/stat.h>
19// #include <unistd.h> 21// #include <unistd.h>
20 22
21InputDialog::InputDialog( ) 23InputDialog::InputDialog( )
22 : QMainWindow( 0x0, 0x0, WStyle_ContextHelp ) { 24 : QMainWindow( 0x0, 0x0, WStyle_ContextHelp ) {
23 setCaption( tr("Symbol Lookup")); 25 setCaption( tr("Symbol Lookup"));
24 26
25 QGridLayout *layout = new QGridLayout( this ); 27 QGridLayout *layout = new QGridLayout( this );
26 layout->setSpacing(6); 28 layout->setSpacing(6);
27 layout->setMargin( 2); 29 layout->setMargin( 2);
28 30
29 LineEdit1 = new QLineEdit( this, "LineEdit1" ); 31 LineEdit1 = new QLineEdit( this, "LineEdit1" );
30 LineEdit1->setFocus(); 32 LineEdit1->setFocus();
31 33
32 layout->addMultiCellWidget( LineEdit1, 0, 0, 0, 3); 34 layout->addMultiCellWidget( LineEdit1, 0, 0, 0, 3);
33 35
34 QLabel *label; 36 QLabel *label;
35 label = new QLabel(this); 37 label = new QLabel(this);
36 label->setText( tr("Enter something to lookup / search.")); 38 label->setText( tr("Enter something to lookup / search."));
37 label->setMaximumHeight(60); 39 label->setMaximumHeight(60);
38 layout->addMultiCellWidget( label, 1, 1, 0, 3); 40 layout->addMultiCellWidget( label, 1, 1, 0, 3);
39 41
40 connect(LineEdit1,SIGNAL(returnPressed()),this,SLOT(doLookup())); 42 connect(LineEdit1,SIGNAL(returnPressed()),this,SLOT(doLookup()));
41 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Expanding ); 43 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Expanding );
42 layout->addItem( spacer, 8, 0 ); 44 layout->addItem( spacer, 8, 0 );
43 45
44} 46}
45 47
46InputDialog::~InputDialog() { 48InputDialog::~InputDialog() {
47} 49}
48 50
49void InputDialog::doLookup() { 51void InputDialog::doLookup() {
50// http://finance.yahoo.com/l?m=&s=siemens&t= 52// http://finance.yahoo.com/l?m=&s=siemens&t=
51 53
52 QString url = "\"http://finance.yahoo.com/l?m=&s="+LineEdit1->text()+"\""; 54 QString url = "\"http://finance.yahoo.com/l?m=&s="+LineEdit1->text()+"\"";
53 QString tempHtml = "/tmp/stockticker.html"; 55 QString tempHtml = "/tmp/stockticker.html";
54 QString cmd = "wget -O "+tempHtml+" "+url; 56 QString cmd = "wget -O "+tempHtml+" "+url;
55 qDebug(cmd); 57 qDebug(cmd);
56 58
57 59
58/* 60/*
59 OProcess proc; 61 OProcess proc;
60 proc << "/usr/bin/wget"; 62 proc << "/usr/bin/wget";
61 proc<<"-O"<< tempHtml<< url; 63 proc<<"-O"<< tempHtml<< url;
62 64
63 connect( &proc, SIGNAL( processExited(OProcess*)),this, SLOT( showBrowser(OProcess*))); 65 connect( &proc, SIGNAL( processExited(Opie::Core::OProcess*)),this, SLOT( showBrowser(Opie::Core::OProcess*)));
64 proc.start( OProcess::NotifyOnExit); 66 proc.start( OProcess::NotifyOnExit);
65*/ 67*/
66 system(cmd.latin1()); 68 system(cmd.latin1());
67 HelpWindow *StockLookup = new HelpWindow( tempHtml,".",this, "SymbolLookup"); 69 HelpWindow *StockLookup = new HelpWindow( tempHtml,".",this, "SymbolLookup");
68 StockLookup->setCaption("Symbol"); 70 StockLookup->setCaption("Symbol");
69 StockLookup->showMaximized(); 71 StockLookup->showMaximized();
70 StockLookup->show(); 72 StockLookup->show();
71 LineEdit1->text(); 73 LineEdit1->text();
72 74
73 75
74} 76}
75 77
76void InputDialog::showBrowser(OProcess*) { 78void InputDialog::showBrowser(OProcess*) {
77 qDebug("BLAH"); 79 qDebug("BLAH");
78 QString tempHtml = "/tmp/stockticker.html"; 80 QString tempHtml = "/tmp/stockticker.html";
79 81
80 HelpWindow *StockLookup = new HelpWindow( tempHtml,".",this, "SymbolLookup"); 82 HelpWindow *StockLookup = new HelpWindow( tempHtml,".",this, "SymbolLookup");
81 StockLookup->setCaption("Symbol"); 83 StockLookup->setCaption("Symbol");
82 StockLookup->showMaximized(); 84 StockLookup->showMaximized();
83 StockLookup->show(); 85 StockLookup->show();
84 LineEdit1->text(); 86 LineEdit1->text();
85 87
86} 88}
diff --git a/noncore/todayplugins/stockticker/stockticker/inputDialog.h b/noncore/todayplugins/stockticker/stockticker/inputDialog.h
index a1c00bd..d7ff94c 100644
--- a/noncore/todayplugins/stockticker/stockticker/inputDialog.h
+++ b/noncore/todayplugins/stockticker/stockticker/inputDialog.h
@@ -1,30 +1,30 @@
1 1
2#ifndef INPUTDIALOG_H 2#ifndef INPUTDIALOG_H
3#define INPUTDIALOG_H 3#define INPUTDIALOG_H
4 4
5#include <opie2/oprocess.h> 5#include <opie2/oprocess.h>
6 6
7#include <qvariant.h> 7#include <qvariant.h>
8#include <qdialog.h> 8#include <qdialog.h>
9#include <qmainwindow.h> 9#include <qmainwindow.h>
10 10
11class QLineEdit; 11class QLineEdit;
12class QCheckBox; 12class QCheckBox;
13 13
14class InputDialog : public QMainWindow { 14class InputDialog : public QMainWindow {
15 Q_OBJECT 15 Q_OBJECT
16 16
17public: 17public:
18 InputDialog( ); 18 InputDialog( );
19 ~InputDialog(); 19 ~InputDialog();
20 20
21private: 21private:
22 QLineEdit* LineEdit1; 22 QLineEdit* LineEdit1;
23private slots: 23private slots:
24 void doLookup(); 24 void doLookup();
25 void showBrowser(OProcess*); 25 void showBrowser(Opie::Core::OProcess*);
26protected slots: 26protected slots:
27 27
28}; 28};
29 29
30#endif // INPUTDIALOG_H 30#endif // INPUTDIALOG_H
diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp
index 51113ba..aaeb5ee 100644
--- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp
+++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp
@@ -1,327 +1,329 @@
1 /* 1 /*
2 * stocktickerpluginwidget.cpp 2 * stocktickerpluginwidget.cpp
3 * 3 *
4 * copyright : (c) 2002 by L.J. Potter 4 * copyright : (c) 2002 by L.J. Potter
5 * email : llornkcor@handhelds.org 5 * email : llornkcor@handhelds.org
6 * 6 *
7 */ 7 */
8 /*************************************************************************** 8 /***************************************************************************
9 * * 9 * *
10 * This program is free software; you can redistribute it and/or modify * 10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by * 11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or * 12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. * 13 * (at your option) any later version. *
14 * * 14 * *
15 ***************************************************************************/ 15 ***************************************************************************/
16 16
17 #include <opie2/oticker.h> 17 #include <opie2/oticker.h>
18 18
19 #include <qpe/config.h> 19 #include <qpe/config.h>
20 20
21 #include <qlayout.h> 21 #include <qlayout.h>
22 22
23using namespace Opie::Ui;
24using namespace Opie::Ui;
23extern "C" { 25extern "C" {
24 #include "libstocks/stocks.h" 26 #include "libstocks/stocks.h"
25 } 27 }
26 28
27 #include <pthread.h> 29 #include <pthread.h>
28 30
29 #include "stocktickerpluginwidget.h" 31 #include "stocktickerpluginwidget.h"
30 32
31 QString output; 33 QString output;
32 OTicker *stocktickerTicker; 34 OTicker *stocktickerTicker;
33 QCString stock_liste; 35 QCString stock_liste;
34 bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck; 36 bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck;
35 bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck; 37 bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck;
36 bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck; 38 bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck;
37 39
38void getStocks(char *blah) { 40void getStocks(char *blah) {
39 41
40 // stocktickerTicker->setText( "Downloading stock data."); 42 // stocktickerTicker->setText( "Downloading stock data.");
41 stock *stocks_quotes=NULL; 43 stock *stocks_quotes=NULL;
42 stock *stocks_tmp; 44 stock *stocks_tmp;
43 stock_liste = blah; 45 stock_liste = blah;
44 ::free ( blah ); 46 ::free ( blah );
45 // char *stock_liste = (char *)blah->latin1(); 47 // char *stock_liste = (char *)blah->latin1();
46 // qDebug("%s", stock_liste.data() ); 48 // qDebug("%s", stock_liste.data() );
47 output = ""; 49 output = "";
48 QString tempString; 50 QString tempString;
49 libstocks_return_code error; 51 libstocks_return_code error;
50 52
51// Config cfg( "stockticker"); 53// Config cfg( "stockticker");
52// cfg.setGroup( "Fields" ); 54// cfg.setGroup( "Fields" );
53// bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck; 55// bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck;
54// bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck; 56// bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck;
55// bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck; 57// bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck;
56 58
57 dotimeCheck=dodateCheck=dosymbolCheck=donameCheck= docurrentPriceCheck=dolastPriceCheck=doopenPriceCheck=dominPriceCheck=domaxPriceCheck=dovariationCheck=dovolumeCheck=false; 59 dotimeCheck=dodateCheck=dosymbolCheck=donameCheck= docurrentPriceCheck=dolastPriceCheck=doopenPriceCheck=dominPriceCheck=domaxPriceCheck=dovariationCheck=dovolumeCheck=false;
58 60
59 dotimeCheck=1; 61 dotimeCheck=1;
60 dodateCheck=1; 62 dodateCheck=1;
61 dosymbolCheck=1; 63 dosymbolCheck=1;
62 donameCheck=1; 64 donameCheck=1;
63 docurrentPriceCheck=1; 65 docurrentPriceCheck=1;
64 dolastPriceCheck=1; 66 dolastPriceCheck=1;
65 doopenPriceCheck=1; 67 doopenPriceCheck=1;
66 dominPriceCheck=1; 68 dominPriceCheck=1;
67 domaxPriceCheck=1; 69 domaxPriceCheck=1;
68 dovariationCheck=1; 70 dovariationCheck=1;
69 dovolumeCheck=1; 71 dovolumeCheck=1;
70 72
71// dotimeCheck=cfg.readBoolEntry("timeCheck",1); 73// dotimeCheck=cfg.readBoolEntry("timeCheck",1);
72// dodateCheck=cfg.readBoolEntry("dateCheck",1); 74// dodateCheck=cfg.readBoolEntry("dateCheck",1);
73// dosymbolCheck=cfg.readBoolEntry("symbolCheck",1); 75// dosymbolCheck=cfg.readBoolEntry("symbolCheck",1);
74// donameCheck=cfg.readBoolEntry("nameCheck",1); 76// donameCheck=cfg.readBoolEntry("nameCheck",1);
75// docurrentPriceCheck=cfg.readBoolEntry("currentPriceCheck",1); 77// docurrentPriceCheck=cfg.readBoolEntry("currentPriceCheck",1);
76// dolastPriceCheck=cfg.readBoolEntry("lastPriceCheck",1); 78// dolastPriceCheck=cfg.readBoolEntry("lastPriceCheck",1);
77// doopenPriceCheck=cfg.readBoolEntry("openPriceCheck",1); 79// doopenPriceCheck=cfg.readBoolEntry("openPriceCheck",1);
78// dominPriceCheck=cfg.readBoolEntry("minPriceCheck",1); 80// dominPriceCheck=cfg.readBoolEntry("minPriceCheck",1);
79// domaxPriceCheck=cfg.readBoolEntry("maxPriceCheck",1); 81// domaxPriceCheck=cfg.readBoolEntry("maxPriceCheck",1);
80// dovariationCheck=cfg.readBoolEntry("variationCheck",1); 82// dovariationCheck=cfg.readBoolEntry("variationCheck",1);
81// dovolumeCheck=cfg.readBoolEntry("volumeCheck",1); 83// dovolumeCheck=cfg.readBoolEntry("volumeCheck",1);
82 84
83 // DefProxy(); 85 // DefProxy();
84 // { 86 // {
85 char *proxy; 87 char *proxy;
86 // libstocks_return_code error; 88 // libstocks_return_code error;
87 89
88 /* Proxy support */ 90 /* Proxy support */
89 /* Checks for "http_proxy" environment variable */ 91 /* Checks for "http_proxy" environment variable */
90 proxy = getenv("http_proxy"); 92 proxy = getenv("http_proxy");
91 if(proxy) { 93 if(proxy) {
92 /* printf("proxy set\n"); */ 94 /* printf("proxy set\n"); */
93 error = set_proxy(proxy); 95 error = set_proxy(proxy);
94 if (error) { 96 if (error) {
95// printf("Proxy error (%d)\n", error); 97// printf("Proxy error (%d)\n", error);
96// QString tempString2; 98// QString tempString2;
97// tempString2.sprintf("Proxy error (%d)\n", error); 99// tempString2.sprintf("Proxy error (%d)\n", error);
98// output = tempString2; 100// output = tempString2;
99 // delete tempString2; 101 // delete tempString2;
100 return; 102 return;
101 // exit(1); 103 // exit(1);
102 } 104 }
103 } 105 }
104 ::free(proxy); 106 ::free(proxy);
105 // } 107 // }
106 /* Get the stocks and process errors */ 108 /* Get the stocks and process errors */
107 error = get_stocks( stock_liste.data(), &stocks_quotes); 109 error = get_stocks( stock_liste.data(), &stocks_quotes);
108 110
109 if (error) { 111 if (error) {
110 printf("Error in getting stocks (%d)\n", error); 112 printf("Error in getting stocks (%d)\n", error);
111 tempString.sprintf("Error in getting stocks (%d)\n", error); 113 tempString.sprintf("Error in getting stocks (%d)\n", error);
112 output =tempString; 114 output =tempString;
113 return; 115 return;
114 } 116 }
115 117
116 stocks_tmp = stocks_quotes; 118 stocks_tmp = stocks_quotes;
117 119
118 /* Displays the stocks */ 120 /* Displays the stocks */
119 while(stocks_tmp!=0){ 121 while(stocks_tmp!=0){
120 122
121 if (stocks_tmp->Time) { 123 if (stocks_tmp->Time) {
122 // printf("%s ", stocks_tmp->Time); 124 // printf("%s ", stocks_tmp->Time);
123 tempString.sprintf("| %s ", stocks_tmp->Time); 125 tempString.sprintf("| %s ", stocks_tmp->Time);
124 tempString.replace(QRegExp("\""),""); 126 tempString.replace(QRegExp("\""),"");
125 if( dotimeCheck) 127 if( dotimeCheck)
126 output +=tempString; 128 output +=tempString;
127 } 129 }
128 if (stocks_tmp->Date) { 130 if (stocks_tmp->Date) {
129 // printf("%s ", stocks_tmp->Date); 131 // printf("%s ", stocks_tmp->Date);
130 tempString.sprintf("| %s ", stocks_tmp->Date); 132 tempString.sprintf("| %s ", stocks_tmp->Date);
131 tempString.replace(QRegExp("\""),""); 133 tempString.replace(QRegExp("\""),"");
132 if(dodateCheck) 134 if(dodateCheck)
133 output +=tempString; 135 output +=tempString;
134 } 136 }
135 // printf("\n"); 137 // printf("\n");
136 138
137 // printf("----------------------------------------\n"); 139 // printf("----------------------------------------\n");
138 140
139 if ( strlen(stocks_tmp->Symbol) > 20 ) { 141 if ( strlen(stocks_tmp->Symbol) > 20 ) {
140 // printf("| Symbol | %.20s |\n",stocks_tmp->Symbol); 142 // printf("| Symbol | %.20s |\n",stocks_tmp->Symbol);
141 tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol); 143 tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol);
142 if(dosymbolCheck) 144 if(dosymbolCheck)
143 output +=tempString; 145 output +=tempString;
144 } 146 }
145 else { 147 else {
146 // printf("| Symbol | %-20s |\n",stocks_tmp->Symbol); 148 // printf("| Symbol | %-20s |\n",stocks_tmp->Symbol);
147 tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol); 149 tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol);
148 if(dosymbolCheck) 150 if(dosymbolCheck)
149 output +=tempString; 151 output +=tempString;
150 } 152 }
151 153
152 if (stocks_tmp->Name) { 154 if (stocks_tmp->Name) {
153 if ( strlen(stocks_tmp->Name) > 20 ) { 155 if ( strlen(stocks_tmp->Name) > 20 ) {
154 // printf("| Name %.20s |\n",stocks_tmp->Name); 156 // printf("| Name %.20s |\n",stocks_tmp->Name);
155 tempString.sprintf("| Name %s ",stocks_tmp->Name); 157 tempString.sprintf("| Name %s ",stocks_tmp->Name);
156 tempString.stripWhiteSpace(); 158 tempString.stripWhiteSpace();
157 if(donameCheck) 159 if(donameCheck)
158 output +=tempString; 160 output +=tempString;
159 } else { 161 } else {
160 // printf("| Name | %-20s |\n",stocks_tmp->Name); 162 // printf("| Name | %-20s |\n",stocks_tmp->Name);
161 tempString.sprintf("| Name %s ",stocks_tmp->Name); 163 tempString.sprintf("| Name %s ",stocks_tmp->Name);
162 tempString.stripWhiteSpace(); 164 tempString.stripWhiteSpace();
163 if(donameCheck) 165 if(donameCheck)
164 output +=tempString; 166 output +=tempString;
165 } 167 }
166 } 168 }
167 else { 169 else {
168 // printf("| Name | |\n"); 170 // printf("| Name | |\n");
169 tempString.sprintf("| Name | |"); 171 tempString.sprintf("| Name | |");
170 if(donameCheck) 172 if(donameCheck)
171 output +=tempString; 173 output +=tempString;
172 } 174 }
173 175
174 // printf("| Price | %-7.2f |\n", stocks_tmp->CurrentPrice); 176 // printf("| Price | %-7.2f |\n", stocks_tmp->CurrentPrice);
175 tempString.sprintf("| Price %-7.2f ", stocks_tmp->CurrentPrice); 177 tempString.sprintf("| Price %-7.2f ", stocks_tmp->CurrentPrice);
176 if(docurrentPriceCheck) 178 if(docurrentPriceCheck)
177 output +=tempString; 179 output +=tempString;
178 180
179 // printf("| Yesterday | %-7.2f |\n",stocks_tmp->LastPrice); 181 // printf("| Yesterday | %-7.2f |\n",stocks_tmp->LastPrice);
180 tempString.sprintf("| Yesterday %-7.2f ",stocks_tmp->LastPrice); 182 tempString.sprintf("| Yesterday %-7.2f ",stocks_tmp->LastPrice);
181 if(dolastPriceCheck) 183 if(dolastPriceCheck)
182 output +=tempString; 184 output +=tempString;
183 185
184 // printf("| Open | %-7.2f |\n",stocks_tmp->OpenPrice); 186 // printf("| Open | %-7.2f |\n",stocks_tmp->OpenPrice);
185 tempString.sprintf("| Open %-7.2f ",stocks_tmp->OpenPrice); 187 tempString.sprintf("| Open %-7.2f ",stocks_tmp->OpenPrice);
186 if(doopenPriceCheck) 188 if(doopenPriceCheck)
187 output +=tempString; 189 output +=tempString;
188 190
189 // printf("| Min | %-7.2f |\n", stocks_tmp->MinPrice); 191 // printf("| Min | %-7.2f |\n", stocks_tmp->MinPrice);
190 tempString.sprintf("| Min %-7.2f ", stocks_tmp->MinPrice); 192 tempString.sprintf("| Min %-7.2f ", stocks_tmp->MinPrice);
191 if(dominPriceCheck) 193 if(dominPriceCheck)
192 output +=tempString; 194 output +=tempString;
193 195
194 // printf("| Max | %-7.2f |\n",stocks_tmp->MaxPrice); 196 // printf("| Max | %-7.2f |\n",stocks_tmp->MaxPrice);
195 tempString.sprintf("| Max %-7.2f ",stocks_tmp->MaxPrice); 197 tempString.sprintf("| Max %-7.2f ",stocks_tmp->MaxPrice);
196 if(domaxPriceCheck) 198 if(domaxPriceCheck)
197 output +=tempString; 199 output +=tempString;
198 200
199 // printf("| Var | %-6.2f (%5.2f %%) |\n", stocks_tmp->Variation, stocks_tmp->Pourcentage); 201 // printf("| Var | %-6.2f (%5.2f %%) |\n", stocks_tmp->Variation, stocks_tmp->Pourcentage);
200 tempString.sprintf("| Var %-6.2f (%5.2f %%) ", stocks_tmp->Variation, stocks_tmp->Pourcentage); 202 tempString.sprintf("| Var %-6.2f (%5.2f %%) ", stocks_tmp->Variation, stocks_tmp->Pourcentage);
201 if(dovariationCheck) 203 if(dovariationCheck)
202 output +=tempString; 204 output +=tempString;
203 205
204 // printf("| Volume | %-9d |\n", stocks_tmp->Volume); 206 // printf("| Volume | %-9d |\n", stocks_tmp->Volume);
205 tempString.sprintf("| Volume %-9d ", stocks_tmp->Volume); 207 tempString.sprintf("| Volume %-9d ", stocks_tmp->Volume);
206 if(dovolumeCheck) 208 if(dovolumeCheck)
207 output +=tempString; 209 output +=tempString;
208 210
209 // printf("----------------------------------------\n\n"); 211 // printf("----------------------------------------\n\n");
210 tempString.sprintf("||==++==|"); 212 tempString.sprintf("||==++==|");
211 output +=tempString; 213 output +=tempString;
212 214
213 /* Simple function which help to browse in the stocks list */ 215 /* Simple function which help to browse in the stocks list */
214 stocks_tmp = next_stock(stocks_tmp); 216 stocks_tmp = next_stock(stocks_tmp);
215 } 217 }
216 218
217 stocktickerTicker->setText( output.latin1() ); 219 stocktickerTicker->setText( output.latin1() );
218 220
219 /* frees stocks */ 221 /* frees stocks */
220 free_stocks(stocks_quotes); 222 free_stocks(stocks_quotes);
221 free_stocks(stocks_tmp); 223 free_stocks(stocks_tmp);
222 224
223 stock_liste=""; 225 stock_liste="";
224 //delete stock_liste; 226 //delete stock_liste;
225 tempString=""; 227 tempString="";
226 output=""; 228 output="";
227 } 229 }
228 230
229 StockTickerPluginWidget::StockTickerPluginWidget( QWidget *parent, const char* name) 231 StockTickerPluginWidget::StockTickerPluginWidget( QWidget *parent, const char* name)
230 : QWidget(parent, name ) { 232 : QWidget(parent, name ) {
231 init(); 233 init();
232 startTimer(1000); 234 startTimer(1000);
233 235
234 stocktickerTicker->setTextFormat(Qt::RichText); 236 stocktickerTicker->setTextFormat(Qt::RichText);
235 // checkConnection(); 237 // checkConnection();
236 } 238 }
237 239
238 StockTickerPluginWidget::~StockTickerPluginWidget() { 240 StockTickerPluginWidget::~StockTickerPluginWidget() {
239 } 241 }
240 242
241 void StockTickerPluginWidget::init() { 243 void StockTickerPluginWidget::init() {
242 244
243 QHBoxLayout* layout = new QHBoxLayout( this ); 245 QHBoxLayout* layout = new QHBoxLayout( this );
244 stocktickerTicker = new OTicker(this); 246 stocktickerTicker = new OTicker(this);
245 // stocktickerTicker->setMinimumHeight(15); 247 // stocktickerTicker->setMinimumHeight(15);
246 connect( stocktickerTicker, SIGNAL( mousePressed()), this, SLOT( checkConnection() )); 248 connect( stocktickerTicker, SIGNAL( mousePressed()), this, SLOT( checkConnection() ));
247 layout->addWidget( stocktickerTicker); 249 layout->addWidget( stocktickerTicker);
248 wasError = true; 250 wasError = true;
249 } 251 }
250 252
251 void StockTickerPluginWidget::doStocks() { 253 void StockTickerPluginWidget::doStocks() {
252 Config cfg( "stockticker"); 254 Config cfg( "stockticker");
253 cfg.setGroup( "Symbols" ); 255 cfg.setGroup( "Symbols" );
254 symbollist=""; 256 symbollist="";
255 symbollist = cfg.readEntry("Symbols", ""); 257 symbollist = cfg.readEntry("Symbols", "");
256 symbollist.replace(QRegExp(" "),"+");//seperated by + 258 symbollist.replace(QRegExp(" "),"+");//seperated by +
257 259
258 cfg.setGroup("Timer"); 260 cfg.setGroup("Timer");
259 stocktickerTicker->setUpdateTime( cfg.readNumEntry("ScrollSpeed",50)); 261 stocktickerTicker->setUpdateTime( cfg.readNumEntry("ScrollSpeed",50));
260 stocktickerTicker->setScrollLength( cfg.readNumEntry("ScrollLength",10)); 262 stocktickerTicker->setScrollLength( cfg.readNumEntry("ScrollLength",10));
261 263
262 if (!symbollist.isEmpty()) { 264 if (!symbollist.isEmpty()) {
263 pthread_t thread1; 265 pthread_t thread1;
264 char *blah = ::strdup(symbollist.latin1()); 266 char *blah = ::strdup(symbollist.latin1());
265 pthread_create( &thread1, NULL, (void * (*)(void *))getStocks, (void *) blah); 267 pthread_create( &thread1, NULL, (void * (*)(void *))getStocks, (void *) blah);
266 pthread_detach( thread1); 268 pthread_detach( thread1);
267 269
268 //::free((void*)thread1); 270 //::free((void*)thread1);
269 //getStocks(blah); 271 //getStocks(blah);
270 } 272 }
271 } 273 }
272 274
273 void StockTickerPluginWidget::timerEvent( QTimerEvent *e ) { 275 void StockTickerPluginWidget::timerEvent( QTimerEvent *e ) {
274 killTimer(e->timerId()); 276 killTimer(e->timerId());
275 checkConnection(); 277 checkConnection();
276 } 278 }
277 279
278 void StockTickerPluginWidget::checkConnection() { 280 void StockTickerPluginWidget::checkConnection() {
279 // qDebug("checking connection"); 281 // qDebug("checking connection");
280 // Sock = new QSocket( this ); 282 // Sock = new QSocket( this );
281 283
282 // if( wasError) 284 // if( wasError)
283 // stocktickerTicker->setText("Checking connection"); 285 // stocktickerTicker->setText("Checking connection");
284 286
285 // if(Sock->state() == QSocket::Idle) { 287 // if(Sock->state() == QSocket::Idle) {
286 // Sock->connectToHost("finance.yahoo.com", 80); 288 // Sock->connectToHost("finance.yahoo.com", 80);
287 // connect( Sock, SIGNAL( error(int) ), SLOT(socketError(int)) ); 289 // connect( Sock, SIGNAL( error(int) ), SLOT(socketError(int)) );
288 // connect( Sock, SIGNAL( hostFound() ), SLOT(isConnected()) ); 290 // connect( Sock, SIGNAL( hostFound() ), SLOT(isConnected()) );
289 // } else { 291 // } else {
290 // qDebug("State is not Idle"); 292 // qDebug("State is not Idle");
291 isConnected(); 293 isConnected();
292 // } 294 // }
293 } 295 }
294 296
295 void StockTickerPluginWidget::isConnected() { 297 void StockTickerPluginWidget::isConnected() {
296 // qDebug("We connect, so ok to grab stocks"); 298 // qDebug("We connect, so ok to grab stocks");
297 if(this->isVisible()) 299 if(this->isVisible())
298 doStocks(); 300 doStocks();
299 301
300 Config cfg( "stockticker"); 302 Config cfg( "stockticker");
301 cfg.setGroup("Timer"); 303 cfg.setGroup("Timer");
302 timerDelay= cfg.readNumEntry("Delay",0); 304 timerDelay= cfg.readNumEntry("Delay",0);
303 if(timerDelay > 0) 305 if(timerDelay > 0)
304 startTimer(timerDelay*60000); 306 startTimer(timerDelay*60000);
305 // qDebug("timer set for %d",(timerDelay*60000)/60000); 307 // qDebug("timer set for %d",(timerDelay*60000)/60000);
306 wasError = false; 308 wasError = false;
307 309
308 // Sock->close(); 310 // Sock->close();
309 } 311 }
310 312
311 void StockTickerPluginWidget::socketError(int errcode) { 313 void StockTickerPluginWidget::socketError(int errcode) {
312 switch(errcode) { 314 switch(errcode) {
313 case QSocket::ErrConnectionRefused: 315 case QSocket::ErrConnectionRefused:
314 output = tr("Connection refused."); 316 output = tr("Connection refused.");
315 break; 317 break;
316 case QSocket::ErrHostNotFound: 318 case QSocket::ErrHostNotFound:
317 output = tr("Could not find server."); 319 output = tr("Could not find server.");
318 break; 320 break;
319 case QSocket::ErrSocketRead : 321 case QSocket::ErrSocketRead :
320 output = tr("Socket read error."); 322 output = tr("Socket read error.");
321 break; 323 break;
322 }; 324 };
323 stocktickerTicker->setText( output ); 325 stocktickerTicker->setText( output );
324 wasError = true; 326 wasError = true;
325 // Sock->close(); 327 // Sock->close();
326 328
327 } 329 }
diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.h b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.h
index 8a8fbf8..727e289 100644
--- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.h
+++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.h
@@ -1,62 +1,62 @@
1/* 1/*
2 * stocktickerpluginwidget.h 2 * stocktickerpluginwidget.h
3 * 3 *
4 * copyright : (c) 2002 by L.J. Potter 4 * copyright : (c) 2002 by L.J. Potter
5 * email : lornkcor@handhelds.org 5 * email : lornkcor@handhelds.org
6 * 6 *
7 */ 7 */
8/*************************************************************************** 8/***************************************************************************
9 * * 9 * *
10 * This program is free software; you can redistribute it and/or modify * 10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by * 11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or * 12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. * 13 * (at your option) any later version. *
14 * * 14 * *
15 ***************************************************************************/ 15 ***************************************************************************/
16 16
17 17
18#ifndef STOCKTICKERL_PLUGIN_WIDGET_H 18#ifndef STOCKTICKERL_PLUGIN_WIDGET_H
19#define STOCKTICKERL_PLUGIN_WIDGET_H 19#define STOCKTICKERL_PLUGIN_WIDGET_H
20 20
21#include <qsocket.h> 21#include <qsocket.h>
22#include <qstring.h> 22#include <qstring.h>
23#include <qwidget.h> 23#include <qwidget.h>
24#include <qlineedit.h> 24#include <qlineedit.h>
25 25
26#include <opie/oclickablelabel.h> 26#include <opie2/oclickablelabel.h>
27#include <opie/oticker.h> 27#include <opie2/oticker.h>
28 28
29#include <sys/types.h> 29#include <sys/types.h>
30#include <sys/uio.h> 30#include <sys/uio.h>
31#include <unistd.h> 31#include <unistd.h>
32#include <stdio.h> 32#include <stdio.h>
33#include <stdlib.h> 33#include <stdlib.h>
34#include <string.h> 34#include <string.h>
35 35
36class QTimer; 36class QTimer;
37 37
38class StockTickerPluginWidget : public QWidget { 38class StockTickerPluginWidget : public QWidget {
39 39
40 Q_OBJECT 40 Q_OBJECT
41 41
42public: 42public:
43 StockTickerPluginWidget( QWidget *parent, const char *name ); 43 StockTickerPluginWidget( QWidget *parent, const char *name );
44 ~StockTickerPluginWidget(); 44 ~StockTickerPluginWidget();
45 45
46protected slots: 46protected slots:
47 void doStocks(); 47 void doStocks();
48 void isConnected(); 48 void isConnected();
49 void socketError(int); 49 void socketError(int);
50 void checkConnection(); 50 void checkConnection();
51private: 51private:
52 int updateSpeed; 52 int updateSpeed;
53 QString symbollist; 53 QString symbollist;
54 bool wasError; 54 bool wasError;
55 QSocket *Sock; 55 QSocket *Sock;
56 void timerEvent( QTimerEvent * ); 56 void timerEvent( QTimerEvent * );
57 void init(); 57 void init();
58// void DefProxy(void); 58// void DefProxy(void);
59 int timerDelay; 59 int timerDelay;
60}; 60};
61 61
62#endif 62#endif
diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktimerpluginwidget.h b/noncore/todayplugins/stockticker/stocktickerlib/stocktimerpluginwidget.h
index d7b6047..667d9c9 100644
--- a/noncore/todayplugins/stockticker/stocktickerlib/stocktimerpluginwidget.h
+++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktimerpluginwidget.h
@@ -1,44 +1,44 @@
1/* 1/*
2 * mailpluginwidget.h 2 * mailpluginwidget.h
3 * 3 *
4 * copyright : (c) 2002 by Maximilian Reiß 4 * copyright : (c) 2002 by Maximilian Reiß
5 * email : harlekin@handhelds.org 5 * email : harlekin@handhelds.org
6 * 6 *
7 */ 7 */
8/*************************************************************************** 8/***************************************************************************
9 * * 9 * *
10 * This program is free software; you can redistribute it and/or modify * 10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by * 11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or * 12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. * 13 * (at your option) any later version. *
14 * * 14 * *
15 ***************************************************************************/ 15 ***************************************************************************/
16 16
17 17
18#ifndef MAIL_PLUGIN_WIDGET_H 18#ifndef MAIL_PLUGIN_WIDGET_H
19#define MAIL_PLUGIN_WIDGET_H 19#define MAIL_PLUGIN_WIDGET_H
20 20
21#include <qstring.h> 21#include <qstring.h>
22#include <qwidget.h> 22#include <qwidget.h>
23 23
24#include <opie/oclickablelabel.h> 24#include <opie2/oclickablelabel.h>
25 25
26class MailPluginWidget : public QWidget { 26class MailPluginWidget : public QWidget {
27 27
28 Q_OBJECT 28 Q_OBJECT
29 29
30 30
31public: 31public:
32 MailPluginWidget( QWidget *parent, const char *name ); 32 MailPluginWidget( QWidget *parent, const char *name );
33 ~MailPluginWidget(); 33 ~MailPluginWidget();
34 34
35protected slots: 35protected slots:
36 void startMail(); 36 void startMail();
37 37
38private: 38private:
39 OClickableLabel *mailLabel; 39 Opie::Ui::OClickableLabel *mailLabel;
40 void readConfig(); 40 void readConfig();
41 void getInfo(); 41 void getInfo();
42}; 42};
43 43
44#endif 44#endif
diff --git a/noncore/todayplugins/weather/weatherpluginwidget.cpp b/noncore/todayplugins/weather/weatherpluginwidget.cpp
index ad99a43..8e00c36 100644
--- a/noncore/todayplugins/weather/weatherpluginwidget.cpp
+++ b/noncore/todayplugins/weather/weatherpluginwidget.cpp
@@ -1,325 +1,326 @@
1/* 1/*
2                This file is part of the OPIE Project 2                This file is part of the OPIE Project
3 =. 3 =.
4             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> 4             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
5           .>+-= 5           .>+-=
6 _;:,     .>    :=|. This file is free software; you can 6 _;:,     .>    :=|. This file is free software; you can
7.> <`_,   >  .   <= redistribute it and/or modify it under 7.> <`_,   >  .   <= redistribute it and/or modify it under
8:`=1 )Y*s>-.--   : the terms of the GNU General Public 8:`=1 )Y*s>-.--   : the terms of the GNU General Public
9.="- .-=="i,     .._ License as published by the Free Software 9.="- .-=="i,     .._ License as published by the Free Software
10 - .   .-<_>     .<> Foundation; either version 2 of the License, 10 - .   .-<_>     .<> Foundation; either version 2 of the License,
11     ._= =}       : or (at your option) any later version. 11     ._= =}       : or (at your option) any later version.
12    .%`+i>       _;_. 12    .%`+i>       _;_.
13    .i_,=:_.      -<s. This file is distributed in the hope that 13    .i_,=:_.      -<s. This file is distributed in the hope that
14     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 14     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
15    : ..    .:,     . . . without even the implied warranty of 15    : ..    .:,     . . . without even the implied warranty of
16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General 17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
18..}^=.=       =       ; Public License for more details. 18..}^=.=       =       ; Public License for more details.
19++=   -.     .`     .: 19++=   -.     .`     .:
20 :     =  ...= . :.=- You should have received a copy of the GNU 20 :     =  ...= . :.=- You should have received a copy of the GNU
21 -.   .:....=;==+<; General Public License along with this file; 21 -.   .:....=;==+<; General Public License along with this file;
22  -_. . .   )=.  = see the file COPYING. If not, write to the 22  -_. . .   )=.  = see the file COPYING. If not, write to the
23    --        :-=` Free Software Foundation, Inc., 23    --        :-=` Free Software Foundation, Inc.,
24 59 Temple Place - Suite 330, 24 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA. 25 Boston, MA 02111-1307, USA.
26 26
27*/ 27*/
28 28
29#include <qfile.h> 29#include <qfile.h>
30#include <qimage.h> 30#include <qimage.h>
31#include <qlabel.h> 31#include <qlabel.h>
32#include <qlayout.h> 32#include <qlayout.h>
33#include <qpixmap.h> 33#include <qpixmap.h>
34#include <qtextstream.h> 34#include <qtextstream.h>
35 35
36#include <opie2/oprocess.h> 36#include <opie2/oprocess.h>
37 37
38#include <qpe/config.h> 38#include <qpe/config.h>
39#include <qpe/resource.h> 39#include <qpe/resource.h>
40 40
41#include "weatherpluginwidget.h" 41#include "weatherpluginwidget.h"
42 42
43using namespace Opie::Core;
43WeatherPluginWidget::WeatherPluginWidget( QWidget *parent, const char* name ) 44WeatherPluginWidget::WeatherPluginWidget( QWidget *parent, const char* name )
44 : QWidget( parent, name ) 45 : QWidget( parent, name )
45{ 46{
46 QHBoxLayout *layout = new QHBoxLayout( this ); 47 QHBoxLayout *layout = new QHBoxLayout( this );
47 layout->setAutoAdd( TRUE ); 48 layout->setAutoAdd( TRUE );
48 layout->setSpacing( 2 ); 49 layout->setSpacing( 2 );
49 50
50 weatherIcon = new QLabel( this ); 51 weatherIcon = new QLabel( this );
51 weatherIcon->setMaximumWidth( 32 ); 52 weatherIcon->setMaximumWidth( 32 );
52 QImage logo1 = Resource::loadImage( "Clock" ); 53 QImage logo1 = Resource::loadImage( "Clock" );
53 QPixmap pic; 54 QPixmap pic;
54 pic.convertFromImage( logo1 ); 55 pic.convertFromImage( logo1 );
55 weatherIcon->setPixmap( pic ); 56 weatherIcon->setPixmap( pic );
56 57
57 weatherLabel = new QLabel( tr( "Retreiving current weather information." ), this ); 58 weatherLabel = new QLabel( tr( "Retreiving current weather information." ), this );
58 weatherLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ) ); 59 weatherLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ) );
59 60
60 startTimer(1000); 61 startTimer(1000);
61} 62}
62 63
63WeatherPluginWidget::~WeatherPluginWidget() 64WeatherPluginWidget::~WeatherPluginWidget()
64{ 65{
65 QFile file( localFile ); 66 QFile file( localFile );
66 if ( file.exists() ) 67 if ( file.exists() )
67 { 68 {
68 file.remove(); 69 file.remove();
69 } 70 }
70} 71}
71 72
72void WeatherPluginWidget::timerEvent( QTimerEvent *e ) 73void WeatherPluginWidget::timerEvent( QTimerEvent *e )
73{ 74{
74 killTimer( e->timerId() ); 75 killTimer( e->timerId() );
75 retreiveData(); 76 retreiveData();
76} 77}
77 78
78 79
79 80
80void WeatherPluginWidget::retreiveData() 81void WeatherPluginWidget::retreiveData()
81{ 82{
82 Config config( "todayweatherplugin"); 83 Config config( "todayweatherplugin");
83 config.setGroup( "Config" ); 84 config.setGroup( "Config" );
84 85
85 location = config.readEntry( "Location", "" ); 86 location = config.readEntry( "Location", "" );
86 useMetric = config.readBoolEntry( "Metric", TRUE ); 87 useMetric = config.readBoolEntry( "Metric", TRUE );
87 frequency = config.readNumEntry( "Frequency", 5 ); 88 frequency = config.readNumEntry( "Frequency", 5 );
88 89
89 startTimer( frequency * 60000 ); 90 startTimer( frequency * 60000 );
90 91
91 localFile = "/tmp/"; 92 localFile = "/tmp/";
92 localFile.append( location ); 93 localFile.append( location );
93 localFile.append( ".TXT" ); 94 localFile.append( ".TXT" );
94 95
95 remoteFile = "http://weather.noaa.gov/pub/data/observations/metar/stations/"; 96 remoteFile = "http://weather.noaa.gov/pub/data/observations/metar/stations/";
96 remoteFile.append( location ); 97 remoteFile.append( location );
97 remoteFile.append( ".TXT" ); 98 remoteFile.append( ".TXT" );
98 99
99 QFile file( localFile ); 100 QFile file( localFile );
100 if ( file.exists() ) 101 if ( file.exists() )
101 { 102 {
102 file.remove(); 103 file.remove();
103 } 104 }
104 105
105 OProcess *proc = new OProcess; 106 OProcess *proc = new OProcess;
106 107
107 *proc << "wget" << "-q" << remoteFile << "-O" << localFile; 108 *proc << "wget" << "-q" << remoteFile << "-O" << localFile;
108 connect( proc, SIGNAL( processExited(OProcess*) ), this, SLOT( dataRetrieved(OProcess*) ) ); 109 connect( proc, SIGNAL( processExited(Opie::Core::OProcess*) ), this, SLOT( dataRetrieved(Opie::Core::OProcess*) ) );
109 proc->start(); 110 proc->start();
110} 111}
111 112
112void WeatherPluginWidget::displayWeather() 113void WeatherPluginWidget::displayWeather()
113{ 114{
114 weatherData = QString::null; 115 weatherData = QString::null;
115 116
116 QFile file( localFile ); 117 QFile file( localFile );
117 118
118 if ( file.size() > 0 && file.open( IO_ReadOnly ) ) 119 if ( file.size() > 0 && file.open( IO_ReadOnly ) )
119 { 120 {
120 QTextStream data( &file ); 121 QTextStream data( &file );
121 while ( !data.eof() ) 122 while ( !data.eof() )
122 { 123 {
123 weatherData.append( data.readLine() ); 124 weatherData.append( data.readLine() );
124 } 125 }
125 file.close(); 126 file.close();
126 weatherData = weatherData.simplifyWhiteSpace(); 127 weatherData = weatherData.simplifyWhiteSpace();
127 128
128 QString tmpstr; 129 QString tmpstr;
129 130
130 tmpstr.append( tr( "Temp: " ) ); 131 tmpstr.append( tr( "Temp: " ) );
131 getTemp( weatherData ); 132 getTemp( weatherData );
132 tmpstr.append( dataStr ); 133 tmpstr.append( dataStr );
133 134
134 tmpstr.append( tr( " Wind: " ) ); 135 tmpstr.append( tr( " Wind: " ) );
135 getWind( weatherData ); 136 getWind( weatherData );
136 tmpstr.append( dataStr ); 137 tmpstr.append( dataStr );
137 138
138 tmpstr.append( tr( "\nPres: " ) ); 139 tmpstr.append( tr( "\nPres: " ) );
139 getPressure( weatherData ); 140 getPressure( weatherData );
140 tmpstr.append( dataStr ); 141 tmpstr.append( dataStr );
141 142
142 weatherLabel->setText( tmpstr ); 143 weatherLabel->setText( tmpstr );
143 144
144 tmpstr = "todayweatherplugin/"; 145 tmpstr = "todayweatherplugin/";
145 getIcon( weatherData ); 146 getIcon( weatherData );
146 tmpstr.append( dataStr ); 147 tmpstr.append( dataStr );
147 QImage logo1 = Resource::loadImage( tmpstr ); 148 QImage logo1 = Resource::loadImage( tmpstr );
148 QPixmap pic; 149 QPixmap pic;
149 pic.convertFromImage( logo1 ); 150 pic.convertFromImage( logo1 );
150 weatherIcon->setPixmap( pic ); 151 weatherIcon->setPixmap( pic );
151 } 152 }
152 else 153 else
153 { 154 {
154 weatherLabel->setText( tr( "Current weather data not available." ) ); 155 weatherLabel->setText( tr( "Current weather data not available." ) );
155 } 156 }
156} 157}
157 158
158void WeatherPluginWidget::getTemp( const QString &data ) 159void WeatherPluginWidget::getTemp( const QString &data )
159{ 160{
160 int value; 161 int value;
161 bool ok; 162 bool ok;
162 163
163 int pos = data.find( QRegExp( "M?[0-9]+/M?[0-9]+" ), 20 ); 164 int pos = data.find( QRegExp( "M?[0-9]+/M?[0-9]+" ), 20 );
164 if ( pos > -1 ) 165 if ( pos > -1 )
165 { 166 {
166 if ( data.at( pos ) == 'M' ) 167 if ( data.at( pos ) == 'M' )
167 { 168 {
168 value = -1 * data.mid( pos + 1, 2 ).toInt( &ok ); 169 value = -1 * data.mid( pos + 1, 2 ).toInt( &ok );
169 } 170 }
170 else 171 else
171 { 172 {
172 value = data.mid( pos, 2 ).toInt( &ok ); 173 value = data.mid( pos, 2 ).toInt( &ok );
173 } 174 }
174 if ( useMetric ) 175 if ( useMetric )
175 { 176 {
176 dataStr = QString::number( value ); 177 dataStr = QString::number( value );
177 dataStr.append( 'C' ); 178 dataStr.append( 'C' );
178 } 179 }
179 else 180 else
180 { 181 {
181 dataStr = QString::number( ( value * 9 / 5 ) + 32 ); 182 dataStr = QString::number( ( value * 9 / 5 ) + 32 );
182 dataStr.append( 'F' ); 183 dataStr.append( 'F' );
183 } 184 }
184 } 185 }
185 else 186 else
186 { 187 {
187 dataStr = tr( "n/a" ); 188 dataStr = tr( "n/a" );
188 } 189 }
189} 190}
190 191
191void WeatherPluginWidget::getWind( const QString &data ) 192void WeatherPluginWidget::getWind( const QString &data )
192{ 193{
193 int value; 194 int value;
194 bool ok; 195 bool ok;
195 196
196 int pos = data.find( QRegExp( "[0-9]*G*[0-9]*KT" ), 20 ); 197 int pos = data.find( QRegExp( "[0-9]*G*[0-9]*KT" ), 20 );
197 if ( pos > -1 ) 198 if ( pos > -1 )
198 { 199 {
199 if ( data.mid( pos, 3 ) != "VRB" ) 200 if ( data.mid( pos, 3 ) != "VRB" )
200 { 201 {
201 value = data.mid( pos, 3 ).toInt( &ok ); 202 value = data.mid( pos, 3 ).toInt( &ok );
202 if ( ( value >= 0 && value < 23 ) || ( value >= 239 && value <= 360 ) ) 203 if ( ( value >= 0 && value < 23 ) || ( value >= 239 && value <= 360 ) )
203 dataStr = tr("E " ); 204 dataStr = tr("E " );
204 else if ( value >= 23 && value < 69 ) 205 else if ( value >= 23 && value < 69 )
205 dataStr = tr( "NE " ); 206 dataStr = tr( "NE " );
206 else if ( value >= 69 && value < 113 ) 207 else if ( value >= 69 && value < 113 )
207 dataStr = tr( "N " ); 208 dataStr = tr( "N " );
208 else if ( value >= 113 && value < 157 ) 209 else if ( value >= 113 && value < 157 )
209 dataStr = tr( "NW " ); 210 dataStr = tr( "NW " );
210 else if ( value >= 157 && value < 203 ) 211 else if ( value >= 157 && value < 203 )
211 dataStr = tr( "W " ); 212 dataStr = tr( "W " );
212 else if ( value >= 203 && value < 248 ) 213 else if ( value >= 203 && value < 248 )
213 dataStr = tr( "SW " ); 214 dataStr = tr( "SW " );
214 else if ( value >= 248 && value < 294 ) 215 else if ( value >= 248 && value < 294 )
215 dataStr = tr( "S " ); 216 dataStr = tr( "S " );
216 else if ( value >= 294 && value < 238 ) 217 else if ( value >= 294 && value < 238 )
217 dataStr = tr( "SE " ); 218 dataStr = tr( "SE " );
218 } 219 }
219 if ( data.mid( pos + 5, 1) == "G" || 220 if ( data.mid( pos + 5, 1) == "G" ||
220 data.mid( pos + 5, 1) == "K" ) 221 data.mid( pos + 5, 1) == "K" )
221 { 222 {
222 value = data.mid( pos + 3, 2 ).toInt( &ok ); 223 value = data.mid( pos + 3, 2 ).toInt( &ok );
223 } 224 }
224 else 225 else
225 { 226 {
226 value = data.mid( pos + 3, 3 ).toInt( &ok ); 227 value = data.mid( pos + 3, 3 ).toInt( &ok );
227 } 228 }
228 if ( useMetric ) 229 if ( useMetric )
229 { 230 {
230 value = value * 3.6 / 1.94; 231 value = value * 3.6 / 1.94;
231 dataStr.append( QString::number( value ) ); 232 dataStr.append( QString::number( value ) );
232 dataStr.append( tr( " KPH" ) ); 233 dataStr.append( tr( " KPH" ) );
233 } 234 }
234 else 235 else
235 { 236 {
236 value = value * 2.24 / 1.94; 237 value = value * 2.24 / 1.94;
237 dataStr.append( QString::number( value ) ); 238 dataStr.append( QString::number( value ) );
238 dataStr.append( tr( " MPH" ) ); 239 dataStr.append( tr( " MPH" ) );
239 } 240 }
240 } 241 }
241 else 242 else
242 { 243 {
243 dataStr = tr( "n/a" ); 244 dataStr = tr( "n/a" );
244 } 245 }
245} 246}
246 247
247void WeatherPluginWidget::getPressure( const QString &data ) 248void WeatherPluginWidget::getPressure( const QString &data )
248{ 249{
249 float value; 250 float value;
250 bool ok; 251 bool ok;
251 252
252 int pos = data.find( QRegExp( "[AQ][0-9]+" ), 20 ); 253 int pos = data.find( QRegExp( "[AQ][0-9]+" ), 20 );
253 if ( pos > -1 ) 254 if ( pos > -1 )
254 { 255 {
255 value = data.mid( pos + 1, 4 ).toFloat( &ok ); 256 value = data.mid( pos + 1, 4 ).toFloat( &ok );
256 if ( useMetric ) 257 if ( useMetric )
257 { 258 {
258 if ( data.mid( pos, 1 ) == "A" ) 259 if ( data.mid( pos, 1 ) == "A" )
259 value *= 33.8639 / 100; 260 value *= 33.8639 / 100;
260 dataStr = QString::number( value, 'f', 2 ); 261 dataStr = QString::number( value, 'f', 2 );
261 dataStr.append( tr( " kPa" ) ); 262 dataStr.append( tr( " kPa" ) );
262 } 263 }
263 else 264 else
264 { 265 {
265 if ( data.mid( pos, 1 ) == "Q" ) 266 if ( data.mid( pos, 1 ) == "Q" )
266 value /= 33.8639; 267 value /= 33.8639;
267 else 268 else
268 value /= 100; 269 value /= 100;
269 dataStr = QString::number( value, 'f', 2 ); 270 dataStr = QString::number( value, 'f', 2 );
270 dataStr.append( tr( " Hg" ) ); 271 dataStr.append( tr( " Hg" ) );
271 } 272 }
272 } 273 }
273 else 274 else
274 { 275 {
275 dataStr = tr( "n/a" ); 276 dataStr = tr( "n/a" );
276 } 277 }
277} 278}
278 279
279void WeatherPluginWidget::getIcon(const QString &data ) 280void WeatherPluginWidget::getIcon(const QString &data )
280{ 281{
281 dataStr = "psunny"; 282 dataStr = "psunny";
282 if ( data.find( "CLR ", 20 ) > -1 || 283 if ( data.find( "CLR ", 20 ) > -1 ||
283 data.find( "SKC ", 20 ) > -1 || 284 data.find( "SKC ", 20 ) > -1 ||
284 data.find( "CAVOK ", 20 ) > -1 ) 285 data.find( "CAVOK ", 20 ) > -1 )
285 { 286 {
286 dataStr = "sunny"; 287 dataStr = "sunny";
287 } 288 }
288 else if ( data.find( "SH ", 20 ) > -1 || 289 else if ( data.find( "SH ", 20 ) > -1 ||
289 data.find( "DZ ", 20 ) > -1 || 290 data.find( "DZ ", 20 ) > -1 ||
290 data.find( "RA ", 20 ) > -1 || 291 data.find( "RA ", 20 ) > -1 ||
291 data.find( "UP ", 20 ) > -1 || 292 data.find( "UP ", 20 ) > -1 ||
292 data.find( "BR ", 20 ) > -1 ) 293 data.find( "BR ", 20 ) > -1 )
293 { 294 {
294 dataStr = "shower"; 295 dataStr = "shower";
295 } 296 }
296 else if ( data.find( "TS ", 20 ) > -1 ) 297 else if ( data.find( "TS ", 20 ) > -1 )
297 { 298 {
298 dataStr = "tstorm"; 299 dataStr = "tstorm";
299 } 300 }
300 else if ( data.find( "SN ", 20 ) > -1 || 301 else if ( data.find( "SN ", 20 ) > -1 ||
301 data.find( "SG ", 20 ) > -1 ) 302 data.find( "SG ", 20 ) > -1 )
302 { 303 {
303 dataStr = "snow"; 304 dataStr = "snow";
304 } 305 }
305 else if ( data.find( "FZ ", 20 ) > -1 || 306 else if ( data.find( "FZ ", 20 ) > -1 ||
306 data.find( "GR ", 20 ) > -1 || 307 data.find( "GR ", 20 ) > -1 ||
307 data.find( "GS ", 20 ) > -1 || 308 data.find( "GS ", 20 ) > -1 ||
308 data.find( "PE ", 20 ) > -1 || 309 data.find( "PE ", 20 ) > -1 ||
309 data.find( "IC ", 20 ) > -1 ) 310 data.find( "IC ", 20 ) > -1 )
310 { 311 {
311 dataStr = "sleet"; 312 dataStr = "sleet";
312 } 313 }
313} 314}
314 315
315void WeatherPluginWidget::dataRetrieved( OProcess *process ) 316void WeatherPluginWidget::dataRetrieved( OProcess *process )
316{ 317{
317 if ( process->normalExit() ) 318 if ( process->normalExit() )
318 { 319 {
319 displayWeather(); 320 displayWeather();
320 } 321 }
321 else 322 else
322 { 323 {
323 weatherLabel->setText( tr( "Current weather data not available." ) ); 324 weatherLabel->setText( tr( "Current weather data not available." ) );
324 } 325 }
325} 326}
diff --git a/noncore/todayplugins/weather/weatherpluginwidget.h b/noncore/todayplugins/weather/weatherpluginwidget.h
index d2bbd8b..93d0f59 100644
--- a/noncore/todayplugins/weather/weatherpluginwidget.h
+++ b/noncore/todayplugins/weather/weatherpluginwidget.h
@@ -1,71 +1,71 @@
1/* 1/*
2                This file is part of the OPIE Project 2                This file is part of the OPIE Project
3 =. 3 =.
4             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> 4             .=l. Copyright (c) 2002 Dan Williams <williamsdr@acm.org>
5           .>+-= 5           .>+-=
6 _;:,     .>    :=|. This file is free software; you can 6 _;:,     .>    :=|. This file is free software; you can
7.> <`_,   >  .   <= redistribute it and/or modify it under 7.> <`_,   >  .   <= redistribute it and/or modify it under
8:`=1 )Y*s>-.--   : the terms of the GNU General Public 8:`=1 )Y*s>-.--   : the terms of the GNU General Public
9.="- .-=="i,     .._ License as published by the Free Software 9.="- .-=="i,     .._ License as published by the Free Software
10 - .   .-<_>     .<> Foundation; either version 2 of the License, 10 - .   .-<_>     .<> Foundation; either version 2 of the License,
11     ._= =}       : or (at your option) any later version. 11     ._= =}       : or (at your option) any later version.
12    .%`+i>       _;_. 12    .%`+i>       _;_.
13    .i_,=:_.      -<s. This file is distributed in the hope that 13    .i_,=:_.      -<s. This file is distributed in the hope that
14     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 14     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
15    : ..    .:,     . . . without even the implied warranty of 15    : ..    .:,     . . . without even the implied warranty of
16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General 17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
18..}^=.=       =       ; Public License for more details. 18..}^=.=       =       ; Public License for more details.
19++=   -.     .`     .: 19++=   -.     .`     .:
20 :     =  ...= . :.=- You should have received a copy of the GNU 20 :     =  ...= . :.=- You should have received a copy of the GNU
21 -.   .:....=;==+<; General Public License along with this file; 21 -.   .:....=;==+<; General Public License along with this file;
22  -_. . .   )=.  = see the file COPYING. If not, write to the 22  -_. . .   )=.  = see the file COPYING. If not, write to the
23    --        :-=` Free Software Foundation, Inc., 23    --        :-=` Free Software Foundation, Inc.,
24 59 Temple Place - Suite 330, 24 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA. 25 Boston, MA 02111-1307, USA.
26 26
27*/ 27*/
28 28
29#ifndef WEATHER_PLUGIN_WIDGET_H 29#ifndef WEATHER_PLUGIN_WIDGET_H
30#define WEATHER_PLUGIN_WIDGET_H 30#define WEATHER_PLUGIN_WIDGET_H
31 31
32#include <qstring.h> 32#include <qstring.h>
33#include <qwidget.h> 33#include <qwidget.h>
34 34
35class OProcess; 35namespace Opie {namespace Core {class Opie::Core::OProcess;}}
36class QLabel; 36class QLabel;
37class QTimer; 37class QTimer;
38 38
39class WeatherPluginWidget : public QWidget { 39class WeatherPluginWidget : public QWidget {
40 40
41 Q_OBJECT 41 Q_OBJECT
42 42
43 public: 43 public:
44 WeatherPluginWidget( QWidget *parent, const char *name ); 44 WeatherPluginWidget( QWidget *parent, const char *name );
45 ~WeatherPluginWidget(); 45 ~WeatherPluginWidget();
46 46
47 private: 47 private:
48 QString location; 48 QString location;
49 QString remoteFile; 49 QString remoteFile;
50 QString localFile; 50 QString localFile;
51 QString weatherData; 51 QString weatherData;
52 QString dataStr; 52 QString dataStr;
53 bool useMetric; 53 bool useMetric;
54 int frequency; 54 int frequency;
55 55
56 QLabel *weatherLabel; 56 QLabel *weatherLabel;
57 QLabel *weatherIcon; 57 QLabel *weatherIcon;
58 58
59 void timerEvent( QTimerEvent * ); 59 void timerEvent( QTimerEvent * );
60 void retreiveData(); 60 void retreiveData();
61 void displayWeather(); 61 void displayWeather();
62 void getTemp( const QString & ); 62 void getTemp( const QString & );
63 void getWind( const QString & ); 63 void getWind( const QString & );
64 void getPressure( const QString & ); 64 void getPressure( const QString & );
65 void getIcon( const QString & ); 65 void getIcon( const QString & );
66 66
67 private slots: 67 private slots:
68 void dataRetrieved( OProcess * ); 68 void dataRetrieved( Opie::Core::OProcess * );
69}; 69};
70 70
71#endif 71#endif