⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kgcolors.cpp

📁 LINUX 下, 以 QT/KDE 写的档案管理员
💻 CPP
📖 第 1 页 / 共 3 页
字号:
  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 );  previewGrid->addWidget( preview, 0 ,0 );  kgColorsLayout->addMultiCellWidget( hbox, 1 ,1, 0, 2 );  importBtn = new KPushButton(i18n("Import color-scheme"),parent);  kgColorsLayout->addWidget(importBtn,2,0);  exportBtn = new KPushButton(i18n("Export color-scheme"),parent);  kgColorsLayout->addWidget(exportBtn,2,1);  kgColorsLayout->addWidget(createSpacer(parent, ""), 2,2);  connect(importBtn, SIGNAL(clicked()), this, SLOT(slotImportColors()));  connect(exportBtn, SIGNAL(clicked()), this, SLOT(slotExportColors()));  slotDisable();}int KgColors::addColorSelector( QString cfgName, QString name, QColor dflt, QString dfltName,                                ADDITIONAL_COLOR *addColor, int addColNum ){  int index = itemList.count() - offset;  labelList.append( addLabel( colorsGrid, index, 0, name, colorsGrp, QString( "ColorsLabel%1" ).arg( index ).ascii() ) );  KonfiguratorColorChooser *chooser = createColorChooser( "Colors", cfgName, dflt, colorsGrp, false, addColor, addColNum );  chooser->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed );  if( !dfltName.isEmpty() )    chooser->setDefaultText( dfltName );  colorsGrid->addWidget( chooser, index, 1 );  connect( chooser, SIGNAL( colorChanged() ), this, SLOT( generatePreview() ) );  if( !offset )    connect( chooser, SIGNAL( colorChanged() ), this, SLOT( slotActiveChanged() ) );  itemList.append( chooser );  itemNames.append( cfgName );  return index;}KonfiguratorColorChooser *KgColors::getColorSelector( QString name ){  QValueList<QString>::iterator it;  int position = 0;  for( it = itemNames.begin(); it != itemNames.end(); it++, position++ )    if( *it == name )      return itemList.at( position );  return 0;}QLabel *KgColors::getSelectorLabel( QString name ){  QValueList<QString>::iterator it;  int position = 0;  for( it = itemNames.begin(); it != itemNames.end(); it++, position++ )    if( *it == name )      return labelList.at( position );  return 0;}void KgColors::slotDisable(){  bool enabled = generals->find( "KDE Default" )->isChecked();  importBtn->setEnabled(!enabled);  exportBtn->setEnabled(!enabled);  for( int i = 0; labelList.at( i ) && i < endOfPanelColors ; i++ )    labelList.at( i )->setEnabled( !enabled );  for( int j = 0; itemList.at( j ) && j < endOfPanelColors ; j++ )    itemList.at( j )->setEnabled( !enabled );  generals->find("Enable Alternate Background")->setEnabled( enabled );  generals->find("Show Current Item Always")->setEnabled( !enabled );  generals->find("Dim Inactive Colors")->setEnabled( !enabled );  bool dimmed = !enabled && generals->find("Dim Inactive Colors")->isChecked();  if( dimmed )    inactiveColorStack->raiseWidget( dimmedInactiveWidget );  else    inactiveColorStack->raiseWidget( normalInactiveWidget );  enabled = enabled || !generals->find( "Show Current Item Always" )->isChecked();  getColorSelector( "Inactive Current Foreground" )->setEnabled( !enabled );  getColorSelector( "Inactive Current Background" )->setEnabled( !enabled );  generatePreview();}void KgColors::slotActiveChanged(){  for( int i = 0; i != endOfActiveColors; i++ )     itemList.at( endOfActiveColors + i )->setDefaultColor( itemList.at( i )->getColor() );}void KgColors::slotForegroundChanged(){  QColor color = getColorSelector( "Foreground" )->getColor();  getColorSelector( "Directory Foreground" )->setDefaultColor( color );  getColorSelector( "Executable Foreground" )->setDefaultColor( color );  getColorSelector( "Symlink Foreground" )->setDefaultColor( color );  getColorSelector( "Invalid Symlink Foreground" )->setDefaultColor( color );}void KgColors::slotBackgroundChanged(){  QColor color = getColorSelector( "Background" )->getColor();  getColorSelector( "Alternate Background" )->changeAdditionalColor( 0, color );  getColorSelector( "Marked Background" )->changeAdditionalColor( 0, color );  getColorSelector( "Current Background" )->changeAdditionalColor( 0, color );}void KgColors::slotAltBackgroundChanged(){  QColor color = getColorSelector( "Alternate Background" )->getColor();  getColorSelector( "Alternate Marked Background" )->changeAdditionalColor( 0, color );}void KgColors::slotMarkedBackgroundChanged(){  QColor color = getColorSelector( "Marked Background" )->getColor();  getColorSelector( "Alternate Marked Background" )->setDefaultColor( color );}void KgColors::slotInactiveForegroundChanged(){  QColor color = getColorSelector( "Inactive Foreground" )->getColor();  getColorSelector( "Inactive Directory Foreground" )->changeAdditionalColor( 0, color );  getColorSelector( "Inactive Executable Foreground" )->changeAdditionalColor( 0, color );  getColorSelector( "Inactive Symlink Foreground" )->changeAdditionalColor( 0, color );  getColorSelector( "Inactive Invalid Symlink Foreground" )->changeAdditionalColor( 0, color );}void KgColors::slotInactiveBackgroundChanged(){  QColor color = getColorSelector( "Inactive Background" )->getColor();  getColorSelector( "Inactive Alternate Background" )->changeAdditionalColor( 0, color );  getColorSelector( "Inactive Marked Background" )->changeAdditionalColor( 0, color );  getColorSelector( "Inactive Current Background" )->changeAdditionalColor( 0, color );}void KgColors::slotInactiveAltBackgroundChanged(){  QColor color = getColorSelector( "Inactive Alternate Background" )->getColor();  getColorSelector( "Inactive Alternate Marked Background" )->changeAdditionalColor( 0, color );}void KgColors::slotInactiveMarkedBackgroundChanged(){  QColor color = getColorSelector( "Inactive Marked Background" )->getColor();  getColorSelector( "Inactive Alternate Marked Background" )->changeAdditionalColor( 1, color );}void KgColors::setColorWithDimming(PreviewItem * item, QColor foreground, QColor background, bool dimmed ){   if ( dimmed && dimFactor->value() < 100)   {     int dim = dimFactor->value();     QColor dimColor = getColorSelector("Dim Target Color")->getColor();     foreground = QColor((dimColor.red() * (100 - dim) + foreground.red() * dim) / 100,                         (dimColor.green() * (100 - dim) + foreground.green() * dim) / 100,                         (dimColor.blue() * (100 - dim) + foreground.blue() * dim) / 100);     background = QColor((dimColor.red() * (100 - dim) + background.red() * dim) / 100,                         (dimColor.green() * (100 - dim) + background.green() * dim) / 100,                         (dimColor.blue() * (100 - dim) + background.blue() * dim) / 100);   }   item->setColor(foreground, background);}void KgColors::generatePreview(){  int currentPage = colorTabWidget->currentPageIndex();  preview->clear();  if( currentPage == 0 || currentPage == 1 )  {    PreviewItem *pwMarkCur = new PreviewItem( preview, i18n( "Selected + Current" ) );    PreviewItem *pwMark2   = new PreviewItem( preview, i18n( "Selected 2" ) );    PreviewItem *pwMark1   = new PreviewItem( preview, i18n( "Selected 1" ) );    PreviewItem *pwCurrent = new PreviewItem( preview, i18n( "Current" ) );    PreviewItem *pwInvLink = new PreviewItem( preview, i18n( "Invalid symlink" ) );    PreviewItem *pwSymLink = new PreviewItem( preview, i18n( "Symbolic link" ) );    PreviewItem *pwApp     = new PreviewItem( preview, i18n( "Application" ) );    PreviewItem *pwFile    = new PreviewItem( preview, i18n( "File" ) );    PreviewItem *pwDir     = new PreviewItem( preview, i18n( "Directory" ) );    bool isActive = currentPage == 0;    // create local color cache instance, which does NOT affect the color cache instance using to paint the panels    KrColorCache colCache;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -