summaryrefslogtreecommitdiff
path: root/noncore/settings/appearance2/appearance.cpp
Unidiff
Diffstat (limited to 'noncore/settings/appearance2/appearance.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/appearance2/appearance.cpp99
1 files changed, 39 insertions, 60 deletions
diff --git a/noncore/settings/appearance2/appearance.cpp b/noncore/settings/appearance2/appearance.cpp
index 52c7125..cf3069e 100644
--- a/noncore/settings/appearance2/appearance.cpp
+++ b/noncore/settings/appearance2/appearance.cpp
@@ -108,28 +108,12 @@ public:
108 108
109private: 109private:
110 ulong ref; 110 ulong ref;
111}; 111};
112 112
113 113
114struct {
115 QColorGroup::ColorRole role;
116 const char *key;
117 const char *def;
118} colorLUT [] = {
119 { QColorGroup::Base, "Base", "#FFFFFF" },
120 { QColorGroup::Background, "Background", "#E5E1D5" },
121 { QColorGroup::Button, "Button", "#D6CDBB" },
122 { QColorGroup::ButtonText, "ButtonText", "#000000" },
123 { QColorGroup::Highlight, "Highlight", "#800000" },
124 { QColorGroup::HighlightedText, "HighlightedText", "#FFFFFF" },
125 { QColorGroup::Text, "Text", "#000000" },
126
127 { QColorGroup::NColorRoles, 0, 0 }
128};
129
130 114
131void Appearance::loadStyles ( QListBox *list ) 115void Appearance::loadStyles ( QListBox *list )
132{ 116{
133#if QT_VERSION >= 300 117#if QT_VERSION >= 300
134 list->insertStringList(QStyleFactory::styles()); 118 list->insertStringList(QStyleFactory::styles());
135#else 119#else
@@ -183,53 +167,31 @@ void Appearance::loadDecos ( QListBox *list )
183 else 167 else
184 delete lib; 168 delete lib;
185 } 169 }
186 } 170 }
187} 171}
188 172
189static QPalette readColorPalette ( Config &config )
190{
191 QColor bgcolor( config. readEntry( "Background", "#E5E1D5" ) );
192 QColor btncolor( config. readEntry( "Button", "#D6CDBB" ) );
193 QPalette pal( btncolor, bgcolor );
194
195 QString color = config. readEntry( "Highlight", "#800000" );
196 pal.setColor( QColorGroup::Highlight, QColor(color) );
197 color = config. readEntry( "HighlightedText", "#FFFFFF" );
198 pal.setColor( QColorGroup::HighlightedText, QColor(color) );
199 color = config. readEntry( "Text", "#000000" );
200 pal.setColor( QColorGroup::Text, QColor(color) );
201 color = config. readEntry( "ButtonText", "#000000" );
202 pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor(color) );
203 color = config. readEntry( "Base", "#FFFFFF" );
204 pal.setColor( QColorGroup::Base, QColor(color) );
205
206 pal.setColor( QPalette::Disabled, QColorGroup::Text, pal.color(QPalette::Active, QColorGroup::Background).dark() );
207
208 return pal;
209 }
210
211void Appearance::loadColors ( QListBox *list ) 173void Appearance::loadColors ( QListBox *list )
212{ 174{
213 list-> clear ( ); 175 list-> clear ( );
214 { 176 {
215 Config config ( "qpe" ); 177 Config config ( "qpe" );
216 config. setGroup ( "Appearance" ); 178 config. setGroup ( "Appearance" );
217 179
218 list-> insertItem ( new ColorListItem ( tr( "Current scheme" ), readColorPalette ( config ))); 180 list-> insertItem ( new ColorListItem ( tr( "Current scheme" ), config ));
219 } 181 }
220 182
221 QString path = QPEApplication::qpeDir ( ) + "/etc/colors/"; 183 QString path = QPEApplication::qpeDir ( ) + "/etc/colors/";
222 QStringList sl = QDir ( path ). entryList ( "*.scheme" ); 184 QStringList sl = QDir ( path ). entryList ( "*.scheme" );
223 185
224 for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) { 186 for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) {
225 QString name = (*it). left ((*it). find ( ".scheme" )); 187 QString name = (*it). left ((*it). find ( ".scheme" ));
226 Config config ( path + *it, Config::File ); 188 Config config ( path + *it, Config::File );
227 config. setGroup ( "Colors" ); 189 config. setGroup ( "Colors" );
228 190
229 list-> insertItem ( new ColorListItem ( name, readColorPalette ( config ))); 191 list-> insertItem ( new ColorListItem ( name, config ));
230 } 192 }
231} 193}
232 194
233void Appearance::loadFonts ( QListBox *list ) 195void Appearance::loadFonts ( QListBox *list )
234{ 196{
235 FontDatabase fd; 197 FontDatabase fd;
@@ -481,22 +443,21 @@ void Appearance::accept ( )
481 if ( m_font_changed ) { 443 if ( m_font_changed ) {
482 config.writeEntry( "FontFamily", m_font_family_list-> text ( newfontfamily )); 444 config.writeEntry( "FontFamily", m_font_family_list-> text ( newfontfamily ));
483 config.writeEntry( "FontStyle", m_font_style_list-> text ( newfontstyle )); 445 config.writeEntry( "FontStyle", m_font_style_list-> text ( newfontstyle ));
484 config.writeEntry( "FontSize", m_font_size_list-> text ( newfontsize )); 446 config.writeEntry( "FontSize", m_font_size_list-> text ( newfontsize ));
485 } 447 }
486 448
487/* 449
488 if ( schemeChanged ) 450 if ( m_color_changed )
489 {
490 int i;
491 for ( i = 0; i < MAX_CONTROL; i++ )
492 { 451 {
493 config.writeEntry( controlList[i], controlColor[i] ); 452 ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( ));
494 } 453
454 if ( item )
455 item-> save ( config );
495 } 456 }
496*/ 457
497 config. write ( ); // need to flush the config info first 458 config. write ( ); // need to flush the config info first
498 Global::applyStyle ( ); 459 Global::applyStyle ( );
499 460
500 if ( QMessageBox::warning ( this, tr( "Restart" ), tr( "Do you want to restart Opie now?" ), tr( "Yes" ), tr( "No" ), 0, 0, 1 ) == 0 ) { 461 if ( QMessageBox::warning ( this, tr( "Restart" ), tr( "Do you want to restart Opie now?" ), tr( "Yes" ), tr( "No" ), 0, 0, 1 ) == 0 ) {
501 QCopEnvelope e( "QPE/System", "restart()" ); 462 QCopEnvelope e( "QPE/System", "restart()" );
502 } 463 }
@@ -649,27 +610,46 @@ void Appearance::colorClicked ( int index )
649 610
650 611
651void Appearance::editSchemeClicked ( ) 612void Appearance::editSchemeClicked ( )
652{ 613{
653 ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( )); 614 ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( ));
654 615
655/* 616 int cnt = 0;
656 EditScheme* editdlg = new EditScheme( this, "editScheme", TRUE, 0, 617 QString controlLabel [QColorGroup::NColorRoles];
657 9, controlLabel, controlColor ); 618 QString controlColor [QColorGroup::NColorRoles];
619
620 for ( QColorGroup::ColorRole role = (QColorGroup::ColorRole) 0; role != QColorGroup::NColorRoles; ((int) role )++ ) {
621 QColor col = item-> color ( role );
622
623 if ( col. isValid ( )) {
624 controlLabel [cnt] = item-> label ( role );
625 controlColor [cnt] = col. name ( );
626
627 cnt++;
628 }
629 }
630
631 EditScheme* editdlg = new EditScheme( this, "editScheme", true, 0, cnt, controlLabel, controlColor );
658 editdlg->showMaximized(); 632 editdlg->showMaximized();
659 if ( editdlg->exec() == QDialog::Accepted ) 633 if ( editdlg-> exec ( ) == QDialog::Accepted ) {
660 { 634 ColorListItem *citem = (ColorListItem *) m_color_list-> item ( 0 );
661 int i; 635 cnt = 0;
662 for ( i = 0; i < MAX_CONTROL; i++ ) 636
663 { 637 for ( QColorGroup::ColorRole role = (QColorGroup::ColorRole) 0; role != QColorGroup::NColorRoles; ((int) role )++ ) {
664 controlColor[i] = editdlg->colorList[i]; 638 if ( item-> color ( role ). isValid ( )) {
639 citem-> setColor ( role, QColor ( controlColor [cnt] ));
640 cnt++;
641 }
665 } 642 }
643
644 m_color_list-> setCurrentItem ( 0 );
645 colorClicked ( 0 );
646
666 m_color_changed = true; 647 m_color_changed = true;
667 } 648 }
668 delete editdlg; 649 delete editdlg;
669 */
670} 650}
671 651
672 652
673void Appearance::saveSchemeClicked() 653void Appearance::saveSchemeClicked()
674{ 654{
675 ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( )); 655 ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( ));
@@ -689,14 +669,13 @@ void Appearance::saveSchemeClicked()
689 { 669 {
690 QPalette p = item-> palette ( ); 670 QPalette p = item-> palette ( );
691 671
692 Config config ( file.name(), Config::File ); 672 Config config ( file.name(), Config::File );
693 config.setGroup( "Colors" ); 673 config.setGroup( "Colors" );
694 674
695 for ( int i = 0; colorLUT [i]. role != QColorGroup::NColorRoles; i++ ) 675 item-> save ( config );
696 config.writeEntry ( colorLUT [i]. key, p. color ( QPalette::Active, colorLUT [i]. role ). name ( ));
697 676
698 config. write ( ); // need to flush the config info first 677 config. write ( ); // need to flush the config info first
699 loadColors ( m_color_list ); 678 loadColors ( m_color_list );
700 } 679 }
701 else 680 else
702 { 681 {