From: Karai C. <ck...@us...> - 2004-03-22 06:26:02
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Konfigurator In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27680/krusader_kde3/krusader/Konfigurator Modified Files: kgcolors.cpp kgcolors.h konfiguratoritems.cpp Log Message: FINISHED: konfigurator color page Index: konfiguratoritems.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Konfigurator/konfiguratoritems.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** konfiguratoritems.cpp 20 Mar 2004 21:55:57 -0000 1.8 --- konfiguratoritems.cpp 22 Mar 2004 06:15:47 -0000 1.9 *************** *** 692,695 **** --- 692,696 ---- ext->setChanged( false ); + emit colorChanged(); disableColorChooser = false; } Index: kgcolors.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Konfigurator/kgcolors.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** kgcolors.cpp 20 Mar 2004 21:55:57 -0000 1.3 --- kgcolors.cpp 22 Mar 2004 06:15:47 -0000 1.4 *************** *** 34,37 **** --- 34,38 ---- #include <kglobalsettings.h> #include <qhbox.h> + #include <qheader.h> KgColors::KgColors( bool first, QWidget* parent, const char* name ) : *************** *** 49,60 **** KONFIGURATOR_CHECKBOX_PARAM generalSettings[] = // cfg_class cfg_name default text restart tooltip ! {{"Colors","KDE Default", _KDEDefaultColors, i18n( "Use the default KDE colors" ), true , "" }, ! {"Colors","Enable Alternate Background", _AlternateBackground, i18n( "Use alternate backround color" ), true , "" }}; ! generals = createCheckBoxGroup( 1, 0, generalSettings, 2, generalGrp ); generalGrid->addWidget( generals, 1, 0 ); connect( generals->find( "KDE Default" ), SIGNAL( stateChanged( int ) ), this, SLOT( slotDisable() ) ); ! connect( generals->find( "Enable Alternate Background" ), SIGNAL( stateChanged( int ) ), this, SLOT( slotDisable() ) ); kgColorsLayout->addWidget( generalGrp, 0 ,0 ); --- 50,62 ---- KONFIGURATOR_CHECKBOX_PARAM generalSettings[] = // cfg_class cfg_name default text restart tooltip ! {{"Colors","KDE Default", _KDEDefaultColors, i18n( "Use the default KDE colors" ), false, "" }, ! {"Colors","Enable Alternate Background", _AlternateBackground, i18n( "Use alternate backround color" ), false, "" }, ! {"Colors","Show Current Item Always", _ShowCurrentItemAlways, i18n( "Show current item even if not focussed" ), false, "" }}; ! generals = createCheckBoxGroup( 0, 2, generalSettings, sizeof(generalSettings)/sizeof(generalSettings[0]), generalGrp ); generalGrid->addWidget( generals, 1, 0 ); connect( generals->find( "KDE Default" ), SIGNAL( stateChanged( int ) ), this, SLOT( slotDisable() ) ); ! connect( generals->find( "Enable Alternate Background" ), SIGNAL( stateChanged( int ) ), this, SLOT( generatePreview() ) ); kgColorsLayout->addWidget( generalGrp, 0 ,0 ); *************** *** 74,84 **** addColorSelector( "Symlink Foreground", i18n( "Symbolic link foreground:" ), getColorSelector( "Foreground" )->getColor(), i18n( "Same as foreground" ) ); addColorSelector( "Invalid Symlink Foreground", i18n( "Invalid symlink foreground:" ), getColorSelector( "Foreground" )->getColor(), i18n( "Same as foreground" ) ); addColorSelector( "Marked Foreground", i18n( "Marked foreground:" ), KGlobalSettings::highlightedTextColor() ); addColorSelector( "Marked Background", i18n( "Marked background:" ), KGlobalSettings::highlightColor() ); ! addColorSelector( "Alternate Marked Background",i18n( "Alternate marked background:" ), getColorSelector( "Marked Background" )->getColor(), i18n( "Same as marked background" ) ); addColorSelector( "Current Foreground", i18n( "Current foreground:" ), Qt::white, i18n( "Not used" ) ); addColorSelector( "Current Background", i18n( "Current background:" ), Qt::white, i18n( "Not used" ) ); - addColorSelector( "Background", i18n( "Background:" ), KGlobalSettings::baseColor() ); - addColorSelector( "Alternate Background", i18n( "Alternate background:" ), KGlobalSettings::alternateBackgroundColor() ); connect( getColorSelector( "Foreground" ), SIGNAL( colorChanged() ), this, SLOT( slotForegroundChanged() ) ); --- 76,86 ---- addColorSelector( "Symlink Foreground", i18n( "Symbolic link foreground:" ), getColorSelector( "Foreground" )->getColor(), i18n( "Same as foreground" ) ); addColorSelector( "Invalid Symlink Foreground", i18n( "Invalid symlink foreground:" ), getColorSelector( "Foreground" )->getColor(), i18n( "Same as foreground" ) ); + addColorSelector( "Background", i18n( "Background:" ), KGlobalSettings::baseColor() ); + addColorSelector( "Alternate Background", i18n( "Alternate background:" ), KGlobalSettings::alternateBackgroundColor() ); addColorSelector( "Marked Foreground", i18n( "Marked foreground:" ), KGlobalSettings::highlightedTextColor() ); addColorSelector( "Marked Background", i18n( "Marked background:" ), KGlobalSettings::highlightColor() ); ! addColorSelector( "Alternate Marked Background",i18n( "Alternate marked background:" ), getColorSelector( "Marked Background" )->getColor(), i18n( "Same as alternate background" ) ); addColorSelector( "Current Foreground", i18n( "Current foreground:" ), Qt::white, i18n( "Not used" ) ); addColorSelector( "Current Background", i18n( "Current background:" ), Qt::white, i18n( "Not used" ) ); connect( getColorSelector( "Foreground" ), SIGNAL( colorChanged() ), this, SLOT( slotForegroundChanged() ) ); *************** *** 90,96 **** previewGrid = createGridLayout( previewGrp->layout() ); ! /* TODO TODO TODO TODO TODO */ kgColorsLayout->addWidget( hbox, 1 ,0 ); } --- 92,119 ---- previewGrid = createGridLayout( previewGrp->layout() ); ! preview = new QListView( previewGrp, "colorPreView" ); ! ! preview->setShowSortIndicator(false); ! preview->setSorting(-1); ! preview->setEnabled( false ); ! ! preview->addColumn( i18n("Colors") ); ! preview->header()->setStretchEnabled( true, 0 ); ! ! pwMark2 = new PreviewItem( preview, i18n( "Marked 2" ) ); ! pwMark1 = new PreviewItem( preview, i18n( "Marked 1" ) ); ! pwCurrent = new PreviewItem( preview, i18n( "Current" ) ); ! pwInvLink = new PreviewItem( preview, i18n( "Invalid symlink" ) ); ! pwSymLink = new PreviewItem( preview, i18n( "Symbolic link" ) ); ! pwApp = new PreviewItem( preview, i18n( "Application" ) ); ! pwFile = new PreviewItem( preview, i18n( "File" ) ); ! pwDir = new PreviewItem( preview, i18n( "Directory" ) ); ! ! generatePreview(); ! ! previewGrid->addWidget( preview, 0 ,0 ); kgColorsLayout->addWidget( hbox, 1 ,0 ); + slotDisable(); } *************** *** 100,110 **** labelList.append( addLabel( colorsGrid, index, 0, name, colorsGrp, QString( "ColorsLabel%1" ).arg( index ).ascii() ) ); ! KonfiguratorColorChooser *chooser = createColorChooser( "Colors", cfgName, dflt, colorsGrp, true ); if( !dfltName.isEmpty() ) chooser->setDefaultText( dfltName ); colorsGrid->addWidget( chooser, index, 1 ); itemList.append( chooser ); itemNames.append( cfgName ); } --- 123,137 ---- labelList.append( addLabel( colorsGrid, index, 0, name, colorsGrp, QString( "ColorsLabel%1" ).arg( index ).ascii() ) ); ! KonfiguratorColorChooser *chooser = createColorChooser( "Colors", cfgName, dflt, colorsGrp, false ); if( !dfltName.isEmpty() ) chooser->setDefaultText( dfltName ); colorsGrid->addWidget( chooser, index, 1 ); + connect( chooser, SIGNAL( colorChanged() ), this, SLOT( generatePreview() ) ); + itemList.append( chooser ); itemNames.append( cfgName ); + + return index; } *************** *** 136,151 **** { bool enabled = generals->find( "KDE Default" )->isChecked(); - bool alternateEnabled = enabled && generals->find( "Enable Alternate Background" )->isChecked(); for( int i = 0; labelList.at( i ); i++ ) ! labelList.at( i )->setEnabled( enabled ); for( int j = 0; itemList.at( j ); j++ ) ! itemList.at( j )->setEnabled( enabled ); ! getColorSelector( "Alternate Background" )->setEnabled( alternateEnabled ); ! getSelectorLabel( "Alternate Background" )->setEnabled( alternateEnabled ); ! getColorSelector( "Alternate Marked Background" )->setEnabled( alternateEnabled ); ! getSelectorLabel( "Alternate Marked Background" )->setEnabled( alternateEnabled ); } --- 163,176 ---- { bool enabled = generals->find( "KDE Default" )->isChecked(); for( int i = 0; labelList.at( i ); i++ ) ! labelList.at( i )->setEnabled( !enabled ); for( int j = 0; itemList.at( j ); j++ ) ! itemList.at( j )->setEnabled( !enabled ); ! generals->find("Enable Alternate Background")->setEnabled( enabled ); ! generals->find("Show Current Item Always")->setEnabled( !enabled ); ! generatePreview(); } *************** *** 167,170 **** --- 192,248 ---- } + void KgColors::generatePreview() + { + if( generals->find( "KDE Default" )->isChecked() ) + { + QColor bck = KGlobalSettings::baseColor(); + QColor altBck = KGlobalSettings::alternateBackgroundColor(); + if( !generals->find("Enable Alternate Background")->isChecked() ) + altBck = bck; + QColor fore = KGlobalSettings::textColor(); + + pwDir->setColor( fore, bck ); + pwFile->setColor( fore, altBck ); + pwApp->setColor( fore, bck ); + pwSymLink->setColor( fore, altBck ); + pwInvLink->setColor( fore, bck ); + pwCurrent->setColor( fore, altBck ); + pwMark1->setColor( KGlobalSettings::highlightedTextColor(), KGlobalSettings::highlightColor() ); + pwMark2->setColor( KGlobalSettings::highlightedTextColor(), KGlobalSettings::highlightColor() ); + } + else + { + QColor bck = getColorSelector( "Background" )->getColor(); + QColor altBck = getColorSelector( "Alternate Background" )->getColor(); + + QColor currentFore; + QColor currentBck = altBck; + + pwDir->setColor( currentFore = getColorSelector( "Foreground" )->getColor(), bck ); + pwFile->setColor( getColorSelector( "Directory Foreground" )->getColor(), altBck ); + pwApp->setColor( getColorSelector( "Executable Foreground" )->getColor(), bck ); + pwSymLink->setColor( getColorSelector( "Symlink Foreground" )->getColor(), altBck ); + pwInvLink->setColor( getColorSelector( "Invalid Symlink Foreground" )->getColor(), bck ); + + if( getColorSelector( "Current Foreground" )->currentItem() != 1 ) + currentFore = getColorSelector( "Current Foreground" )->getColor(); + if( getColorSelector( "Current Background" )->currentItem() != 1 ) + currentBck = getColorSelector( "Current Background" )->getColor(); + + pwCurrent->setColor( currentFore, currentBck ); + + QColor markFore = getColorSelector( "Marked Foreground" )->getColor(); + pwMark1->setColor( markFore, getColorSelector( "Marked Background" )->getColor() ); + pwMark2->setColor( markFore, getColorSelector( "Alternate Marked Background" )->getColor() ); + } + } + + bool KgColors::apply() + { + bool result = KonfiguratorPage::apply(); + /* TODO delete the color cache */ + return result; + } + #include "kgcolors.moc" Index: kgcolors.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Konfigurator/kgcolors.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** kgcolors.h 20 Mar 2004 21:55:57 -0000 1.3 --- kgcolors.h 22 Mar 2004 06:15:47 -0000 1.4 *************** *** 35,38 **** --- 35,39 ---- #include <qptrlist.h> #include <qvaluelist.h> + #include <qlistview.h> class KgColors : public KonfiguratorPage *************** *** 43,50 **** --- 44,54 ---- KgColors( bool first, QWidget* parent=0, const char* name=0 ); + bool apply(); + public slots: void slotDisable(); void slotForegroundChanged(); void slotMarkedBackgroundChanged(); + void generatePreview(); private: *************** *** 65,69 **** QPtrList<KonfiguratorColorChooser> itemList; QValueList<QString> itemNames; - }; #endif /* __KGCOLORS_H__ */ --- 69,110 ---- QPtrList<KonfiguratorColorChooser> itemList; QValueList<QString> itemNames; + QListView *preview; + + class PreviewItem : public QListViewItem + { + private: + QColor defaultBackground; + QColor defaultForeground; + QString label; + + public: + PreviewItem( QListView * parent, QString name ) : QListViewItem( parent, name ) + { + defaultBackground = QColor( 255, 255, 255 ); + defaultForeground = QColor( 0, 0, 0 ); + label = name; + } + + void setColor( QColor foregnd, QColor backgnd ) + { + defaultForeground = foregnd; + defaultBackground = backgnd; + listView()->repaintItem( this ); + } + + QString text() + { + return label; + } + + void paintCell ( QPainter * p, const QColorGroup & cg, int column, int width, int align ) + { + QColorGroup _cg( cg ); + _cg.setColor( QColorGroup::Base, defaultBackground ); + _cg.setColor( QColorGroup::Text, defaultForeground ); + QListViewItem::paintCell(p, _cg, column, width, align); + } + } *pwDir, *pwFile, *pwApp, *pwSymLink, *pwInvLink, *pwCurrent, *pwMark1, *pwMark2; + }; #endif /* __KGCOLORS_H__ */ |