4 files changed, 0 insertions, 38 deletions
diff --git a/noncore/todayplugins/stockticker/stockticker/helpwindow.cpp b/noncore/todayplugins/stockticker/stockticker/helpwindow.cpp index 33dcac0..23e78f2 100644 --- a/noncore/todayplugins/stockticker/stockticker/helpwindow.cpp +++ b/noncore/todayplugins/stockticker/stockticker/helpwindow.cpp @@ -1,164 +1,145 @@ /**************************************************************************** ** $Id$ ** ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. ** ** This file is part of an example program for Qt. This example ** program may be used, distributed and modified without limitation. ** *****************************************************************************/ #include "helpwindow.h" #include <qstatusbar.h> -#include <qstringlist.h> -#include <qpixmap.h> -#include <qpopupmenu.h> #include <qmenubar.h> #include <qtoolbar.h> #include <qtoolbutton.h> -#include <qiconset.h> -#include <qfile.h> -#include <qtextstream.h> -#include <qstylesheet.h> -#include <qmessagebox.h> -#include <qfiledialog.h> -#include <qapplication.h> #include <qcombobox.h> -#include <qevent.h> -#include <qlineedit.h> -#include <qobjectlist.h> -#include <qfileinfo.h> -#include <qfile.h> -#include <qdatastream.h> -#include <qprinter.h> -#include <qsimplerichtext.h> -#include <qpaintdevicemetrics.h> #include <ctype.h> HelpWindow::HelpWindow( const QString& home_, const QString& _path, QWidget* parent, const char *name ) : QMainWindow( parent, name, WDestructiveClose ), pathCombo( 0 ), selectedURL() { readHistory(); readBookmarks(); browser = new QTextBrowser( this ); QStringList Strlist; Strlist.append( home_); browser->mimeSourceFactory()->setFilePath( Strlist ); browser->setFrameStyle( QFrame::Panel | QFrame::Sunken ); connect( browser, SIGNAL( textChanged() ), this, SLOT( textChanged() ) ); setCentralWidget( browser ); if ( !home_.isEmpty() ) //////////////////////////////// browser->setSource( home_ ); //////////////////////////////// connect( browser, SIGNAL( highlighted( const QString&) ), statusBar(), SLOT( message( const QString&)) ); setGeometry( 0,0,236,280); QPopupMenu* file = new QPopupMenu( this ); // file->insertItem( tr("&New Window"), this, SLOT( newWindow() ), ALT | Key_N ); file->insertItem( tr("&Open File"), this, SLOT( openFile() ), ALT | Key_O ); // file->insertItem( tr("&Print"), this, SLOT( print() ), ALT | Key_P ); file->insertSeparator(); file->insertItem( tr("&Close"), this, SLOT( close() ), ALT | Key_Q ); // file->insertItem( tr("E&xit"), qApp, SLOT( closeAllWindows() ), ALT | Key_X ); // The same three icons are used twice each. ////F FIXME QString pixs=(QDir::homeDirPath ()) +"/Applications/gutenbrowser/pix/"; QIconSet icon_back( QPixmap(pixs+"back.png") ); QIconSet icon_forward( QPixmap(pixs+"forward.png") ); QIconSet icon_home( QPixmap(pixs+"home.png") ); QPopupMenu* go = new QPopupMenu( this ); backwardId = go->insertItem( icon_back, tr("&Backward"), browser, SLOT( backward() ), ALT | Key_Left ); forwardId = go->insertItem( icon_forward, tr("&Forward"), browser, SLOT( forward() ), ALT | Key_Right ); go->insertItem( icon_home, tr("&Home"), browser, SLOT( home() ) ); hist = new QPopupMenu( this ); QStringList::Iterator it = history.begin(); for ( ; it != history.end(); ++it ) mHistory[ hist->insertItem( *it ) ] = *it; connect( hist, SIGNAL( activated( int ) ), this, SLOT( histChosen( int ) ) ); bookm = new QPopupMenu( this ); bookm->insertItem( tr( "Add Bookmark" ), this, SLOT( addBookmark() ) ); bookm->insertSeparator(); QStringList::Iterator it2 = bookmarks.begin(); for ( ; it2 != bookmarks.end(); ++it2 ) mBookmarks[ bookm->insertItem( *it2 ) ] = *it2; connect( bookm, SIGNAL( activated( int ) ), this, SLOT( bookmChosen( int ) ) ); menuBar()->insertItem( tr("&File"), file ); menuBar()->insertItem( tr("&Go"), go ); menuBar()->insertItem( tr( "History" ), hist ); menuBar()->insertItem( tr( "Bookmarks" ), bookm ); // menuBar()->insertSeparator(); // menuBar()->insertItem( tr("&Help"), help ); menuBar()->setItemEnabled( forwardId, FALSE); menuBar()->setItemEnabled( backwardId, FALSE); connect( browser, SIGNAL( backwardAvailable( bool ) ), this, SLOT( setBackwardAvailable( bool ) ) ); connect( browser, SIGNAL( forwardAvailable( bool ) ), this, SLOT( setForwardAvailable( bool ) ) ); QToolBar* toolbar = new QToolBar( this ); addToolBar( toolbar, "Toolbar"); QToolButton* button; button = new QToolButton( icon_back, tr("Backward"), "", browser, SLOT(backward()), toolbar ); connect( browser, SIGNAL( backwardAvailable(bool) ), button, SLOT( setEnabled(bool) ) ); button->setEnabled( FALSE ); button = new QToolButton( icon_forward, tr("Forward"), "", browser, SLOT(forward()), toolbar ); connect( browser, SIGNAL( forwardAvailable(bool) ), button, SLOT( setEnabled(bool) ) ); button->setEnabled( FALSE ); button = new QToolButton( icon_home, tr("Home"), "", browser, SLOT(home()), toolbar ); toolbar->addSeparator(); pathCombo = new QComboBox( TRUE, toolbar ); connect( pathCombo, SIGNAL( activated( const QString & ) ), this, SLOT( pathSelected( const QString & ) ) ); toolbar->setStretchableWidget( pathCombo ); // pathCombo->setMaximumWidth(190); // setRightJustification( TRUE ); // setDockEnabled( Left, FALSE ); // setDockEnabled( Right, FALSE ); pathCombo->insertItem( home_ ); browser->setFocus(); } void HelpWindow::setBackwardAvailable( bool b) { menuBar()->setItemEnabled( backwardId, b); } void HelpWindow::setForwardAvailable( bool b) { menuBar()->setItemEnabled( forwardId, b); } void HelpWindow::textChanged() { diff --git a/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp b/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp index 18021c2..42a3885 100644 --- a/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp +++ b/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp @@ -1,89 +1,87 @@ #include "inputDialog.h" #include <qapplication.h> #include <qcheckbox.h> -#include <qlayout.h> #include <qlineedit.h> -#include <qlayout.h> #include <qvariant.h> #include <qpushbutton.h> #include <qwhatsthis.h> #include <qlabel.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/stocktickerlib/stocktickerconfig.cpp b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp index fdabd5c..e3d378b 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp @@ -1,161 +1,157 @@ /* * 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 <qpe/config.h> #include <qapplication.h> #include <qspinbox.h> #include <qcheckbox.h> -#include <qlayout.h> #include <qlineedit.h> -#include <qlayout.h> #include <qvariant.h> #include <qpushbutton.h> #include <qwhatsthis.h> #include <qlabel.h> -#include <qpe/config.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",0)); 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); diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp index a740b58..c3ca52d 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp @@ -1,160 +1,147 @@ /* * 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 <qsocket.h> -#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 <qmessagebox.h> #include <qpe/config.h> -#include <qpe/timestring.h> -#include <qpe/qcopenvelope_qws.h> -#include <qpe/network.h> #include <opie/oticker.h> extern "C" { #include "libstocks/stocks.h" } #include <pthread.h> #include "stocktickerpluginwidget.h" QString output; OTicker *stocktickerTicker; void getStocks(char *blah) { // stocktickerTicker->setText( "Downloading stock data."); stock *stocks_quotes=NULL; stock *stocks_tmp; QCString stock_liste = blah; ::free ( blah ); // char *stock_liste = (char *)blah->latin1(); qDebug("%s", stock_liste.data() ); 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 *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); } } } // char *stock_liste = (char *)blah; /* 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) 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(); |