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 Temporary()29Temporary::Temporary() { } 30 filename()31QString 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 deleteAll()66void 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 } 73