qTox
Version: nightly | Commit: bc751c8e1cac455f9690654fcfe0f560d2d7dfdd
src
chatlog
content
filetransferwidget.h
Go to the documentation of this file.
1
/*
2
Copyright © 2014-2019 by The qTox Project Contributors
3
4
This file is part of qTox, a Qt-based graphical interface for Tox.
5
6
qTox is libre software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
qTox is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with qTox. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#pragma once
21
22
#include <QTime>
23
#include <QWidget>
24
25
#include "
src/chatlog/chatlinecontent.h
"
26
#include "
src/core/toxfile.h
"
27
28
class
CoreFile
;
29
30
namespace
Ui
{
31
class
FileTransferWidget
;
32
}
33
34
class
QVariantAnimation;
35
class
QPushButton;
36
37
class
FileTransferWidget
:
public
QWidget
38
{
39
Q_OBJECT
40
41
public
:
42
explicit
FileTransferWidget
(QWidget* parent,
CoreFile
& _coreFile,
ToxFile
file
);
43
virtual
~FileTransferWidget
();
44
bool
isActive
()
const
;
45
void
onFileTransferUpdate
(
ToxFile
file
);
46
47
protected
:
48
void
updateWidgetColor
(
ToxFile
const
&
file
);
49
void
updateWidgetText
(
ToxFile
const
&
file
);
50
void
updateFileProgress
(
ToxFile
const
&
file
);
51
void
updateSignals
(
ToxFile
const
&
file
);
52
void
updatePreview
(
ToxFile
const
&
file
);
53
void
setupButtons
(
ToxFile
const
&
file
);
54
void
handleButton
(QPushButton* btn);
55
void
showPreview
(
const
QString& filename);
56
void
acceptTransfer
(
const
QString& filepath);
57
void
setBackgroundColor
(
const
QColor& c,
bool
whiteFont);
58
void
setButtonColor
(
const
QColor& c);
59
60
bool
drawButtonAreaNeeded
()
const
;
61
62
void
paintEvent
(QPaintEvent*)
final
;
63
64
public
slots:
65
void
reloadTheme
();
66
67
private
slots:
68
void
onLeftButtonClicked
();
69
void
onRightButtonClicked
();
70
void
onPreviewButtonClicked
();
71
72
private
:
73
static
bool
tryRemoveFile
(
const
QString &filepath);
74
75
void
updateWidget
(
ToxFile
const
&
file
);
76
void
updateBackgroundColor
(
const
ToxFile::FileStatus
status);
77
78
private
:
79
CoreFile
&
coreFile
;
80
Ui::FileTransferWidget*
ui
;
81
ToxFile
fileInfo
;
82
QVariantAnimation*
backgroundColorAnimation
=
nullptr
;
83
QVariantAnimation*
buttonColorAnimation
=
nullptr
;
84
QColor
backgroundColor
;
85
QColor
buttonColor
;
86
QColor
buttonBackgroundColor
;
87
88
bool
active
;
89
QTime
lastTransmissionUpdate
;
90
ToxFile::FileStatus
lastStatus
=
ToxFile::INITIALIZING
;
91
92
};
FileTransferWidget::~FileTransferWidget
virtual ~FileTransferWidget()
Definition:
filetransferwidget.cpp:103
FileTransferWidget
Definition:
filetransferwidget.h:37
FileTransferWidget::handleButton
void handleButton(QPushButton *btn)
Definition:
filetransferwidget.cpp:447
FileTransferWidget::updateFileProgress
void updateFileProgress(ToxFile const &file)
Definition:
filetransferwidget.cpp:309
toxfile.h
FileTransferWidget::setButtonColor
void setButtonColor(const QColor &c)
Definition:
filetransferwidget.cpp:167
FileTransferWidget::reloadTheme
void reloadTheme()
Definition:
filetransferwidget.cpp:233
FileTransferWidget::buttonColorAnimation
QVariantAnimation * buttonColorAnimation
Definition:
filetransferwidget.h:83
HistMessageContentType::file
@ file
ToxFile::FileStatus
FileStatus
Definition:
toxfile.h:36
FileTransferWidget::setupButtons
void setupButtons(ToxFile const &file)
Definition:
filetransferwidget.cpp:372
FileTransferWidget::onPreviewButtonClicked
void onPreviewButtonClicked()
Definition:
filetransferwidget.cpp:499
FileTransferWidget::lastTransmissionUpdate
QTime lastTransmissionUpdate
Definition:
filetransferwidget.h:89
FileTransferWidget::lastStatus
ToxFile::FileStatus lastStatus
Definition:
filetransferwidget.h:90
FileTransferWidget::updateWidgetColor
void updateWidgetColor(ToxFile const &file)
Definition:
filetransferwidget.cpp:238
FileTransferWidget::buttonBackgroundColor
QColor buttonBackgroundColor
Definition:
filetransferwidget.h:86
FileTransferWidget::buttonColor
QColor buttonColor
Definition:
filetransferwidget.h:85
FileTransferWidget::FileTransferWidget
FileTransferWidget(QWidget *parent, CoreFile &_coreFile, ToxFile file)
Definition:
filetransferwidget.cpp:51
FileTransferWidget::active
bool active
Definition:
filetransferwidget.h:88
FileTransferWidget::updateBackgroundColor
void updateBackgroundColor(const ToxFile::FileStatus status)
Definition:
filetransferwidget.cpp:529
FileTransferWidget::updateWidget
void updateWidget(ToxFile const &file)
Definition:
filetransferwidget.cpp:504
chatlinecontent.h
FileTransferWidget::coreFile
CoreFile & coreFile
Definition:
filetransferwidget.h:79
FileTransferWidget::backgroundColor
QColor backgroundColor
Definition:
filetransferwidget.h:84
FileTransferWidget::tryRemoveFile
static bool tryRemoveFile(const QString &filepath)
Dangerous way to find out if a path is writable.
Definition:
filetransferwidget.cpp:114
Ui
Definition:
filetransferwidget.h:30
ToxFile::INITIALIZING
@ INITIALIZING
Definition:
toxfile.h:38
FileTransferWidget::acceptTransfer
void acceptTransfer(const QString &filepath)
Definition:
filetransferwidget.cpp:132
FileTransferWidget::ui
Ui::FileTransferWidget * ui
Definition:
filetransferwidget.h:80
FileTransferWidget::updateSignals
void updateSignals(ToxFile const &file)
Definition:
filetransferwidget.cpp:349
FileTransferWidget::fileInfo
ToxFile fileInfo
Definition:
filetransferwidget.h:81
FileTransferWidget::updatePreview
void updatePreview(ToxFile const &file)
Definition:
filetransferwidget.cpp:284
FileTransferWidget::onLeftButtonClicked
void onLeftButtonClicked()
Definition:
filetransferwidget.cpp:489
FileTransferWidget::drawButtonAreaNeeded
bool drawButtonAreaNeeded() const
Definition:
filetransferwidget.cpp:176
FileTransferWidget::showPreview
void showPreview(const QString &filename)
Definition:
filetransferwidget.cpp:483
FileTransferWidget::setBackgroundColor
void setBackgroundColor(const QColor &c, bool whiteFont)
Definition:
filetransferwidget.cpp:151
FileTransferWidget::onFileTransferUpdate
void onFileTransferUpdate(ToxFile file)
Definition:
filetransferwidget.cpp:122
FileTransferWidget::isActive
bool isActive() const
Definition:
filetransferwidget.cpp:127
FileTransferWidget::backgroundColorAnimation
QVariantAnimation * backgroundColorAnimation
Definition:
filetransferwidget.h:82
FileTransferWidget::paintEvent
void paintEvent(QPaintEvent *) final
Definition:
filetransferwidget.cpp:182
ToxFile
Definition:
toxfile.h:32
CoreFile
Manages the file transfer service of toxcore.
Definition:
corefile.h:46
FileTransferWidget::onRightButtonClicked
void onRightButtonClicked()
Definition:
filetransferwidget.cpp:494
FileTransferWidget::updateWidgetText
void updateWidgetText(ToxFile const &file)
Definition:
filetransferwidget.cpp:247
Generated by
1.8.17