void PiwigoWindow::connectSignals() { connect(d->albumView, SIGNAL(itemSelectionChanged()), this, SLOT(slotAlbumSelected())); connect(d->confButton, SIGNAL(clicked()), this, SLOT(slotSettings())); connect(d->resizeCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotEnableSpinBox(int))); connect(d->progressDlg, SIGNAL(canceled()), this, SLOT(slotAddPhotoCancel())); connect(d->talker, SIGNAL(signalProgressInfo(QString)), this, SLOT(slotProgressInfo(QString))); connect(d->talker, SIGNAL(signalError(QString)), this, SLOT(slotError(QString))); connect(d->talker, SIGNAL(signalBusy(bool)), this, SLOT(slotBusy(bool))); connect(d->talker, SIGNAL(signalLoginFailed(QString)), this, SLOT(slotLoginFailed(QString))); connect(d->talker, SIGNAL(signalAlbums(QList<PiwigoAlbum>)), this, SLOT(slotAlbums(QList<PiwigoAlbum>))); connect(d->talker, SIGNAL(signalAddPhotoSucceeded()), this, SLOT(slotAddPhotoSucceeded())); connect(d->talker, SIGNAL(signalAddPhotoFailed(QString)), this, SLOT(slotAddPhotoFailed(QString))); }
void DBTalker::parseResponseAddPhoto(const QByteArray& data) { bool success = false; QJson::Parser parser; bool ok; QVariant result = parser.parse(data, &ok); QVariantMap rmap = result.toMap(); QList<QString> keys = rmap.uniqueKeys(); for(int i=0;i<rmap.size();i++) { if(keys[i] == "bytes") { success = true; break; } } emit signalBusy(false); if(!success) { emit signalAddPhotoFailed(i18n("Failed to upload photo")); } else { emit signalAddPhotoSucceeded(); } }
void DBTalker::parseResponseAddPhoto(const QByteArray& data) { QJsonDocument doc = QJsonDocument::fromJson(data); QJsonObject jsonObject = doc.object(); bool success = jsonObject.contains(QString::fromLatin1("bytes")); emit signalBusy(false); if (!success) { emit signalAddPhotoFailed(i18n("Failed to upload photo")); } else { emit signalAddPhotoSucceeded(); } }
void GalleryWindow::connectSignals() { connect(d->albumView, SIGNAL(itemSelectionChanged()), this , SLOT(slotAlbumSelected()) ); connect(d->newAlbumBtn, SIGNAL(clicked()), this, SLOT(slotNewAlbum())); connect(d->addPhotoBtn, SIGNAL(clicked()), this, SLOT(slotAddPhoto())); connect(d->resizeCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotEnableSpinBox(int))); connect(d->logo, SIGNAL(leftClickedUrl(QString)), this, SLOT(slotProcessUrl(QString))); connect(m_progressDlg, SIGNAL(canceled()), this, SLOT(slotAddPhotoCancel())); connect(m_talker, SIGNAL(signalError(QString)), this, SLOT(slotError(QString))); connect(m_talker, SIGNAL(signalBusy(bool)), this, SLOT(slotBusy(bool))); connect(m_talker, SIGNAL(signalLoginFailed(QString)), this, SLOT(slotLoginFailed(QString))); connect(m_talker, SIGNAL(signalAlbums(QList<GAlbum>)), this, SLOT(slotAlbums(QList<GAlbum>))); connect(m_talker, SIGNAL(signalPhotos(QList<GPhoto>)), this, SLOT(slotPhotos(QList<GPhoto>))); connect(m_talker, SIGNAL(signalAddPhotoSucceeded()), this, SLOT(slotAddPhotoSucceeded())); connect(m_talker, SIGNAL(signalAddPhotoFailed(QString)), this, SLOT(slotAddPhotoFailed(QString))); }
void GalleryTalker::slotResult(KJob *job) { KIO::Job *tempjob = static_cast<KIO::Job*>(job); if (tempjob->error()) { if (m_state == GE_LOGIN) { emit signalLoginFailed(tempjob->errorString()); } else { if (m_state == GE_ADDPHOTO) { emit signalAddPhotoFailed(tempjob->errorString()); } else { tempjob->ui()->setWindow(m_parent); tempjob->ui()->showErrorMessage(); } } emit signalBusy(false); return; } switch (m_state) { case(GE_LOGIN): parseResponseLogin(m_talker_buffer); break; case(GE_LISTALBUMS): parseResponseListAlbums(m_talker_buffer); break; case(GE_LISTPHOTOS): parseResponseListPhotos(m_talker_buffer); break; case(GE_CREATEALBUM): parseResponseCreateAlbum(m_talker_buffer); break; case(GE_ADDPHOTO): parseResponseAddPhoto(m_talker_buffer); break; } if (m_state == GE_LOGIN && m_loggedIn) { const QStringList cookielist = (tempjob->queryMetaData("setcookies")).split('\n'); m_cookie = "Cookie:"; if(!cookielist.isEmpty()) { QRegExp rx("^GALLERYSID=.+"); QString app; foreach(const QString &str, cookielist) { if(str.contains("Set-Cookie: ")) { const QStringList cl = str.split(' '); int n = cl.lastIndexOf(rx); if(n!= -1) { app = cl.at(n); } } } m_cookie += app; } tempjob->kill(); listAlbums(); }