rsyncui/tools.cpp

126 lines
2.6 KiB
C++

#include "mainwindow.h"
#include "tools.h"
#include "password.h"
using namespace std;
#define READ 0
#define WRITE 1
extern QMap<int, QString> rsyncErrorStrings;
extern QApplication a;
// test return code of rsync
// return true in case of error
bool testRsyncReturn(MainWindow * w, QProcess * myProcess)
{
info(DEBUGMACRO, "testRsyncReturn()");
info(DEBUGMACRO, "Exit status: " + QString::number(myProcess->exitStatus()));
info(DEBUGMACRO, "Exit code: " + QString::number(myProcess->exitCode()));
if (myProcess->exitStatus() != 0 and w->stopDlAsked != true)
{
info(DEBUGMACRO, "rsync error " + myProcess->errorString());
QMessageBox::warning(
w,
a.applicationName(),
QTranslator::tr("Rsync error:\n") + rsyncErrorStrings[myProcess->error()],
//myProcess->errorString(),
QMessageBox::Ok,
QMessageBox::Ok);
return true;
}
if(myProcess->exitCode() != 0)
{
info(DEBUGMACRO, "rsync error " + myProcess->errorString());
QMessageBox::warning(
w,
a.applicationName(),
QTranslator::tr("Rsync error:\n") + rsyncErrorStrings[myProcess->exitCode()],
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;
}
QString preparePath(QString path)
{
return path.trimmed().replace(' ', "\ ");
}
int whatIpVersion(QString ipAddress)
{
QStringList fieldList;
ulong field;
uint i;
info(DEBUGMACRO, "ipVersion of server at " + ipAddress);
fieldList = ipAddress.split(":");
if (fieldList.count() == 8)
{
for (i=0;i<8;i++)
{
field = fieldList[i].toUInt();
if (field > 65535)
{
return 0;
}
}
info(DEBUGMACRO, "Address is Ip V6");
return 6;
}
fieldList = ipAddress.split(".");
if(fieldList.count() == 4)
{
for (i=0;i<4;i++)
{
field = fieldList[i].toUInt();
if (field > 255)
{
return 0;
}
}
info(DEBUGMACRO, "Address is ip V4");
return 4;
}
return 0;
}
void warning(QString message)
{
QMessageBox::warning(
NULL,
a.applicationName() + "",
message,
QMessageBox::Ok,
QMessageBox::Ok);
}
void error(QString message)
{
QMessageBox::warning(
NULL,
a.applicationName() + ":" + QTranslator::tr("Error"),
message,
QMessageBox::Ok,
QMessageBox::Ok);
}
void info(QString debugHeader, QString message)
{
qInfo("%s %s", debugHeader.toStdString().c_str(), message.toStdString().c_str());
}
//void error()