コード例 #1
0
    void cleanupTestCase()
    {
        // Do the same cleanups
        QDir dir (PRIVILEGED_DATA_DIR);
        dir.removeRecursively();

    }
コード例 #2
0
ファイル: builder.cpp プロジェクト: Ermakov-D/mariamole
bool Builder::Clean(void)
{
    msg.buildStage = 0;
    project = workspace.GetCurrentProject();
    if (project == NULL) {
        msg.Add("Could not find detect the current project", mtError);
        return false;
    }

    map <QString, BoardDef>::const_iterator board = config.boards.find(project->boardName);
    if (board == config.boards.end()) {
        msg.Add("Could not find board configuration for project: " + project->name, mtError);
        return false;
    }

    // Create the build directory
    buildPath = config.workspace + "/" + project->name + "/build";
    QDir dir = QDir(buildPath);
    bool ok = dir.removeRecursively();
    if (ok==false) {
        msg.Add("Error while cleaning project " + project->name + ".", mtError);
    }

    msg.ClearBuildInfo();
    lastBuildStatus = 0;
    return ok;
}
コード例 #3
0
ファイル: qspotifysession.cpp プロジェクト: 2K3O/libQtSpotify
void QSpotifySession::clearCache() {
    qDebug() << "QSpotifySession::clearCache";
    QString dataPath = settings.value("dataPath").toString();
    if(dataPath.contains(".local/share") || dataPath.contains("/mnt/sdcard/")) {
        QDir *dataDir = new QDir(dataPath);
        dataDir->removeRecursively();
    }
}
コード例 #4
0
ファイル: notesubfolder.cpp プロジェクト: XavierCLL/QOwnNotes
/**
 * Removes the directory recursively from the file system
 */
bool NoteSubFolder::removeFromFileSystem() {
    QDir dir = this->dir();

    if (dir.exists()) {
        return dir.removeRecursively();
    }

    return false;
}
コード例 #5
0
ファイル: rm.cpp プロジェクト: venky1014/gbash
rm::rm(QString cmd) {
    QTextStream out (stdout);
    QString dirNAME = cmd.mid(3);
    QDir path;
    if(cmd.contains(".txt"))
        path.remove(dirNAME);
    else if(cmd.contains(" -r"))
        path.removeRecursively();
    else
        path.rmdir(dirNAME);
}
コード例 #6
0
bool _clearmydocs(){
    //Delete and recreate MyDocuments\Aquamark3 folder
    QDir mydocs; mydocs.setPath(qApp->property("Benchmark_My_Docs_Folder").toString());
    QDir benchpath; benchpath.setPath(qApp->property("Benchmark_Install_Path").toString());
    mydocs.removeRecursively(); WriteLog("mydocs removed:" + mydocs.absolutePath() );
    if (!mydocs.exists()) {
        mydocs.mkpath(".");
        WriteLog("mydocs created: " + mydocs.absolutePath() );
        return true;
    } else {
        return false;
    }
}
コード例 #7
0
rm::rm(QString cmd){
    char dec;
    QString dirNAME = cmd.mid(3);
    QDir path;
    if(cmd.contains(".txt"))
    path.remove(dirNAME);
    else if(cmd.contains(" -r")){
        out << "Are you sure about this? It's gonna delete everything." <<endl;
        in >> dec;

        if(dec == 'Y')
        path.removeRecursively();
    }
コード例 #8
0
ファイル: main.cpp プロジェクト: sailfishos-patches/ausmt
void TestAusmt::preparePatches()
{
    GET_DIR;
    GET_FILES_DIR;
    GET_PATCHES_DIR;

    // Dump patches
    QDir patchesResDir (":/patches/");
    foreach (const QString &fileName, patchesResDir.entryList(QDir::Files)) {
        QFile file (patchesResDir.absoluteFilePath(fileName));
        if (patchesDir.exists(fileName)) {
            QVERIFY(QFileInfo(patchesDir.absoluteFilePath(fileName)).isFile());
            QVERIFY(patchesDir.remove(fileName));
        }
        QVERIFY(file.copy(patchesDir.absoluteFilePath(fileName)));
    }

    foreach (const QString &dirName, patchesResDir.entryList(QDir::Dirs)) {
        if (patchesDir.exists(dirName)) {
            QVERIFY(QFileInfo(patchesDir.absoluteFilePath(dirName)).isDir());
            QDir subDir (patchesDir);
            QVERIFY(subDir.cd(dirName));
            QVERIFY(subDir.removeRecursively());
        }

        patchesDir.mkdir(dirName);
        QDir patchesSubDir (patchesDir);
        QVERIFY(patchesSubDir.cd(dirName));

        QDir patchesResSubDir (patchesResDir);
        QVERIFY(patchesResSubDir.cd(dirName));

        foreach (const QString &fileName, patchesResSubDir.entryList(QDir::Files)) {
            QFile file (patchesResSubDir.absoluteFilePath(fileName));
            QVERIFY(file.copy(patchesSubDir.absoluteFilePath(fileName)));
        }
    }

    // Update patches
    QString makePatchName = patchesDir.absoluteFilePath(MAKE_PATCH_SH);
    QFile makePatch (makePatchName);
    QVERIFY(makePatch.exists());
    QVERIFY(makePatch.setPermissions(QFileDevice::ReadUser | QFileDevice::WriteUser | QFileDevice::ExeUser));
    QProcess makePatchProcess;
    makePatchProcess.setWorkingDirectory(patchesDir.absolutePath());
    makePatchProcess.start(patchesDir.absoluteFilePath(MAKE_PATCH_SH),
                           QStringList() << filesDir.absolutePath());
    makePatchProcess.waitForFinished(-1);
    QCOMPARE(makePatchProcess.exitCode(), 0);
}
コード例 #9
0
void TokenManager::disconnect()
{
    setToken(QString());

    // We need to remove the cache TODO: move this as independant of app names ?
    QString sharePath = QStandardPaths::writableLocation(QStandardPaths::DataLocation);
    if (!sharePath.contains(QCoreApplication::instance()->applicationName())) {
        return;
    }

    if (!sharePath.contains(QCoreApplication::instance()->organizationName())) {
        return;
    }

    QDir dataDir (sharePath);
    dataDir.removeRecursively();

}
コード例 #10
0
void LocalXmlBackend::deleteTodoLists()
{
  QList<ITodoList*> todoLists;
  do {
    todoLists = m_database->getTodoLists( IDatabase::QueryDisposed, 100 );
    for ( ITodoList *todoList : todoLists ) {
      QString fileName = m_localStorageDirectory + "/" +
          todoList->metaAttributes().value( TodoListMetaFileName, QString() ).toString();
      QFileInfo fi( fileName );
      if ( fi.exists() ) {
        QDir dir = fi.absoluteDir();
        dir.removeRecursively();
      }
      m_database->deleteTodoList( todoList );
      delete todoList;
    }
  } while ( !todoLists.isEmpty() );
}
コード例 #11
0
ファイル: main.cpp プロジェクト: sailfishos-patches/ausmt
void TestAusmt::testUninstallRemove()
{
    prepareSimple();
    GET_DIR;
    GET_FILES_DIR;
    GET_PATCHES_DIR;

    // The user uninstalled the patch package, and is trying to remove the patch
    QCOMPARE(QProcess::execute(dir.absoluteFilePath(AUSMT_INSTALL), QStringList() << "simple-patch1"), 0);
    checkSimple1Applied();

    // Remove the installed patch
    QDir simplePatchDir (patchesDir.absoluteFilePath("simple-patch1"));
    QVERIFY(simplePatchDir.removeRecursively());

    // Unapply
    QCOMPARE(QProcess::execute(dir.absoluteFilePath(AUSMT_REMOVE), QStringList() << "simple-patch1"), 0);
    checkUnapplied();
}
コード例 #12
0
void CrashHandler::checkCrashsaves()
{
    MainWindow *mw = MainWinConnect::pMainWin;
    QDir crashSave;
    crashSave.setCurrent(AppPathManager::userAppDir());

    if(crashSave.exists("__crashsave"))
    {
        crashSave.cd("__crashsave");
        QStringList allCrashFiles = crashSave.entryList(QDir::Files | QDir::NoDotAndDotDot);

        for(QString &file : allCrashFiles)
        {
            QString fPath = crashSave.absoluteFilePath(file);
            mw->OpenFile(fPath, false);
        }

        QList<QMdiSubWindow *> listOfAllSubWindows = mw->allEditWins();

        for(QMdiSubWindow *subWin : listOfAllSubWindows)
        {
            /*if(MainWinConnect::pMainWin->activeChildWindow(subWin) == 1){
                MainWinConnect::pMainWin->activeLvlEditWin()->makeCrashState();
            }else */
            if(mw->activeChildWindow(subWin) == MainWindow::WND_NpcTxt)
                mw->activeNpcEditWin()->makeCrashState();

            /*else if(MainWinConnect::pMainWin->activeChildWindow(subWin) == 3){
                MainWinConnect::pMainWin->activeWldEditWin()->makeCrashState();
            }*/
        }

        //Clean up all files from crash-save folder after restoring
        crashSave.removeRecursively();
        QMessageBox::information(mw,
                                 tr("Crash recovery", "Crash recovery - emergency file saving after crash. A title of message box."),
                                 tr("Since the last crash, the editor recovered some files.\n"
                                    "Please save them before doing anything else."),
                                 QMessageBox::Ok);
    }
}
コード例 #13
0
ファイル: gitarre.cpp プロジェクト: poznyakovskiy/gitarre
void Gitarre::onRemoveRepoAction()
{
	int i = RepoView->currentIndex().row();
	QMessageBox messageBox (QMessageBox::NoIcon, "Remove repository", "Do you want to remove this repository or delete it?");
	QPushButton *buttonRemove = messageBox.addButton ("Remove", QMessageBox::AcceptRole);
	QPushButton *buttonDelete = messageBox.addButton ("Delete", QMessageBox::RejectRole);
	messageBox.addButton (QMessageBox::Cancel);
	messageBox.exec();
	if (messageBox.clickedButton() == buttonRemove)
		RemoveRepo (i);
	else if (messageBox.clickedButton() == buttonDelete)
	{
		int res = QMessageBox::warning (this, "Delete repository", "This will permanently delete the working directory from file system. Proceed?", QMessageBox::Ok | QMessageBox::Cancel);
		if (res == QMessageBox::Ok)
		{
			QDir dir = Repos[i]->GetDir();
			RemoveRepo (i);
			dir.removeRecursively();
		}
		else
			onRemoveRepoAction();
	}
}
コード例 #14
0
ファイル: main.cpp プロジェクト: sailfishos-patches/ausmt
void TestAusmt::initTestCase()
{
    // Dirs
    QDir srcDir (QStandardPaths::writableLocation(QStandardPaths::TempLocation));
    if (!srcDir.exists(AUSMTSRC_SUBDIR)) {
        QVERIFY(srcDir.mkdir(AUSMTSRC_SUBDIR));
    }
    QVERIFY(srcDir.cd(AUSMTSRC_SUBDIR));

    GET_DIR;
    GET_VAR_DIR;
    GET_FILES_DIR;
    GET_PATCHES_DIR;

    // Dump AUSMT into src dir
    QDir ausmtResDir (":/ausmtsrc/");
    foreach (const QString &fileName, ausmtResDir.entryList(QDir::Files)) {
        QFile file (ausmtResDir.absoluteFilePath(fileName));
        if (srcDir.exists(fileName)) {
            QVERIFY(QFileInfo(srcDir.absoluteFilePath(fileName)).isFile());
            QVERIFY(srcDir.remove(fileName));
        }
        QVERIFY(file.copy(srcDir.absoluteFilePath(fileName)));
    }

    QDir ausmtTestResDir (":/ausmtsrc-test/");
    foreach (const QString &fileName, ausmtTestResDir.entryList(QDir::Files)) {
        QFile file (ausmtTestResDir.absoluteFilePath(fileName));
        if (srcDir.exists(fileName)) {
            QVERIFY(QFileInfo(srcDir.absoluteFilePath(fileName)).isFile());
            QVERIFY(srcDir.remove(fileName));
        }
        QVERIFY(file.copy(srcDir.absoluteFilePath(fileName)));
    }

    // Make a better constants_root.sh
    QFile constantsRoot (srcDir.absoluteFilePath(CONSTANTS_ROOT_SH));
    QVERIFY(constantsRoot.open(QIODevice::WriteOnly));
    QTextStream constantsRootStream (&constantsRoot);
    constantsRootStream << QString("AUSMT_VAR_DIR=%1\n").arg(varDir.absolutePath());
    constantsRootStream << QString("PATCH_ROOT_DIR=%1\n").arg(patchesDir.absolutePath());
    constantsRootStream << QString("FILES_DIR=%1\n").arg(filesDir.absolutePath());
    constantsRootStream << QString("NOTIFY_WRAPPER_EXEC=echo\n");
    constantsRoot.close();

    // Build AUSMT
    QString buildName = srcDir.absoluteFilePath(BUILD_SH);
    QFile build (buildName);
    QVERIFY(build.exists());
    QVERIFY(build.setPermissions(QFileDevice::ReadUser | QFileDevice::WriteUser | QFileDevice::ExeUser));
    QProcess buildProcess;
    buildProcess.setWorkingDirectory(srcDir.absolutePath());
    buildProcess.start(PYTHON, QStringList() << buildName);
    buildProcess.waitForFinished(-1);
    QCOMPARE(buildProcess.exitCode(), 0);

    foreach (const QString &fileName, dir.entryList(QDir::Files)) {
        QFile file (dir.absoluteFilePath(fileName));
        QVERIFY(file.setPermissions(QFileDevice::ReadUser | QFileDevice::WriteUser | QFileDevice::ExeUser));
    }

    // Remove src
    QVERIFY(srcDir.removeRecursively());

    // Prepare patches
    preparePatches();
}
コード例 #15
0
ファイル: sessions.cpp プロジェクト: guek/notepadqq
bool saveSession(DocEngine* docEngine, TopEditorContainer* editorContainer, QString sessionPath, QString cacheDirPath)
{
    const bool cacheModifiedFiles = !cacheDirPath.isEmpty();

    QDir cacheDir;

    // Clear the cache directory by deleting and recreating it.
    if (cacheModifiedFiles) {
        cacheDir = QDir(cacheDirPath);

        bool success = false;

        if (cacheDir.exists())
            success = cacheDir.removeRecursively();

        success |= cacheDir.mkpath(cacheDirPath);

        if(!success)
            return false;
    }

    std::vector<ViewData> viewData;

    //Loop through all tabwidgets and their tabs
    const int tabWidgetsCount = editorContainer->count();
    for (int i = 0; i < tabWidgetsCount; i++) {
        EditorTabWidget *tabWidget = editorContainer->tabWidget(i);
        const int tabCount = tabWidget->count();

        viewData.push_back( ViewData() );
        ViewData& currentViewData = viewData.back();

        for (int j = 0; j < tabCount; j++) {
            Editor* editor = tabWidget->editor(j);
            bool isClean = editor->isClean();
            bool isOrphan = editor->fileName().isEmpty();

            if (isOrphan && !cacheModifiedFiles)
                continue; // Don't save temporary files if we're not caching tabs

            TabData td;

            if (!isClean && cacheModifiedFiles) {
                // Tab is dirty, meaning it needs to be cached.
                QUrl cacheFilePath = PersistentCache::createValidCacheName(cacheDir, tabWidget->tabText(j));

                td.cacheFilePath = cacheFilePath.toLocalFile();

                if (docEngine->saveDocument(tabWidget, j, cacheFilePath, true) != DocEngine::saveFileResult_Saved) {
                    return false;
                }
            } else if (isOrphan) {
                // Since we didn't cache the file and it is an orphan, we won't save it in the session.
                continue;
            }
            // Else tab is an openened unmodified file, we don't have to do anything special.

            td.filePath = !isOrphan ? editor->fileName().toLocalFile() : "";

            // Finally save other misc information about the tab.
            const auto& scrollPos = editor->scrollPosition();
            td.scrollX = scrollPos.first;
            td.scrollY = scrollPos.second;
            td.active = tabWidget->currentEditor() == editor;
            td.language = editor->language();

            // If we're caching and there's a file opened in the tab we want to inform the
            // user whether the file's contents have changed since Nqq was last opened.
            // For this we save and later compare the modification date.
            if (!isOrphan && cacheModifiedFiles) {
                // As a special case, if the file has *already* changed we set the modification
                // time to 1 so we always trigger the warning.
                if (editor->fileOnDiskChanged())
                    td.lastModified = 1;
                else
                    td.lastModified = QFileInfo(td.filePath).lastModified().toMSecsSinceEpoch();
            }

            currentViewData.tabs.push_back( td );

        } // end for
    } // end for

    // Write all information to a session file
    QFile file(sessionPath);
    file.open(QIODevice::WriteOnly);

    if (!file.isOpen())
        return false;

    SessionWriter sessionWriter(file);

    for (const auto& view : viewData)
        sessionWriter.addViewData(view);

    return true;
}