4 files changed, 17 insertions, 7 deletions
diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro index 28ef072..5281373 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro @@ -1,27 +1,27 @@ TEMPLATE = lib CONFIG -= moc CONFIG += qt debug -HEADERS = stocktickerplugin.h stocktickeruginimpl.h stocktickerpluginwidget.h ticker.h \ +HEADERS = stocktickerplugin.h stocktickeruginimpl.h stocktickerpluginwidget.h ticker.h stocktickerconfig.h \ ../libstocks/csv.h \ ../libstocks/http.h \ ../libstocks/lists.h \ ../libstocks/stocks.h -SOURCES = stocktickerplugin.cpp stocktickerpluginimpl.cpp stocktickerpluginwidget.cpp ticker.cpp \ +SOURCES = stocktickerplugin.cpp stocktickerpluginimpl.cpp stocktickerpluginwidget.cpp ticker.cpp stocktickerconfig.cpp \ ../libstocks/csv.c \ ../libstocks/currency.c \ ../libstocks/history.c \ ../libstocks/http.c \ ../libstocks/lists.c \ ../libstocks/stocks.c INCLUDEPATH += $(OPIEDIR)/include \ ../ ../library DEPENDPATH += $(OPIEDIR)/include \ ../ ../library LIBS+= -lqpe -lopie TMAKE_CFLAGS += -D__UNIX__ DESTDIR = $(OPIEDIR)/plugins/today TARGET = todaystocktickerplugin diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerplugin.cpp b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerplugin.cpp index 24c151b..2eb1697 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerplugin.cpp +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerplugin.cpp @@ -1,59 +1,60 @@ /* * stocktickerplugin.cpp * * copyright : (c) 2002 by L.J. Potter * email : llornkcor@handhelds.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. * * * ***************************************************************************/ #include "stocktickerplugin.h" #include "stocktickerpluginwidget.h" - +#include "stocktickerconfig.h" StockTickerPlugin::StockTickerPlugin() { } StockTickerPlugin::~StockTickerPlugin() { } QString StockTickerPlugin::pluginName() const { return QObject::tr( "StockTicker plugin" ); } double StockTickerPlugin::versionNumber() const { return 0.6; } QString StockTickerPlugin::pixmapNameWidget() const { return "pass"; } QWidget* StockTickerPlugin::widget( QWidget * wid ) { return new StockTickerPluginWidget( wid, "StockTicker " ); } QString StockTickerPlugin::pixmapNameConfig() const { return 0l; } TodayConfigWidget* StockTickerPlugin::configWidget( QWidget* wid ) { - return 0l; + return new StocktickerPluginConfig( wid , "Stockticker" ); } QString StockTickerPlugin::appName() const { return "stockticker"; } bool StockTickerPlugin::excludeFromRefresh() const { -//return false; + return true; } + diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp index aabb4d2..e178338 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp @@ -9,163 +9,170 @@ * * * 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. * * * ***************************************************************************/ #include <qvaluelist.h> #include <qtl.h> #include <qstring.h> #include <qstringlist.h> #include <qobject.h> #include <qlayout.h> #include <qlineedit.h> #include <qregexp.h> #include <qtimer.h> #include <qpe/config.h> #include <qpe/timestring.h> #include <qpe/qcopenvelope_qws.h> #include "ticker.h" extern "C" { #include "libstocks/stocks.h" } #include "stocktickerpluginwidget.h" StockTickerPluginWidget::StockTickerPluginWidget( QWidget *parent, const char* name) : QWidget(parent, name ) { init(); startTimer(1000); } StockTickerPluginWidget::~StockTickerPluginWidget() { } void StockTickerPluginWidget::init() { QHBoxLayout* layout = new QHBoxLayout( this ); stocktickerTicker = new Ticker(this); stocktickerTicker->setMinimumHeight(15); connect( stocktickerTicker, SIGNAL( mousePressed()), this, SLOT( doStocks() )); layout->addWidget( stocktickerTicker); + + Config cfg( "stockticker"); + cfg.setGroup("Timer"); + timerDelay= cfg.readNumEntry("Delay",0); + if(timerDelay > 0) + startTimer(timerDelay*60000); + } void StockTickerPluginWidget::doStocks() { Config cfg( "stockticker"); cfg.setGroup( "Symbols" ); QString symbollist; symbollist = cfg.readEntry("Symbols", ""); symbollist.replace(QRegExp(" "),"+");//seperated by + // qDebug(symbollist); getStocks( symbollist.latin1()); stocktickerTicker->setText( output ); } void StockTickerPluginWidget::getStocks( const char *blah) { stock *stocks_quotes=NULL; stock *stocks_tmp; QString tempString; output = ""; libstocks_return_code error; 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); DefProxy(); char *stock_liste = (char *)blah; /* Get the stocks and process errors */ error = get_stocks( stock_liste, &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.sprintf("| %s ", stocks_tmp->Time); tempString.replace(QRegExp("\""),""); if( dotimeCheck) output +=tempString; } if (stocks_tmp->Date) { // printf("%s ", stocks_tmp->Date); tempString.sprintf("| %s ", stocks_tmp->Date); tempString.replace(QRegExp("\""),""); if(dodateCheck) output +=tempString; } // printf("\n"); // printf("----------------------------------------\n"); if ( strlen(stocks_tmp->Symbol) > 20 ) { // printf("| Symbol | %.20s |\n",stocks_tmp->Symbol); tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol); if(dosymbolCheck) output +=tempString; } else { // printf("| Symbol | %-20s |\n",stocks_tmp->Symbol); tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol); if(dosymbolCheck) output +=tempString; } if (stocks_tmp->Name) { if ( strlen(stocks_tmp->Name) > 20 ) { // printf("| Name %.20s |\n",stocks_tmp->Name); tempString.sprintf("| Name %s ",stocks_tmp->Name); tempString.stripWhiteSpace(); if(donameCheck) output +=tempString; } else { // printf("| Name | %-20s |\n",stocks_tmp->Name); tempString.sprintf("| Name %s ",stocks_tmp->Name); tempString.stripWhiteSpace(); if(donameCheck) output +=tempString; } } else { // printf("| Name | |\n"); tempString.sprintf("| Name | |"); if(donameCheck) output +=tempString; @@ -198,49 +205,51 @@ void StockTickerPluginWidget::getStocks( const char *blah) { // printf("| Var | %-6.2f (%5.2f %%) |\n", stocks_tmp->Variation, stocks_tmp->Pourcentage); tempString.sprintf("| Var %-6.2f (%5.2f %%) ", stocks_tmp->Variation, stocks_tmp->Pourcentage); if(dovariationCheck) output +=tempString; // printf("| Volume | %-9d |\n", stocks_tmp->Volume); 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); } /* frees stocks */ free_stocks(stocks_quotes); } void StockTickerPluginWidget::DefProxy(void) { char *proxy; 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; return; // exit(1); } } } void StockTickerPluginWidget::timerEvent( QTimerEvent *e ) { killTimer(e->timerId()); doStocks(); + if(timerDelay > 0) + startTimer(timerDelay*1000); } diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.h b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.h index 6a15f56..8f3441d 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.h +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.h @@ -13,52 +13,52 @@ * (at your option) any later version. * * * ***************************************************************************/ #ifndef STOCKTICKERL_PLUGIN_WIDGET_H #define STOCKTICKERL_PLUGIN_WIDGET_H #include <qstring.h> #include <qwidget.h> #include <qlineedit.h> #include <opie/tododb.h> #include <opie/oclickablelabel.h> #include <sys/types.h> #include <sys/uio.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include "ticker.h" /* extern "C" { */ /* #include "stocks.h" */ /* } */ class QTimer; class StockTickerPluginWidget : public QWidget { Q_OBJECT public: StockTickerPluginWidget( QWidget *parent, const char *name ); ~StockTickerPluginWidget(); QString output; protected slots: void doStocks(); private: Ticker *stocktickerTicker; void timerEvent( QTimerEvent * ); void init(); void getStocks( const char *stock_liste); void DefProxy(void); - + int timerDelay; }; #endif |