📄 paletteeditorimpl.cpp
字号:
setPreviewPalette( editPalette );}void PaletteEditor::mapToActivePixmapRole( const QPixmap& pm ){ QColorGroup::ColorRole role = centralFromItem(comboActiveCentral->currentItem()); QColorGroup cg = editPalette.active(); if ( !pm.isNull() ) cg.setBrush( role, QBrush( cg.color( role ), pm ) ); else cg.setBrush( role, QBrush( cg.color( role ) ) ); editPalette.setActive( cg ); if ( checkBuildActiveEffect->isChecked() ) buildActiveEffect(); if ( checkBuildInactive->isChecked() ) buildInactive(); if ( checkBuildDisabled->isChecked() ) buildDisabled(); setPreviewPalette( editPalette );}void PaletteEditor::mapToInactiveCentralRole( const QColor& c ){ QColorGroup cg = editPalette.inactive(); cg.setColor( centralFromItem(comboInactiveCentral->currentItem()), c ); editPalette.setInactive( cg ); if ( checkBuildInactiveEffect->isChecked() ) buildInactiveEffect(); setPreviewPalette( editPalette );}void PaletteEditor::mapToInactiveEffectRole( const QColor& c ){ QColorGroup cg = editPalette.inactive(); cg.setColor( effectFromItem(comboInactiveEffect->currentItem()), c ); editPalette.setInactive( cg ); setPreviewPalette( editPalette );}void PaletteEditor::mapToInactivePixmapRole( const QPixmap& pm ){ QColorGroup::ColorRole role = centralFromItem(comboInactiveCentral->currentItem()); QColorGroup cg = editPalette.inactive(); if ( !pm.isNull() ) cg.setBrush( role, QBrush( cg.color( role ), pm ) ); else cg.setBrush( role, QBrush( cg.color( role ) ) ); editPalette.setInactive( cg ); setPreviewPalette( editPalette );}void PaletteEditor::mapToDisabledCentralRole( const QColor& c ){ QColorGroup cg = editPalette.disabled(); cg.setColor( centralFromItem(comboDisabledCentral->currentItem()), c ); editPalette.setDisabled( cg ); if ( checkBuildDisabledEffect->isChecked() ) buildDisabledEffect(); setPreviewPalette( editPalette );}void PaletteEditor::mapToDisabledEffectRole( const QColor& c ){ QColorGroup cg = editPalette.disabled(); cg.setColor( effectFromItem(comboDisabledEffect->currentItem()), c ); editPalette.setDisabled( cg ); setPreviewPalette( editPalette );}void PaletteEditor::mapToDisabledPixmapRole( const QPixmap& pm ){ QColorGroup::ColorRole role = centralFromItem(comboDisabledCentral->currentItem()); QColorGroup cg = editPalette.disabled(); if ( !pm.isNull() ) cg.setBrush( role, QBrush( cg.color( role ), pm ) ); else cg.setBrush( role, QBrush( cg.color( role ) ) ); editPalette.setDisabled( cg ); setPreviewPalette( editPalette );}void PaletteEditor::buildPalette(){ int i; QColorGroup cg; QColor btn = buttonMainColor->color(); QColor back = buttonMainColor2->color(); QPalette automake( btn, back ); for (i = 0; i<9; i++) cg.setColor( centralFromItem(i), automake.active().color( centralFromItem(i) ) ); editPalette.setActive( cg ); buildActiveEffect(); cg = editPalette.inactive(); QPalette temp( editPalette.active().color( QColorGroup::Button ), editPalette.active().color( QColorGroup::Background ) ); for (i = 0; i<9; i++) cg.setColor( centralFromItem(i), temp.inactive().color( centralFromItem(i) ) ); editPalette.setInactive( cg ); buildInactiveEffect(); cg = editPalette.disabled(); for (i = 0; i<9; i++) cg.setColor( centralFromItem(i), temp.disabled().color( centralFromItem(i) ) ); editPalette.setDisabled( cg ); buildDisabledEffect(); updateStyledButtons();}void PaletteEditor::buildActiveEffect(){ QColorGroup cg = editPalette.active(); QColor btn = cg.color( QColorGroup::Button ); QPalette temp( btn, btn ); for (int i = 0; i<5; i++) cg.setColor( effectFromItem(i), temp.active().color( effectFromItem(i) ) ); editPalette.setActive( cg ); setPreviewPalette( editPalette ); updateStyledButtons();}void PaletteEditor::buildInactive(){ editPalette.setInactive( editPalette.active() ); buildInactiveEffect();}void PaletteEditor::buildInactiveEffect(){ QColorGroup cg = editPalette.inactive(); QColor light, midlight, mid, dark, shadow; QColor btn = cg.color( QColorGroup::Button ); light = btn.light(150); midlight = btn.light(115); mid = btn.dark(150); dark = btn.dark(); shadow = black; cg.setColor( QColorGroup::Light, light ); cg.setColor( QColorGroup::Midlight, midlight ); cg.setColor( QColorGroup::Mid, mid ); cg.setColor( QColorGroup::Dark, dark ); cg.setColor( QColorGroup::Shadow, shadow ); editPalette.setInactive( cg ); setPreviewPalette( editPalette ); updateStyledButtons();}void PaletteEditor::buildDisabled(){ QColorGroup cg = editPalette.active(); cg.setColor( QColorGroup::ButtonText, darkGray ); cg.setColor( QColorGroup::Foreground, darkGray ); editPalette.setDisabled( cg ); buildDisabledEffect();}void PaletteEditor::buildDisabledEffect(){ QColorGroup cg = editPalette.disabled(); QColor light, midlight, mid, dark, shadow; QColor btn = cg.color( QColorGroup::Button ); light = btn.light(150); midlight = btn.light(115); mid = btn.dark(150); dark = btn.dark(); shadow = black; cg.setColor( QColorGroup::Light, light ); cg.setColor( QColorGroup::Midlight, midlight ); cg.setColor( QColorGroup::Mid, mid ); cg.setColor( QColorGroup::Dark, dark ); cg.setColor( QColorGroup::Shadow, shadow ); editPalette.setDisabled( cg ); setPreviewPalette( editPalette ); updateStyledButtons();}void PaletteEditor::setPreviewPalette( const QPalette& pal ){ QColorGroup cg; switch ( tabWidget->currentPageIndex() ) { case 0: cg = pal.active(); break; case 1: cg = pal.inactive(); break; case 2: cg = pal.disabled(); break; } previewPalette.setActive( cg ); previewPalette.setInactive( cg ); previewPalette.setDisabled( cg ); previewActive->setPreviewPalette( previewPalette ); previewInactive->setPreviewPalette( previewPalette ); previewDisabled->setPreviewPalette( previewPalette );}void PaletteEditor::updateStyledButtons(){ buttonMainColor->setColor( editPalette.active().color( QColorGroup::Button )); buttonMainColor2->setColor( editPalette.active().color( QColorGroup::Background )); buttonActiveCentral->setColor( editPalette.active().color( centralFromItem( comboActiveCentral->currentItem() ) ) ); buttonActiveEffect->setColor( editPalette.active().color( effectFromItem( comboActiveEffect->currentItem() ) ) ); QPixmap* pm = editPalette.active().brush( centralFromItem( comboActiveCentral->currentItem() ) ).pixmap(); if ( pm && !pm->isNull() ) buttonActivePixmap->setPixmap( *pm ); buttonInactiveCentral->setColor( editPalette.inactive().color( centralFromItem( comboInactiveCentral->currentItem() ) ) ); buttonInactiveEffect->setColor( editPalette.inactive().color( effectFromItem( comboInactiveEffect->currentItem() ) ) ); pm = editPalette.inactive().brush( centralFromItem( comboActiveCentral->currentItem() ) ).pixmap(); if ( pm && !pm->isNull() ) buttonInactivePixmap->setPixmap( *pm ); buttonDisabledCentral->setColor( editPalette.disabled().color( centralFromItem( comboDisabledCentral->currentItem() ) ) ); buttonDisabledEffect->setColor( editPalette.disabled().color( effectFromItem( comboDisabledEffect->currentItem() ) ) ); pm = editPalette.disabled().brush( centralFromItem( comboActiveCentral->currentItem() ) ).pixmap(); if ( pm && !pm->isNull() ) buttonDisabledPixmap->setPixmap( *pm );}void PaletteEditor::setPal( const QPalette& pal ){ checkBuildPalette->setChecked( FALSE ); editPalette = pal; setPreviewPalette( pal ); updateStyledButtons();}QPalette PaletteEditor::pal() const{ return editPalette;}void PaletteEditor::setupBackgroundMode( BackgroundMode mode ){ int initRole = 0; switch( mode ) { case PaletteBackground: initRole = 0; break; case PaletteForeground: initRole = 1; break; case PaletteButton: initRole = 2; break; case PaletteBase: initRole = 3; break; case PaletteText: initRole = 4; break; case PaletteBrightText: initRole = 5; break; case PaletteButtonText: initRole = 6; break; case PaletteHighlight: initRole = 7; break; case PaletteHighlightedText: initRole = 8; break; case PaletteLight: initRole = 9; break; case PaletteMidlight: initRole = 10; break; case PaletteDark: initRole = 11; break; case PaletteMid: initRole = 12; break; case PaletteShadow: initRole = 13; break; default: initRole = -1; break; } if ( initRole > -1 ) { if (initRole > 8 ) { comboActiveEffect->setCurrentItem( initRole - 9 ); comboInactiveEffect->setCurrentItem( initRole - 9 ); comboDisabledEffect->setCurrentItem( initRole - 9 ); if ( comboActiveEffect->listBox() ) { QString text = comboActiveEffect->currentText(); comboActiveEffect->listBox()->changeItem( new BoldListBoxText( text ), initRole - 9 ); comboInactiveEffect->listBox()->changeItem( new BoldListBoxText( text ), initRole - 9 ); comboDisabledEffect->listBox()->changeItem( new BoldListBoxText( text ), initRole - 9 ); } } else { comboActiveCentral->setCurrentItem( initRole ); comboInactiveCentral->setCurrentItem( initRole ); comboDisabledCentral->setCurrentItem( initRole ); if ( comboActiveCentral->listBox() ) { QString text = comboActiveCentral->currentText(); comboActiveCentral->listBox()->changeItem( new BoldListBoxText( text ), initRole ); comboInactiveCentral->listBox()->changeItem( new BoldListBoxText( text ), initRole ); comboDisabledCentral->listBox()->changeItem( new BoldListBoxText( text ), initRole ); } } }}QPalette PaletteEditor::getPalette( bool *ok, const QPalette &init, BackgroundMode mode, QWidget* parent, const char* name, FormWindow *fw ){ target = 0; PaletteEditor* dlg = new PaletteEditor( fw, parent, name, TRUE ); dlg->setupBackgroundMode( mode ); dlg->setCaption( PaletteEditor::tr( "Change palette" ) ); if ( init != QPalette() ) dlg->setPal( init ); int resultCode = dlg->exec(); QPalette result = init; if ( resultCode == QDialog::Accepted ) { if ( ok ) *ok = TRUE; result = dlg->pal(); } else { if ( ok ) *ok = FALSE; } delete dlg; return result;}void PaletteEditor::getPalette( bool *ok, QWidget* t, QWidget* parent, const char* name ){ target = t; PaletteEditor* dlg = new PaletteEditor( 0, parent, name, TRUE ); dlg->setCaption( PaletteEditor::tr( "Change palette" ) ); int resultCode = dlg->exec(); if ( resultCode == QDialog::Accepted ) { if ( ok ) *ok = TRUE; target->setPalette( dlg->pal() ); } else { if ( ok ) *ok = FALSE; } delete dlg;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -