void removeAllFiles(const string source){ _finddata_t *fileinfo = new _finddata_t; string mask = parser(source); int done, checker; done = _findfirst(mask.c_str(), fileinfo); if (done == -1){ throw exception("cant open remove directory!\n"); } while ((strcmp(fileinfo->name, ".") == 0) || (strcmp(fileinfo->name, "..") == 0)){ checker = _findnext(done, fileinfo); } string src, filename; while (checker != -1){ while (checker != -1 && fileinfo->attrib &_A_SUBDIR){ src = source + fileinfo->name + "\\"; removeAllFiles(src); if (_rmdir(src.c_str()) == -1){ throw exception("cant remove directory!\n"); } checker = _findnext(done, fileinfo); } if (checker != -1){ filename = source + fileinfo->name; if (remove(filename.c_str()) != 0){ throw exception("cant remove file!\n"); } checker = _findnext(done, fileinfo); } } delete fileinfo; _findclose(done); }
BackgroundParser::~BackgroundParser() { removeAllFiles(); delete( m_driver ); m_driver = 0; delete m_fileList; m_fileList = 0; }
void TagEditor::createActions(){ connect(LoadScriptButton,SIGNAL(clicked()),this,SLOT(loadScript())); connect(SaveScriptButton,SIGNAL(clicked()),this,SLOT(saveScript())); connect(RunScriptButton,SIGNAL(clicked()),this, SLOT(runScript())); QAction* searchOnlineAction = new QAction(tr("Search for selected file/album in online musicdatabases..."), this); searchOnlineAction->setShortcut(tr("Ctrl+S")); connect(searchOnlineAction, SIGNAL(triggered()), this, SLOT(searchOnline())); QAction* searchForFilesAction = new QAction(tr("Search for files to add to workspace..."), this); //searchForFilesAction->setShortcut(tr("Ctrl+S")); connect(searchForFilesAction, SIGNAL(triggered()), this, SLOT(searchAndAddFiles())); TreeView->setContextMenuPolicy(Qt::ActionsContextMenu); TreeView->addAction(searchOnlineAction); TreeView->addAction(searchForFilesAction); connect( TreeView, SIGNAL( expanded( const QModelIndex & ) ), this, SLOT( resizeColumn() ) ); connect( TreeView, SIGNAL( collapsed( const QModelIndex & ) ), this, SLOT( resizeColumn() ) ); //connect( TreeWidget_, SIGNAL( currentRowChanged( int ) ), this, SLOT( showTagInfo(int) ) ); connect( TreeWidget_, SIGNAL( itemSelectionChanged() ), this, SLOT( showTagInfo() ) ); connect( AddButton, SIGNAL( clicked() ), this, SLOT(addFiles() ) ); connect( RemoveButton, SIGNAL( clicked() ), this, SLOT(removeFiles() ) ); connect( ClearButton, SIGNAL( clicked() ), this, SLOT(removeAllFiles() ) ); connect( SaveButton, SIGNAL( clicked() ), this, SLOT(saveTag() ) ); connect( ChooseDirButton, SIGNAL( clicked() ), this, SLOT(chooseDir() ) ); connect( actionSettings, SIGNAL( triggered() ), this, SLOT( showSettings() ) ); connect( actionRewriteTag, SIGNAL( triggered() ), this, SLOT( rewriteTag() ) ); connect( actionRenameFiles, SIGNAL( triggered() ), this, SLOT( renameFiles() ) ); connect( actionReplaceTags, SIGNAL( triggered() ), this, SLOT( replaceTags() ) ); connect( actionSerialize, SIGNAL( triggered() ), this, SLOT( serialize() ) ); connect( actionClearTags, SIGNAL( triggered() ), this, SLOT( clearTags() ) ); //connect( actionRemoveFrames, SIGNAL( triggered() ), this, SLOT( removeFrames() ) ); //styles QSignalMapper *styleMapper = new QSignalMapper(this); QStringList styles = QStyleFactory::keys(); for(int i=0;i<styles.size();i++){ QAction *a = new QAction(styles[i],menuStyle); a->setCheckable(true); connect(a, SIGNAL(triggered()), styleMapper, SLOT(map())); styleMapper->setMapping(a, styles[i]); menuStyle->addAction(a); } menuStyle->addSeparator(); QAction *actionCustomStyleSheet = new QAction("Custom...",menuStyle); actionCustomStyleSheet->setCheckable(true); connect(actionCustomStyleSheet, SIGNAL(triggered()), this, SLOT(openStyleSheet())); menuStyle->addAction( actionCustomStyleSheet ); connect(styleMapper, SIGNAL(mapped(const QString &)), this, SLOT(setGUIStyle(const QString &))); }
void TagEditor::removeFiles(){ QModelIndexList indexes = TreeWidget_->selectionModel()->selectedRows(); if(indexes.size()==TreeWidget_->topLevelItemCount()){ removeAllFiles(); return; } for(int i=indexes.size()-1;i>=0;i--){ delete TreeWidget_->takeTopLevelItem(indexes[i].row()); } FileLabel->setText( "" ); clearTextFields(); }
QT_BEGIN_NAMESPACE FilesPage::FilesPage(QWidget *parent) : QWizardPage(parent) { setTitle(tr("Unreferenced Files")); setSubTitle(tr("Remove files which are neither referenced " "by a keyword nor by the TOC.")); m_ui.setupUi(this); m_ui.fileListWidget->setSelectionMode(QAbstractItemView::ExtendedSelection); m_ui.fileListWidget->installEventFilter(this); connect(m_ui.removeButton, SIGNAL(clicked()), this, SLOT(removeFile())); connect(m_ui.removeAllButton, SIGNAL(clicked()), this, SLOT(removeAllFiles())); m_ui.fileLabel->setText(tr("<p><b>Warning:</b> " "When removing images or stylesheets, be aware that those files " "are not directly referenced by the .adp or .dcf " "file.</p>")); }