void FileSettings::constrainCacheToMaxSize(int size) { const QString dataPath = dataFilePath(); QDir dataDir(dataPath); // get size of cache QFileInfoList dataFileInfoList = dataDir.entryInfoList(QDir::Files | QDir::NoDotDot, QDir::Time); int cacheSize = QFileInfo(dataPath).size(); for (int i = 0; i < dataFileInfoList.size(); ++i) cacheSize += dataFileInfoList.at(i).size(); while (cacheSize > size) // remove oldest file settings from cache { if (dataFileInfoList.isEmpty()) break; const QString fileName = dataFileInfoList.last().fileName(); int fileSize = dataFileInfoList.takeLast().size(); if (dataDir.remove(fileName)) cacheSize -= fileSize; } }
threadParam *MainWindow::getData(){ threadParam *p=0; QModelIndexList selection=currentPanel->panel->selectionModel()->selectedRows(0); if (selection.size()){ if ((currentPanel->model->fileName(selection.first())=="..")&&(selection.size()==1)) return 0; QFileInfoList files; foreach(QModelIndex item,selection){ files<<currentPanel->model->fileInfo(item); if (files.last().fileName()==trUtf8("..")) files.pop_back(); } p=new threadParam(files); p->source=currentPanel->model->rootPath(); if (currentPanel==left_panel) p->dest=right_panel->model->rootPath(); else p->dest=left_panel->model->rootPath(); }