aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Moore <moorekou@gmail.com>2015-09-09 11:03:49 -0400
committerKen Moore <moorekou@gmail.com>2015-09-09 11:03:49 -0400
commit8dab2cd7560926437cfdd50b42acf18e193b21ec (patch)
tree8ded852234f02966058905d59de80e98bb22d2ee
parentMake sure that when the last browser is closed a new one is created pointing ... (diff)
downloadlumina-8dab2cd7560926437cfdd50b42acf18e193b21ec.tar.gz
lumina-8dab2cd7560926437cfdd50b42acf18e193b21ec.tar.bz2
lumina-8dab2cd7560926437cfdd50b42acf18e193b21ec.zip
Make sure that drag events only happen with left/right mouse clicks, and clean up the "cancelling" of a file operation.
-rw-r--r--lumina-fm/FODialog.cpp20
-rw-r--r--lumina-fm/FODialog.h8
-rw-r--r--lumina-fm/MainUI.cpp4
-rw-r--r--lumina-fm/widgets/DDListWidgets.h16
4 files changed, 36 insertions, 12 deletions
diff --git a/lumina-fm/FODialog.cpp b/lumina-fm/FODialog.cpp
index b039166a..4f4ca838 100644
--- a/lumina-fm/FODialog.cpp
+++ b/lumina-fm/FODialog.cpp
@@ -46,17 +46,19 @@ void FODialog::setOverwrite(bool ovw){
}
//Public "start" functions
-void FODialog::RemoveFiles(QStringList paths){
+bool FODialog::RemoveFiles(QStringList paths){
Worker->ofiles = paths;
Worker->isRM = true;
if(CheckOverwrite()){
QTimer::singleShot(10,Worker, SLOT(slotStartOperations()));
+ return true;
}else{
this->close();
+ return false;
}
}
-void FODialog::CopyFiles(QStringList oldPaths, QStringList newPaths){
+bool FODialog::CopyFiles(QStringList oldPaths, QStringList newPaths){
//same permissions as old files
if(oldPaths.length() == newPaths.length()){
Worker->ofiles = oldPaths;
@@ -65,12 +67,14 @@ void FODialog::CopyFiles(QStringList oldPaths, QStringList newPaths){
Worker->isCP=true;
if(CheckOverwrite()){
QTimer::singleShot(10,Worker, SLOT(slotStartOperations()));
+ return true;
}else{
this->close();
+ return false;
}
}
-void FODialog::RestoreFiles(QStringList oldPaths, QStringList newPaths){
+bool FODialog::RestoreFiles(QStringList oldPaths, QStringList newPaths){
//user/group rw permissions
if(oldPaths.length() == newPaths.length()){
Worker->ofiles = oldPaths;
@@ -79,22 +83,26 @@ void FODialog::RestoreFiles(QStringList oldPaths, QStringList newPaths){
Worker->isRESTORE = true;
if(CheckOverwrite()){
QTimer::singleShot(10,Worker, SLOT(slotStartOperations()));
+ return true;
}else{
this->close();
+ return false;
}
}
-void FODialog::MoveFiles(QStringList oldPaths, QStringList newPaths){
+bool FODialog::MoveFiles(QStringList oldPaths, QStringList newPaths){
//no change in permissions
if(oldPaths.length() == newPaths.length()){
- Worker->ofiles = oldPaths; \
+ Worker->ofiles = oldPaths;
Worker->nfiles = newPaths;
}
Worker->isMV=true;
if(CheckOverwrite()){
QTimer::singleShot(10,Worker, SLOT(slotStartOperations()));
+ return true;
}else{
this->close();
+ return false;
}
}
@@ -111,7 +119,7 @@ bool FODialog::CheckOverwrite(){
QMessageBox::StandardButton ans = QMessageBox::question(this, tr("Overwrite Files?"), tr("Do you want to overwrite the existing files?")+"\n"+tr("Note: It will just add a number to the filename otherwise.")+"\n\n"+existing.join(", "), QMessageBox::YesToAll | QMessageBox::NoToAll | QMessageBox::Cancel, QMessageBox::NoToAll);
if(ans==QMessageBox::NoToAll){ Worker->overwrite = 0; } //don't overwrite
else if(ans==QMessageBox::YesToAll){ Worker->overwrite = 1; } //overwrite
- else{ qDebug() << " - Cancelled"; ok = false; } //cancel operations
+ else{ qDebug() << " - Cancelled"; Worker->overwrite = -1; ok = false; } //cancel operations
if(DEBUG){ qDebug() << " - Overwrite:" << Worker->overwrite; }
}
}
diff --git a/lumina-fm/FODialog.h b/lumina-fm/FODialog.h
index d80d4a39..ef3ff57d 100644
--- a/lumina-fm/FODialog.h
+++ b/lumina-fm/FODialog.h
@@ -66,10 +66,10 @@ public:
bool noerrors;
void setOverwrite(bool);
- void RemoveFiles(QStringList paths);
- void CopyFiles(QStringList oldPaths, QStringList newPaths); //same permissions as old files
- void RestoreFiles(QStringList oldPaths, QStringList newPaths); //user/group rw permissions
- void MoveFiles(QStringList oldPaths, QStringList newPaths); //no change in permissions
+ bool RemoveFiles(QStringList paths);
+ bool CopyFiles(QStringList oldPaths, QStringList newPaths); //same permissions as old files
+ bool RestoreFiles(QStringList oldPaths, QStringList newPaths); //user/group rw permissions
+ bool MoveFiles(QStringList oldPaths, QStringList newPaths); //no change in permissions
private:
Ui::FODialog *ui;
diff --git a/lumina-fm/MainUI.cpp b/lumina-fm/MainUI.cpp
index 49712b74..36c756d9 100644
--- a/lumina-fm/MainUI.cpp
+++ b/lumina-fm/MainUI.cpp
@@ -694,7 +694,7 @@ void MainUI::PasteFiles(QString dir, QStringList raw){
if(!copy.isEmpty()){
qDebug() << "Paste Copy:" << copy << "->" << newcopy;
FODialog dlg(this);
- dlg.CopyFiles(copy, newcopy);
+ if( !dlg.CopyFiles(copy, newcopy) ){ return; } //cancelled
dlg.show();
dlg.exec();
errs = errs || !dlg.noerrors;
@@ -702,7 +702,7 @@ void MainUI::PasteFiles(QString dir, QStringList raw){
if(!cut.isEmpty()){
qDebug() << "Paste Cut:" << cut << "->" << newcut;
FODialog dlg(this);
- dlg.MoveFiles(cut, newcut);
+ if(!dlg.MoveFiles(cut, newcut) ){ return; } //cancelled
dlg.show();
dlg.exec();
errs = errs || !dlg.noerrors;
diff --git a/lumina-fm/widgets/DDListWidgets.h b/lumina-fm/widgets/DDListWidgets.h
index d47c7ee4..2d885192 100644
--- a/lumina-fm/widgets/DDListWidgets.h
+++ b/lumina-fm/widgets/DDListWidgets.h
@@ -111,6 +111,14 @@ protected:
if(ev->button() != Qt::RightButton && ev->button() != Qt::LeftButton){ ev->ignore(); }
else{ QListWidget::mouseReleaseEvent(ev); } //pass it along to the widget
}
+ void mousePressEvent(QMouseEvent *ev){
+ if(ev->button() != Qt::RightButton && ev->button() != Qt::LeftButton){ ev->ignore(); }
+ else{ QListWidget::mousePressEvent(ev); } //pass it along to the widget
+ }
+ /*void mouseMoveEvent(QMouseEvent *ev){
+ if(ev->button() != Qt::RightButton && ev->button() != Qt::LeftButton){ ev->ignore(); }
+ else{ QListWidget::mouseMoveEvent(ev); } //pass it along to the widget
+ }*/
};
//================
@@ -199,5 +207,13 @@ protected:
if(ev->button() != Qt::RightButton && ev->button() != Qt::LeftButton){ ev->ignore(); }
else{ QTreeWidget::mouseReleaseEvent(ev); } //pass it along to the widget
}
+ void mousePressEvent(QMouseEvent *ev){
+ if(ev->button() != Qt::RightButton && ev->button() != Qt::LeftButton){ ev->ignore(); }
+ else{ QTreeWidget::mousePressEvent(ev); } //pass it along to the widget
+ }
+ /*void mouseMoveEvent(QMouseEvent *ev){
+ if(ev->button() != Qt::RightButton && ev->button() != Qt::LeftButton){ ev->ignore(); }
+ else{ QTreeWidget::mouseMoveEvent(ev); } //pass it along to the widget
+ }*/
};
#endif \ No newline at end of file
bgstack15