mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
Updated the completed transfers widget to work as advertised
This commit is contained in:
parent
4bb2ec3356
commit
1644f8c139
5
core.cpp
5
core.cpp
|
@ -664,9 +664,9 @@ void Core::setStatus(Status status)
|
|||
void Core::onFileTransferFinished(ToxFile file)
|
||||
{
|
||||
if (file.direction == file.SENDING)
|
||||
emit fileUploadFinished(QString(file.fileName));
|
||||
emit fileUploadFinished(file.filePath);
|
||||
else
|
||||
emit fileDownloadFinished(QString(file.fileName));
|
||||
emit fileDownloadFinished(file.filePath);
|
||||
}
|
||||
|
||||
void Core::bootstrapDht()
|
||||
|
@ -952,6 +952,7 @@ void Core::sendAllFileData(Core *core, ToxFile* file)
|
|||
removeFileFromQueue(true, file->friendId, file->fileNum);
|
||||
return;
|
||||
}
|
||||
qDebug() << "chunkSize: " << chunkSize;
|
||||
chunkSize = std::min(chunkSize, file->filesize);
|
||||
uint8_t* data = new uint8_t[chunkSize];
|
||||
file->file->seek(file->bytesSent);
|
||||
|
|
|
@ -2697,7 +2697,7 @@ QSplitter:handle{
|
|||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>(button inactive currently)</string>
|
||||
<string>View completed file transfers</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
|
|
|
@ -27,18 +27,25 @@ FilesForm::FilesForm()
|
|||
head->setLayout(&headLayout);
|
||||
headLayout.addWidget(&headLabel);
|
||||
|
||||
main.addTab(&recvd, tr("Downloads"));
|
||||
main.addTab(&sent, tr("Uploads"));
|
||||
recvd = new QListWidget;
|
||||
sent = new QListWidget;
|
||||
|
||||
connect(&sent, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(onUploadFileActivated(QListWidgetItem*)));
|
||||
connect(&recvd, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(onDownloadFileActivated(QListWidgetItem*)));
|
||||
main.addTab(recvd, tr("Downloads"));
|
||||
main.addTab(sent, tr("Uploads"));
|
||||
|
||||
connect(sent, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(onFileActivated(QListWidgetItem*)));
|
||||
connect(recvd, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(onFileActivated(QListWidgetItem*)));
|
||||
|
||||
}
|
||||
|
||||
FilesForm::~FilesForm()
|
||||
{
|
||||
//delete head;
|
||||
// having this line caused a SIGABRT because free() received an invalid pointer
|
||||
#if 0
|
||||
delete recvd; // docs claim this will clean up children
|
||||
delete sent;
|
||||
delete head;
|
||||
#endif
|
||||
// having these lines caused a SIGABRT because free() received an invalid pointer
|
||||
// but since this is only called on program shutdown anyways,
|
||||
// I'm not too bummed about removing it
|
||||
}
|
||||
|
@ -53,14 +60,16 @@ void FilesForm::show(Ui::Widget& ui)
|
|||
|
||||
void FilesForm::onFileDownloadComplete(const QString& path)
|
||||
{
|
||||
QListWidgetItem* tmp = new QListWidgetItem(QIcon(":/ui/acceptFileButton/default.png"), path);
|
||||
recvd.addItem(tmp);
|
||||
ListWidgetItem* tmp = new ListWidgetItem(QIcon(":/ui/acceptFileButton/default.png"), QFileInfo(path).fileName());
|
||||
tmp->path = path;
|
||||
recvd->addItem(tmp);
|
||||
}
|
||||
|
||||
void FilesForm::onFileUploadComplete(const QString& path)
|
||||
{
|
||||
QListWidgetItem* tmp = new QListWidgetItem(QIcon(":/ui/acceptFileButton/default.png"), path);
|
||||
sent.addItem(tmp);
|
||||
ListWidgetItem* tmp = new ListWidgetItem(QIcon(":/ui/acceptFileButton/default.png"), QFileInfo(path).fileName());
|
||||
tmp->path = path;
|
||||
sent->addItem(tmp);
|
||||
}
|
||||
|
||||
// sadly, the ToxFile struct in core only has the file name, not the file path...
|
||||
|
@ -68,16 +77,10 @@ void FilesForm::onFileUploadComplete(const QString& path)
|
|||
// whenever they're not saved anywhere custom, thanks to the hack)
|
||||
// I could do some digging around, but for now I'm tired and others already
|
||||
// might know it without me needing to dig, so...
|
||||
void FilesForm::onDownloadFileActivated(QListWidgetItem* item)
|
||||
void FilesForm::onFileActivated(QListWidgetItem* item)
|
||||
{
|
||||
QUrl url = QUrl::fromLocalFile("./" + item->text());
|
||||
qDebug() << "Opening '" << url << "'";
|
||||
QDesktopServices::openUrl(url);
|
||||
}
|
||||
|
||||
void FilesForm::onUploadFileActivated(QListWidgetItem* item)
|
||||
{
|
||||
QUrl url = QUrl::fromLocalFile(item->text());
|
||||
ListWidgetItem* tmp = dynamic_cast<ListWidgetItem*> (item);
|
||||
QUrl url = QUrl::fromLocalFile(tmp->path);
|
||||
qDebug() << "Opening '" << url << "'";
|
||||
QDesktopServices::openUrl(url);
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include <QVBoxLayout>
|
||||
#include <QUrl>
|
||||
#include <QDebug>
|
||||
#include <QFileInfo>
|
||||
|
||||
class FilesForm : public QObject
|
||||
{
|
||||
|
@ -43,8 +44,7 @@ public slots:
|
|||
void onFileUploadComplete(const QString& path);
|
||||
|
||||
private slots:
|
||||
void onDownloadFileActivated(QListWidgetItem* item);
|
||||
void onUploadFileActivated(QListWidgetItem* item);
|
||||
void onFileActivated(QListWidgetItem* item);
|
||||
|
||||
private:
|
||||
QWidget* head;
|
||||
|
@ -55,10 +55,15 @@ private:
|
|||
I should really look into the new fangled list thingy, to deactivate
|
||||
specific items in the list */
|
||||
QTabWidget main;
|
||||
QListWidget sent, recvd;
|
||||
QListWidget* sent, * recvd;
|
||||
|
||||
};
|
||||
|
||||
#include "ui_widget.h"
|
||||
class ListWidgetItem : public QListWidgetItem
|
||||
{
|
||||
using QListWidgetItem::QListWidgetItem;
|
||||
public:
|
||||
QString path;
|
||||
};
|
||||
|
||||
#endif // FILESFORM_H
|
||||
|
|
Loading…
Reference in New Issue
Block a user