mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-27 23:17:13 +03:00
[CSE] Dedicated function for the subfolder menu
This commit is contained in:
parent
c7d9abbea3
commit
69dc099b17
2 changed files with 47 additions and 45 deletions
|
@ -255,30 +255,20 @@ void AccountSettings::doExpand()
|
||||||
ui->_folderList->expandToDepth(0);
|
ui->_folderList->expandToDepth(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountSettings::slotCustomContextMenuRequested(const QPoint &pos)
|
void AccountSettings::slotSubfolderContextMenuRequested(const QModelIndex& index, const QPoint& pos)
|
||||||
{
|
{
|
||||||
QTreeView *tv = ui->_folderList;
|
QMenu menu;
|
||||||
QModelIndex index = tv->indexAt(pos);
|
auto ac = menu.addAction(tr("Open folder"));
|
||||||
if (!index.isValid()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_model->classify(index) == FolderStatusModel::SubFolder) {
|
|
||||||
QTreeView *tv = ui->_folderList;
|
|
||||||
QMenu *menu = new QMenu(tv);
|
|
||||||
menu->setAttribute(Qt::WA_DeleteOnClose);
|
|
||||||
|
|
||||||
QAction *ac = menu->addAction(tr("Open folder"));
|
|
||||||
connect(ac, &QAction::triggered, this, &AccountSettings::slotOpenCurrentLocalSubFolder);
|
connect(ac, &QAction::triggered, this, &AccountSettings::slotOpenCurrentLocalSubFolder);
|
||||||
|
|
||||||
QString fileName = _model->data(index, FolderStatusDelegate::FolderPathRole).toString();
|
auto fileName = _model->data(index, FolderStatusDelegate::FolderPathRole).toString();
|
||||||
if (!QFile::exists(fileName)) {
|
if (!QFile::exists(fileName)) {
|
||||||
ac->setEnabled(false);
|
ac->setEnabled(false);
|
||||||
}
|
}
|
||||||
auto fileId = _model->data(index, FolderStatusModel::FileIdRole).toByteArray();
|
auto fileId = _model->data(index, FolderStatusModel::FileIdRole).toByteArray();
|
||||||
|
|
||||||
if (accountsState()->account()->capabilities().clientSideEncryptionAvaliable()) {
|
if (accountsState()->account()->capabilities().clientSideEncryptionAvaliable()) {
|
||||||
ac = menu->addAction(tr("Encrypt"));
|
ac = menu.addAction(tr("Encrypt"));
|
||||||
connect(ac, &QAction::triggered, [this, &fileId](bool triggered) {
|
connect(ac, &QAction::triggered, [this, &fileId](bool triggered) {
|
||||||
Q_UNUSED(triggered);
|
Q_UNUSED(triggered);
|
||||||
auto job = new OCC::SetEncryptionFlagApiJob(accountsState()->account(), QString(fileId));
|
auto job = new OCC::SetEncryptionFlagApiJob(accountsState()->account(), QString(fileId));
|
||||||
|
@ -295,7 +285,7 @@ void AccountSettings::slotCustomContextMenuRequested(const QPoint &pos)
|
||||||
job->start();
|
job->start();
|
||||||
});
|
});
|
||||||
|
|
||||||
ac = menu->addAction(tr("Decrypt"));
|
ac = menu.addAction(tr("Decrypt"));
|
||||||
connect(ac, &QAction::triggered, [this, &fileId](bool triggered) {
|
connect(ac, &QAction::triggered, [this, &fileId](bool triggered) {
|
||||||
Q_UNUSED(triggered);
|
Q_UNUSED(triggered);
|
||||||
auto job = new OCC::DeleteApiJob(accountsState()->account(),
|
auto job = new OCC::DeleteApiJob(accountsState()->account(),
|
||||||
|
@ -307,8 +297,19 @@ void AccountSettings::slotCustomContextMenuRequested(const QPoint &pos)
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
menu->exec(QCursor::pos());
|
menu.exec(QCursor::pos());
|
||||||
|
}
|
||||||
|
|
||||||
|
void AccountSettings::slotCustomContextMenuRequested(const QPoint &pos)
|
||||||
|
{
|
||||||
|
QTreeView *tv = ui->_folderList;
|
||||||
|
QModelIndex index = tv->indexAt(pos);
|
||||||
|
if (!index.isValid()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_model->classify(index) == FolderStatusModel::SubFolder) {
|
||||||
|
slotSubfolderContextMenuRequested(index, pos);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,6 +85,7 @@ protected slots:
|
||||||
void slotOpenAccountWizard();
|
void slotOpenAccountWizard();
|
||||||
void slotAccountAdded(AccountState *);
|
void slotAccountAdded(AccountState *);
|
||||||
void refreshSelectiveSyncStatus();
|
void refreshSelectiveSyncStatus();
|
||||||
|
void slotSubfolderContextMenuRequested(const QModelIndex& idx, const QPoint& point);
|
||||||
void slotCustomContextMenuRequested(const QPoint &);
|
void slotCustomContextMenuRequested(const QPoint &);
|
||||||
void slotFolderListClicked(const QModelIndex &indx);
|
void slotFolderListClicked(const QModelIndex &indx);
|
||||||
void doExpand();
|
void doExpand();
|
||||||
|
|
Loading…
Reference in a new issue