summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/oxygen/psewidget.cpp13
-rw-r--r--noncore/apps/oxygen/psewidget.h2
2 files changed, 13 insertions, 2 deletions
diff --git a/noncore/apps/oxygen/psewidget.cpp b/noncore/apps/oxygen/psewidget.cpp
index eb4093b..d7126b9 100644
--- a/noncore/apps/oxygen/psewidget.cpp
+++ b/noncore/apps/oxygen/psewidget.cpp
@@ -23,71 +23,82 @@
23#include "psewidget.h" 23#include "psewidget.h"
24#include "oxyframe.h" 24#include "oxyframe.h"
25 25
26 26
27PSEWidget::PSEWidget() : QWidget() 27PSEWidget::PSEWidget() : QWidget()
28{ 28{
29 this->setCaption( tr( "Periodic System" ) ); 29 this->setCaption( tr( "Periodic System" ) );
30 30
31 QVBoxLayout *vlay = new QVBoxLayout( this ); 31 QVBoxLayout *vlay = new QVBoxLayout( this );
32 32
33 QGridLayout *grid = new QGridLayout( 18,10 ); 33 QGridLayout *grid = new QGridLayout( 18,10 );
34 int h=0, v=0; 34 int h=0, v=0;
35 35
36 Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File ); 36 Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File );
37 for( int n = 0 ; n < 109 ; n++ ) 37 for( int n = 0 ; n < 109 ; n++ )
38 { 38 {
39 configobj.setGroup( QString::number( n+1 )); 39 configobj.setGroup( QString::number( n+1 ));
40 40
41 position( n+1,h,v ); 41 position( n+1,h,v );
42 PSEframe.append( new OxyFrame( this , QString::number(n), configobj.readEntry( "Symbol" ) ) ); 42 PSEframe.append( new OxyFrame( this , QString::number(n), configobj.readEntry( "Symbol" ) ) );
43 grid->addWidget( PSEframe.current() , v/40+1 , h/40 ); 43 grid->addWidget( PSEframe.current() , v/40+1 , h/40 );
44 PSEframe.current()->setMinimumHeight( 11 ); 44 PSEframe.current()->setMinimumHeight( 11 );
45 PSEframe.current()->setPalette( QPalette( PSEColor( configobj.readEntry( "Block" ) ) ) ); 45 PSEframe.current()->setPalette( QPalette( PSEColor( configobj.readEntry( "Block" ) ) ) );
46 connect( PSEframe.current(), SIGNAL( num(QString) ), this, SLOT( slotShowElement(QString) )); 46 connect( PSEframe.current(), SIGNAL( num(QString) ), this, SLOT( slotShowElement(QString) ));
47 connect( PSEframe.current(), SIGNAL( num(QString) ), this, SLOT( inverseColor(QString) ));
47 } 48 }
48 49
49 oxyDW = new OxydataWidget(this); 50 oxyDW = new OxydataWidget(this);
50 oxyDW->setElement( 0 ); 51 oxyDW->setElement( 0 );
51 oxyDW->setLayout(); 52 oxyDW->setLayout();
52 53
53 vlay->addLayout( grid ); 54 vlay->addLayout( grid );
54 vlay->addWidget( oxyDW ); 55 vlay->addWidget( oxyDW );
55} 56}
56 57
57QColor PSEWidget::PSEColor( QString block ) 58QColor PSEWidget::PSEColor( QString block )
58{ 59{
59 QColor c; 60 QColor c;
60 if ( block == "s" ) c.setRgb( 213 , 233 , 231 ); 61 if ( block == "s" ) c.setRgb( 213 , 233 , 231 );
61 else if ( block == "d" ) c.setRgb( 200,230,160 ); 62 else if ( block == "d" ) c.setRgb( 200,230,160 );
62 else if ( block == "p" ) c.setRgb( 238,146,138 ); 63 else if ( block == "p" ) c.setRgb( 238,146,138 );
63 else if ( block == "f" ) c.setRgb( 190 , 190 , 190 ); 64 else if ( block == "f" ) c.setRgb( 190 , 190 , 190 );
64 return c; 65 return c;
65}; 66};
66 67
67void PSEWidget::inverseColor( QString number ) 68void PSEWidget::inverseColor( QString number )
68{ 69{
69 //foo 70 Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File );
71 configobj.setGroup( number );
72 QString block = configobj.readEntry( "Block" );
73 QColor c;
74 if ( block == "s" ) c.setRgb( 213 , 233 , 231 );
75 else if ( block == "d" ) c.setRgb( 200,230,160 );
76 else if ( block == "p" ) c.setRgb( 238,146,138 );
77 else if ( block == "f" ) c.setRgb( 190 , 190 , 190 );
78 c.dark();
79
80 PSEframe.at( number.toUInt() )->setPalette( QPalette( c ) );
70} 81}
71 82
72void PSEWidget::slotShowElement(QString number) 83void PSEWidget::slotShowElement(QString number)
73{ 84{
74 oxyDW->setElement( number.toInt() ); 85 oxyDW->setElement( number.toInt() );
75}; 86};
76 87
77void PSEWidget::position(int n, int& h, int& v) 88void PSEWidget::position(int n, int& h, int& v)
78{ 89{
79 //Hydrogen 90 //Hydrogen
80 if (n == 1) 91 if (n == 1)
81 { 92 {
82 h=0; v=0; 93 h=0; v=0;
83 } 94 }
84 95
85 96
86 //Helium 97 //Helium
87 if (n == 2) 98 if (n == 2)
88 { 99 {
89 h=680; v=0; 100 h=680; v=0;
90 } 101 }
91 102
92 103
93 //Lithium 104 //Lithium
diff --git a/noncore/apps/oxygen/psewidget.h b/noncore/apps/oxygen/psewidget.h
index d8d2c5f..cfb629d 100644
--- a/noncore/apps/oxygen/psewidget.h
+++ b/noncore/apps/oxygen/psewidget.h
@@ -13,39 +13,39 @@
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * ( at your option ) any later version. * 14 * ( at your option ) any later version. *
15 * * 15 * *
16 **************************************************************************/ 16 **************************************************************************/
17#ifndef _PSEWIDGET_H 17#ifndef _PSEWIDGET_H
18#define _PSEWIDGET_H 18#define _PSEWIDGET_H
19 19
20#include <qwidget.h> 20#include <qwidget.h>
21#include <qlist.h> 21#include <qlist.h>
22#include "oxyframe.h" 22#include "oxyframe.h"
23 23
24class QGridLayout; 24class QGridLayout;
25class OxydataWidget; 25class OxydataWidget;
26class PSEframe; 26class PSEframe;
27 27
28class PSEWidget : public QWidget 28class PSEWidget : public QWidget
29{ 29{
30 Q_OBJECT 30 Q_OBJECT
31 31
32 public: 32 public:
33 PSEWidget(); 33 PSEWidget();
34 QGridLayout *bottom_grid; 34 QGridLayout *bottom_grid;
35 OxydataWidget *oxyDW; 35 OxydataWidget *oxyDW;
36 36
37 void inverseColor( QString );
38 QList<OxyFrame> PSEframe; 37 QList<OxyFrame> PSEframe;
39 38
40 private: 39 private:
41 QGridLayout *maingrid; 40 QGridLayout *maingrid;
42 41
43 void position( int, int&, int& ); 42 void position( int, int&, int& );
44 QColor PSEColor( QString ); 43 QColor PSEColor( QString );
45 44
46 public slots: 45 public slots:
47 void slotShowElement(QString); 46 void slotShowElement(QString);
47 void inverseColor( QString );
48 48
49}; 49};
50 50
51#endif 51#endif