File indexing completed on 2024-05-05 04:47:08
0001 #ifndef STRIKE_H 0002 #define STRIKE_H 0003 0004 #include <QFileInfo> 0005 #include <QObject> 0006 #include <QProcess> 0007 #include <QDebug> 0008 0009 #include <MauiKit3/FileBrowsing/fmstatic.h> 0010 0011 class Strike : public QObject 0012 { 0013 Q_OBJECT 0014 0015 public: 0016 static Strike *instance() 0017 { 0018 static Strike strike; 0019 return &strike; 0020 } 0021 0022 Strike(const Strike &) = delete; 0023 Strike &operator=(const Strike &) = delete; 0024 Strike(Strike &&) = delete; 0025 Strike &operator=(Strike &&) = delete; 0026 0027 public slots: 0028 void requestFiles(const QStringList &urls) 0029 { 0030 qDebug() << "REQUEST FILES" << urls; 0031 QStringList res; 0032 for (const auto &url : urls) { 0033 const auto url_ = QUrl::fromUserInput(url); 0034 qDebug() << "REQUEST FILES" << url_.toString() << FMStatic::getMime(url_); 0035 0036 if (FMStatic::checkFileType(FMStatic::FILTER_TYPE::TEXT, FMStatic::getMime(url_))) 0037 res << url_.toString(); 0038 } 0039 0040 qDebug() << "REQUEST FILES" << res; 0041 0042 emit this->openFiles(res); 0043 } 0044 0045 bool run(const QString &process, const QStringList ¶ms = {}) 0046 { 0047 auto m_process = new QProcess; 0048 // connect(myProcess,SIGNAL(readyReadStandardError()),this,SLOT(vEdProcess())); 0049 // connect(myProcess,SIGNAL(readyReadStandardOutput()),this,SLOT(processStandardOutput())); 0050 connect(m_process, SIGNAL(finished(int)), m_process, SLOT(deleteLater())); 0051 connect(this, &QObject::destroyed, m_process, &QProcess::kill); 0052 m_process->start(process, params); 0053 return true; 0054 } 0055 0056 signals: 0057 void openFiles(QStringList urls); 0058 0059 private: 0060 explicit Strike(QObject *parent = nullptr) 0061 : QObject(parent) 0062 { 0063 } 0064 }; 0065 0066 #endif // STRIKE_H