summaryrefslogtreecommitdiff
authorzecke <zecke>2004-09-10 11:11:23 (UTC)
committer zecke <zecke>2004-09-10 11:11:23 (UTC)
commit532d65f8a45850bfda3c3344a7b165af91e48440 (patch) (side-by-side diff)
treecbda2467001ed9a5be304fa52cabbb797b56ecfe
parente64d9e9682e0afefc4fbebe7ba9737e0f86e3ed7 (diff)
downloadopie-532d65f8a45850bfda3c3344a7b165af91e48440.zip
opie-532d65f8a45850bfda3c3344a7b165af91e48440.tar.gz
opie-532d65f8a45850bfda3c3344a7b165af91e48440.tar.bz2
Add newlines, remove unused local variables, remove unused parameters,
add newlines at the end of file...
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/checkbook/traninfo.cpp0
-rw-r--r--noncore/apps/confedit/listviewconfdir.cpp2
-rw-r--r--noncore/apps/confedit/listviewitemconfigentry.cpp0
-rw-r--r--noncore/apps/opie-bartender/bac.cpp1
-rw-r--r--noncore/apps/opie-gutenbrowser/LibraryDialog.cpp2
-rw-r--r--noncore/apps/opie-gutenbrowser/NetworkDialog.cpp2
-rw-r--r--noncore/apps/opie-gutenbrowser/fontDialog.cpp10
-rw-r--r--noncore/apps/opie-gutenbrowser/helpwindow.cpp2
-rw-r--r--noncore/apps/oxygen/kmolelements.cpp4
9 files changed, 11 insertions, 12 deletions
diff --git a/noncore/apps/checkbook/traninfo.cpp b/noncore/apps/checkbook/traninfo.cpp
index 506f567..4833af9 100644
--- a/noncore/apps/checkbook/traninfo.cpp
+++ b/noncore/apps/checkbook/traninfo.cpp
diff --git a/noncore/apps/confedit/listviewconfdir.cpp b/noncore/apps/confedit/listviewconfdir.cpp
index 33bffe1..73eaae3 100644
--- a/noncore/apps/confedit/listviewconfdir.cpp
+++ b/noncore/apps/confedit/listviewconfdir.cpp
@@ -1,65 +1,65 @@
/***************************************************************************
* *
* 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. *
* *
***************************************************************************/
// (c) 2002 Patrick S. Vogtp <tille@handhelds.org>
#include "listviewconfdir.h"
#include "listviewitemconffile.h"
/* OPIE */
#include <opie2/odebug.h>
using namespace Opie::Core;
/* QT */
#include <qmessagebox.h>
ListViewConfDir::ListViewConfDir(QString settingsPath, QWidget *parent, const char *name )
: QListView(parent,name), confDir(settingsPath)
{
setRootIsDecorated( true );
addColumn(tr("Files"));
if (!confDir.isReadable())
QMessageBox::critical(this,tr("Could not open"),tr("The directory ")+settingsPath+tr(" could not be opened."),1,0);
readConfFiles();
connect( this, SIGNAL(expanded(QListViewItem*)), SLOT(expand(QListViewItem*)));
}
ListViewConfDir::~ListViewConfDir()
{
}
void ListViewConfDir::readConfFiles()
{
confDir.setFilter( QDir::Files | QDir::NoSymLinks );
confDir.setSorting( QDir::Name );
confDir.setNameFilter("*.conf");
const QFileInfoList *list = confDir.entryInfoList();
QFileInfoListIterator it( *list );
QFileInfo *fi;
ListViewItemConfFile *fileEntry;
while ( (fi=it.current()) )
{
odebug << "opening: >" << fi->fileName().data() << "<" << oendl;
fileEntry = new ListViewItemConfFile( fi, this );
- QListViewItem *dummy = new QListViewItem(fileEntry, "dummy");
+ (void)new QListViewItem(fileEntry, "dummy");
++it;
}
}
void ListViewConfDir::expand(QListViewItem *item)
{
((ListViewItemConf*)item)->expand();
}
diff --git a/noncore/apps/confedit/listviewitemconfigentry.cpp b/noncore/apps/confedit/listviewitemconfigentry.cpp
index 0970125..714a154 100644
--- a/noncore/apps/confedit/listviewitemconfigentry.cpp
+++ b/noncore/apps/confedit/listviewitemconfigentry.cpp
diff --git a/noncore/apps/opie-bartender/bac.cpp b/noncore/apps/opie-bartender/bac.cpp
index 2e74029..8dc7e88 100644
--- a/noncore/apps/opie-bartender/bac.cpp
+++ b/noncore/apps/opie-bartender/bac.cpp
@@ -1,184 +1,183 @@
/****************************************************************************
**
** Created: Sun Jul 21 19:00:14 2002
** by: L.J. Potter <ljp@llornkcor.com>
** copyright : (C) 2002 by ljp
email : ljp@llornkcor.com
* 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 "bac.h"
#include <qcombobox.h>
#include <qlabel.h>
#include <qlcdnumber.h>
#include <qpushbutton.h>
#include <qspinbox.h>
#include <qlayout.h>
BacDialog::BacDialog( QWidget* parent, const char* name, bool modal, WFlags fl )
: QDialog( parent, name, modal, fl )
{
if ( !name )
setName( "BacDialog" );
setCaption( tr( "Blood Alcohol Estimator" ) );
Layout7 = new QVBoxLayout( this);
Layout7->setSpacing( 6 );
Layout7->setMargin( 0 );
Layout1 = new QHBoxLayout;
Layout1->setSpacing( 6 );
Layout1->setMargin( 0 );
NumberSpinBox = new QSpinBox( this, "NumberSpinBox" );
Layout1->addWidget( NumberSpinBox );
TextLabel1 = new QLabel(this, "TextLabel1" );
TextLabel1->setText( tr( "# Drinks Consumed" ) );
Layout1->addWidget( TextLabel1 );
Layout7->addLayout( Layout1 );
Layout2 = new QHBoxLayout;
Layout2->setSpacing( 6 );
Layout2->setMargin( 0 );
WeightSpinBox = new QSpinBox( this, "WeightSpinBox" );
Layout2->addWidget( WeightSpinBox );
WeightSpinBox->setMaxValue(500);
TextLabel2 = new QLabel( this, "TextLabel2" );
TextLabel2->setText( tr( "Weight" ) );
Layout2->addWidget( TextLabel2 );
Layout7->addLayout( Layout2 );
weightUnitsCombo =new QComboBox( FALSE, this, "unitComboBox" );
weightUnitsCombo->insertItem( tr( "Kilos" ) );
weightUnitsCombo->insertItem( tr( "Pounds" ) );
Layout2->addWidget( weightUnitsCombo );
weightUnitsLabel = new QLabel(this, "unitsTextLabel" );
weightUnitsLabel->setText( tr( "Units" ) );
Layout2->addWidget( weightUnitsLabel );
Layout3 = new QHBoxLayout;
Layout3->setSpacing( 6 );
Layout3->setMargin( 0 );
TimeSpinBox = new QSpinBox( this, "TimeSpinBox" );
Layout3->addWidget( TimeSpinBox );
TimeSpinBox->setMaxValue(24);
TextLabel3 = new QLabel( this, "TextLabel3" );
TextLabel3->setText( tr( "Period of Time (hours)" ) );
Layout3->addWidget( TextLabel3 );
Layout7->addLayout( Layout3 );
Layout4 = new QHBoxLayout;
Layout4->setSpacing( 6 );
Layout4->setMargin( 0 );
GenderComboBox = new QComboBox( FALSE, this, "GenderComboBox" );
GenderComboBox->insertItem( tr( "Male" ) );
GenderComboBox->insertItem( tr( "Female" ) );
GenderComboBox->insertItem( tr( "Unknown" ) );
Layout4->addWidget( GenderComboBox );
TextLabel4 = new QLabel( this, "TextLabel4" );
TextLabel4->setText( tr( "Gender" ) );
Layout4->addWidget( TextLabel4 );
Layout7->addLayout( Layout4 );
Layout6 = new QHBoxLayout;
Layout6->setSpacing( 6 );
Layout6->setMargin( 0 );
TypeDrinkComboBox = new QComboBox( FALSE,this, "TypeDrinkComboBox" );
TypeDrinkComboBox->insertItem( tr( "Beer" ) );
TypeDrinkComboBox->insertItem( tr( "Wine" ) );
TypeDrinkComboBox->insertItem( tr( "Shot" ) );
Layout6->addWidget( TypeDrinkComboBox );
TextLabel1_2 = new QLabel( this, "TextLabel1_2" );
TextLabel1_2->setText( tr( "Type of drink" ) );
Layout6->addWidget( TextLabel1_2 );
Layout7->addLayout( Layout6 );
PushButton1 = new QPushButton( this, "PushButton1" );
PushButton1->setText( tr( "Calculate" ) );
Layout7->addWidget( PushButton1 );
connect(PushButton1,SIGNAL( clicked()), this, SLOT( calculate()));
LCDNumber1 = new QLCDNumber( this, "LCDNumber1" );
LCDNumber1->setMaximumHeight( 50);
LCDNumber1->setNumDigits(6);
LCDNumber1->setSmallDecimalPoint(TRUE);
LCDNumber1->setFrameStyle(QFrame::Box);
LCDNumber1->setLineWidth(2);
LCDNumber1->setSegmentStyle( QLCDNumber::Filled);
QPalette palette = LCDNumber1->palette();
palette.setColor(QPalette::Normal, QColorGroup::Foreground, Qt::red);
palette.setColor(QPalette::Normal, QColorGroup::Light, Qt::black);
palette.setColor(QPalette::Normal, QColorGroup::Dark, Qt::darkGreen);
LCDNumber1->setPalette(palette);
Layout7->addWidget( LCDNumber1 );
NumberSpinBox->setFocus();
}
BacDialog::~BacDialog()
{}
void BacDialog::calculate()
{
float weight,genderDiff, bac, typeDrink=0, drinkOz=0, bodyWater, milliliters, oz, gram, gramsMil, alc, metab, bac1;
- float weightunitDifference, massunitdiff;
QString estBac;
if( GenderComboBox->currentItem()==0)
genderDiff = .58;
else
genderDiff = .49;
switch(TypeDrinkComboBox->currentItem()) {
case 0: { //beer
typeDrink = .045;
drinkOz = 12;
}
break;
case 1: {
typeDrink = .2;
drinkOz = 4;
}
break;
case 2: {
typeDrink = .5;
drinkOz = 1.5;
}
break;
};
if( weightUnitsCombo->currentItem() == 0 ) {
weight = WeightSpinBox->value(); // kilos
} else {
weight = WeightSpinBox->value() / 2.2046; // convert to kilograms
}
bodyWater = weight * genderDiff;
milliliters = bodyWater * 1000;
oz = 23.36/milliliters;
gram = oz * .806;
gramsMil = gram * 100;
alc = drinkOz*NumberSpinBox->value() * typeDrink;
metab = TimeSpinBox->value() * .012;
bac1 = gramsMil * alc;
bac = bac1 - metab;
// weightDrink= (nDrinks * .79) / (weight * genderDiff*1000);
// (ounces * percent * 0.075 / weight) - (hours * 0.015);
// bac = (((weightDrink * .806) * 100) * .54);// - (time * .012); // assuming beer of 4.5%
estBac.sprintf("%f",bac);
LCDNumber1->display(bac);
// BACTextLabel->setText(estBac );
}
diff --git a/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp b/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp
index 124b6f3..020a116 100644
--- a/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp
+++ b/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp
@@ -1,806 +1,806 @@
/***************************************************************************
// LibraryDialog.cpp - description
// -------------------
// begin : Sat Aug 19 2000
// copyright : (C) 2000 - 2004 by llornkcor
// email : ljp@llornkcor.com
// ***************************************************/
// /***************************************************************************
// * 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. *
// ***************************************************************************/
//ftp://ibiblio.org/pub/docs/books/gutenberg/GUTINDEX.ALL
#include "LibraryDialog.h"
#include "output.h"
/* OPIE */
#include <qpe/applnk.h>
#include <qpe/qpeapplication.h>
#include <qpe/qpedialog.h>
#include <opie2/odebug.h>
/* QT */
#include <qpushbutton.h>
#include <qmultilineedit.h>
//#include <qlayout.h>
/* STD */
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
/*
* The dialog will by default be modeless, unless you set 'modal' to
* TRUE to construct a modal dialog. */
-LibraryDialog::LibraryDialog( QWidget* parent, const char* name , bool modal, WFlags fl )
+LibraryDialog::LibraryDialog( QWidget* parent, const char* name , bool /*modal*/, WFlags fl )
: QDialog( parent, name, true/* modal*/, fl )
{
if ( !name )
setName( "LibraryDialog" );
indexLoaded=false;
initDialog();
// this->setMaximumWidth(240);
index = "GUTINDEX.ALL";
local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/";
local_index = local_library + index;
QString iniFile ;
iniFile = QPEApplication::qpeDir()+"/etc/gutenbrowser/gutenbrowserrc";
new_index =QPEApplication::qpeDir()+"/etc/gutenbrowser/PGWHOLE.TXT";
old_index = QPEApplication::qpeDir()+"/etc/gutenbrowser/GUTINDEX.ALL";
// old_index = QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL";
// iniFile = local_library+"gutenbrowserrc";
// new_index = local_library + "PGWHOLE.TXT";
// old_index = local_library + "GUTINDEX.ALL";
Config config("Gutenbrowser");
config.setGroup( "HttpServer" );
proxy_http = config.readEntry("Preferred", "http://sailor.gutenbook.org");
config.setGroup( "FTPsite" );
ftp_host=config.readEntry("SiteName", "sailor.gutenberg.org");
odebug << "Library Dialog: ftp_host is "+ftp_host << oendl;
// ftp_host=ftp_host.right(ftp_host.length()-(ftp_host.find(") ",0,TRUE)+1) );
// ftp_host=ftp_host.stripWhiteSpace();
ftp_base_dir= config.readEntry("base", "/pub/gutenberg");
i_binary = 0;
config.setGroup("SortAuth");
if( config.readEntry("authSort", "FALSE") == "TRUE")
authBox->setChecked(TRUE);
config.setGroup("General");
downDir =config.readEntry( "DownloadDirectory",local_library);
odebug << "downDir is "+downDir << oendl;
newindexLib.setName( old_index);
indexLib.setName( old_index);
new QPEDialogListener(this);
QTimer::singleShot( 1000, this, SLOT( FindLibrary()) );
}
LibraryDialog::~LibraryDialog()
{
// delete QList_Item2;
// delete QList_Item1;
// delete QList_Item3;
// delete QList_Item4;
// delete QList_Item5;
// saveConfig();
}
/*This groks using PGWHOLE.TXT */
void LibraryDialog::Newlibrary()
{
#ifndef Q_WS_QWS //sorry embedded gutenbrowser cant use zip files
//odebug << "Opening new library index " << newindexLib << "" << oendl;
if ( newindexLib.open( IO_ReadOnly) ) {
setCaption( tr( "Library Index - using master pg index." ) );// file opened successfully
QTextStream indexStream( &newindexLib );
QString indexLine;
while ( !indexStream.atEnd() ) { // until end of file..
indexLine = indexStream.readLine();
if ( ( indexLine.mid(4,4)).toInt() && !( indexLine.left(3)).toInt()) {
year = indexLine.mid(4,4);
year = year.stripWhiteSpace();
file = indexLine.mid( indexLine.find( "[", 0, TRUE )+1, 12 );
file = file.stripWhiteSpace();
number = indexLine.mid( indexLine.find( "]", 0, TRUE ) +1, indexLine.find( " ", 0, TRUE )+1 );
if( year.toInt() < 1984)
number = number.left( number.length() -1 );
number = number.stripWhiteSpace();
title = indexLine.mid( indexLine.find(" ", 26, TRUE), indexLine.length() );
title = title.stripWhiteSpace();
getAuthor(); // groks author
author = author.stripWhiteSpace();
if (authBox->isChecked()) { // this reverses the first name and last name of the author
// odebug << "Sorting last name first" << oendl;
QString lastName, firstName="";
int finder=author.findRev( ' ', -1, TRUE);
lastName=author.right( author.length()-finder);
firstName=author.left(finder);
lastName=lastName.stripWhiteSpace();
firstName=firstName.stripWhiteSpace();
if( lastName.find( firstName, 0, true) == -1) // this avoids dup names
author=lastName+", "+firstName;
}
if( !number.isEmpty() && (title.find( "reserved",0, FALSE) == -1) && (file.find( "]",0, TRUE) == -1) ) {
// fill string list or something to be able to resort the whole library
if( author.isEmpty() )
QList_Item5 = new QListViewItem( ListView5, /* number,*/ title, author, year, file );
else {
if( (author.left(1) >= QString("A") && author.left(1) <= QString("F")) ||
(author.left(1) >= QString("a") && author.left(1) <= QString("f")) )
QList_Item1 = new QListViewItem( ListView1,/* number,*/ title, author, year, file );
else if( (author.left(1) >= QString("G") && author.left(1) <= QString("M")) ||
(author.left(1) >= QString("g") && author.left(1) <= QString("m")) )
QList_Item2 = new QListViewItem( ListView2, /*number, */title, author, year, file );
else if( (author.left(1) >= QString("N") && author.left(1) <= QString("R")) ||
(author.left(1) >= QString("n") && author.left(1) <= QString("r")) )
QList_Item3 = new QListViewItem( ListView3, /*number,*/ title, author, year, file );
else if( (author.left(1) >= QString("S") && author.left(1) <= QString("Z")) ||
(author.left(1) >= QString("s") && author.left(1) <= QString("z")) )
QList_Item4 = new QListViewItem( ListView4, /* number,*/ title, author, year, file );
else
QList_Item5 = new QListViewItem( ListView5, /* number,*/ title, author, year, file );
}
}
}// end if
}// end while
newindexLib.close();
}
#ifndef Q_WS_QWS
setCursor( arrowCursor);
#endif
#endif
} // end Newlibrary()
void LibraryDialog::Library()
{// old library groking method
ListView1->clear();
ListView2->clear();
ListView3->clear();
ListView4->clear();
ListView5->clear();
odebug << "opening GUTINDEX.ALL file" << oendl;
IDontKnowWhy = "";
if ( indexLib.open( IO_ReadOnly) ) { // file opened successfully
QTextStream indexStream( &indexLib );
QString indexLine;
qApp->processEvents();
// int jig;
while ( !indexStream.eof() ) {
indexLine = indexStream.readLine();
if ( indexLine != "") {
if( (indexLine.mid(4,4)).toInt() /* && !( indexLine.left(3)).toInt()*/ ) {
// month = indexLine.left( 3);
year = indexLine.mid(4,4);
// title = indexLine.mid( 9, 50);
file = indexLine.mid(60,12);
if(file.left(1).find("[",0,TRUE) != -1)
file.remove(1,1);
if( file.find("]",0,TRUE) != -1)
file = file.left( file.find("]",0,TRUE));
//odebug << "file is "+file << oendl;
/// number = indexLine.mid( indexLine.find( "]", 0, TRUE ) +1, indexLine.find( " ", 0, TRUE )+1 );
number = indexLine.mid(55,5);
number = number.stripWhiteSpace();
// title = indexLine.mid( indexLine.find(" ", 26, TRUE), indexLine.length() );
title = indexLine.mid( 9, 50 );
title = title.stripWhiteSpace();
//odebug << "title is "+title << oendl;
getAuthor(); // grok author
author = author.stripWhiteSpace();
//odebug << "author is "+author << oendl;
if (authBox->isChecked() == TRUE) { // this reverses the first name and last name of the author
QString lastName, firstName="";
int finder=author.findRev( ' ', -1, TRUE);
lastName=author.right( author.length()-finder);
firstName=author.left(finder);
lastName=lastName.stripWhiteSpace();
firstName=firstName.stripWhiteSpace();
if( lastName.find( firstName, 0, true) == -1) // this avoids dup names
author=lastName+", "+firstName;
}
if( !number.isEmpty() && (title.find( "reserved",0, FALSE) == -1) /*&& (file.find( "]",0, TRUE))*/ ) {
// fill string list or something to be able to sort by Author
if( author.isEmpty() )
QList_Item5 = new QListViewItem( ListView5, /*number, */title, author, year, file );
else {
if( (author.left(1) >= QString("A") && author.left(1) <= QString("F")) ||
(author.left(1) >= QString("a") && author.left(1) <= QString("f")) )
QList_Item1 = new QListViewItem( ListView1, /* number,*/ title, author, year, file );
else if( (author.left(1) >= QString("G") && author.left(1) <= QString("M")) ||
(author.left(1) >= QString("g") && author.left(1) <= QString("m")) )
QList_Item2 = new QListViewItem( ListView2, /* number,*/ title, author, year, file );
else if( (author.left(1) >= QString("N") && author.left(1) <= QString("R")) ||
(author.left(1) >= QString("n") && author.left(1) <= QString("r")) )
QList_Item3 = new QListViewItem( ListView3, /* number,*/ title, author, year, file );
else if( (author.left(1) >= QString("S") && author.left(1) <= QString("Z")) ||
(author.left(1) >= QString("s") && author.left(1) <= QString("z")) )
QList_Item4 = new QListViewItem( ListView4, /* number,*/ title, author, year, file );
}
}
}
}
}
indexLib.close();
} else {
QString sMsg;
sMsg = ( tr("<p>Error opening local library index:</P> "))+local_index;
QMessageBox::message( "Error",sMsg);
}
} //end Library()
/*
Groks the author out of the title */
bool LibraryDialog::getAuthor()
{
if( title.contains( ", by", TRUE)) {
int auth;
auth = title.find(", by", 0, TRUE);
author = title.right(title.length() - (auth + 4) );
if( int finder = author.find("[", 0, TRUE)) {
author = author.left(finder);
}
}
else if ( title.contains( "by, ", TRUE) ) {
int auth;
auth = title.find("by, ", 0, TRUE);
author = title.right(title.length() - (auth + 4) );
if( int finder = author.find("[", 0, TRUE)) {
author = author.left( finder);
}
}
else if ( title.contains( " by", TRUE) ) {
int auth;
auth = title.find(" by", 0, TRUE);
author = title.right(title.length() - (auth + 3) );
if( int finder = author.find("[", 0, TRUE)) {
author = author.left( finder);
}
}
else if ( title.contains( "by ", TRUE) ) {
int auth;
auth = title.find("by ", 0, TRUE);
author = title.right(title.length() - (auth + 3) );
if( int finder = author.find("[", 0, TRUE)) {
author = author.left( finder);
}
}
else if ( title.contains( ",", TRUE) ) {
int auth;
auth = title.find(",", 0, TRUE);
author = title.right( title.length() - (auth + 1) );
if ( author.contains( ",", TRUE) ) {
int auth;
auth = author.find(",", 0, TRUE);
author = author.right( author.length() - (auth + 1) );
}
if( int finder = author.find("[", 0, TRUE)) {
author = author.left( finder);
}
}
else if ( title.contains( "/", TRUE) ) {
int auth;
auth = title.find("/", 0, TRUE);
author = title.right(title.length() - (auth + 1) );
if( int finder = author.find("[", 0, TRUE)) {
author = author.left( finder);
}
}
else if ( title.contains( "of", TRUE) ) {
int auth;
auth = title.find("of", 0, TRUE);
author = title.right(title.length() - (auth + 2) );
if( int finder = author.find("[", 0, TRUE))
{
author = author.left( finder);
}
} else {
author = "";
}
if ( author.contains("et. al")) {
int auth;
auth = author.find("et. al", 0, TRUE);
author = author.left( auth );
}
if ( author.contains("#")) {
int auth;
auth = author.find("#", 0, TRUE);
author = author.left( auth);
}
if ( author.contains("(")) {
int auth;
auth = author.find("(", 0, TRUE);
author = author.left( auth);
}
if ( author.contains("et al")) {
int auth;
auth = author.find("et al", 0, TRUE);
author = author.left( auth );
}
QRegExp r = QRegExp("[0-9]", TRUE, FALSE);
if ( author.left(2).find( r) != -1 ) {
author = "";
}
// if( author.contains(" ", TRUE)) {
// int suth = author.findRev(" ", -1, TRUE);
// author = author.right( author.length() - suth);
// }
// title
// author
return true;
}////// end getAuthor()
/*
selected one etext*/
void LibraryDialog::select_title( QListViewItem * item)
{
if(item != NULL) {
i++;
int index = tabWidget->currentPageIndex();
DlglistItemTitle = item->text(0);
DlglistItemYear = item->text(2);
DlglistItemFile = item->text(3);
switch (index) {
case 0: {
ListView1->clearSelection();
}
break;
case 1: {
ListView2->clearSelection();
}
break;
case 2: {
ListView3->clearSelection();
}
break;
case 3: {
ListView4->clearSelection();
}
break;
case 4: {
ListView5->clearSelection();
}
break;
};
}
if(DlglistItemTitle.length()>2) {
// DlglistItemNumber = item->text(0);
item = 0;
odebug << "string from librarydialog is:" << DlglistItemYear << " " << DlglistItemFile << " " << DlglistItemNumber << "" << oendl;
odebug << "Title is "+DlglistItemTitle << oendl;
// check for connection here
// if( get_extext())
if(download_Etext()) {
// odebug << "get here 2" << oendl;
if(i_binary == 1) {
}
if(checkBox->isChecked () ) {
accept();
}
}
}
}
bool LibraryDialog::download_Etext()
{ // ftp method
// might have to use old gpl'd ftp for embedded!!
Config cfg("Gutenbrowser");
cfg.setGroup("FTPsite");
ftp_host=cfg.readEntry("SiteName", "sailor.gutenberg.org");
ftp_base_dir= cfg.readEntry("base", "/pub/gutenberg");
odebug << "about to network dialog" << oendl;
QString NewlistItemNumber, NewlistItemYear, ls_result, result_line, s, dir, networkUrl, outputFile;
//////////////////// FIXME- if 'x' is part of real name....
NewlistItemFile = DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, FALSE)).left(DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, FALSE)).find("x", 1, FALSE));
if( NewlistItemFile.find( DlglistItemFile.left(4) ,0,TRUE) ==-1 ) {
NewlistItemFile.replace( 0,4, DlglistItemFile.left(4));
odebug << "NewlistItemFile is now "+NewlistItemFile << oendl;
}
NewlistItemYear = DlglistItemYear.right(2);
int NewlistItemYear_Int = NewlistItemYear.toInt(0, 10);
odebug << NewlistItemYear << oendl;
if (NewlistItemYear_Int < 91 && NewlistItemYear_Int > 70) {
NewlistItemYear = "90";
}
Edir ="etext" +NewlistItemYear;
dir= ftp_base_dir + "/etext" +NewlistItemYear+"/";
if( ftp_base_dir.find("=",0,true) )
ftp_base_dir.remove( ftp_base_dir.find("=",0,true),1);
networkUrl= "ftp://"+ftp_host+dir;
outputFile=local_library+".guten_temp";
//odebug << "Download file:" << NewlistItemFile << "" << oendl;
odebug << "Checking: "+ftp_host+" "+dir+" "+outputFile+" "+NewlistItemFile << oendl;
QStringList networkList;
networkList.append((const char *)ftp_host);
networkList.append((const char *)dir);
networkList.append((const char *)outputFile);
networkList.append((const char *)NewlistItemFile);
//<< (char *)ftp_host << (char *)dir << (char *)outputFile << (char *)NewlistItemFile;
NetworkDialog *NetworkDlg;
NetworkDlg = new NetworkDialog( this,"Network Protocol Dialog", TRUE, 0, networkList);
if( NetworkDlg->exec() != 0 ) { // use new, improved, *INSTANT* network-dialog-file-getterer
File_Name= NetworkDlg->localFileName;
odebug << "back to Library from Network Dialog" << oendl;
odebug << "Just downloaded "+NetworkDlg->localFileName << oendl;
// if (File_Name.find( local_library, 0, TRUE) != -1 ) { //could not be found
// QString oldName=File_Name;
// File_Name.replace(0,local_library.length(),downDir);
// odebug << "File_Name now is "+File_Name << oendl;
// }
// rename .txt to .etx
if(NetworkDlg->successDownload) {
odebug << "Filename is "+File_Name << oendl;
if(File_Name.right(4)==".txt") {
QString s_fileName=File_Name;
s_fileName.replace( s_fileName.length()-3,3,"gtn");
// s_fileName.replace( s_fileName.length()-3,3,"etx");
rename(File_Name.latin1(),s_fileName.latin1());
File_Name=s_fileName;
odebug << "Filename is now "+File_Name << oendl;
}
if(File_Name.length() > 5 ) {
setTitle();
QFileInfo fi(File_Name);
QString name_file=fi.fileName();
name_file=name_file.left(name_file.length()-4);
odebug << "Setting doclink" << oendl;
DocLnk lnk;
odebug << "name is "+name_file << oendl;
lnk.setName(name_file); //sets file name
odebug << "Title is "+DlglistItemTitle << oendl;
lnk.setComment(DlglistItemTitle);
odebug << "Filename is "+File_Name << oendl;
lnk.setFile(File_Name); //sets File property
lnk.setType("guten/plain");// hey is this a REGISTERED mime type?!?!? ;D
lnk.setExec(File_Name);
lnk.setIcon("gutenbrowser/Gutenbrowser");
if(!lnk.writeLink()) {
odebug << "Writing doclink did not work" << oendl;
} else {
}
} else
QMessageBox::message("Note","<p>There was an error with the file</p>");
}
}
return true;
}
bool LibraryDialog::httpDownload()
{// httpDownload
#ifndef Q_WS_QWS
Config config("Gutenbrowser");
config.setGroup( "Browser" );
QString brow = config.readEntry("Preferred", "");
QString file_name = "./.guten_temp";
// config.setGroup( "HttpServer" );
// QString s_http = config.readEntry("Preferred", "http://sailor.gutenbook.org");
QString httpName = proxy_http + "/"+Edir;
// progressBar->setProgress( i);
i++;
if ( brow != "Konq") { /////////// use lynx
// QString cmd = "lynx -source " + httpName +" | cat >> " + file_name;
// system(cmd);
} else { //////////// use KFM
// KFM::download( httpName, file_name);
}
i++;
QFile tmp( file_name);
QString str;
if (tmp.open(IO_ReadOnly)) {
QTextStream t( &tmp ); // use a text stream
while ( !t.eof()) {
QString s = t.readLine();
if (s.contains( NewlistItemFile, FALSE) && (s.contains(".txt")) ) {
str = s.mid( s.find( ".txt\">"+NewlistItemFile, 0, TRUE)+6, (s.find( ".txt</A>", 0, TRUE) + 4) - ( s.find( ".txt\">"+NewlistItemFile, 0, TRUE)+6 ) );
httpName += "/" + str;
}
} //end of while loop
}
tmp.close();
m_getFilePath = local_library + str;
i++;
if ( brow != "KFM"){ ///////// use lynx
QString cmd = "lynx -source " + httpName +" | cat >> " + m_getFilePath;
// QMessageBox::message("Error", cmd);
system(cmd);
} else { ////////// use KFM
// KFM::download( httpName, m_getFilePath);
}
i++;
#endif
return false;
}
void LibraryDialog::cancelIt()
{
saveConfig();
DlglistItemNumber = "";
this->reject();
}
bool LibraryDialog::setTitle()
{
Config config("Gutenbrowser");
odebug << "setting title" << oendl;
odebug << DlglistItemTitle << oendl;
if( DlglistItemTitle.find("[",0,TRUE) != -1)
DlglistItemTitle.replace(DlglistItemTitle.find("[",0,TRUE),1, "(" );
if( DlglistItemTitle.find("]",0,TRUE) !=-1)
DlglistItemTitle.replace(DlglistItemTitle.find("]",0,TRUE),1, ")" );
odebug << "Title being set is "+DlglistItemTitle << oendl;
int test = 0;
QString ramble, temp;
config.setGroup("Files");
QString s_numofFiles = config.readEntry("NumberOfFiles", "0" );
int i_numofFiles = s_numofFiles.toInt();
for ( int i = 0; i <= i_numofFiles; i++){
temp.setNum( i);
ramble = config.readEntry( temp, "" );
if( strcmp( ramble, File_Name) == 0){
test = 1;
}
}
config.setGroup("Files");
config.writeEntry( "NumberOfFiles", i_numofFiles +1 );
QString interger;
interger.setNum( i_numofFiles +1);
config.writeEntry( interger, File_Name);
config.setGroup( "Titles" );
config.writeEntry( File_Name, DlglistItemTitle);
test = 0;
return true;
}
void LibraryDialog::saveConfig()
{
Config config("Gutenbrowser");
if( httpBox->isChecked() == TRUE) {
checked = 1;
config.setGroup( "Proxy" );
config.writeEntry("IsChecked", "TRUE");
} else {
checked = 0;
config.setGroup( "Proxy" );
config.writeEntry("IsChecked", "FALSE");
}
if (authBox->isChecked() == TRUE) {
config.setGroup("SortAuth");
config.writeEntry("authSort", "TRUE");
} else {
config.setGroup("SortAuth");
config.writeEntry("authSort", "FALSE");
}
// config.write();
}
/*
searches library index for user word*/
void LibraryDialog::onButtonSearch()
{
ListView1->clearSelection();
ListView2->clearSelection();
ListView3->clearSelection();
ListView4->clearSelection();
ListView5->clearSelection();
int curTab=tabWidget->currentPageIndex();
SearchDialog* searchDlg;
// if( resultsList)
searchDlg = new SearchDialog( this, "Library Search", TRUE);
searchDlg->setCaption( tr( "Library Search" ) );
searchDlg->setLabel( "- author or title");
QString resultString;
int i_berger = 0;
if( searchDlg->exec() != 0 ) {
QString searcherStr = searchDlg->get_text();
int fluff=0;
// int tabPage = tabWidget->currentPageIndex();
// TODO ititerate here... struct<listViews>??
QListViewItemIterator it1( ListView1 );
QListViewItemIterator it2( ListView2 );
QListViewItemIterator it3( ListView3 );
QListViewItemIterator it4( ListView4 );
QListViewItemIterator it5( ListView5 );
//// this is really pitiful work,
///////
bool cS;
if( searchDlg->caseSensitiveCheckBox->isChecked())
cS=true; //case sensitive
else
cS=false;
if(fluff==0) {
for ( ; it1.current(); ++it1 ) {
resultString = ( it1.current() )->text(0);
resultString += (" : ");
resultString += ( it1.current() )->text(2);
resultString += (" : ");
resultString += ( it1.current() )->text(3);
if( resultString.find( searcherStr, 0, cS) != -1)
{
Searchlist.append( resultString);
}
}
}
if(fluff==0) {// search routine here
for ( ; it2.current(); ++it2 ) {
resultString = ( it2.current() )->text(0);
resultString += (" : ");
resultString += ( it2.current() )->text(2);
resultString += (" : ");
resultString += ( it2.current() )->text(3);
if( resultString.find( searcherStr, 0, cS) != -1) {
Searchlist.append( resultString);
}
}
}
if(fluff==0) {// search routine here
for ( ; it3.current(); ++it3 ) {
resultString = ( it3.current() )->text(0);
resultString += (" : ");
resultString += ( it3.current() )->text(2);
resultString += (" : ");
resultString += ( it3.current() )->text(3);
if( resultString.find( searcherStr, 0, cS) != -1) {
Searchlist.append( resultString);
}
}
}
if(fluff==0) {
// search routine here
for ( ; it4.current(); ++it4 ) {
resultString = ( it4.current() )->text(0);
resultString += (" : ");
resultString += ( it4.current() )->text(2);
resultString += (" : ");
resultString += ( it4.current() )->text(3);
if( resultString.find( searcherStr, 0, cS) != -1) {
Searchlist.append( resultString);
}
}
}
if(fluff==0) { // search routine here
for ( ; it5.current(); ++it5 ) {
resultString = ( it5.current() )->text(0);
resultString += (" : ");
resultString += ( it5.current() )->text(2);
resultString += (" : ");
resultString += ( it5.current() )->text(3);
if( resultString.find( searcherStr, 0, cS) != -1) {
Searchlist.append( resultString);
}
}
}
tabWidget->setCurrentPage( curTab);
Searchlist.sort();
SearchResultsDlg* SearchResultsDialog;
SearchResultsDialog = new SearchResultsDlg( searchDlg, "Results Dialog", true, 0 , Searchlist);
SearchResultsDialog->showMaximized();
if( SearchResultsDialog->exec() != 0) {
texter = SearchResultsDialog->selText;
// odebug << texter << oendl;
resultLs= SearchResultsDialog->resultsList;
i_berger = 1;
}
Searchlist.clear();
// if(SearchResultsDialog)
// delete SearchResultsDialog;
QString tester;
for ( QStringList::Iterator it = resultLs.begin(); it != resultLs.end(); ++it ) {
texter.sprintf("%s \n",(*it).latin1());
// odebug << texter << oendl;
if( tester!=texter)
parseSearchResults( texter);
tester = texter;
}
if(searchDlg)
delete searchDlg;
}
if(checkBox->isChecked() ) {
accept();
} else {
setActiveWindow();
}
}
/*
splits the result string and calls download for the current search result*/
void LibraryDialog::parseSearchResults( QString resultStr)
{
int stringLeng=resultStr.length();
QString my;
my.setNum( stringLeng, 10);
if( resultStr.length() > 2 && resultStr.length() < 130) {
int titleInt = resultStr.find( " : ", 0, TRUE);
DlglistItemTitle = resultStr.left( titleInt);
int yearInt = resultStr.find( " : ", titleInt+3, TRUE);
DlglistItemYear = resultStr.mid( titleInt+3, (yearInt - titleInt)-3);
DlglistItemFile = resultStr.right( resultStr.length() - (yearInt + 3));
download_Etext();
}
/*
printf( DlglistItemTitle+"\n"); printf( DlglistItemYear+"\n"); printf( DlglistItemFile+"\n");*/
}
// bool LibraryDialog::UnzipIt( QString zipFile) {
// //////////TODO findsome other way of dealingwithzip files.
// ///usr/bin/unzip";
// if( QFile::exists( zipFile)) {
// // QString thatFile = local_library +"PGWHOLE.TXT";
// QString cmd;
// #if defined(_WS_X11_)
// cmd = "gunzip -d " + zipFile /*newestLibraryFile */+" -d " + local_library;
// #endif
// #if defined(_WS_WIN_)
// QString temp= QDir::convertSeparators(local_library);
// zipFile=QDir::convertSeparators( zipFile);
// cmd = temp+"unzip.exe -o " +zipFile/*newestLibraryFile */+" -d " + temp;
diff --git a/noncore/apps/opie-gutenbrowser/NetworkDialog.cpp b/noncore/apps/opie-gutenbrowser/NetworkDialog.cpp
index af14aac..a321952 100644
--- a/noncore/apps/opie-gutenbrowser/NetworkDialog.cpp
+++ b/noncore/apps/opie-gutenbrowser/NetworkDialog.cpp
@@ -1,279 +1,279 @@
// /***************************************************************************
// NetworkDialog.cpp - description
// begin : Sun Aug 27 2000
// copyright : (C) 2000 - 2004 by L.J. Potter
// email : ljp@llornkcor.com
// * 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. *
// ***************************************************************************/
// // half-assed attempt at providing a network dialog.
// /* Created: Sun Aug 27 15:24:52 2000*/
#include "NetworkDialog.h"
#include "gutenbrowser.h"
/* OPIE */
#include <opie2/odebug.h>
/* QT */
#include <qprogressbar.h>
#include <qstringlist.h>
#include <qpe/config.h>
#include <qvaluelist.h>
#include <qapplication.h>
#include <qfile.h>
#include <qstringlist.h>
#include <qlabel.h>
#include <qpushbutton.h>
#include <qlayout.h>
/* STD */
#include <unistd.h>
extern "C" {
#include <ftplib.h>
}
QProgressBar* ProgressBar1;
QPushButton* buttonCancel;
static netbuf *conn = NULL;
-static int log_progress(netbuf *ctl, int xfered, void *arg) {
+static int log_progress(netbuf *, int xfered, void *arg) {
int fsz = *(int *)arg;
int pct = (xfered * 100) / fsz;
printf("%3d%%\r", pct);
fflush(stdout);
ProgressBar1->setProgress(xfered);
qApp->processEvents();
return 1;
}
NetworkDialog::NetworkDialog( QWidget* parent, const char* name, bool modal, WFlags fl, const QStringList netL)
: QDialog( parent, name, modal, fl )
{
ftp_host = netL[0];
networkUrl = strUrl = netL[0];
dir = ftp_base_dir = netL[1];
localFileName = netL[2];
s_partialFileName = netL[3];
resize(240,120);
local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/";
// autoOk = autoDownload;
// if( networkUrl.find("ftp",0,false)== -1 ) {
// if ( !name )
// setName( "HTTP NetworkDialog" );
// setCaption( tr( "HTTP Download ) );
// qInitNetworkProtocols(); // registers ftp protocol // for now
// QNetworkProtocol::registerNetworkProtocol( "http", new QNetworkProtocolFactory<Http> );
// } else {
if ( !name )
setName( "FTP NetworkDialog" );
setCaption(tr("FTP Download"));
// }
initDialog(); //opens file to be written
}
NetworkDialog::~NetworkDialog() {
}
void NetworkDialog::initDialog() {
QGridLayout *layout = new QGridLayout( this );
totalBytesDownloaded=0;
warnLabel = new QLabel( this, "TextLabel" );
warnLabel ->setText( tr( "Download should start shortly" ) );
TextLabel3 = new QLabel( this, "TextLabel3" );
TextLabel3->setText( "");
layout->addMultiCellWidget( warnLabel, 0, 0, 0, 5 );
layout->addMultiCellWidget( TextLabel3, 1, 1, 0, 5 );
ProgressBar1 = new QProgressBar( this, "ProgressBar1" );
ProgressBar1->setProgress(0);
layout->addMultiCellWidget( ProgressBar1, 3, 3, 0, 4 );
// hbox->addStretch(1);
buttonCancel = new QPushButton( this, "buttonCancel" );
buttonCancel->setText( tr( "&Cancel" ) );
buttonCancel->setAutoDefault( TRUE );
buttonCancel->setDefault( TRUE );
layout->addMultiCellWidget( buttonCancel, 3, 3, 5, 5 );
connect(buttonCancel,SIGNAL(clicked()),this,SLOT(reject()));
QTimer::singleShot( 1000, this, SLOT( doOk() ));
}
/*
downloads the file networkUrl */
bool NetworkDialog::downloadFile( QString networkUrl )
{
int fsz;
warnLabel ->setText( "");
qApp->processEvents();
odebug << "Downloading: " << networkUrl << "" << oendl;
odebug << "Into: " << localFileName << "" << oendl;
if( networkUrl.length() > 5) {
QString ftp_user = "anonymous";
QString ftp_pass = "zaurus@gutenbrowser.com";
// ftp_host= networkUrl.mid(networkUrl.find("ftp://",0, TRUE),
if(ftp_host.length() < 2) {
odebug << "Please select an ftp host" << oendl;
successDownload=false;
QMessageBox::message("Note","You need to select an ftp host");
return false;
}
QString msg;
odebug << ftp_host << oendl;
odebug << "Opening ftp connection." << oendl;
warnLabel->setText("connecting to: "+ftp_host );
qApp->processEvents();
/////////// Open FTP connection
if (!FtpConnect( ftp_host.latin1(), &conn)) {
i=0;
successDownload=false;
QMessageBox::message("Note","Unable to connect to\n"+ftp_host);
return false;
}
TextLabel3->setText("Opening ftp connection.");
qApp->processEvents();
if (!FtpLogin( ftp_user.latin1(), ftp_pass.latin1(),conn )) {
FtpQuit(conn);
successDownload=false;
msg.sprintf("Unable to log in\n%s",FtpLastResponse(conn));
QMessageBox::message("Note",msg);
return false;
}
odebug << "Changing directories." << oendl;
TextLabel3->setText("Changing directories.");
qApp->processEvents();
if (!FtpChdir( dir.latin1(), conn )) {
successDownload=false;
msg.sprintf("Unable to change directories "+dir+"\n%s",FtpLastResponse(conn));
QMessageBox::message("Note",msg);
FtpQuit(conn);
return false;
}
// if (!FtpNlst( "./.guten_temp", dir, conn)) {
// successDownload=false;
// msg.sprintf("Unable to change directories "+dir+"\n%s",FtpLastResponse(conn));
// QMessageBox::message("Note",msg);
// FtpQuit(conn);
// return false;
// }
odebug << "Requesting directory list." << oendl;
TextLabel3->setText("Getting directory list.");
qApp->processEvents();
if (!FtpDir( "./.guten_temp", dir.latin1(), conn) ) {
msg.sprintf("Unable to list the directory\n"+dir+"\n%s",FtpLastResponse(conn));
QMessageBox::message("Note",msg);
successDownload=false;
FtpQuit(conn);
return false;
}
QFile tmp("./.guten_temp");
QString s, File_Name;
if (tmp.open(IO_ReadOnly)) {
QTextStream t( &tmp ); // use a text stream
odebug << "Finding partial filename "+s_partialFileName << oendl;
while ( !t.eof()) {
s = t.readLine();
if (s.contains(s_partialFileName, FALSE)) {
QString str = s.right( (s.length()) - (s.find(s_partialFileName, FALSE)) );
if (str.contains(".txt")) {
File_Name = str;
odebug << "Found file_name "+ File_Name << oendl;
break;
}
// if (str.contains(".zip")) {
// File_Name = str;
// odebug << "Found file_name "+ File_Name << oendl;
// break;
// }
}
} //end of while loop
tmp.close();
// tmp.remove(); ///TODO this is for release version Zaurus
}
else
odebug << "Error opening temp file." << oendl;
Config cfg("Gutenbrowser");
cfg.setGroup("General");
QString temp=cfg.readEntry("DownloadDirectory",local_library);
localFileName = temp+File_Name;
odebug << "Requesting file "+ File_Name << oendl;
odebug << "Saving as "+localFileName << oendl;
msg="Requesting file "+ File_Name;
TextLabel3->setText(msg);
qApp->processEvents();
if( File_Name.length()>3) {
if (!FtpSize( File_Name.latin1(), &fsz, FTPLIB_ASCII, conn))
fsz = 0;
QString temp;
temp.sprintf( File_Name+" "+" %dkb", fsz);
TextLabel3->setText(temp);
ProgressBar1->setTotalSteps(fsz);
FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn);
FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn);
FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn);
FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn);
if (!FtpGet( localFileName.latin1(), File_Name.latin1(), FTPLIB_ASCII, conn)) {
msg.sprintf("Could not download "+ File_Name+"\n%s",FtpLastResponse(conn));
successDownload=false;
QMessageBox::message("Note",msg);
update();
}
} else {
QMessageBox::message("Note","Could not download file "+ File_Name);
successDownload=false;
FtpQuit(conn);
return false;
}
odebug << "Ftp session successful" << oendl;
successDownload=TRUE;
FtpQuit(conn);
return true;
} //no network url
return false;
}
void NetworkDialog::doOk() {
owarn << "Do OK" << oendl;
QString loginStr;
loginStr = "gutenbrowser";
if ( !ftp_host.isEmpty() ) {
if( ftp_host.find( "/", ftp_host.length() - 1,TRUE) != -1 && ftp_host.find("ftp://",0, TRUE) != -1) {
TextLabel3->setText( tr( "List remote dir:\n" + ftp_host) );
// TextLabel2->setText( tr( "local file to download into: " +localFileName ) );
if( downloadFile(ftp_host))
successDownload = true;
else {
successDownload = false;
reject();
}
} else {
if(downloadFile(ftp_host))
successDownload = true;
else {
successDownload = false;
reject();
}
}
}
accept();
}
diff --git a/noncore/apps/opie-gutenbrowser/fontDialog.cpp b/noncore/apps/opie-gutenbrowser/fontDialog.cpp
index fa964a6..c6d0fe6 100644
--- a/noncore/apps/opie-gutenbrowser/fontDialog.cpp
+++ b/noncore/apps/opie-gutenbrowser/fontDialog.cpp
@@ -1,260 +1,260 @@
/****************************************************************************
** Created: Sun Jan 27 11:03:24 2002
copyright 2002 by L.J. Potter ljp@llornkcor.com
copyright : (C) 2000 -2004 by llornkcor
email : ljp@llornkcor.com
****************************************************************************/
#include "fontDialog.h"
#include "optionsDialog.h"
#include <qpe/fontdatabase.h>
#include <qpe/config.h>
#include <qstringlist.h>
#include <qfontinfo.h>
#include <qvaluelist.h>
#include <qpe/qpeapplication.h>
#include <qgroupbox.h>
#include <qlabel.h>
#include <qlistbox.h>
#include <qmultilineedit.h>
#include <qpushbutton.h>
#include <qlayout.h>
#include <qvariant.h>
#include <qtooltip.h>
#include <qwhatsthis.h>
#include <qcombobox.h>
//#define BUGGY_SHARP_ZAURUS 0
static const int nfontsizes = 9;
static const int fontsize[nfontsizes] = {8,9,10,11,12,13,14,18,24};
FontDialog::FontDialog( QWidget * parent, const char* name /*, bool modal, WFlags fl */)
:/* QDialog*/ QWidget( parent, name /*, modal, fl */)
{
if ( !name )
setName( "FontDialog" );
setCaption( tr( "Font Dialog" ) );
QGridLayout *layout = new QGridLayout( this );
layout->setSpacing(2);
layout->setMargin(2);
familyListBox = new QListBox( this, "familyListBox" );
layout->addMultiCellWidget( familyListBox, 0, 2, 0, 0);
QBoxLayout * hbox = new QHBoxLayout(this);
QBoxLayout * vbox = new QVBoxLayout(this);
styleListBox = new QListBox( this, "styleListBox" );
vbox->addWidget( styleListBox, 0);
FontTextLabel4 = new QLabel( this, "TextLabel4" );
FontTextLabel4->setText( tr( "Size" ) );
hbox->addWidget( FontTextLabel4,0);
sizeComboBox = new QComboBox( FALSE, this, "SizeCombo");
// sizeComboBox->setMaximumWidth(60);
hbox->addWidget( sizeComboBox, 0);
vbox->addLayout(hbox,0);
layout->addLayout( vbox,0,3);
MultiLineEdit1 = new QMultiLineEdit( this, "MultiLineEdit1" );
MultiLineEdit1->setText( tr( "The Quick Brown Fox Jumps Over The Lazy Dog" ) );
MultiLineEdit1->setWordWrap( QMultiLineEdit::WidgetWidth);
layout->addMultiCellWidget( MultiLineEdit1, 4, 4, 0, 3);
connect(familyListBox,SIGNAL(highlighted(const QString &)),SLOT(familyListBoxSlot(const QString &)));
connect(styleListBox,SIGNAL(highlighted(const QString &)),SLOT(styleListBoxSlot(const QString &)));
connect(sizeComboBox,SIGNAL(activated(const QString &)),SLOT(sizeComboBoxSlot(const QString &)));
populateLists();
}
FontDialog::~FontDialog()
{
}
void FontDialog::familyListBoxSlot(const QString & text)
{
int styleInt = styleListBox->currentItem();
int sizeInt = sizeComboBox->currentText().toInt();
sizeComboBox->clear();
styleListBox->clear();
// clearListBoxes();
family = text;
// odebug << family << oendl;
QStringList styles = fdb.styles( family ); // string list of styles of our current font family
styleListBox->insertStringList( styles);
QString dstyle;// = "\t" + style + " (";
#ifdef BUGGY_SHARP_ZAURUS
QValueList<int> smoothies = fdb.smoothSizes( family, styleListBox->text(0) );
for ( QValueList<int>::Iterator points = smoothies.begin(); points != smoothies.end(); ++points ) {
dstyle = QString::number( *points );
odebug << dstyle << oendl;
sizeComboBox->insertItem( dstyle.left( dstyle.length() - 1 ));
}
#else
for (int i=0; i<nfontsizes; i++) {
sizeComboBox->insertItem( QString::number(fontsize[i]));
if(fontsize[i] == sizeInt) {
sizeComboBox->setCurrentItem(i);
}
}
#endif
- if(styleInt == -1 || styleInt > styleListBox->count() )
+ if(styleInt == -1 || styleInt > static_cast<int>(styleListBox->count()) )
styleListBox->setCurrentItem(0);
else
styleListBox->setCurrentItem(styleInt);
changeText();
}
-void FontDialog::styleListBoxSlot(const QString &text)
+void FontDialog::styleListBoxSlot(const QString &)
{
changeText();
}
-void FontDialog::sizeComboBoxSlot(const QString & text)
+void FontDialog::sizeComboBoxSlot(const QString &)
{
changeText();
}
void FontDialog::populateLists()
{
// QFont defaultFont=MultiLineEdit1->font();
// QFont defaultFont=Lview->font();
// QFontInfo fontInfo(defaultFont);
Config config("Gutenbrowser");
config.setGroup("Font");
QString familyStr = config.readEntry("Family", "fixed");
QString styleStr = config.readEntry("Style", "Regular");
QString sizeStr = config.readEntry("Size", "10");
QString charSetStr = config.readEntry("CharSet", "iso10646-1" );
bool ok;
int i_size = sizeStr.toInt(&ok,10);
selectedFont = fdb.font(familyStr,styleStr,i_size,charSetStr);
// defaultFont.setItalic(TRUE);
families = fdb.families();
for ( QStringList::Iterator f = families.begin(); f != families.end();++f ) {
QString family = *f;
// if(family == defaultFont.family())
// odebug << family << oendl;
familyListBox->insertItem( family);
if( familyListBox->text(0) == family) {
QStringList styles = fdb.styles( family );
// string list of styles of our current font family
styleListBox->insertStringList( styles);
for ( QStringList::Iterator s = styles.begin(); s != styles.end();++s ) { // for each font style
style = *s;
QString dstyle;// = "\t" + style + " (";
if(styleListBox->text(0) == style) {
QValueList<int> smoothies = fdb.smoothSizes( family, style );
for ( QValueList<int>::Iterator points = smoothies.begin(); points != smoothies.end(); ++points ) {
dstyle = QString::number( *points ) + " ";
sizeComboBox ->insertItem( dstyle.left( dstyle.length() - 1 ));
}
dstyle = dstyle.left( dstyle.length() - 1 ) + ")";
}
} // styles
}
}
- for(int i=0;i < familyListBox->count();i++) {
+ for(uint i=0;i < familyListBox->count();i++) {
if( familyListBox->text(i) == familyStr)
familyListBox->setSelected( i, TRUE);
}
- for(int i=0;i < styleListBox->count();i++) {
+ for(uint i=0;i < styleListBox->count();i++) {
if( styleListBox->text(i) == styleStr)
styleListBox->setSelected( i, TRUE);
}
for (int i=0; i<sizeComboBox->count(); i++) {
#ifdef BUGGY_SHARP_ZAURUS
if(sizeComboBox->text(i) == sizeStr)
#else
if(fontsize[i] == i_size)
#endif
sizeComboBox->setCurrentItem(i);
}
changeText();
}
void FontDialog::clearListBoxes() {
familyListBox->clear();
sizeComboBox->clear();
styleListBox->clear();
}
void FontDialog::changeText()
{
if( familyListBox->currentItem() == -1)
family= familyListBox->text(0);
else {
family = familyListBox->currentText();
}
// odebug << "Font family is "+family << oendl;
if( styleListBox->currentItem() == -1)
style=styleListBox->text(0);
else {
style = styleListBox->currentText();
}
// odebug << "font style is "+style << oendl;
if( sizeComboBox->currentItem() == -1 )
size = sizeComboBox->text(0);
else {
size = sizeComboBox->currentText();
}
// odebug << "Font size is "+size << oendl;
bool ok;
int i_size = size.toInt(&ok,10);
QStringList charSetList = fdb.charSets(family);
// QStringList styles = fdb.styles( family ); // string list of styles of our current font family
QString charSet;
for ( QStringList::Iterator s = charSetList.begin(); s != charSetList.end();++s ) { // for each font style
charSet = *s;
// odebug << charSet << oendl;
}
selectedFont = fdb.font(family,style,i_size,charSet);
QFontInfo fontInfo( selectedFont);
// if(fontInfo.italic() ) odebug << "italic" << oendl;
selectedFont.setWeight(fontInfo.weight() );
// odebug << "Style are "+style+" " << fontInfo.weight() << " " << oendl;
Config cfg("Gutenbrowser");
cfg.setGroup("Font");
cfg.writeEntry("Family",family);
cfg.writeEntry("Style",style);
cfg.writeEntry("Size",size);
cfg.writeEntry("CharSet",charSet);
if(style.find("Italic",0,TRUE) != -1) {
selectedFont = fdb.font(family,"Regular",i_size,charSet);
selectedFont.setItalic(TRUE); //ya right
cfg.writeEntry("Italic","TRUE");
// odebug << "Style is "+styleListBox->currentText() << oendl;
} else
cfg.writeEntry("Italic","FALSE");
MultiLineEdit1->setFont( selectedFont);
MultiLineEdit1->update();
changedFonts=TRUE;
}
diff --git a/noncore/apps/opie-gutenbrowser/helpwindow.cpp b/noncore/apps/opie-gutenbrowser/helpwindow.cpp
index e86ca49..ffdc9f0 100644
--- a/noncore/apps/opie-gutenbrowser/helpwindow.cpp
+++ b/noncore/apps/opie-gutenbrowser/helpwindow.cpp
@@ -1,326 +1,326 @@
/****************************************************************************
** $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.
**
copyright : (C) 2000 -2004 by llornkcor
email : ljp@llornkcor.com
*****************************************************************************/
#include "helpwindow.h"
#include <qstatusbar.h>
#include <qmenubar.h>
#include <qtoolbar.h>
#include <qtoolbutton.h>
#include <qcombobox.h>
#include <ctype.h>
-HelpWindow::HelpWindow( const QString& home_, const QString& _path, QWidget* parent, const char *name )
+HelpWindow::HelpWindow( const QString& home_, const QString&, QWidget* parent, const char *name )
: QMainWindow( parent, name, WDestructiveClose ), pathCombo( 0 ), selectedURL()
{
QString local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/";
// 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&)) );
// resize( 640,600 );
#ifdef Q_WS_QWS
setGeometry( 0,0,236,280);
#else
setGeometry( 10,30,520,420 );
// resize(520,420);
#endif
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() ) );
// QPopupMenu* help = new QPopupMenu( this );
// help->insertItem( tr("&About ..."), this, SLOT( about() ) );
// help->insertItem( tr("About &Qt ..."), this, SLOT( aboutQt() ) );
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()
{
if ( browser->documentTitle().isNull() ) {
setCaption( "Gutenbrowser - Helpviewer - " + browser->context() );
selectedURL = browser->context();
}
else {
setCaption( "Gutenbrowser - Helpviewer - " + browser->documentTitle() ) ;
selectedURL = browser->documentTitle();
}
if ( !selectedURL.isEmpty() && pathCombo ) {
bool exists = FALSE;
int i;
for ( i = 0; i < pathCombo->count(); ++i ) {
if ( pathCombo->text( i ) == selectedURL ) {
exists = TRUE;
break;
}
}
if ( !exists ) {
pathCombo->insertItem( selectedURL, 0 );
pathCombo->setCurrentItem( 0 );
mHistory[ hist->insertItem( selectedURL ) ] = selectedURL;
} else
pathCombo->setCurrentItem( i );
selectedURL = QString::null;
}
}
HelpWindow::~HelpWindow()
{
history.clear();
QMap<int, QString>::Iterator it = mHistory.begin();
for ( ; it != mHistory.end(); ++it )
history.append( *it );
QFile f( QDir::currentDirPath() + "/.history" );
f.open( IO_WriteOnly );
QDataStream s( &f );
s << history;
f.close();
bookmarks.clear();
QMap<int, QString>::Iterator it2 = mBookmarks.begin();
for ( ; it2 != mBookmarks.end(); ++it2 )
bookmarks.append( *it2 );
QFile f2( QDir::currentDirPath() + "/.bookmarks" );
f2.open( IO_WriteOnly );
QDataStream s2( &f2 );
s2 << bookmarks;
f2.close();
}
// void HelpWindow::about()
// {
// QMessageBox::about( this, "Gutenbrowser", "<p>Thanks to Trolltech for this</p>" );
// }
// void HelpWindow::aboutQt()
// {
// QMessageBox::aboutQt( this, "QBrowser" );
// }
void HelpWindow::openFile()
{
#ifndef QT_NO_FILEDIALOG
QString fn = QFileDialog::getOpenFileName( QString::null, QString::null, this );
if ( !fn.isEmpty() )
browser->setSource( fn );
#endif
}
void HelpWindow::newWindow()
{
( new HelpWindow(browser->source(), "qbrowser") )->show();
}
void HelpWindow::print()
{
#ifndef QT_NO_PRINTER
QPrinter printer;
printer.setFullPage(TRUE);
if ( printer.setup() ) {
QPainter p( &printer );
QPaintDeviceMetrics metrics(p.device());
int dpix = metrics.logicalDpiX();
int dpiy = metrics.logicalDpiY();
const int margin = 72; // pt
QRect body(margin*dpix/72, margin*dpiy/72,
metrics.width()-margin*dpix/72*2,
metrics.height()-margin*dpiy/72*2 );
QFont font("times", 10);
QSimpleRichText richText( browser->text(), font, browser->context(), browser->styleSheet(),
browser->mimeSourceFactory(), body.height() );
richText.setWidth( &p, body.width() );
QRect view( body );
int page = 1;
do {
p.setClipRect( body );
richText.draw( &p, body.left(), body.top(), view, colorGroup() );
p.setClipping( FALSE );
view.moveBy( 0, body.height() );
p.translate( 0 , -body.height() );
p.setFont( font );
p.drawText( view.right() - p.fontMetrics().width( QString::number(page) ),
view.bottom() + p.fontMetrics().ascent() + 5, QString::number(page) );
if ( view.top() >= richText.height() )
break;
printer.newPage();
page++;
} while (TRUE);
}
#endif
}
void HelpWindow::pathSelected( const QString &_path )
{
browser->setSource( _path );
QMap<int, QString>::Iterator it = mHistory.begin();
bool exists = FALSE;
for ( ; it != mHistory.end(); ++it ) {
if ( *it == _path ) {
exists = TRUE;
break;
}
}
if ( !exists )
mHistory[ hist->insertItem( _path ) ] = _path;
}
void HelpWindow::readHistory()
{
if ( QFile::exists( QDir::currentDirPath() + "/.history" ) ) {
QFile f( QDir::currentDirPath() + "/.history" );
f.open( IO_ReadOnly );
QDataStream s( &f );
s >> history;
f.close();
while ( history.count() > 20 )
history.remove( history.begin() );
}
}
void HelpWindow::readBookmarks()
{
if ( QFile::exists( QDir::currentDirPath() + "/.bookmarks" ) ) {
QFile f( QDir::currentDirPath() + "/.bookmarks" );
f.open( IO_ReadOnly );
QDataStream s( &f );
s >> bookmarks;
f.close();
}
}
void HelpWindow::histChosen( int i )
{
if ( mHistory.contains( i ) )
browser->setSource( mHistory[ i ] );
}
void HelpWindow::bookmChosen( int i )
{
if ( mBookmarks.contains( i ) )
browser->setSource( mBookmarks[ i ] );
}
void HelpWindow::addBookmark()
{
mBookmarks[ bookm->insertItem( caption() ) ] = caption();
}
diff --git a/noncore/apps/oxygen/kmolelements.cpp b/noncore/apps/oxygen/kmolelements.cpp
index ce8f9c1..e76461b 100644
--- a/noncore/apps/oxygen/kmolelements.cpp
+++ b/noncore/apps/oxygen/kmolelements.cpp
@@ -1,238 +1,238 @@
/*
* kmolelements.cpp
*
* Copyright (C) 2000 Tomislav Gountchev <tomi@idiom.com>
*/
// classes that store and manipulate chemical formulas represented as
// lists of elements
#include <stdio.h>
#include "kmolelements.h"
/**
* A generic chemical entity. Can be an element or a group.
*/
SubUnit::SubUnit () {}
SubUnit::~SubUnit () {}
/**
* Construct a subunit and return a pointer to it. The syntax of LINE is
* the one used in the element definition file.
*/
SubUnit* SubUnit::makeSubUnit(QString line) {
QString name, grpname, weight, coef;
QTextStream str (line, IO_ReadOnly);
str >> name;
if (name != "-group") { // not a group - must be represented as Element
str >> weight >> ws;
return new Element(name, weight.toDouble());
}
else {
str >> grpname;
ElementList* els = new ElementList(grpname); // group - make an ElementList
while (!str.eof()) {
str >> name >> ws;
str >> coef >> ws;
els->addElement(name, coef.toDouble());
}
return els;
}
}
QString SubUnit::getName() const {
return QString("None");
}
/**
* Get the molecular weight of THIS, based on the data from ELSTABLE.
*/
-double SubUnit::getWeight(QDict<SubUnit>* elstable) const {
+double SubUnit::getWeight(QDict<SubUnit>* ) const {
return -1;
}
/**
* A group of elements.
*/
ElementList::ElementList () {
elements = new QList<ElementCoef>;
}
ElementList::~ElementList () {
delete elements;
}
/**
* A group of elements.
*/
ElementList::ElementList (QString name) {
this->name = name;
elements = new QList<ElementCoef>;
}
/**
* Write THIS to LINE, in a format suitable for the element definition file.
*/
void ElementList::writeOut(QString& line) {
QString coef;
line = "-group " + name;
ElementCoef* current = elements->first();
while (current != 0) {
line += " " + current->name + " " + coef.setNum(current->coef, 'g', 10);
// precision set to 10 digits
current = elements->next();
}
}
/**
* Get the molecular weight of THIS, based on the data from ELSTABLE.
*/
double ElementList::getWeight(QDict<SubUnit>* elstable) const {
double weight = 0;
ElementCoef* current = elements->first();
while (current != 0) {
SubUnit* e = elstable->find(current->name);
if (e != 0) {
weight += (current->coef) * (e->getWeight(elstable));
} else return -1; //ERROR
current = elements->next();
}
return weight;
}
/**
* Return a string representing the elemental composition of THIS, as
* a tab-separated element - percentage pairs, separated by newlines.
*/
QString ElementList::getEA(QDict<SubUnit>* elstable, double mw) const {
if (mw == 0) mw = getWeight(elstable);
QString ea;
QString temp;
ElementCoef* current = elements->first();
while (current != 0) {
SubUnit* e = elstable->find(current->name);
if (e != 0) {
double current_percent = 100 * (current->coef) *
(e->getWeight(elstable))
/ mw;
ea += current->name + "\t" +
temp.setNum(current_percent) + "\n";
} else return QString("ERROR!\n"); //ERROR
current = elements->next();
}
return ea;
}
/**
* Return a string representing THIS as an empirical chemical formula.
*/
QString ElementList::getEmpFormula() const {
QString ef;
QString temp;
ElementCoef* current = elements->first();
while (current != 0) {
ef += current->name + temp.setNum(current->coef);
current = elements->next();
}
return ef;
}
/**
* Multiply THIS (i.e. the coefficient of each element) by coef.
*/
void ElementList::multiplyBy(double coef) {
ElementCoef* current = elements->first();
while (current != 0) {
(current->coef) *= coef;
current = elements->next();
}
}
/**
* Add THIS to ELS. THIS is not modified; ELS is.
*/
void ElementList::addTo(ElementList& els, double coef) {
ElementCoef* current = elements->first();
while (current != 0) {
els.addElement(current->name, (current->coef) * coef);
current = elements->next();
}
}
/**
* Add an element to THIS, with a coefficient COEF. If THIS already contains
* an element with the same name, adjust its coefficient only; if not, create
* a new ElementCoef pair and add to THIS.
*/
void ElementList::addElement(const QString& name, double coef) {
ElementCoef* current = elements->first();
while (current != 0) {
if (current->name == name) {
current->coef += coef;
return;
}
current = elements->next();
}
elements->append(new ElementCoef(name, coef));
}
/**
* True iff THIS contains element named NAME.
*/
bool ElementList::contains(const QString& name) {
ElementCoef* current = elements->first();
while (current != 0) {
if (current->name == name)
return true;
current = elements->next();
}
return false;
}
bool ElementList::isEmpty() {
return elements->isEmpty();
}
QString ElementList::getName() const {
return name;
}
/**
* A chemical element.
*/
Element::Element(const QString& n, double w)
: weight(w), name(n) { }
Element::~Element() {
}
/**
* Write THIS to LINE, in a format suitable for the element definition file.
*/
void Element::writeOut(QString& line) {
line.setNum(weight);
line = name + " " + line;
}
-double Element::getWeight(QDict<SubUnit>* elstable) const {
+double Element::getWeight(QDict<SubUnit>* ) const {
return weight;
}
void Element::addTo(ElementList& els, double coef) {
els.addElement(name, coef);
}
QString Element::getName() const {
return name;
}
/**
* An element - coefficient pair. Used to represent elements within an
* element list.
*/
ElementCoef::ElementCoef(const QString& n, double c) : name(n), coef(c) {}