/* Copyright (C) 2014 by Project Tox This file is part of qTox, a Qt-based graphical interface for Tox. This program is libre software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the COPYING file for more details. */ #include "filetransferwidget.h" #include "ui_filetransferwidget.h" #include "src/core.h" #include #include FileTransferWidget::FileTransferWidget(QWidget *parent, ToxFile file) : QWidget(parent) , ui(new Ui::FileTransferWidget) , fileInfo(file) { ui->setupUi(this); ui->filenameLabel->setText(file.fileName); ui->progressBar->setValue(0); connect(Core::getInstance(), &Core::fileTransferInfo, this, &FileTransferWidget::onFileTransferInfo); setFixedHeight(100); } FileTransferWidget::~FileTransferWidget() { delete ui; } void FileTransferWidget::onFileTransferInfo(int FriendId, int FileNum, int64_t Filesize, int64_t BytesSent, ToxFile::FileDirection direction) { if(FileNum != fileInfo.fileNum) return; // update progress qreal progress = static_cast(Filesize)/static_cast(BytesSent); ui->progressBar->setValue(static_cast(progress * 100.0)); }