author | drw <drw> | 2004-03-02 16:38:47 (UTC) |
---|---|---|
committer | drw <drw> | 2004-03-02 16:38:47 (UTC) |
commit | 2c00fdd8f3b0c9680ee642a78dfd6587f32e8460 (patch) (side-by-side diff) | |
tree | ba73624ab704354f7c14db80dc4f2322920a7407 | |
parent | c4c97ef4ccf9d379ff59560c3ae3c32f95fc51d1 (diff) | |
download | opie-2c00fdd8f3b0c9680ee642a78dfd6587f32e8460.zip opie-2c00fdd8f3b0c9680ee642a78dfd6587f32e8460.tar.gz opie-2c00fdd8f3b0c9680ee642a78dfd6587f32e8460.tar.bz2 |
Today stock ticker plugin: libopie -> libopie2
11 files changed, 17 insertions, 19 deletions
diff --git a/noncore/todayplugins/stockticker/config.in b/noncore/todayplugins/stockticker/config.in index 83e7fbd..f0fd4aa 100644 --- a/noncore/todayplugins/stockticker/config.in +++ b/noncore/todayplugins/stockticker/config.in @@ -1,7 +1,7 @@ config TODAY_STOCKTICKER boolean "opie-today-stocktickerplugin (stock ticker)" default "y" - depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE && TODAY + depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2CORE && LIBOPIE2PIM && LIBOPIE2UI && TODAY source noncore/todayplugins/stockticker/stockticker/config.in source noncore/todayplugins/stockticker/stocktickerlib/config.in diff --git a/noncore/todayplugins/stockticker/opie-today-stocktickerplugin.control b/noncore/todayplugins/stockticker/opie-today-stocktickerplugin.control index 3e3bad1..f04ad64 100644 --- a/noncore/todayplugins/stockticker/opie-today-stocktickerplugin.control +++ b/noncore/todayplugins/stockticker/opie-today-stocktickerplugin.control @@ -1,9 +1,9 @@ Package: opie-today-stocktickerplugin Files: plugins/today/libtodaystocktickerplugin.so* bin/stockticker pics/stockticker/stockticker.png Priority: optional Section: opie/plugins Maintainer: L.J. Potter <lpotter@trolltech.com> Architecture: arm -Depends: libqte2, opie-today +Depends: libqte2, libopiecore2, libopiepim2, libopieui2, opie-today Description: Stock ticker plugin for Today Version: $QPE_VERSION$EXTRAVERSION diff --git a/noncore/todayplugins/stockticker/stockticker/config.in b/noncore/todayplugins/stockticker/stockticker/config.in index d9e0f1f..1252b63 100644 --- a/noncore/todayplugins/stockticker/stockticker/config.in +++ b/noncore/todayplugins/stockticker/stockticker/config.in @@ -1,5 +1,5 @@ config TODAY_STOCKTICKERSUB boolean depends TODAY_STOCKTICKERLIB default "y" if TODAY_STOCKTICKER - depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE && TODAY + depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2CORE && TODAY diff --git a/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp b/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp index 64798f4..b3fa708 100644 --- a/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp +++ b/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp @@ -1,89 +1,86 @@ #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( ) : QMainWindow( 0x0, 0x0, WStyle_ContextHelp ) { setCaption( tr("Symbol Lookup")); QGridLayout *layout = new QGridLayout( this ); layout->setSpacing(6); layout->setMargin( 2); LineEdit1 = new QLineEdit( this, "LineEdit1" ); LineEdit1->setFocus(); layout->addMultiCellWidget( LineEdit1, 0, 0, 0, 3); QLabel *label; label = new QLabel(this); label->setText( tr("Enter something to lookup / search.")); label->setMaximumHeight(60); layout->addMultiCellWidget( label, 1, 1, 0, 3); connect(LineEdit1,SIGNAL(returnPressed()),this,SLOT(doLookup())); QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Expanding ); layout->addItem( spacer, 8, 0 ); } InputDialog::~InputDialog() { } void InputDialog::doLookup() { // http://finance.yahoo.com/l?m=&s=siemens&t= QString url = "\"http://finance.yahoo.com/l?m=&s="+LineEdit1->text()+"\""; QString tempHtml = "/tmp/stockticker.html"; QString cmd = "wget -O "+tempHtml+" "+url; qDebug(cmd); /* OProcess proc; proc << "/usr/bin/wget"; proc<<"-O"<< tempHtml<< url; connect( &proc, SIGNAL( processExited(OProcess*)),this, SLOT( showBrowser(OProcess*))); proc.start( OProcess::NotifyOnExit); */ system(cmd.latin1()); HelpWindow *StockLookup = new HelpWindow( tempHtml,".",this, "SymbolLookup"); StockLookup->setCaption("Symbol"); StockLookup->showMaximized(); StockLookup->show(); LineEdit1->text(); } void InputDialog::showBrowser(OProcess*) { qDebug("BLAH"); QString tempHtml = "/tmp/stockticker.html"; HelpWindow *StockLookup = new HelpWindow( tempHtml,".",this, "SymbolLookup"); StockLookup->setCaption("Symbol"); StockLookup->showMaximized(); StockLookup->show(); LineEdit1->text(); } diff --git a/noncore/todayplugins/stockticker/stockticker/inputDialog.h b/noncore/todayplugins/stockticker/stockticker/inputDialog.h index 15c2f22..a1c00bd 100644 --- a/noncore/todayplugins/stockticker/stockticker/inputDialog.h +++ b/noncore/todayplugins/stockticker/stockticker/inputDialog.h @@ -1,29 +1,30 @@ #ifndef INPUTDIALOG_H #define INPUTDIALOG_H +#include <opie2/oprocess.h> + #include <qvariant.h> #include <qdialog.h> #include <qmainwindow.h> -#include <opie/oprocess.h> class QLineEdit; class QCheckBox; class InputDialog : public QMainWindow { Q_OBJECT public: InputDialog( ); ~InputDialog(); private: QLineEdit* LineEdit1; private slots: void doLookup(); void showBrowser(OProcess*); protected slots: }; #endif // INPUTDIALOG_H diff --git a/noncore/todayplugins/stockticker/stockticker/stockticker.pro b/noncore/todayplugins/stockticker/stockticker/stockticker.pro index 38a9425..a33c877 100644 --- a/noncore/todayplugins/stockticker/stockticker/stockticker.pro +++ b/noncore/todayplugins/stockticker/stockticker/stockticker.pro @@ -1,12 +1,12 @@ TEMPLATE = app CONFIG = qt warn_on release HEADERS = inputDialog.h helpwindow.h SOURCES = inputDialog.cpp helpwindow.cpp main.cpp INTERFACES = TARGET = stockticker INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include -LIBS+= -lqpe -lopie +LIBS+= -lqpe -lopiecore2 DESTDIR = $(OPIEDIR)/bin include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp index 915233a..009d390 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp @@ -1,209 +1,209 @@ /* * stocktickeRconfig.cpp * * copyright : (c) 2002 by ljp * 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 "stocktickerconfig.h" -#include <opie/todayconfigwidget.h> + +#include <opie2/todayconfigwidget.h> #include <qpe/config.h> #include <qapplication.h> - #include <qlayout.h> #include <qspinbox.h> #include <qcheckbox.h> #include <qlineedit.h> #include <qvariant.h> #include <qpushbutton.h> #include <qwhatsthis.h> #include <qlabel.h> #include <qstringlist.h> #include <qmainwindow.h> #include <stdlib.h> StocktickerPluginConfig::StocktickerPluginConfig( QWidget *parent, const char* name) : TodayConfigWidget(parent, name ) { QGridLayout *layout = new QGridLayout( this ); layout->setSpacing(2); layout->setMargin( 2); LineEdit1 = new QLineEdit( this, "LineEdit1" ); LineEdit1->setFocus(); // QWhatsThis::add( LineEdit1, tr("Enter the stock symbols you want to be shown here.")); layout->addMultiCellWidget( LineEdit1, 0, 0, 0, 4); Config cfg( "stockticker"); cfg.setGroup( "Symbols" ); QString symbollist; symbollist = cfg.readEntry("Symbols", ""); LineEdit1->setText(symbollist); QLabel *label; label = new QLabel(this); label->setText( tr("Enter stock symbols seperated\nby a space.")); label->setMaximumHeight(60); layout->addMultiCellWidget( label, 1, 1, 0, 4); cfg.setGroup( "Fields" ); timeCheck= new QCheckBox ( "Time",this ); timeCheck->setChecked( cfg.readBoolEntry("timeCheck",1)); layout->addMultiCellWidget(timeCheck, 2, 2, 0, 0 ); QWhatsThis::add( timeCheck, tr("Toggles Time of current price field")); dateCheck= new QCheckBox ( "Date", this ); dateCheck->setChecked( cfg.readBoolEntry("dateCheck",1)); layout->addMultiCellWidget( dateCheck, 2, 2, 1, 1 ); QWhatsThis::add(dateCheck, tr("Toggles date field")); symbolCheck= new QCheckBox ( "Symbol", this ); symbolCheck->setChecked( cfg.readBoolEntry("symbolCheck",1)); layout->addMultiCellWidget( symbolCheck, 2, 2, 2, 2 ); QWhatsThis::add(symbolCheck, tr("Toggles Symbol field")); nameCheck= new QCheckBox ( "Name", this ); nameCheck->setChecked( cfg.readBoolEntry("nameCheck",1)); layout->addMultiCellWidget( nameCheck, 3, 3, 0, 0 ); QWhatsThis::add(nameCheck, tr("Toggles Name of symbols owner field")); currentPriceCheck= new QCheckBox ( "Price", this ); currentPriceCheck->setChecked( cfg.readBoolEntry("currentPriceCheck",1)); layout->addMultiCellWidget( currentPriceCheck, 3, 3, 1, 1 ); QWhatsThis::add(currentPriceCheck, tr("Toggles current Price field")); lastPriceCheck= new QCheckBox ( "Last Price", this ); lastPriceCheck->setChecked( cfg.readBoolEntry("lastPriceCheck",1)); layout->addMultiCellWidget(lastPriceCheck, 3, 3, 2, 2); QWhatsThis::add(lastPriceCheck, tr("Toggles last price field")); openPriceCheck= new QCheckBox ( "Open Price", this); openPriceCheck->setChecked( cfg.readBoolEntry("openPriceCheck",1)); layout->addMultiCellWidget( openPriceCheck, 4, 4, 0, 0 ); QWhatsThis::add(openPriceCheck, tr("Toggles opening price field")); minPriceCheck= new QCheckBox ( "Min Price", this ); minPriceCheck->setChecked( cfg.readBoolEntry("minPriceCheck",1)); layout->addMultiCellWidget( minPriceCheck, 4, 4, 1, 1); QWhatsThis::add(minPriceCheck, tr("Toggles minimum daily price field")); maxPriceCheck= new QCheckBox ( "Max Price", this); maxPriceCheck->setChecked( cfg.readBoolEntry("maxPriceCheck",1)); layout->addMultiCellWidget( maxPriceCheck, 4, 4, 2, 2 ); QWhatsThis::add(maxPriceCheck, tr("Toggles maximum daily price field")); variationCheck= new QCheckBox ( "Variation", this ); variationCheck->setChecked( cfg.readBoolEntry("variationCheck",1)); layout->addMultiCellWidget( variationCheck, 5, 5, 0, 0 ); 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",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); cfg.setGroup("Timer"); scrollSpeed->setValue( cfg.readNumEntry("ScrollSpeed",50)); layout->addMultiCellWidget( scrollSpeed , 7, 7, 0, 0); QLabel *label3; label3 = new QLabel(this); label3->setText( tr("Scroll Speed, in milliseconds")); label3->setMaximumHeight(60); layout->addMultiCellWidget( label3, 7, 7, 1, 2); scrollLength = new QSpinBox( this, "ScrollLength" ); QWhatsThis::add( timerDelaySpin , tr( "Length of scrolling" ) ); scrollLength->setMaxValue( 10); // scrollLength->setSteps(5,5); cfg.setGroup("Timer"); scrollLength->setValue( cfg.readNumEntry("ScrollLength",1)); layout->addMultiCellWidget( scrollLength , 8, 8, 0, 0); QLabel *label4; label4 = new QLabel(this); label4->setText( tr("Scroll Length")); label4->setMaximumHeight(60); layout->addMultiCellWidget( label4, 8, 8, 1, 2); // lookupButton = new QPushButton(this, "LookupButton"); // lookupButton->setText(tr("Symbol Lookup")); // connect(lookupButton,SIGNAL(clicked()),SLOT( doLookup())); // layout->addMultiCellWidget( lookupButton , 9, 9, 0, 0); QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Expanding ); layout->addItem( spacer, 9, 0 ); } void StocktickerPluginConfig::writeConfig() { Config cfg( "stockticker"); cfg.setGroup( "Symbols" ); QString outText = text().upper(); outText.stripWhiteSpace(); cfg.writeEntry("Symbols", outText ); cfg.setGroup( "Fields" ); cfg.writeEntry("timeCheck",timeCheck->isChecked()); cfg.writeEntry("dateCheck",dateCheck->isChecked()); cfg.writeEntry("symbolCheck",symbolCheck->isChecked()); cfg.writeEntry("nameCheck",nameCheck->isChecked()); cfg.writeEntry("currentPriceCheck",currentPriceCheck->isChecked()); cfg.writeEntry("lastPriceCheck",lastPriceCheck->isChecked()); cfg.writeEntry("openPriceCheck",openPriceCheck->isChecked()); cfg.writeEntry("minPriceCheck",minPriceCheck->isChecked()); cfg.writeEntry("maxPriceCheck",maxPriceCheck->isChecked()); cfg.writeEntry("variationCheck",variationCheck->isChecked()); cfg.writeEntry("volumeCheck",volumeCheck->isChecked()); cfg.setGroup("Timer"); cfg.writeEntry("Delay",timerDelaySpin->value()); cfg.writeEntry("ScrollLength",scrollLength->value()); cfg.writeEntry("ScrollSpeed",scrollSpeed->value()); cfg.write(); } StocktickerPluginConfig::~StocktickerPluginConfig() { } QString StocktickerPluginConfig::text() const { return LineEdit1->text(); } void StocktickerPluginConfig::doLookup() { system("stockticker"); } diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.h b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.h index 10f9678..3c852ce 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.h +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.h @@ -1,46 +1,47 @@ /* * stocktickerconfig.h * * copyright : (c) 2002 by LJP * 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. * * * ***************************************************************************/ #ifndef STOCKTICKER_PLUGIN_CONFIG_H #define STOCKTICKER_PLUGIN_CONFIG_H +#include <opie2/todayconfigwidget.h> + #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 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(); }; #endif diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro index bb22b4e..baf6430 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro @@ -1,29 +1,29 @@ TEMPLATE = lib CONFIG -= moc CONFIG += qt plugin release HEADERS = stocktickerplugin.h stocktickerpluginimpl.h stocktickerpluginwidget.h stocktickerconfig.h \ ../libstocks/csv.h \ ../libstocks/http.h \ ../libstocks/lists.h \ ../libstocks/stocks.h SOURCES = stocktickerplugin.cpp stocktickerpluginimpl.cpp stocktickerpluginwidget.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 -lpthread +LIBS+= -lqpe -lopiecore2 -lopiepim2 -lopieui2 -lpthread TMAKE_CFLAGS += -D__UNIX__ DESTDIR = $(OPIEDIR)/plugins/today TARGET = todaystocktickerplugin include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerplugin.h b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerplugin.h index e88c687..42af821 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerplugin.h +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerplugin.h @@ -1,46 +1,45 @@ /* * stocktickerplugin.h * * 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. * * * ***************************************************************************/ #ifndef STOCKTICKER_PLUGIN_H #define STOCKTICKER_PLUGIN_H +#include <opie2/oclickablelabel.h> +#include <opie2/todayplugininterface.h> +#include <opie2/todayconfigwidget.h> + #include <qstring.h> #include <qwidget.h> -#include <opie/oclickablelabel.h> - -#include <opie/todayplugininterface.h> -#include <opie/todayconfigwidget.h> - class StockTickerPlugin : public TodayPluginObject { public: StockTickerPlugin(); ~StockTickerPlugin(); QString pluginName() const; double versionNumber() const; QString pixmapNameWidget() const; QWidget* widget(QWidget *); QString pixmapNameConfig() const; TodayConfigWidget* configWidget(QWidget *); QString appName() const; bool excludeFromRefresh() const; }; #endif diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp index fedc79c..51113ba 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp @@ -1,327 +1,327 @@ /* * stocktickerpluginwidget.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 <qlayout.h> + #include <opie2/oticker.h> #include <qpe/config.h> - #include <opie/oticker.h> + #include <qlayout.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; stock_liste = blah; ::free ( blah ); // char *stock_liste = (char *)blah->latin1(); // 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; dotimeCheck=dodateCheck=dosymbolCheck=donameCheck= docurrentPriceCheck=dolastPriceCheck=doopenPriceCheck=dominPriceCheck=domaxPriceCheck=dovariationCheck=dovolumeCheck=false; 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; /* 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 tempString2; // tempString2.sprintf("Proxy error (%d)\n", error); // output = tempString2; // delete tempString2; return; // exit(1); } } ::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; } 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) 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; } // printf("| Price | %-7.2f |\n", stocks_tmp->CurrentPrice); tempString.sprintf("| Price %-7.2f ", stocks_tmp->CurrentPrice); if(docurrentPriceCheck) output +=tempString; // printf("| Yesterday | %-7.2f |\n",stocks_tmp->LastPrice); tempString.sprintf("| Yesterday %-7.2f ",stocks_tmp->LastPrice); if(dolastPriceCheck) output +=tempString; // printf("| Open | %-7.2f |\n",stocks_tmp->OpenPrice); tempString.sprintf("| Open %-7.2f ",stocks_tmp->OpenPrice); if(doopenPriceCheck) output +=tempString; // printf("| Min | %-7.2f |\n", stocks_tmp->MinPrice); tempString.sprintf("| Min %-7.2f ", stocks_tmp->MinPrice); if(dominPriceCheck) output +=tempString; // printf("| Max | %-7.2f |\n",stocks_tmp->MaxPrice); tempString.sprintf("| Max %-7.2f ",stocks_tmp->MaxPrice); if(domaxPriceCheck) output +=tempString; // 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); } stocktickerTicker->setText( output.latin1() ); /* frees stocks */ free_stocks(stocks_quotes); 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() { } void StockTickerPluginWidget::init() { QHBoxLayout* layout = new QHBoxLayout( this ); stocktickerTicker = new OTicker(this); // stocktickerTicker->setMinimumHeight(15); connect( stocktickerTicker, SIGNAL( mousePressed()), this, SLOT( checkConnection() )); layout->addWidget( stocktickerTicker); wasError = true; } void StockTickerPluginWidget::doStocks() { Config cfg( "stockticker"); cfg.setGroup( "Symbols" ); 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 ); // if( wasError) // stocktickerTicker->setText("Checking connection"); // 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); 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."); break; case QSocket::ErrSocketRead : output = tr("Socket read error."); break; }; stocktickerTicker->setText( output ); wasError = true; // Sock->close(); } |