mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
Merge branch 'master' of https://github.com/tux3/qTox into profiles
This commit is contained in:
commit
8aa451bb5b
|
@ -21,6 +21,7 @@
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QPixmap>
|
#include <QPixmap>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
FileTransfertWidget::FileTransfertWidget(ToxFile File)
|
FileTransfertWidget::FileTransfertWidget(ToxFile File)
|
||||||
: lastUpdate{QDateTime::currentDateTime()}, lastBytesSent{0},
|
: lastUpdate{QDateTime::currentDateTime()}, lastBytesSent{0},
|
||||||
|
@ -265,11 +266,40 @@ void FileTransfertWidget::rejectRecvRequest()
|
||||||
onFileTransferCancelled(friendId, fileNum, direction);
|
onFileTransferCancelled(friendId, fileNum, direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// for whatever the fuck reason, QFileInfo::isWritable() always fails for files that don't exist
|
||||||
|
// which makes it useless for our case
|
||||||
|
// since QDir doesn't have an isWritable(), the only option I can think of is to make/delete the file
|
||||||
|
// surely this is a common problem that has a qt-implemented solution?
|
||||||
|
bool isWritable(QString& path)
|
||||||
|
{
|
||||||
|
QFile file(path);
|
||||||
|
bool exists = file.exists();
|
||||||
|
bool out = file.open(QIODevice::WriteOnly);
|
||||||
|
file.close();
|
||||||
|
if (!exists)
|
||||||
|
file.remove();
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
void FileTransfertWidget::acceptRecvRequest()
|
void FileTransfertWidget::acceptRecvRequest()
|
||||||
{
|
{
|
||||||
QString path = QFileDialog::getSaveFileName(0,tr("Save a file","Title of the file saving dialog"),QDir::currentPath()+'/'+filename->text());
|
QString path;
|
||||||
if (path.isEmpty())
|
while (true)
|
||||||
return;
|
{
|
||||||
|
path = QFileDialog::getSaveFileName(0,tr("Save a file","Title of the file saving dialog"),QDir::currentPath()+'/'+filename->text());
|
||||||
|
if (path.isEmpty())
|
||||||
|
return;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//bool savable = QFileInfo(path).isWritable();
|
||||||
|
//qDebug() << path << " is writable: " << savable;
|
||||||
|
//qDebug() << "/home/bill/bliss.pdf writable: " << QFileInfo("/home/bill/bliss.pdf").isWritable();
|
||||||
|
if (isWritable(path))
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
QMessageBox::warning(0, tr("Location not writable","Title of permissions popup"), tr("You do not have permission to write that location. Choose another, or cancel the save dialog.", "text of permissions popup"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
savePath = path;
|
savePath = path;
|
||||||
|
|
||||||
|
|
|
@ -190,6 +190,8 @@ Widget::Widget(QWidget *parent) :
|
||||||
ui->pbClose->setMouseTracking(true);
|
ui->pbClose->setMouseTracking(true);
|
||||||
ui->statusHead->setMouseTracking(true);
|
ui->statusHead->setMouseTracking(true);
|
||||||
|
|
||||||
|
ui->friendList->viewport()->installEventFilter(this);
|
||||||
|
|
||||||
QList<int> currentSizes = ui->centralWidget->sizes();
|
QList<int> currentSizes = ui->centralWidget->sizes();
|
||||||
currentSizes[0] = 225;
|
currentSizes[0] = 225;
|
||||||
ui->centralWidget->setSizes(currentSizes);
|
ui->centralWidget->setSizes(currentSizes);
|
||||||
|
@ -1220,3 +1222,17 @@ void Widget::setStatusBusy()
|
||||||
{
|
{
|
||||||
core->setStatus(Status::Busy);
|
core->setStatus(Status::Busy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Widget::eventFilter(QObject *, QEvent *event)
|
||||||
|
{
|
||||||
|
if (event->type() == QEvent::Wheel)
|
||||||
|
{
|
||||||
|
QWheelEvent * whlEvnt = static_cast< QWheelEvent * >( event );
|
||||||
|
if (whlEvnt->angleDelta().x() != 0)
|
||||||
|
{
|
||||||
|
event->accept();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
|
@ -151,6 +151,7 @@ private:
|
||||||
SelfCamView* camview;
|
SelfCamView* camview;
|
||||||
Camera* camera;
|
Camera* camera;
|
||||||
bool notify(QObject *receiver, QEvent *event);
|
bool notify(QObject *receiver, QEvent *event);
|
||||||
|
bool eventFilter(QObject *, QEvent *event);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // WIDGET_H
|
#endif // WIDGET_H
|
||||||
|
|
Loading…
Reference in New Issue
Block a user