summaryrefslogtreecommitdiffstats
path: root/filesystemwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filesystemwidget.cpp')
-rw-r--r--filesystemwidget.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp
index 4c05640..79ef2ab 100644
--- a/filesystemwidget.cpp
+++ b/filesystemwidget.cpp
@@ -163,6 +163,7 @@ void FilesystemWidget::directoryEdited(){
}
void FilesystemWidget::fileViewActivated(const QModelIndex &idx){
+ QMutexLocker l(&mFileModel->collector()->hold());
QModelIndex real = mFileProxy->mapToSource(idx);
if(mFileModel->isDir(real)){
if(idx.data().toString() == ".."){
@@ -216,6 +217,7 @@ void FilesystemWidget::goBack(){
}
void FilesystemWidget::deleteFiles(){
+ QMutexLocker l(&mFileModel->collector()->hold());
QSortFilterProxyModel *proxy = qobject_cast<QSortFilterProxyModel*>(mFileView->model());
QModelIndexList selected = mFileView->selectionModel()->selectedRows();
if(selected.isEmpty()){
@@ -233,6 +235,7 @@ void FilesystemWidget::deleteFiles(){
}
void FilesystemWidget::toClipboard(int clipmode){
+ QMutexLocker l(&mFileModel->collector()->hold());
mClipboardMode = clipmode;
QClipboard *clip = qApp->clipboard();
QModelIndexList selected = mFileView->selectionModel()->selectedRows();
@@ -309,6 +312,7 @@ void FilesystemWidget::playSelected(const QString &player){
}
void FilesystemWidget::readSettings(){
+ QMutexLocker l(&mFileModel->collector()->hold());
QSettings s;
QStringList expandedDirs = s.value("paths/expandeddirs").toStringList();
if(expandedDirs.isEmpty()){
@@ -337,6 +341,7 @@ void FilesystemWidget::readSettings(){
}
void FilesystemWidget::writeSettings(){
+ QMutexLocker l(&mFileModel->collector()->hold());
QSettings s;
s.setValue("paths/expandeddirs", mExpandedDirs);
QModelIndex currentDir = mDirView->selectionModel()->currentIndex();
@@ -356,6 +361,7 @@ void FilesystemWidget::configChanged(){
}
void FilesystemWidget::dvdMount(){
+ QMutexLocker l(&mFileModel->collector()->hold());
QSettings s;
QString mountDir = s.value("paths/dvdmount").toString();
if(isMounted()){
@@ -414,6 +420,7 @@ void FilesystemWidget::selectAllPV(){
}
void FilesystemWidget::setWindowTitle(){
+ QMutexLocker l(&mFileModel->collector()->hold());
QModelIndex curIdx = mDirView->selectionModel()->currentIndex();
QString dir = curIdx.data(QFileSystemModel::FilePathRole).toString();
mWindowTitle = QString(tr("Filemanager - [%1]")).arg(dir);
@@ -501,6 +508,7 @@ void FilesystemWidget::copyRecursive(const QFileInfo &start, const QString &dest
}
const QString FilesystemWidget::selectedDir(){
+ QMutexLocker l(&mFileModel->collector()->hold());
const QModelIndexList selected = mDirView->selectionModel()->selectedRows();
if(!selected.isEmpty()){
return selected.at(0).data(QFileSystemModel::FilePathRole).toString();