5 files changed, 61 insertions, 33 deletions
diff --git a/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp b/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp index 71dd7eb..73f8bb3 100644 --- a/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp +++ b/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp @@ -1,23 +1,24 @@ #include "inputDialog.h" #include <qapplication.h> #include <qlayout.h> #include <qcheckbox.h> #include <qlineedit.h> #include <qvariant.h> #include <qpushbutton.h> #include <qwhatsthis.h> #include <qlabel.h> +#include <qlayout.h> #include <qpe/config.h> #include <qstringlist.h> #include <qmainwindow.h> #include "helpwindow.h" #include <opie/oprocess.h> #include <stdlib.h> // #include <sys/stat.h> // #include <unistd.h> InputDialog::InputDialog( ) diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp index d740b6f..915233a 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp @@ -112,25 +112,25 @@ StocktickerPluginConfig::StocktickerPluginConfig( QWidget *parent, const char* QWhatsThis::add(variationCheck, tr("Toggles daily variation of price field")); volumeCheck= new QCheckBox ( "Volume", this ); volumeCheck->setChecked( cfg.readBoolEntry("volumeCheck",1)); layout->addMultiCellWidget( volumeCheck , 5, 5, 1, 1); QWhatsThis::add(volumeCheck, tr("Toggles volume of trading field")); timerDelaySpin = new QSpinBox( this, "timer spin" ); QWhatsThis::add( timerDelaySpin , tr( "How often stocks prices should be looked up. In minutes" ) ); timerDelaySpin->setMaxValue( 60); cfg.setGroup("Timer"); - timerDelaySpin->setValue( cfg.readNumEntry("Delay",0)); + timerDelaySpin->setValue( cfg.readNumEntry("Delay",15)); layout->addMultiCellWidget( timerDelaySpin , 6, 6, 0, 0); QLabel *label2; label2 = new QLabel(this); label2->setText( tr("Minutes between lookups.")); label2->setMaximumHeight(60); layout->addMultiCellWidget( label2, 6, 6, 1, 2); scrollSpeed = new QSpinBox( this, "Scrollspin" ); QWhatsThis::add( timerDelaySpin , tr( "Speed of scrolling action, in milliseconds" ) ); scrollSpeed->setMaxValue( 1000); scrollSpeed->setSteps(50,50); diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.h b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.h index 2b67a8b..10f9678 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.h +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.h @@ -19,25 +19,25 @@ #include <qwidget.h> #include <opie/todayconfigwidget.h> #include <qstring.h> class QLineEdit; class QCheckBox; class QPushButton; class QCheckBox; class QSpinBox; class StocktickerPluginConfig : public TodayConfigWidget { -//Q_OBJECT + Q_OBJECT public: StocktickerPluginConfig( QWidget *parent, const char *name ); ~StocktickerPluginConfig(); QString text() const; void writeConfig(); private: QLineEdit* LineEdit1; QCheckBox *timeCheck, *dateCheck, *symbolCheck, *nameCheck, *currentPriceCheck, *lastPriceCheck, *openPriceCheck, *minPriceCheck, *maxPriceCheck, *variationCheck, *volumeCheck; QPushButton *lookupButton; QSpinBox *timerDelaySpin, *scrollSpeed, *scrollLength; private slots: void doLookup(); diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp index c3ca52d..fedc79c 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp @@ -21,90 +21,105 @@ #include <opie/oticker.h> extern "C" { #include "libstocks/stocks.h" } #include <pthread.h> #include "stocktickerpluginwidget.h" QString output; OTicker *stocktickerTicker; + QCString stock_liste; + bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck; + bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck; + bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck; void getStocks(char *blah) { // stocktickerTicker->setText( "Downloading stock data."); stock *stocks_quotes=NULL; stock *stocks_tmp; - QCString stock_liste = blah; + stock_liste = blah; ::free ( blah ); // char *stock_liste = (char *)blah->latin1(); - qDebug("%s", stock_liste.data() ); - QString tempString; + // qDebug("%s", stock_liste.data() ); output = ""; - + QString tempString; libstocks_return_code error; - Config cfg( "stockticker"); - cfg.setGroup( "Fields" ); - bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck; - bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck; - bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck; +// Config cfg( "stockticker"); +// cfg.setGroup( "Fields" ); +// bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck; +// bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck; +// bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck; dotimeCheck=dodateCheck=dosymbolCheck=donameCheck= docurrentPriceCheck=dolastPriceCheck=doopenPriceCheck=dominPriceCheck=domaxPriceCheck=dovariationCheck=dovolumeCheck=false; - dotimeCheck=cfg.readBoolEntry("timeCheck",1); - dodateCheck=cfg.readBoolEntry("dateCheck",1); - dosymbolCheck=cfg.readBoolEntry("symbolCheck",1); - donameCheck=cfg.readBoolEntry("nameCheck",1); - docurrentPriceCheck=cfg.readBoolEntry("currentPriceCheck",1); - dolastPriceCheck=cfg.readBoolEntry("lastPriceCheck",1); - doopenPriceCheck=cfg.readBoolEntry("openPriceCheck",1); - dominPriceCheck=cfg.readBoolEntry("minPriceCheck",1); - domaxPriceCheck=cfg.readBoolEntry("maxPriceCheck",1); - dovariationCheck=cfg.readBoolEntry("variationCheck",1); - dovolumeCheck=cfg.readBoolEntry("volumeCheck",1); + dotimeCheck=1; + dodateCheck=1; + dosymbolCheck=1; + donameCheck=1; + docurrentPriceCheck=1; + dolastPriceCheck=1; + doopenPriceCheck=1; + dominPriceCheck=1; + domaxPriceCheck=1; + dovariationCheck=1; + dovolumeCheck=1; + +// dotimeCheck=cfg.readBoolEntry("timeCheck",1); +// dodateCheck=cfg.readBoolEntry("dateCheck",1); +// dosymbolCheck=cfg.readBoolEntry("symbolCheck",1); +// donameCheck=cfg.readBoolEntry("nameCheck",1); +// docurrentPriceCheck=cfg.readBoolEntry("currentPriceCheck",1); +// dolastPriceCheck=cfg.readBoolEntry("lastPriceCheck",1); +// doopenPriceCheck=cfg.readBoolEntry("openPriceCheck",1); +// dominPriceCheck=cfg.readBoolEntry("minPriceCheck",1); +// domaxPriceCheck=cfg.readBoolEntry("maxPriceCheck",1); +// dovariationCheck=cfg.readBoolEntry("variationCheck",1); +// dovolumeCheck=cfg.readBoolEntry("volumeCheck",1); // DefProxy(); - { + // { char *proxy; - libstocks_return_code error; + // libstocks_return_code error; /* Proxy support */ /* Checks for "http_proxy" environment variable */ proxy = getenv("http_proxy"); if(proxy) { /* printf("proxy set\n"); */ error = set_proxy(proxy); if (error) { - printf("Proxy error (%d)\n", error); - QString tempString; - tempString.sprintf("Proxy error (%d)\n", error); - output = tempString; +// printf("Proxy error (%d)\n", error); +// QString tempString2; +// tempString2.sprintf("Proxy error (%d)\n", error); +// output = tempString2; + // delete tempString2; return; // exit(1); } } - } -// char *stock_liste = (char *)blah; + ::free(proxy); + // } /* Get the stocks and process errors */ error = get_stocks( stock_liste.data(), &stocks_quotes); if (error) { printf("Error in getting stocks (%d)\n", error); tempString.sprintf("Error in getting stocks (%d)\n", error); output =tempString; return; -// exit(1); } stocks_tmp = stocks_quotes; /* Displays the stocks */ while(stocks_tmp!=0){ if (stocks_tmp->Time) { // printf("%s ", stocks_tmp->Time); tempString.sprintf("| %s ", stocks_tmp->Time); tempString.replace(QRegExp("\""),""); if( dotimeCheck) @@ -190,28 +205,34 @@ void getStocks(char *blah) { tempString.sprintf("| Volume %-9d ", stocks_tmp->Volume); if(dovolumeCheck) output +=tempString; // printf("----------------------------------------\n\n"); tempString.sprintf("||==++==|"); output +=tempString; /* Simple function which help to browse in the stocks list */ stocks_tmp = next_stock(stocks_tmp); } + stocktickerTicker->setText( output.latin1() ); + /* frees stocks */ free_stocks(stocks_quotes); - stocktickerTicker->setText( output.latin1() ); + free_stocks(stocks_tmp); + stock_liste=""; + //delete stock_liste; + tempString=""; + output=""; } StockTickerPluginWidget::StockTickerPluginWidget( QWidget *parent, const char* name) : QWidget(parent, name ) { init(); startTimer(1000); stocktickerTicker->setTextFormat(Qt::RichText); // checkConnection(); } StockTickerPluginWidget::~StockTickerPluginWidget() { @@ -233,24 +254,28 @@ void StockTickerPluginWidget::doStocks() { symbollist=""; symbollist = cfg.readEntry("Symbols", ""); symbollist.replace(QRegExp(" "),"+");//seperated by + cfg.setGroup("Timer"); stocktickerTicker->setUpdateTime( cfg.readNumEntry("ScrollSpeed",50)); stocktickerTicker->setScrollLength( cfg.readNumEntry("ScrollLength",10)); if (!symbollist.isEmpty()) { pthread_t thread1; char *blah = ::strdup(symbollist.latin1()); pthread_create(&thread1,NULL, (void * (*)(void *))getStocks, (void *) blah); + pthread_detach( thread1); + + //::free((void*)thread1); + //getStocks(blah); } } void StockTickerPluginWidget::timerEvent( QTimerEvent *e ) { killTimer(e->timerId()); checkConnection(); } void StockTickerPluginWidget::checkConnection() { // qDebug("checking connection"); // Sock = new QSocket( this ); @@ -260,32 +285,33 @@ void StockTickerPluginWidget::checkConnection() { // if(Sock->state() == QSocket::Idle) { // Sock->connectToHost("finance.yahoo.com", 80); // connect( Sock, SIGNAL( error(int) ), SLOT(socketError(int)) ); // connect( Sock, SIGNAL( hostFound() ), SLOT(isConnected()) ); // } else { // qDebug("State is not Idle"); isConnected(); // } } void StockTickerPluginWidget::isConnected() { // qDebug("We connect, so ok to grab stocks"); + if(this->isVisible()) doStocks(); Config cfg( "stockticker"); cfg.setGroup("Timer"); timerDelay= cfg.readNumEntry("Delay",0); if(timerDelay > 0) startTimer(timerDelay*60000); - qDebug("timer set for %d",(timerDelay*60000)/60000); + // qDebug("timer set for %d",(timerDelay*60000)/60000); wasError = false; // Sock->close(); } void StockTickerPluginWidget::socketError(int errcode) { switch(errcode) { case QSocket::ErrConnectionRefused: output = tr("Connection refused."); break; case QSocket::ErrHostNotFound: output = tr("Could not find server."); diff --git a/noncore/todayplugins/weather/weatherconfig.h b/noncore/todayplugins/weather/weatherconfig.h index 3877818..d9ffec2 100644 --- a/noncore/todayplugins/weather/weatherconfig.h +++ b/noncore/todayplugins/weather/weatherconfig.h @@ -32,24 +32,25 @@ #include <qstring.h> #include <qwidget.h> #include <opie/todayconfigwidget.h> class QCheckBox; class QLineEdit; class QPushButton; class QSpinBox; class WeatherPluginConfig : public TodayConfigWidget { + Q_OBJECT public: WeatherPluginConfig( QWidget *parent, const char *name ); ~WeatherPluginConfig(); void writeConfig(); private: QLineEdit *locationEdit; QCheckBox *metricCB; QSpinBox *timerDelaySB; private slots: void doLookup(); |