summaryrefslogtreecommitdiff
authorcniehaus <cniehaus>2002-12-27 12:31:35 (UTC)
committer cniehaus <cniehaus>2002-12-27 12:31:35 (UTC)
commitc432e5eaca0ada1ede2b2966ae86be045e8c3f9b (patch) (side-by-side diff)
tree621dd6cf0b3f2a69cb1693963f5f92e69d4cb7ea
parent36c8b8ffff2c8a7a454aa1b8afbe96bd9b1535f9 (diff)
downloadopie-c432e5eaca0ada1ede2b2966ae86be045e8c3f9b.zip
opie-c432e5eaca0ada1ede2b2966ae86be045e8c3f9b.tar.gz
opie-c432e5eaca0ada1ede2b2966ae86be045e8c3f9b.tar.bz2
juhu, this should be fully translatable now :)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/oxygen/datawidgetui.cpp120
-rw-r--r--noncore/apps/oxygen/datawidgetui.h6
-rw-r--r--noncore/apps/oxygen/oxyframe.cpp2
-rw-r--r--noncore/apps/oxygen/oxygen.cpp119
-rw-r--r--noncore/apps/oxygen/oxygen.h3
-rw-r--r--noncore/apps/oxygen/psewidget.cpp5
-rw-r--r--noncore/apps/oxygen/psewidget.h5
7 files changed, 132 insertions, 128 deletions
diff --git a/noncore/apps/oxygen/datawidgetui.cpp b/noncore/apps/oxygen/datawidgetui.cpp
index 91d669f..e1d6e41 100644
--- a/noncore/apps/oxygen/datawidgetui.cpp
+++ b/noncore/apps/oxygen/datawidgetui.cpp
@@ -1,169 +1,53 @@
/***************************************************************************
application: : Oxygen
begin : September 2002
copyright : ( C ) 2002 by Carsten Niehaus
email : cniehaus@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 "datawidgetui.h"
#include "dataTable.h"
#include <qpe/config.h>
#include <qstring.h>
#include <qcombobox.h>
#include <qlayout.h>
#include <qhbox.h>
#include <qlabel.h>
#include <qpe/qpeapplication.h>
-dataWidgetUI::dataWidgetUI() : QWidget()
+dataWidgetUI::dataWidgetUI(const QStringList &list) : QWidget()
{
-
- names = 0;
- loadNames();
+ names = list;
this->setCaption( tr( "Chemical Data" ));
QGridLayout *qgrid = new QGridLayout( this, 2,1 );
dataCombo = new QComboBox( this );
//read in all names of the 118 elements
int i = 0;
for ( QStringList::ConstIterator it = names.begin() ; it != names.end() ; ++it,i++)
{
dataCombo->insertItem( QString::number( i+1 )+" - "+*it );
}
- QStringList::ConstIterator it = names.begin();
OxydataWidget *oxyDW = new OxydataWidget(this, "OxydataWidget_oxyDW", names);
connect ( dataCombo, SIGNAL( activated(int) ), oxyDW, SLOT( setElement(int) ) );
oxyDW->setElement( 0 );
oxyDW->setLayout();
qgrid->addWidget( dataCombo, 0,0);
qgrid->addWidget( oxyDW , 1,0 );
}
-void dataWidgetUI::loadNames()
-{
- names.clear();
- names.append( tr("Hydrogen") );
- names.append( tr("Helium") );
- names.append( tr("Lithium") );
- names.append( tr("Beryllium") );
- names.append( tr("Boron") );
- names.append( tr("Carbon") );
- names.append( tr("Nitrogen") );
- names.append( tr("Oxygen") );
- names.append( tr("Fluorine") );
- names.append( tr("Neon") );
- names.append( tr("Sodium") );
- names.append( tr("Magnesium") );
- names.append( tr("Aluminum") );
- names.append( tr("Silicon") );
- names.append( tr("Phosphorus") );
- names.append( tr("Sulfur") );
- names.append( tr("Chlorine") );
- names.append( tr("Argon") );
- names.append( tr("Potassium") );
- names.append( tr("Calcium") );
- names.append( tr("Scandium") );
- names.append( tr("Titanium") );
- names.append( tr("Vanadium") );
- names.append( tr("Chromium") );
- names.append( tr("Manganese") );
- names.append( tr("Iron") );
- names.append( tr("Cobalt") );
- names.append( tr("Nickel") );
- names.append( tr("Copper") );
- names.append( tr("Zinc") );
- names.append( tr("Gallium") );
- names.append( tr("Germanium") );
- names.append( tr("Arsenic") );
- names.append( tr("Selenium") );
- names.append( tr("Bromine") );
- names.append( tr("Krypton") );
- names.append( tr("Rubidium") );
- names.append( tr("Strontium") );
- names.append( tr("Yttrium") );
- names.append( tr("Zirconium") );
- names.append( tr("Niobium") );
- names.append( tr("Molybdenum") );
- names.append( tr("Technetium") );
- names.append( tr("Ruthenium") );
- names.append( tr("Rhodium") );
- names.append( tr("Palladium") );
- names.append( tr("Silver") );
- names.append( tr("Cadmium") );
- names.append( tr("Indium") );
- names.append( tr("Tin") );
- names.append( tr("Antimony") );
- names.append( tr("Tellurium") );
- names.append( tr("Iodine") );
- names.append( tr("Xenon") );
- names.append( tr("Cesium") );
- names.append( tr("Barium") );
- names.append( tr("Lanthanum") );
- names.append( tr("Cerium") );
- names.append( tr("Praseodymium") );
- names.append( tr("Neodymium") );
- names.append( tr("Promethium") );
- names.append( tr("Samarium") );
- names.append( tr("Europium") );
- names.append( tr("Gadolinium") );
- names.append( tr("Terbium") );
- names.append( tr("Dysprosium") );
- names.append( tr("Holmium") );
- names.append( tr("Erbium") );
- names.append( tr("Thulium") );
- names.append( tr("Ytterbium") );
- names.append( tr("Lutetium") );
- names.append( tr("Hafnium") );
- names.append( tr("Tantalum") );
- names.append( tr("Tungsten") );
- names.append( tr("Rhenium") );
- names.append( tr("Osmium") );
- names.append( tr("Iridium") );
- names.append( tr("Platinum") );
- names.append( tr("Gold") );
- names.append( tr("Mercury") );
- names.append( tr("Thallium") );
- names.append( tr("Lead") );
- names.append( tr("Bismuth") );
- names.append( tr("Polonium") );
- names.append( tr("Astatine") );
- names.append( tr("Radon") );
- names.append( tr("Francium") );
- names.append( tr("Radium") );
- names.append( tr("Actinium") );
- names.append( tr("Thorium") );
- names.append( tr("Protactinium") );
- names.append( tr("Uranium") );
- names.append( tr("Neptunium") );
- names.append( tr("Plutonium") );
- names.append( tr("Americium") );
- names.append( tr("Curium") );
- names.append( tr("Berkelium") );
- names.append( tr("Californium") );
- names.append( tr("Einsteinium") );
- names.append( tr("Fermium") );
- names.append( tr("Mendelevium") );
- names.append( tr("Nobelium") );
- names.append( tr("Lawrencium") );
- names.append( tr("Rutherfordium") );
- names.append( tr("Dubnium") );
- names.append( tr("Seaborgium") );
- names.append( tr("Bohrium") );
- names.append( tr("Hassium") );
- names.append( tr("Meitnerium") );
-}
diff --git a/noncore/apps/oxygen/datawidgetui.h b/noncore/apps/oxygen/datawidgetui.h
index a2b48fa..3797418 100644
--- a/noncore/apps/oxygen/datawidgetui.h
+++ b/noncore/apps/oxygen/datawidgetui.h
@@ -1,46 +1,44 @@
#ifndef DATAWIDGETUI_H
#define DATAWIDGETUI_H
/***************************************************************************
application: : Oxygen
begin : September 2002
copyright : ( C ) 2002 by Carsten Niehaus
email : cniehaus@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. *
* *
**************************************************************************/
class OxydataWidget;
class OxydataTable;
class QComboBox;
class QStringList;
#include <qwidget.h>
class dataWidgetUI : public QWidget
{
Q_OBJECT
public:
- dataWidgetUI();
- QStringList names;
+ dataWidgetUI(const QStringList &list=0);
private:
OxydataTable *DataTable;
QComboBox *dataCombo;
OxydataWidget *oxyDW;
-
- void loadNames();
+ QStringList names;
};
#endif
diff --git a/noncore/apps/oxygen/oxyframe.cpp b/noncore/apps/oxygen/oxyframe.cpp
index 2ce40e7..5a4dbbe 100644
--- a/noncore/apps/oxygen/oxyframe.cpp
+++ b/noncore/apps/oxygen/oxyframe.cpp
@@ -1,41 +1,41 @@
/***************************************************************************
application: : Oxygen
begin : September 2002
copyright : ( C ) 2002 by Carsten Niehaus
email : cniehaus@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 "oxygen.h"
#include <qpe/config.h>
#include "oxyframe.h"
OxyFrame::OxyFrame(QWidget *parent, const char *name, QString symbol )
: QLabel(parent,name)
{
N = name;
this->setFrameStyle( QFrame::Box );
this->setLineWidth( 0 );
this->setMidLineWidth( 1 );
this->setFrameShadow( QFrame::Sunken );
setMinimumSize(6,6);
setScaledContents( true );
QFont font;
font.setWeight(QFont::Light);
font.setPixelSize(3);
setFont( font );
setText( symbol );
}
-void OxyFrame::mousePressEvent ( QMouseEvent * e ){
+void OxyFrame::mousePressEvent ( QMouseEvent* /*e*/ ){
emit num( N );
};
diff --git a/noncore/apps/oxygen/oxygen.cpp b/noncore/apps/oxygen/oxygen.cpp
index 22d1833..215cc19 100644
--- a/noncore/apps/oxygen/oxygen.cpp
+++ b/noncore/apps/oxygen/oxygen.cpp
@@ -1,42 +1,157 @@
/***************************************************************************
application: : Oxygen
begin : September 2002
copyright : ( C ) 2002 by Carsten Niehaus
email : cniehaus@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 "oxygen.h"
#include <qapplication.h>
#include <qtabwidget.h>
#include "calcdlg.h"
#include "calcdlgui.h"
#include "datawidgetui.h"
#include "psewidget.h"
Oxygen::Oxygen() : QMainWindow()
{
- PSEWidget *pse = new PSEWidget();
+ loadNames();
calcDlgUI *CalcDlgUI = new calcDlgUI();
- dataWidgetUI *DataWidgetUI = new dataWidgetUI();
+ PSEWidget *pse = new PSEWidget(names);
+ dataWidgetUI *DataWidgetUI = new dataWidgetUI(names);
this->setCaption( tr( "Oxygen" ) );
QTabWidget *tabw = new QTabWidget( this , "qtab" );
tabw->addTab( pse, tr( "PSE" ));
tabw->addTab( DataWidgetUI , tr( "Data" ) );
tabw->addTab( CalcDlgUI, tr( "Calculations" ) );
setCentralWidget( tabw );
}
+void Oxygen::loadNames()
+{
+ names.clear();
+ names.append( tr("Hydrogen") );
+ names.append( tr("Helium") );
+ names.append( tr("Lithium") );
+ names.append( tr("Beryllium") );
+ names.append( tr("Boron") );
+ names.append( tr("Carbon") );
+ names.append( tr("Nitrogen") );
+ names.append( tr("Oxygen") );
+ names.append( tr("Fluorine") );
+ names.append( tr("Neon") );
+ names.append( tr("Sodium") );
+ names.append( tr("Magnesium") );
+ names.append( tr("Aluminum") );
+ names.append( tr("Silicon") );
+ names.append( tr("Phosphorus") );
+ names.append( tr("Sulfur") );
+ names.append( tr("Chlorine") );
+ names.append( tr("Argon") );
+ names.append( tr("Potassium") );
+ names.append( tr("Calcium") );
+ names.append( tr("Scandium") );
+ names.append( tr("Titanium") );
+ names.append( tr("Vanadium") );
+ names.append( tr("Chromium") );
+ names.append( tr("Manganese") );
+ names.append( tr("Iron") );
+ names.append( tr("Cobalt") );
+ names.append( tr("Nickel") );
+ names.append( tr("Copper") );
+ names.append( tr("Zinc") );
+ names.append( tr("Gallium") );
+ names.append( tr("Germanium") );
+ names.append( tr("Arsenic") );
+ names.append( tr("Selenium") );
+ names.append( tr("Bromine") );
+ names.append( tr("Krypton") );
+ names.append( tr("Rubidium") );
+ names.append( tr("Strontium") );
+ names.append( tr("Yttrium") );
+ names.append( tr("Zirconium") );
+ names.append( tr("Niobium") );
+ names.append( tr("Molybdenum") );
+ names.append( tr("Technetium") );
+ names.append( tr("Ruthenium") );
+ names.append( tr("Rhodium") );
+ names.append( tr("Palladium") );
+ names.append( tr("Silver") );
+ names.append( tr("Cadmium") );
+ names.append( tr("Indium") );
+ names.append( tr("Tin") );
+ names.append( tr("Antimony") );
+ names.append( tr("Tellurium") );
+ names.append( tr("Iodine") );
+ names.append( tr("Xenon") );
+ names.append( tr("Cesium") );
+ names.append( tr("Barium") );
+ names.append( tr("Lanthanum") );
+ names.append( tr("Cerium") );
+ names.append( tr("Praseodymium") );
+ names.append( tr("Neodymium") );
+ names.append( tr("Promethium") );
+ names.append( tr("Samarium") );
+ names.append( tr("Europium") );
+ names.append( tr("Gadolinium") );
+ names.append( tr("Terbium") );
+ names.append( tr("Dysprosium") );
+ names.append( tr("Holmium") );
+ names.append( tr("Erbium") );
+ names.append( tr("Thulium") );
+ names.append( tr("Ytterbium") );
+ names.append( tr("Lutetium") );
+ names.append( tr("Hafnium") );
+ names.append( tr("Tantalum") );
+ names.append( tr("Tungsten") );
+ names.append( tr("Rhenium") );
+ names.append( tr("Osmium") );
+ names.append( tr("Iridium") );
+ names.append( tr("Platinum") );
+ names.append( tr("Gold") );
+ names.append( tr("Mercury") );
+ names.append( tr("Thallium") );
+ names.append( tr("Lead") );
+ names.append( tr("Bismuth") );
+ names.append( tr("Polonium") );
+ names.append( tr("Astatine") );
+ names.append( tr("Radon") );
+ names.append( tr("Francium") );
+ names.append( tr("Radium") );
+ names.append( tr("Actinium") );
+ names.append( tr("Thorium") );
+ names.append( tr("Protactinium") );
+ names.append( tr("Uranium") );
+ names.append( tr("Neptunium") );
+ names.append( tr("Plutonium") );
+ names.append( tr("Americium") );
+ names.append( tr("Curium") );
+ names.append( tr("Berkelium") );
+ names.append( tr("Californium") );
+ names.append( tr("Einsteinium") );
+ names.append( tr("Fermium") );
+ names.append( tr("Mendelevium") );
+ names.append( tr("Nobelium") );
+ names.append( tr("Lawrencium") );
+ names.append( tr("Rutherfordium") );
+ names.append( tr("Dubnium") );
+ names.append( tr("Seaborgium") );
+ names.append( tr("Bohrium") );
+ names.append( tr("Hassium") );
+ names.append( tr("Meitnerium") );
+}
+
diff --git a/noncore/apps/oxygen/oxygen.h b/noncore/apps/oxygen/oxygen.h
index 36ee9bc..57fe9fe 100644
--- a/noncore/apps/oxygen/oxygen.h
+++ b/noncore/apps/oxygen/oxygen.h
@@ -1,21 +1,24 @@
/***************************************************************************
* *
* 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. *
* *
**************************************************************************/
+class QStringList;
+
#include <qmainwindow.h>
class Oxygen : public QMainWindow
{
Q_OBJECT
public:
Oxygen();
private:
void loadNames();
+ QStringList names;
};
diff --git a/noncore/apps/oxygen/psewidget.cpp b/noncore/apps/oxygen/psewidget.cpp
index d8e4086..b396046 100644
--- a/noncore/apps/oxygen/psewidget.cpp
+++ b/noncore/apps/oxygen/psewidget.cpp
@@ -1,197 +1,198 @@
/***************************************************************************
application: : Oxygen
begin : September 2002
copyright : ( C ) 2002 by Carsten Niehaus
email : cniehaus@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 <qpe/config.h>
#include <qlayout.h>
#include <qpe/qpeapplication.h>
#include <qlist.h>
#include "dataTable.h"
#include "psewidget.h"
#include "oxyframe.h"
-PSEWidget::PSEWidget() : QWidget()
+PSEWidget::PSEWidget(const QStringList &list) : QWidget()
{
this->setCaption( tr( "Periodic System" ) );
lastElement=1;
+ names = list;
QVBoxLayout *vlay = new QVBoxLayout( this );
QGridLayout *grid = new QGridLayout( 18,10 );
int h=0, v=0;
Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File );
for( int n = 0 ; n < 109 ; n++ )
{
configobj.setGroup( QString::number( n+1 ));
position( n+1,h,v );
PSEframe.append( new OxyFrame( this , QString::number(n), configobj.readEntry( "Symbol" ) ) );
grid->addWidget( PSEframe.current() , v/40+1 , h/40 );
PSEframe.current()->setMinimumHeight( 11 );
PSEframe.current()->setPalette( QPalette( PSEColor( configobj.readEntry( "Block" ) ) ) );
connect( PSEframe.current(), SIGNAL( num(QString) ), this, SLOT( slotShowElement(QString) ));
connect( PSEframe.current(), SIGNAL( num(QString) ), this, SLOT( inverseColor(QString) ));
}
- oxyDW = new OxydataWidget(this);
+ oxyDW = new OxydataWidget(this, "PSEWidget_oxyDW", names);
oxyDW->setElement( 0 );
oxyDW->setLayout();
vlay->addLayout( grid );
vlay->addWidget( oxyDW );
}
QColor PSEWidget::PSEColor( QString block )
{
QColor c;
if ( block == "s" ) c.setRgb( 213 , 233 , 231 );
else if ( block == "d" ) c.setRgb( 200,230,160 );
else if ( block == "p" ) c.setRgb( 238,146,138 );
else if ( block == "f" ) c.setRgb( 190 , 190 , 190 );
return c;
};
void PSEWidget::inverseColor( QString number)
{
Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File );
configobj.setGroup( number );
QString block = configobj.readEntry( "Block" );
QColor c, d;
c = PSEColor( block );
d = c.dark();
PSEframe.at( number.toUInt() )->setPalette( QPalette( d ) );
configobj.setGroup( QString::number( lastElement+1 ) );
block = configobj.readEntry( "Block" );
c = PSEColor( block );
PSEframe.at( lastElement )->setPalette( QPalette( c ) );
lastElement=number.toInt();
}
void PSEWidget::slotShowElement(QString number)
{
oxyDW->setElement( number.toInt() );
};
void PSEWidget::position(int n, int& h, int& v)
{
//Hydrogen
if (n == 1)
{
h=0; v=0;
}
//Helium
if (n == 2)
{
h=680; v=0;
}
//Lithium
if (n == 3)
{
h=0; v=40;
}
//Beryllium
if (n == 4)
{
h=40; v=40;
}
//Boron-->Neon or Aluminum --> Argon
if ((n >= 5 && n <= 10) || (n >= 13 && n <= 18))
for (int i = 1; i <= (6-(10-n)); i++)
{
h=((i*40)+440);
v = 40;
if (n >= 13)
{
v=80;
h=(h-320);
}
}
//Sodium
if (n == 11)
{
h=0; v=80;
}
//Magnesium
if (n == 12)
{
h=40; v=80;
}
//Potassium --> Uuo without La and Ac
if ((n >= 19 && n <= 56) || (n >= 72 && n <= 88) || n >= 104)
for (int i = 1; i <= 18; i++)
{
int f = n;
if (n > 18)
f = n-18;
if (n > 36)
f = n-36;
if (n > 54)
f = n-54;
if (n > 71)
f = n-68;
if (n > 86)
f = n-86;
if (n > 103)
f = n-100;
h=((f*40)-40);
v = 120;
if (n >= 37)
v=160;
if (n >= 55)
v=200;
if (n >= 87)
v=240;
}
//Lanthanum --> Lutetium and Actinum --> Lawrencium
if ((n >= 57 && n <= 71) || (n >= 89 && n <= 103))
for (int i = 1; i <= 14; i++)
{
int f = n;
if (n > 56)
f = n-55;
if (n > 88)
f = n-87;
h=(f*40);
v = 290;
if (n >= 89)
v=330;
}
v += 10;
}
diff --git a/noncore/apps/oxygen/psewidget.h b/noncore/apps/oxygen/psewidget.h
index ddeab9d..42a2e38 100644
--- a/noncore/apps/oxygen/psewidget.h
+++ b/noncore/apps/oxygen/psewidget.h
@@ -1,53 +1,56 @@
/***************************************************************************
application: : Oxygen
begin : September 2002
copyright : ( C ) 2002 by Carsten Niehaus
email : cniehaus@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 _PSEWIDGET_H
#define _PSEWIDGET_H
#include <qwidget.h>
#include <qlist.h>
#include "oxyframe.h"
class QGridLayout;
+class QStringList;
+
class OxydataWidget;
class PSEframe;
class PSEWidget : public QWidget
{
Q_OBJECT
public:
- PSEWidget();
+ PSEWidget(const QStringList &list=0);
QGridLayout *bottom_grid;
OxydataWidget *oxyDW;
QList<OxyFrame> PSEframe;
int lastElement;
private:
QGridLayout *maingrid;
void position( int, int&, int& );
QColor PSEColor( QString );
+ QStringList names;
public slots:
void slotShowElement(QString);
void inverseColor( QString );
};
#endif