Friendiqa v0.3

This commit is contained in:
LubuWest 2018-07-01 15:09:21 +02:00
commit bda2d9f7b5
63 changed files with 2746 additions and 1357 deletions

View file

@ -73,6 +73,10 @@ QString FILESYSTEM::homePath() const
// return dir.exists();
//}
bool FILESYSTEM::fileexist(QString name)
{ return QFile::exists(name);
}
void FILESYSTEM::makeDir(QString name)
{
QDir dir(m_Directory);
@ -113,47 +117,3 @@ QFileInfoList FILESYSTEM::fileList()
//qDebug() << "filelist " << m_Filelist;
return dir.entryInfoList();
}
//void FILESYSTEM::searchImage()
//{
// QAndroidJniObject ACTION_PICK = QAndroidJniObject::getStaticObjectField("android/content/Intent", "ACTION_PICK", "Ljava/lang/String;");
// QAndroidJniObject EXTERNAL_CONTENT_URI = QAndroidJniObject::getStaticObjectField("android/provider/MediaStore$Images$Media", "EXTERNAL_CONTENT_URI", "Landroid/net/Uri;");
// QAndroidJniObject intent=QAndroidJniObject("android/content/Intent", "(Ljava/lang/String;Landroid/net/Uri;)V", ACTION_PICK.object<jstring>(), EXTERNAL_CONTENT_URI.object<jobject>());
// if (ACTION_PICK.isValid() && intent.isValid())
// {
// intent.callObjectMethod("setType", "(Ljava/lang/String;)Landroid/content/Intent;", QAndroidJniObject::fromString("image/*").object<jstring>());
// QtAndroid::startActivity(intent.object<jobject>(), 101,this);
// qDebug() << "OK";
// }
// else
// {
// qDebug() << "ERRO";
// }
//}
//void FILESYSTEM::handleActivityResult(int receiverRequestCode, int resultCode, const QAndroidJniObject &data)
//{
// jint RESULT_OK = QAndroidJniObject::getStaticField<jint>("android/app/Activity", "RESULT_OK");
// if (receiverRequestCode == 101 && resultCode == RESULT_OK)
// {
// QAndroidJniObject uri = data.callObjectMethod("getData", "()Landroid/net/Uri;");
// QAndroidJniObject dadosAndroid = QAndroidJniObject::getStaticObjectField("android/provider/MediaStore$MediaColumns", "DATA", "Ljava/lang/String;");
// QAndroidJniEnvironment env;
// jobjectArray projecao = (jobjectArray)env->NewObjectArray(1, env->FindClass("java/lang/String"), NULL);
// jobject projacaoDadosAndroid = env->NewStringUTF(dadosAndroid.toString().toStdString().c_str());
// env->SetObjectArrayElement(projecao, 0, projacaoDadosAndroid);
// QAndroidJniObject contentResolver = QtAndroid::androidActivity().callObjectMethod("getContentResolver", "()Landroid/content/ContentResolver;");
// QAndroidJniObject cursor = contentResolver.callObjectMethod("query", "(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;", uri.object<jobject>(), projecao, NULL, NULL, NULL);
// jint columnIndex = cursor.callMethod<jint>("getColumnIndex", "(Ljava/lang/String;)I", dadosAndroid.object<jstring>());
// cursor.callMethod<jboolean>("moveToFirst", "()Z");
// QAndroidJniObject resultUri = cursor.callObjectMethod("getString", "(I)Ljava/lang/String;", columnIndex);
// QString imageSelect = "file://" + resultUri.toString();
// emit imageselected(imageSelect);
// }
// else
// {
// qDebug() << "Select error";
// }
//}

View file

@ -65,6 +65,7 @@ signals:
void error(QString data, int code);
public slots:
bool fileexist(QString name);
void makeDir(QString name);
void rmDir();
void rmFile(QString name);

View file

@ -59,6 +59,14 @@ void XHR::setUrl(QString url)
}
}
void XHR::setApi(QString api)
{
if (api!=m_api) {
m_api = api;
emit apiChanged();
}
}
void XHR::setLogin(QString login)
{
if (login!=m_login) {
@ -111,6 +119,11 @@ QString XHR::url() const
return m_url;
}
QString XHR::api() const
{
return m_api;
}
QString XHR::login() const
{
return m_login;
@ -166,6 +179,7 @@ void XHR::download()
request.setRawHeader("Authorization", headerData.toLocal8Bit());
}
request.setUrl(requrl);
//qDebug() << requrl;
reply = manager.get(request);
reply->ignoreSslErrors();
connect(reply, &QNetworkReply::readyRead,this, &XHR::onReadyRead);
@ -185,9 +199,9 @@ void XHR::get()
query.addQueryItem(i.key(), i.value());
}
QUrl requrl(m_url);
QUrl requrl(m_url+m_api);
//qDebug() << requrl;
requrl.setQuery(query);
QByteArray loginData = m_login.toLocal8Bit().toBase64();
QString headerData = "Basic " + loginData;
request.setRawHeader("Authorization", headerData.toLocal8Bit());
@ -250,7 +264,7 @@ void XHR::post()
QString headerData = "Basic " + loginData;
request.setRawHeader(QByteArray("Authorization"), headerData.toLocal8Bit());
request.setUrl(m_url);
request.setUrl(m_url+m_api);
reply = manager.post(request, multiPart);
qDebug() << "\t request sent";
connect(reply, &QNetworkReply::finished, this, &XHR::onReplySuccess);
@ -263,7 +277,7 @@ void XHR::post()
void XHR::onReplyError(QNetworkReply::NetworkError code)
{
qDebug() << code;
emit this->error( bufferToString(), m_url, (int) code);
emit this->error( bufferToString(), m_url,m_api, (int) code);
buffer.clear();
reply->deleteLater();
}
@ -271,7 +285,7 @@ void XHR::onReplyError(QNetworkReply::NetworkError code)
void XHR::onReplySuccess()
{
qDebug() << "!";
emit this->success( bufferToString() );
emit this->success( bufferToString(), m_api);
buffer.clear();
// reply->deleteLater();
}
@ -279,7 +293,7 @@ void XHR::onReplySuccess()
void XHR::onRequestFinished()
{
// Save the file here
if (buffer.isNull()){qDebug() << "File empty"<<m_url; buffer.clear(); emit this->error(m_downloadtype,m_url,1);}
if (buffer.isNull()){qDebug() << "File empty"<<m_url; buffer.clear(); emit this->error(m_downloadtype,m_url,m_api,1);}
else if (m_downloadtype=="picturelist") {
QJsonDocument jsonResponse = QJsonDocument::fromJson(buffer);
QJsonObject jsonObject = jsonResponse.object();

View file

@ -56,6 +56,7 @@ public:
explicit XHR(QObject *parent = 0);
QString url() const;
QString api() const;
QString login() const;
QString filename() const;
QList<QString> contactlist() const;
@ -65,6 +66,7 @@ public:
signals:
void urlChanged();
void apiChanged();
void loginChanged();
void filenameChanged();
void contactlistChanged();
@ -73,11 +75,12 @@ signals:
void downloadtypeChanged();
void downloaded(QString type, QString url, QString filename, int i);
void downloadedjson(QString type, QString url, QString filename, int i,QJsonObject jsonObject);
void success(QString data);
void error(QString data, QString url, int code);
void success(QString data, QString api);
void error(QString data, QString url,QString api, int code);
public slots:
void setUrl(QString url);
void setApi(QString api);
void setLogin(QString login);
void setDownloadtype(QString downloadtype);
void setFilename(QString filename);
@ -103,6 +106,7 @@ private slots:
private:
QByteArray buffer;
QString m_url;
QString m_api;
QString m_login;
QString m_filename;
QString m_downloadtype;