mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-24 13:25:52 +03:00
FileItemDialog: Add copy to clipboard functionality
This commit is contained in:
parent
36b385ed54
commit
0f36dc03c4
2 changed files with 32 additions and 0 deletions
|
@ -47,6 +47,9 @@ FileItemDialog::FileItemDialog(Theme *theme, QWidget *parent) :
|
|||
_timer.setInterval(1000);
|
||||
connect(&_timer, SIGNAL(timeout()), this, SLOT(slotSetFolderMessage()));
|
||||
|
||||
QPushButton *copyBtn = _dialogButtonBox->addButton(tr("Copy"), QDialogButtonBox::ActionRole);
|
||||
connect(copyBtn, SIGNAL(clicked()), SLOT(copyToClipboard()));
|
||||
|
||||
setWindowTitle(tr("Sync Protocol"));
|
||||
|
||||
}
|
||||
|
@ -118,6 +121,34 @@ void FileItemDialog::slotSetFolderMessage()
|
|||
_timelabel->setText(tr("%1 (finished %2 sec. ago)").arg(_folderMessage).arg(secs));
|
||||
}
|
||||
|
||||
void FileItemDialog::copyToClipboard()
|
||||
{
|
||||
QString text;
|
||||
QTextStream ts(&text);
|
||||
|
||||
int topLevelItems = _treeWidget->topLevelItemCount();
|
||||
for (int i = 0; i < topLevelItems; i++) {
|
||||
QTreeWidgetItem *item = _treeWidget->topLevelItem(i);
|
||||
ts << left << qSetFieldWidth(50)
|
||||
<< item->data(0, Qt::DisplayRole).toString()
|
||||
<< right << qSetFieldWidth(6)
|
||||
<< item->data(1, Qt::DisplayRole).toString()
|
||||
<< endl;
|
||||
int childItems = item->childCount();
|
||||
for (int j = 0; j < childItems; j++) {
|
||||
QTreeWidgetItem *child =item->child(j);
|
||||
ts << left << qSetFieldWidth(0) << QLatin1String(" ")
|
||||
<< child->data(0,Qt::DisplayRole).toString()
|
||||
<< QString::fromLatin1(" (%1)").arg(
|
||||
child->data(1, Qt::DisplayRole).toString()
|
||||
)
|
||||
<< endl;
|
||||
}
|
||||
}
|
||||
|
||||
QApplication::clipboard()->setText(text);
|
||||
}
|
||||
|
||||
void FileItemDialog::accept()
|
||||
{
|
||||
_timer.stop();
|
||||
|
|
|
@ -41,6 +41,7 @@ public slots:
|
|||
|
||||
protected slots:
|
||||
void slotSetFolderMessage();
|
||||
void copyToClipboard();
|
||||
|
||||
private:
|
||||
void setSyncFileItems( const SyncFileItemVector& list );
|
||||
|
|
Loading…
Reference in a new issue