mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
Merge branch 'master' of https://github.com/dubslow/toxgui
This commit is contained in:
commit
e14b7d66d4
5
core.cpp
5
core.cpp
|
@ -664,9 +664,9 @@ void Core::setStatus(Status status)
|
||||||
void Core::onFileTransferFinished(ToxFile file)
|
void Core::onFileTransferFinished(ToxFile file)
|
||||||
{
|
{
|
||||||
if (file.direction == file.SENDING)
|
if (file.direction == file.SENDING)
|
||||||
emit fileUploadFinished(QString(file.fileName));
|
emit fileUploadFinished(file.filePath);
|
||||||
else
|
else
|
||||||
emit fileDownloadFinished(QString(file.fileName));
|
emit fileDownloadFinished(file.filePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::bootstrapDht()
|
void Core::bootstrapDht()
|
||||||
|
@ -952,6 +952,7 @@ void Core::sendAllFileData(Core *core, ToxFile* file)
|
||||||
removeFileFromQueue(true, file->friendId, file->fileNum);
|
removeFileFromQueue(true, file->friendId, file->fileNum);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
qDebug() << "chunkSize: " << chunkSize;
|
||||||
chunkSize = std::min(chunkSize, file->filesize);
|
chunkSize = std::min(chunkSize, file->filesize);
|
||||||
uint8_t* data = new uint8_t[chunkSize];
|
uint8_t* data = new uint8_t[chunkSize];
|
||||||
file->file->seek(file->bytesSent);
|
file->file->seek(file->bytesSent);
|
||||||
|
|
|
@ -36,12 +36,14 @@ Friend::~Friend()
|
||||||
void Friend::setName(QString name)
|
void Friend::setName(QString name)
|
||||||
{
|
{
|
||||||
widget->name.setText(name);
|
widget->name.setText(name);
|
||||||
|
widget->name.setToolTip(name); // for overlength names
|
||||||
chatForm->setName(name);
|
chatForm->setName(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Friend::setStatusMessage(QString message)
|
void Friend::setStatusMessage(QString message)
|
||||||
{
|
{
|
||||||
widget->statusMessage.setText(message);
|
widget->statusMessage.setText(message);
|
||||||
|
widget->statusMessage.setToolTip(message); // for overlength messsages
|
||||||
chatForm->setStatusMessage(message);
|
chatForm->setStatusMessage(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
QT += core gui network multimedia multimediawidgets
|
QT += core gui network multimedia multimediawidgets
|
||||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||||
|
|
||||||
TARGET = toxgui
|
TARGET = qtox
|
||||||
TEMPLATE = app
|
TEMPLATE = app
|
||||||
FORMS += widget.ui
|
FORMS += widget.ui
|
||||||
CONFIG += c++11
|
CONFIG += c++11
|
|
@ -207,11 +207,13 @@ void ChatForm::show(Ui::Widget &ui)
|
||||||
void ChatForm::setName(QString newName)
|
void ChatForm::setName(QString newName)
|
||||||
{
|
{
|
||||||
name->setText(newName);
|
name->setText(newName);
|
||||||
|
name->setToolTip(newName); // for overlength names
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChatForm::setStatusMessage(QString newMessage)
|
void ChatForm::setStatusMessage(QString newMessage)
|
||||||
{
|
{
|
||||||
statusMessage->setText(newMessage);
|
statusMessage->setText(newMessage);
|
||||||
|
statusMessage->setToolTip(newMessage); // for overlength messsages
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChatForm::onSendTriggered()
|
void ChatForm::onSendTriggered()
|
||||||
|
|
|
@ -27,18 +27,25 @@ FilesForm::FilesForm()
|
||||||
head->setLayout(&headLayout);
|
head->setLayout(&headLayout);
|
||||||
headLayout.addWidget(&headLabel);
|
headLayout.addWidget(&headLabel);
|
||||||
|
|
||||||
main.addTab(&recvd, tr("Downloads"));
|
recvd = new QListWidget;
|
||||||
main.addTab(&sent, tr("Uploads"));
|
sent = new QListWidget;
|
||||||
|
|
||||||
connect(&sent, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(onUploadFileActivated(QListWidgetItem*)));
|
main.addTab(recvd, tr("Downloads"));
|
||||||
connect(&recvd, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(onDownloadFileActivated(QListWidgetItem*)));
|
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()
|
FilesForm::~FilesForm()
|
||||||
{
|
{
|
||||||
//delete head;
|
#if 0
|
||||||
// having this line caused a SIGABRT because free() received an invalid pointer
|
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,
|
// but since this is only called on program shutdown anyways,
|
||||||
// I'm not too bummed about removing it
|
// I'm not too bummed about removing it
|
||||||
}
|
}
|
||||||
|
@ -53,14 +60,16 @@ void FilesForm::show(Ui::Widget& ui)
|
||||||
|
|
||||||
void FilesForm::onFileDownloadComplete(const QString& path)
|
void FilesForm::onFileDownloadComplete(const QString& path)
|
||||||
{
|
{
|
||||||
QListWidgetItem* tmp = new QListWidgetItem(QIcon(":/ui/acceptFileButton/default.png"), path);
|
ListWidgetItem* tmp = new ListWidgetItem(QIcon(":/ui/acceptFileButton/default.png"), QFileInfo(path).fileName());
|
||||||
recvd.addItem(tmp);
|
tmp->path = path;
|
||||||
|
recvd->addItem(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilesForm::onFileUploadComplete(const QString& path)
|
void FilesForm::onFileUploadComplete(const QString& path)
|
||||||
{
|
{
|
||||||
QListWidgetItem* tmp = new QListWidgetItem(QIcon(":/ui/acceptFileButton/default.png"), path);
|
ListWidgetItem* tmp = new ListWidgetItem(QIcon(":/ui/acceptFileButton/default.png"), QFileInfo(path).fileName());
|
||||||
sent.addItem(tmp);
|
tmp->path = path;
|
||||||
|
sent->addItem(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
// sadly, the ToxFile struct in core only has the file name, not the file path...
|
// 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)
|
// 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
|
// I could do some digging around, but for now I'm tired and others already
|
||||||
// might know it without me needing to dig, so...
|
// 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());
|
ListWidgetItem* tmp = dynamic_cast<ListWidgetItem*> (item);
|
||||||
qDebug() << "Opening '" << url << "'";
|
QUrl url = QUrl::fromLocalFile(tmp->path);
|
||||||
QDesktopServices::openUrl(url);
|
|
||||||
}
|
|
||||||
|
|
||||||
void FilesForm::onUploadFileActivated(QListWidgetItem* item)
|
|
||||||
{
|
|
||||||
QUrl url = QUrl::fromLocalFile(item->text());
|
|
||||||
qDebug() << "Opening '" << url << "'";
|
qDebug() << "Opening '" << url << "'";
|
||||||
QDesktopServices::openUrl(url);
|
QDesktopServices::openUrl(url);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <QFileInfo>
|
||||||
|
|
||||||
class FilesForm : public QObject
|
class FilesForm : public QObject
|
||||||
{
|
{
|
||||||
|
@ -43,8 +44,7 @@ public slots:
|
||||||
void onFileUploadComplete(const QString& path);
|
void onFileUploadComplete(const QString& path);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onDownloadFileActivated(QListWidgetItem* item);
|
void onFileActivated(QListWidgetItem* item);
|
||||||
void onUploadFileActivated(QListWidgetItem* item);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QWidget* head;
|
QWidget* head;
|
||||||
|
@ -55,10 +55,15 @@ private:
|
||||||
I should really look into the new fangled list thingy, to deactivate
|
I should really look into the new fangled list thingy, to deactivate
|
||||||
specific items in the list */
|
specific items in the list */
|
||||||
QTabWidget main;
|
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
|
#endif // FILESFORM_H
|
||||||
|
|
|
@ -424,6 +424,7 @@ void Widget::onUsernameChanged()
|
||||||
{
|
{
|
||||||
const QString newUsername = settingsForm.name.text();
|
const QString newUsername = settingsForm.name.text();
|
||||||
ui->nameLabel->setText(newUsername);
|
ui->nameLabel->setText(newUsername);
|
||||||
|
ui->nameLabel->setToolTip(newUsername); // for overlength names
|
||||||
settingsForm.name.setText(newUsername);
|
settingsForm.name.setText(newUsername);
|
||||||
core->setUsername(newUsername);
|
core->setUsername(newUsername);
|
||||||
}
|
}
|
||||||
|
@ -431,6 +432,7 @@ void Widget::onUsernameChanged()
|
||||||
void Widget::onUsernameChanged(const QString& newUsername, const QString& oldUsername)
|
void Widget::onUsernameChanged(const QString& newUsername, const QString& oldUsername)
|
||||||
{
|
{
|
||||||
ui->nameLabel->setText(oldUsername); // restore old username until Core tells us to set it
|
ui->nameLabel->setText(oldUsername); // restore old username until Core tells us to set it
|
||||||
|
ui->nameLabel->setToolTip(oldUsername); // for overlength names
|
||||||
settingsForm.name.setText(oldUsername);
|
settingsForm.name.setText(oldUsername);
|
||||||
core->setUsername(newUsername);
|
core->setUsername(newUsername);
|
||||||
}
|
}
|
||||||
|
@ -438,6 +440,7 @@ void Widget::onUsernameChanged(const QString& newUsername, const QString& oldUse
|
||||||
void Widget::setUsername(const QString& username)
|
void Widget::setUsername(const QString& username)
|
||||||
{
|
{
|
||||||
ui->nameLabel->setText(username);
|
ui->nameLabel->setText(username);
|
||||||
|
ui->nameLabel->setToolTip(username); // for overlength names
|
||||||
settingsForm.name.setText(username);
|
settingsForm.name.setText(username);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -445,6 +448,7 @@ void Widget::onStatusMessageChanged()
|
||||||
{
|
{
|
||||||
const QString newStatusMessage = settingsForm.statusText.text();
|
const QString newStatusMessage = settingsForm.statusText.text();
|
||||||
ui->statusLabel->setText(newStatusMessage);
|
ui->statusLabel->setText(newStatusMessage);
|
||||||
|
ui->statusLabel->setToolTip(newStatusMessage); // for overlength messsages
|
||||||
settingsForm.statusText.setText(newStatusMessage);
|
settingsForm.statusText.setText(newStatusMessage);
|
||||||
core->setStatusMessage(newStatusMessage);
|
core->setStatusMessage(newStatusMessage);
|
||||||
}
|
}
|
||||||
|
@ -452,6 +456,7 @@ void Widget::onStatusMessageChanged()
|
||||||
void Widget::onStatusMessageChanged(const QString& newStatusMessage, const QString& oldStatusMessage)
|
void Widget::onStatusMessageChanged(const QString& newStatusMessage, const QString& oldStatusMessage)
|
||||||
{
|
{
|
||||||
ui->statusLabel->setText(oldStatusMessage); // restore old status message until Core tells us to set it
|
ui->statusLabel->setText(oldStatusMessage); // restore old status message until Core tells us to set it
|
||||||
|
ui->statusLabel->setToolTip(oldStatusMessage); // for overlength messsages
|
||||||
settingsForm.statusText.setText(oldStatusMessage);
|
settingsForm.statusText.setText(oldStatusMessage);
|
||||||
core->setStatusMessage(newStatusMessage);
|
core->setStatusMessage(newStatusMessage);
|
||||||
}
|
}
|
||||||
|
@ -459,6 +464,7 @@ void Widget::onStatusMessageChanged(const QString& newStatusMessage, const QStri
|
||||||
void Widget::setStatusMessage(const QString &statusMessage)
|
void Widget::setStatusMessage(const QString &statusMessage)
|
||||||
{
|
{
|
||||||
ui->statusLabel->setText(statusMessage);
|
ui->statusLabel->setText(statusMessage);
|
||||||
|
ui->statusLabel->setToolTip(statusMessage); // for overlength messsages
|
||||||
settingsForm.statusText.setText(statusMessage);
|
settingsForm.statusText.setText(statusMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user