/*************************************************************************** dsdirselectdialog.cpp - description ------------------- begin : Sat Jan 03 2004 copyright : (C) 2004 by Dominik Seichter email : domseichter@web.de ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include "dsdirselectdialog.h" // TQt includes #include #include #include #include #include #include // KDE includes #include #include #include DSDirSelectDialog::DSDirSelectDialog( TQWidget* parent ) : KFileDialog( ":KRename", "*", parent, 0, false ) { setOperationMode( KFileDialog::Opening ); setMode( KFile::Files | KFile::ExistingOnly ); TQVBox* vbox = new TQVBox( this ); if( layout() ) layout()->add( vbox ); else tqDebug("KFileDialog does not have a layout!!!"); checkDir = new TQCheckBox( i18n("Add directory names &with filenames"), vbox ); check = new TQCheckBox( i18n("Add subdirectories &recursively"), vbox ); TQHBox* hbox = new TQHBox( vbox ); TQWidget* spacer = new TQWidget( hbox ); spacer->setMinimumWidth( 20 ); checkHidden = new TQCheckBox( i18n("Add &hidden directories"), hbox ); hbox->setStretchFactor( checkHidden, 4 ); checkOnlyDir = new TQCheckBox( i18n("Add directory names only"), vbox ); connect( check, TQT_SIGNAL( clicked() ), this, TQT_SLOT( enableControls() )); TQToolTip::add( check, i18n("Walk recursively through the directory tree and add also the content of all subdirectories to the list of files to rename.") ); TQToolTip::add( checkHidden, i18n("If not checked, KRename will ignore directories starting with a dot during recursive adding.") ); TQToolTip::add( checkOnlyDir, i18n("Add only the directory names and not the names of the files in the directory to KRename.") ); TQToolTip::add( checkDir, i18n("This option causes KRename to add also the name of the base directory of the selected files to its list.") ); enableControls(); } bool DSDirSelectDialog::recursively() const { return check->isChecked(); } bool DSDirSelectDialog::hidden() const { return checkHidden->isChecked(); } bool DSDirSelectDialog::dirs() const { return checkDir->isChecked(); } bool DSDirSelectDialog::onlyDirs() const { return checkOnlyDir->isChecked(); } void DSDirSelectDialog::setRecursively( bool b ) { check->setChecked( b ); } void DSDirSelectDialog::enableControls() { checkHidden->setEnabled( check->isChecked() ); } void DSDirSelectDialog::slotOk() { const KFileItemList *items = ops->selectedItems(); if ( !items || items->isEmpty() ) { KDialogBase::accept(); } else KFileDialog::slotOk(); } KURL::List DSDirSelectDialog::selectedURLs() { KURL::List list = KFileDialog::selectedURLs(); if( list.isEmpty() ) list.append( baseURL() ); return list; } #include "dsdirselectdialog.moc"