#include "mainwindow.h" using namespace std; #define READ 0 #define WRITE 1 extern QMap rsyncErrorStrings; extern QApplication a; //Take a string and explode it in array // s => string to explode // c => character separator // n => number of results in array, the last is the rest of string to end const vector explode(const string& s, const char& c, int n = 0) { string buff; vector v; size_t pos = 0; size_t ppos = 0; int i = 0; while (i < n - 1) { pos = s.find(c, ppos); if (pos != string::npos) { buff = s.substr(ppos, pos - ppos); if (buff != "") { i++; v.push_back(s.substr(ppos, pos - ppos)); } ppos = pos + 1; }else { break; } } if (ppos < s.size()) { v.push_back(s.substr(ppos)); } return v; } // test return code of rsync // return true in case of error bool testRsyncReturn(MainWindow * w, QProcess * myProcess) { if (myProcess->exitStatus() != 0 and w->stopDlAsked != true) { cout << "rsync error: " << myProcess->error() << " : " << myProcess->errorString().toStdString() << endl; QMessageBox::warning( w, a.applicationName(), myProcess->errorString(), QMessageBox::Ok, QMessageBox::Ok); return true; } w->stopDlAsked = false; return false; } QString getFileType(QString filename) { QMimeDatabase db; QMimeType mime = db.mimeTypeForFile(filename); QString returnValue = mime.name().section('/',0 ,0); return returnValue; }