Account settings: Double click no longer open in the file browser #3585
authorOlivier Goffart <ogoffart@woboq.com>
Thu, 13 Aug 2015 09:53:00 +0000 (11:53 +0200)
committerOlivier Goffart <ogoffart@woboq.com>
Thu, 13 Aug 2015 09:53:00 +0000 (11:53 +0200)
Add a separate option in the context menu for it

src/gui/accountsettings.cpp
src/gui/accountsettings.h

index 3f9762b428c1042d89d5b212e19cf6d5e83d3a1f..960a9ae1d8aa10fdeda8a2a4e0013f99e218935f 100644 (file)
@@ -102,7 +102,6 @@ AccountSettings::AccountSettings(AccountState *accountState, QWidget *parent) :
     addAction(syncNowAction);
 
     connect(ui->_folderList, SIGNAL(clicked(QModelIndex)), SLOT(slotFolderActivated(QModelIndex)));
-    connect(ui->_folderList, SIGNAL(doubleClicked(QModelIndex)),SLOT(slotDoubleClicked(QModelIndex)));
 
     connect(ui->selectiveSyncApply, SIGNAL(clicked()), _model, SLOT(slotApplySelectiveSync()));
     connect(ui->selectiveSyncCancel, SIGNAL(clicked()), _model, SLOT(resetFolders()));
@@ -161,6 +160,8 @@ void AccountSettings::slotCustomContextMenuRequested(const QPoint &pos)
             this, SLOT(slotRemoveCurrentFolder()));
     connect(menu->addAction(folderPaused ? tr("Resume") : tr("Pause")), SIGNAL(triggered(bool)),
             this, SLOT(slotEnableCurrentFolder()));
+    connect(menu->addAction(tr("Open folder in file browser")), SIGNAL(triggered(bool)),
+            this, SLOT(slotOpenCurrentFolder()));
     menu->exec(tv->mapToGlobal(pos));
 }
 
@@ -296,13 +297,14 @@ void AccountSettings::slotResetCurrentFolder()
     }
 }
 
-void AccountSettings::slotDoubleClicked( const QModelIndex& indx )
+void AccountSettings::slotOpenCurrentFolder()
 {
-    if( ! indx.isValid() ) return;
-    QString alias = _model->data( indx, FolderStatusDelegate::FolderAliasRole ).toString();
-    if (alias.isEmpty()) return;
+    QModelIndex selected = ui->_folderList->selectionModel()->currentIndex();
 
-    emit openFolderAlias( alias );
+    if( selected.isValid() ) {
+        QString alias = _model->data( selected, FolderStatusDelegate::FolderAliasRole ).toString();
+        emit openFolderAlias(alias);
+    }
 }
 
 void AccountSettings::showConnectionLabel( const QString& message, QStringList errors )
index 2d28fca7abef2e452cc355b16b8c633e637de81f..535c67818c0c2ae775cbffeb5f887bd03962ebb2 100644 (file)
@@ -65,7 +65,6 @@ signals:
 public slots:
     void slotFolderActivated( const QModelIndex& );
     void slotOpenOC();
-    void slotDoubleClicked( const QModelIndex& );
     void slotUpdateQuota( qint64,qint64 );
     void slotAccountStateChanged(int state);
 
@@ -77,6 +76,7 @@ protected slots:
     void slotSyncCurrentFolderNow();
     void slotRemoveCurrentFolder();
     void slotResetCurrentFolder();
+    void slotOpenCurrentFolder();
     void slotFolderWizardAccepted();
     void slotFolderWizardRejected();
     void slotDeleteAccount();