// This file is part of Friendiqa // https://github.com/lubuwest/Friendiqa // Copyright (C) 2020 Marco R. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // In addition, as a special exception, the copyright holders give // permission to link the code of portions of this program with the // OpenSSL library under certain conditions as described in each // individual source file, and distribute linked combinations including // the two. // // You must obey the GNU General Public License in all respects for all // of the code used other than OpenSSL. If you modify file(s) with this // exception, you may extend this exception to your version of the // file(s), but you are not obligated to do so. If you do not wish to do // so, delete this exception statement from your version. If you delete // this exception statement from all source files in the program, then // also delete it here. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include "filesystem.h" #include FILESYSTEM *FILESYSTEM::instance() { static FILESYSTEM filesystem; return &filesystem; } FILESYSTEM::FILESYSTEM(QObject *parent) : QObject(parent){} void FILESYSTEM::setDirectory(QString Directory) { if (Directory!=m_Directory) { m_Directory = Directory; emit directoryChanged(); } } QString FILESYSTEM::Directory() const { return m_Directory; } QString FILESYSTEM::homePath() const { QAndroidJniObject activity =QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative","activity", "()Landroid/app/Activity;"); QAndroidJniObject dir = activity.callObjectMethod("getExternalFilesDir", "(Ljava/lang/String;)Ljava/io/File;", NULL); QString homeDir=dir.toString(); return homeDir; } bool FILESYSTEM::fileexist(QString name) { return QFile::exists(name); } void FILESYSTEM::makeDir(QString name) { QDir dir(m_Directory); if (dir.mkdir(name)){ emit success(name); } else { emit error(name,1); } } void FILESYSTEM::makePath(QString name) { QDir dir(m_Directory); if (dir.mkpath(name)){ emit success(name); } else { emit error(name,1);} } void FILESYSTEM::rmDir() { QDir dir(m_Directory); if (dir.removeRecursively()){ emit success(m_Directory); } else {emit error(m_Directory,1);} } void FILESYSTEM::rmFile(QString name) { QDir dir(m_Directory); if(dir.remove(name)){ emit success(name); } else {emit error(name,1);} } QFileInfoList FILESYSTEM::fileList() { QDir dir(m_Directory); QStringList filters; filters << "*.png" <<"*.PNG" << "*.jpg" << "*.JPG" << "*.JPEG"; dir.setNameFilters(filters); dir.setSorting(QDir::Time | QDir::Reversed); return dir.entryInfoList(); }