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

📄 generalfilter.cpp

📁 LINUX 下, 以 QT/KDE 写的档案管理员
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    followLinks = new QCheckBox( this, "followLinks" );    followLinks->setText( i18n( "Follow &links" ) );    recurseLayout->addWidget( followLinks );    filterLayout->addLayout( recurseLayout, 3, 0 );  }  // Connection table  if( properties & FilterTabs::HasProfileHandler )  {    connect( profileAddBtn,       SIGNAL(clicked()) , this, SLOT( slotAddBtnClicked() ) );    connect( profileLoadBtn,      SIGNAL(clicked()) , this, SLOT( slotLoadBtnClicked() ) );    connect( profileOverwriteBtn, SIGNAL(clicked()) , this, SLOT( slotOverwriteBtnClicked() ) );    connect( profileRemoveBtn,    SIGNAL(clicked()) , this, SLOT( slotRemoveBtnClicked() ) );    connect( profileListBox,      SIGNAL(doubleClicked(QListBoxItem *)) , this, SLOT( slotProfileDoubleClicked(QListBoxItem *) ) );    connect( profileManager,      SIGNAL(loadFromProfile(QString )), fltTabs, SLOT( loadFromProfile(QString ) ) );    connect( profileManager,      SIGNAL(saveToProfile(QString )), fltTabs, SLOT( saveToProfile(QString ) ) );  }  connect( searchFor, SIGNAL(activated(const QString&)), searchFor, SLOT(addToHistory(const QString&)));  connect( containsText, SIGNAL(activated(const QString&)), containsText, SLOT(addToHistory(const QString&)));  // load the completion and history lists  // ==> search for  krConfig->setGroup("Search");  QStringList list = krConfig->readListEntry("SearchFor Completion");  searchFor->completionObject()->setItems(list);  list = krConfig->readListEntry("SearchFor History");  searchFor->setHistoryItems(list);  // ==> grep  krConfig->setGroup("Search");  list = krConfig->readListEntry("ContainsText Completion");  containsText->completionObject()->setItems(list);  list = krConfig->readListEntry("ContainsText History");  containsText->setHistoryItems(list);  setTabOrder( searchFor, containsText );  // search for -> content   setTabOrder( containsText, searchType ); // content -> search type}GeneralFilter::~GeneralFilter(){  // save the history combos  // ==> search for  QStringList list = searchFor->completionObject()->items();  krConfig->setGroup("Search");  krConfig->writeEntry("SearchFor Completion", list);  list = searchFor->historyItems();  krConfig->writeEntry("SearchFor History", list);  // ==> grep text  list = containsText->completionObject()->items();  krConfig->setGroup("Search");  krConfig->writeEntry("ContainsText Completion", list);  list = containsText->historyItems();  krConfig->writeEntry("ContainsText History", list);  krConfig->sync();}bool GeneralFilter::fillQuery( KRQuery *query ){  // check that we have (at least) what to search, and where to search in  if (searchFor->currentText().simplifyWhiteSpace().isEmpty()) {    KMessageBox::error(this ,i18n("No search criteria entered!"));    searchFor->setFocus();    return false;  }  // now fill the query  query->setNameFilter( searchFor->currentText().stripWhiteSpace(), searchForCase->isChecked() );  bool remoteContent = (properties & FilterTabs::HasRemoteContentSearch ) ?                        remoteContentSearch->isChecked() : false;  query->setContent( containsText->currentText(),                     containsTextCase->isChecked(),                     containsWholeWord->isChecked(),                     remoteContent );  if (ofType->currentText()!=i18n("All Files"))    query->setMimeType( ofType->currentText() );  else query->setMimeType( QString::null );  if ( properties & FilterTabs::HasRecurseOptions )  {    query->setSearchInArchives( searchInArchives->isChecked() );    query->setRecursive( searchInDirs->isChecked() );    query->setFollowLinks( followLinks->isChecked() );    // create the lists  }  if( properties & FilterTabs::HasSearchIn )  {    query->setSearchInDirs( searchIn->urlList() );    // checking the lists    if (query->searchInDirs().isEmpty() ) { // we need a place to search in      KMessageBox::error(this ,i18n("Please specify a location to search in."));      searchIn->lineEdit()->setFocus();      return false;    }  }  if( properties & FilterTabs::HasDontSearchIn )    query->setDontSearchInDirs( dontSearchIn->urlList() );  return true;}void GeneralFilter::queryAccepted(){  searchFor->addToHistory(searchFor->currentText());  containsText->addToHistory(containsText->currentText());}void GeneralFilter::loadFromProfile( QString name ){  krConfig->setGroup( name );  searchForCase->setChecked( krConfig->readBoolEntry( "Case Sensitive Search", false ) );  containsTextCase->setChecked( krConfig->readBoolEntry( "Case Sensitive Content", false ) );  remoteContentSearch->setChecked( krConfig->readBoolEntry( "Remote Content Search", false ) );  containsWholeWord->setChecked( krConfig->readBoolEntry( "Match Whole Word Only", false ) );  containsText->setEditText( krConfig->readEntry( "Contains Text", "" ) );  searchFor->setEditText( krConfig->readEntry( "Search For", "" ) );  QString mime = krConfig->readEntry( "Mime Type", "" );  for( int i = ofType->count(); i >= 0; i-- )  {    ofType->setCurrentItem( i );    if( ofType->currentText() == mime )      break;  }  if( properties & FilterTabs::HasRecurseOptions )  {    searchInDirs->setChecked( krConfig->readBoolEntry( "Search In Subdirectories", true ) );    searchInArchives->setChecked( krConfig->readBoolEntry( "Search In Archives", false ) );    followLinks->setChecked( krConfig->readBoolEntry( "Follow Symlinks", false ) );  }  if( properties & FilterTabs::HasSearchIn )  {    searchIn->lineEdit()->setText( krConfig->readEntry( "Search In Edit", "" ) );    searchIn->listBox()->clear();    QStringList searchInList = krConfig->readListEntry( "Search In List" );    if( !searchInList.isEmpty() )      searchIn->listBox()->insertStringList( searchInList );  }  if( properties & FilterTabs::HasDontSearchIn )  {    dontSearchIn->lineEdit()->setText( krConfig->readEntry( "Dont Search In Edit", "" ) );    dontSearchIn->listBox()->clear();    QStringList dontSearchInList = krConfig->readListEntry( "Dont Search In List" );    if( !dontSearchInList.isEmpty() )      dontSearchIn->listBox()->insertStringList( dontSearchInList );  }}void GeneralFilter::saveToProfile( QString name ){  krConfig->setGroup( name );  krConfig->writeEntry( "Case Sensitive Search", searchForCase->isChecked() );  krConfig->writeEntry( "Case Sensitive Content", containsTextCase->isChecked() );  krConfig->writeEntry( "Remote Content Search", remoteContentSearch->isChecked() );  krConfig->writeEntry( "Match Whole Word Only", containsWholeWord->isChecked() );  krConfig->writeEntry( "Contains Text", containsText->currentText() );  krConfig->writeEntry( "Search For", searchFor->currentText() );  krConfig->writeEntry( "Mime Type", ofType->currentText() );  if( properties & FilterTabs::HasRecurseOptions )  {    krConfig->writeEntry( "Search In Subdirectories", searchInDirs->isChecked() );    krConfig->writeEntry( "Search In Archives", searchInArchives->isChecked() );    krConfig->writeEntry( "Follow Symlinks", followLinks->isChecked() );  }  if( properties & FilterTabs::HasSearchIn )  {    krConfig->writeEntry( "Search In Edit", searchIn->lineEdit()->text() );    QStringList searchInList;    for ( QListBoxItem *item = searchIn->listBox()->firstItem(); item != 0; item = item->next() )      searchInList.append( item->text().simplifyWhiteSpace() );    krConfig->writeEntry( "Search In List", searchInList );  }  if( properties & FilterTabs::HasDontSearchIn )  {    krConfig->writeEntry( "Dont Search In Edit", dontSearchIn->lineEdit()->text() );    QStringList dontSearchInList;    for ( QListBoxItem *item = dontSearchIn->listBox()->firstItem(); item != 0; item = item->next() )      dontSearchInList.append( item->text().simplifyWhiteSpace() );    krConfig->writeEntry( "Dont Search In List", dontSearchInList );  }}void GeneralFilter::refreshProfileListBox(){  profileListBox->clear();  profileListBox->insertStringList( ProfileManager::availableProfiles( "SelectionProfile" ) );  if( profileListBox->count() != 0 )  {    profileLoadBtn->setEnabled( true );    profileOverwriteBtn->setEnabled( true );    profileRemoveBtn->setEnabled( true );  }  else  {    profileLoadBtn->setEnabled( false );    profileOverwriteBtn->setEnabled( false );    profileRemoveBtn->setEnabled( false );  }}void GeneralFilter::slotAddBtnClicked(){  profileManager->newProfile( searchFor->currentText().simplifyWhiteSpace() );  refreshProfileListBox();}void GeneralFilter::slotOverwriteBtnClicked(){  QListBoxItem *item = profileListBox->item( profileListBox->currentItem() );  if( item != 0 )    profileManager->overwriteProfile( item->text() );}void GeneralFilter::slotRemoveBtnClicked(){  QListBoxItem *item = profileListBox->item( profileListBox->currentItem() );  if( item != 0 )  {    profileManager->deleteProfile( item->text() );    refreshProfileListBox();  }}void GeneralFilter::slotProfileDoubleClicked( QListBoxItem *item ){  if( item != 0 )  {    QString profileName = item->text();    profileManager->loadProfile( profileName );    fltTabs->close( true );  }}void GeneralFilter::slotLoadBtnClicked(){  QListBoxItem *item = profileListBox->item( profileListBox->currentItem() );  if( item != 0 )    profileManager->loadProfile( item->text() );}#include "generalfilter.moc"

⌨️ 快捷键说明

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