Diffstat (limited to 'noncore/apps/oxygen/psewidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/oxygen/psewidget.cpp | 13 |
1 files changed, 12 insertions, 1 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 @@ -35,47 +35,58 @@ PSEWidget::PSEWidget() : QWidget() 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->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 ) { - //foo + Config configobj( QPEApplication::qpeDir() +"share/oxygen/oxygendata", Config::File ); + configobj.setGroup( number ); + QString block = configobj.readEntry( "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 ); + c.dark(); + + PSEframe.at( number.toUInt() )->setPalette( QPalette( c ) ); } void PSEWidget::slotShowElement(QString number) { oxyDW->setElement( number.toInt() ); }; void PSEWidget::position(int n, int& h, int& v) { //Hydrogen if (n == 1) { |