]> git.sur5r.net Git - minitube/blob - src/temporary.cpp
Upload 3.9.3-2 to unstable
[minitube] / src / temporary.cpp
1 /* $BEGIN_LICENSE
2
3 This file is part of Minitube.
4 Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
5
6 Minitube is free 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 Minitube 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 Minitube.  If not, see <http://www.gnu.org/licenses/>.
18
19 $END_LICENSE */
20
21 #include "temporary.h"
22 #include "constants.h"
23
24 static QVector<QString> paths;
25 #ifdef APP_LINUX
26 static QString userName;
27 #endif
28
29 Temporary::Temporary() { }
30
31 QString Temporary::filename() {
32     static const QString tempDir = QStandardPaths::writableLocation(QStandardPaths::TempLocation);
33
34     QString tempFile = tempDir + "/" + Constants::UNIX_NAME + "-" +
35                        QString::number(QRandomGenerator::global()->generate());
36
37 #ifdef APP_LINUX
38     if (userName.isNull()) {
39         userName = QString(getenv("USERNAME"));
40         if (userName.isEmpty())
41             userName = QString(getenv("USER"));
42     }
43     if (!userName.isEmpty())
44         tempFile += "-" + userName;
45 #endif
46
47     // tempFile += ".mp4";
48
49     if (QFile::exists(tempFile) && !QFile::remove(tempFile)) {
50         qDebug() << "Cannot remove temp file" << tempFile;
51     }
52
53     paths << tempFile;
54
55     if (paths.size() > 1) {
56         QString removedFile = paths.takeFirst();
57         if (QFile::exists(removedFile) && !QFile::remove(removedFile)) {
58             qDebug() << "Cannot remove temp file" << removedFile;
59         }
60     }
61
62     return tempFile;
63
64 }
65
66 void Temporary::deleteAll() {
67     foreach(const QString &path, paths) {
68         if (QFile::exists(path) && !QFile::remove(path)) {
69             qDebug() << "Cannot remove temp file" << path;
70         }
71     }
72 }