]> git.sur5r.net Git - minitube/blob - src/temporary.cpp
Upload 2.9-1 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 + "-" + QString::number(qrand());
35
36 #ifdef APP_LINUX
37     if (userName.isNull()) {
38         userName = QString(getenv("USERNAME"));
39         if (userName.isEmpty())
40             userName = QString(getenv("USER"));
41     }
42     if (!userName.isEmpty())
43         tempFile += "-" + userName;
44 #endif
45
46     // tempFile += ".mp4";
47
48     if (QFile::exists(tempFile) && !QFile::remove(tempFile)) {
49         qDebug() << "Cannot remove temp file" << tempFile;
50     }
51
52     paths << tempFile;
53
54     if (paths.size() > 1) {
55         QString removedFile = paths.takeFirst();
56         if (QFile::exists(removedFile) && !QFile::remove(removedFile)) {
57             qDebug() << "Cannot remove temp file" << removedFile;
58         }
59     }
60
61     return tempFile;
62
63 }
64
65 void Temporary::deleteAll() {
66     foreach(const QString &path, paths) {
67         if (QFile::exists(path) && !QFile::remove(path)) {
68             qDebug() << "Cannot remove temp file" << path;
69         }
70     }
71 }