Example #1
0
/*!
\brief Parse token from reply
*/
void GoogleReader::parseToken(QNetworkReply* reply) {
    qDebug() << "GoogleReader::parseToken";

    reply->deleteLater();

    //zkontrolujeme odpoved na chyby
    if (reply->error() != QNetworkReply::NoError ) {
        qDebug() << reply->readAll();
        emit signalStatusLogin(false);
        emit signalConnected(false);
        return;
    }

    //ulozime si token
    _googleToken = reply->readAll();
    qDebug() << "Token: " << _googleToken;

    // Session ID expires in about 20 minutes
    _timerRefreshSessionID->start(1820000);

    if (!_refreshingSID) {
        emit signalConnected(true);
        emit signalStatusLogin(true);
    }

    _refreshingSID = false;
}
Example #2
0
/*!
\brief V prijmute odpovedi hleda Session ID a vytvori cookie, ktera je potreba pro vykonavani pozadavku.
\brief Parse session ID from reply
*/
void GoogleReader::parseSessionID(QNetworkReply* reply) {
    qDebug() << "GoogleReader::parseSessionID()";

    reply->deleteLater();
    // check if response contains errors
    if (reply->error() != QNetworkReply::NoError) {
        if (reply->error() == QNetworkReply::HostNotFoundError) {
            qDebug() << "Host not found -> maybe offline?";
            emit signalConnected(false);
        }
        else {
            QString serverReply = reply->errorString();
            if (serverReply.contains("Forbidden"))
                qDebug() << "Bad username or password";

            qDebug() << reply->readAll();
            emit signalConnected(false);
        }
        return;
    }

    QString SIDReply = reply->readAll();
    if (SIDReply.contains("Auth=")) {
        int startOfSID = SIDReply.indexOf("Auth=")+5;
        QString tempSID = SIDReply.mid(startOfSID);
        _sessionID = tempSID.left(tempSID.length()-1);
        qDebug() << "Session ID: " << _sessionID;

        this->getToken();
    }
}
Example #3
0
/*!
\brief Subscribe new feed
*/
void GoogleReader::addFeed(QString feedAddress, QString feedName, QString feedLabel) {
    qDebug() << "GoogleReader::addFeed(" << feedAddress << "," << feedName << "," << feedLabel << ")";

    if (_googleCookie == NULL) {
        emit signalConnected(false);
        this->login();
    }

    if (feedAddress.left(7) != "http://")
        feedAddress.insert(0, "http://");

    QString url = "http://www.google.com/reader/api/0/subscription/edit?client=GooDer";
    QString postData = "";

    if (feedName.isEmpty() && feedLabel.isEmpty()) {
        postData = QString("s=feed/%1&ac=subscribe&T=%2").arg(feedAddress, _googleToken);
    } else if (!feedName.isEmpty() && feedLabel.isEmpty()) {
        postData = QString("s=feed/%1&ac=subscribe&t=%2&T=%3").arg(feedAddress, feedName, _googleToken);
    } else if (!feedName.isEmpty() && !feedLabel.isEmpty()) {
        postData = QString("s=feed/%1&ac=subscribe&t=%2&a=user/-/label/%3&T=%4").arg(feedAddress, feedName, feedLabel, _googleToken);
    } else if (feedName.isEmpty() && !feedLabel.isEmpty()) {
        postData = QString("s=feed/%1&ac=subscribe&a=user/-/label/%2&T=%3").arg(feedAddress, feedLabel, _googleToken);
    }

    QNetworkAccessManager* feedConnection = new QNetworkAccessManager(this);

    QNetworkRequest postRequest = QNetworkRequest(QUrl(url));
    postRequest.setRawHeader("Authorization", _googleCookie->value());
    postRequest.setRawHeader("Content-Type", "application/x-www-form-urlencoded");

    connect(feedConnection, SIGNAL(finished(QNetworkReply*)),
            this, SLOT(parseAddFeed(QNetworkReply *)));

    feedConnection->post(postRequest, postData.toAscii());
}
Example #4
0
void Server::incomingConnection(qintptr socketDescriptor)
{
    Client *client = new Client(socketDescriptor);
    clients->push_back(client);
    QObject::connect(client,SIGNAL(sendMessageToAll(QString)),this,SLOT(sendMessageToAll(QString)));
    QObject::connect(client,SIGNAL(showDialog(QString)),this,SLOT(onShowDialog(QString)));
    QObject::connect(client,SIGNAL(signalDisconnected(QString)),this,SLOT(onClientDisconnected(QString)));
    QObject::connect(client,SIGNAL(signalConnected(QString)),this,SLOT(onClientConnected(QString)));
    QObject::connect(client,SIGNAL(saveHistory(QString)),this,SLOT(onSaveHistory(QString)));
    QObject::connect(client,SIGNAL(getHistory()),this,SLOT(onGetHistory(Client*)));
    onGetHistory(client);
}
Example #5
0
squeeze::squeeze()
    : KXmlGuiWindow( ),
      m_view(new squeezeView(this)),
      m_printer(0)
{
    setObjectName(QLatin1String("squeeze"));
    // accept dnd
    setAcceptDrops(false);

    // tell the KXmlGuiWindow that this is indeed the main widget
    setCentralWidget(m_view);

    // then, setup our actions
    setupActions();
    //Add some widgets to status bar
    led = new KLed;
    led->off();
    statusBar()->addWidget(led); //FIXME: Que cuando se escriba algo en la barra de status, quede el LED ahi tambien.
    // add a status bar
    statusBar()->show();

    // Add typical actions and save size/toolbars/statusbar
    setupGUI();
    disableUI();
    // allow the view to change the statusbar and caption
    connect(m_view, SIGNAL(signalChangeStatusbar(const QString&)),
            this,   SLOT(changeStatusbar(const QString&)));
    connect(m_view, SIGNAL(signalChangeCaption(const QString&)),
            this,   SLOT(changeCaption(const QString&)));

    connect(m_view, SIGNAL(signalDisconnected()), this, SLOT(setDisconnected()));
    connect(m_view, SIGNAL(signalConnected()), this, SLOT(setConnected()));

    connect(m_view, SIGNAL(signalShowPrefs()), SLOT(optionsPreferences()) );

    connect(m_view, SIGNAL(signalSalir() ), SLOT(salir() ));

    connect(m_view, SIGNAL(signalShowDbConfig()), this, SLOT(showDBConfigDialog()));


    connect(m_view, SIGNAL(signalAdminLoggedOn()), this, SLOT(enableUI()));
    connect(m_view, SIGNAL(signalAdminLoggedOff()), this, SLOT(disableUI()));
    connect(m_view, SIGNAL(signalSupervisorLoggedOn()), this, SLOT(enableUI()));


    timer = new QTimer(this);
    connect(timer, SIGNAL(timeout()), this, SLOT(fixGeom()));
    timer->setInterval(5000);
    timer->start();
    

    loadStyle();
}
Example #6
0
void ControlWidget::initConnect()
{
   if( !mConnected )
   {
      QString hostname( "localhost" );
      int port = Settings::value( Settings::PartymanDerMixDport );

      if( Settings::value( Settings::PartymanDerMixDrun ) )
      {
         QStringList args;
         QString params( Settings::value( Settings::PartymanDerMixDparams ) );
         args << "-c" << QString("main.port=%1").arg( port );
         if( !params.isEmpty() )
         {
            args << params.split(' ');
         }
         qlonglong pid = Settings::value( Settings::PartymanDerMixDpid );
         if( pid > 0 )
         {
#ifdef Q_OS_UNIX
            ::kill( static_cast<pid_t>( pid ), SIGTERM );
#endif
         }
         mpDerMixDprocess->start( Settings::value( Settings::PartymanDerMixDcmd ), args );
         /* block until dermixd is up an running */
         for( mWaitForDerMixD = true; mWaitForDerMixD; )
         {
            QCoreApplication::processEvents();
         }
         if( !mDerMixDstarted )
         {
            QMessageBox::critical( this, QApplication::applicationName(),
                                   tr("Could not start DerMixD") );
         }
         pid = static_cast<qlonglong>( mpDerMixDprocess->pid() );
         Settings::setValue( Settings::PartymanDerMixDpid, pid );
      }
      else
      {
         mDerMixDstarted = true;
         hostname = Settings::value( Settings::PartymanDerMixDhost );
      }
      mConnected = true;
      mpPlayer[0]->connectTo( hostname, port );
      mpPlayer[1]->connectTo( hostname, port );
      mpStartButton->setMenu( mpStartButtonMenu );
      mpTrayIcon->setContextMenu( mpTrayIconPlayMenu );
      mpPlayAction->setChecked( true );
      mpSkipAction->setDisabled( mKioskMode );
      emit signalConnected( true );
   }
   handlePause( true );
}
Example #7
0
void ControlWidget::initDisconnect( ErrorCode errorCode )
{
   PartymanMainWindow::setIconAndTitle( this, mPartymanIcon, QApplication::applicationName() +
                                                             ": " + tr("(disconnected)") );
   mpTrayIcon->setToolTip( QString() );
   mpTrayIcon->setContextMenu( mpTrayIconStopMenu );
   if( mConnected )
   {
      mConnected = false;
      QString errorText;
      handlePause( true );
      saveTracks( true );
      mpPlayer[0]->disconnect();
      mpPlayer[1]->disconnect();
      //mpSkipButton->setDisabled( true );
      mpSkipAction->setDisabled( true );
      mpStartButton->setMenu( 0 );
      mpStartButton->setChecked( false );
      switch( errorCode )
      {
         case ErrorNoConnection:
            errorText = tr("Could not connect to DerMixD. Is it running?");
            break;
         case ErrorConnectionLost:
            errorText = tr("The connection to DerMixD was lost.");
            break;
         case ErrorWrongVersion:
            errorText = tr("The Version of DerMixD is not compatible.");
            break;
         case ErrorNone:
         default:
            break;
      }
      if( !errorText.isEmpty() && mDerMixDstarted )
      {
         QMessageBox::critical( this, QApplication::applicationName(), errorText );
      }
      if( Settings::value( Settings::PartymanDerMixDrun ) )
      {
         mpDerMixDprocess->terminate();
         Settings::setValue( Settings::PartymanDerMixDpid, 0 );
      }
      emit signalConnected( false );
      mpPlaylist->setTrackInfo( TrackInfo() );
      log( "p0s", "stop" );
   }
}
Example #8
0
/*!
\brief Get list of subscribed feeds
*/
void GoogleReader::getFeeds() {
    qDebug() << "GoogleReader::getFeeds()";

    if (_googleCookie == NULL) {
        emit signalConnected(false);
        this->login();
    }

    QNetworkAccessManager* managerGetFeeds = new QNetworkAccessManager(this);

    QString feedUrl = QString("http://www.google.com/reader/api/0/subscription/list?output=xml");
    QNetworkRequest getRequest= QNetworkRequest(QUrl(feedUrl));
    getRequest.setRawHeader("Authorization", _googleCookie->value());

    connect(managerGetFeeds, SIGNAL(finished(QNetworkReply*)),
            this, SLOT(parseFeeds(QNetworkReply*)));

    managerGetFeeds->get(getRequest);
}
Example #9
0
/*!
\brief Get specified number of entries from specified feed
*/
void GoogleReader::getNumberOfEntriesFromFeed(QString feedId, int count) {
    qDebug() << "GoogleReader::getAllEntriesFromFeed(" << feedId << "," << count << ")";

    if (_googleCookie == NULL) {
        emit signalConnected(false);
        this->login();
    }

    QNetworkAccessManager* managerGetAllEntriesFromFeed = new QNetworkAccessManager(this);

    QString feedUrl = QString("http://www.google.com/reader/atom/feed/%1?n=%2").arg(feedId, QString::number(count));
    QNetworkRequest getRequest= QNetworkRequest(QUrl(feedUrl));
    getRequest.setRawHeader("Authorization", _googleCookie->value());

    connect(managerGetAllEntriesFromFeed, SIGNAL(finished(QNetworkReply*)),
            this, SLOT(parseEntries(QNetworkReply*)));

    managerGetAllEntriesFromFeed->get(getRequest);
}
Example #10
0
/*!
\brief Ziska seznam zdroju, ve kterych jsou neprectene polozky
*/
void GoogleReader::getUnreadFeeds() {
    qDebug() << "GoogleReader::getUnreadFeeds()";

    if (_googleCookie == NULL) {
        emit signalConnected(false);
        this->login();
    }

    QNetworkAccessManager* managerGetUnreadFeeds = new QNetworkAccessManager(this);
    QString unixTime = QString::number(getUnixTime());

    QString feedUrl = QString("http://www.google.com/reader/api/0/unread-count?allcomments=true&output=xml&ck=%1&client=GooDer").arg(unixTime);

    QNetworkRequest getRequest= QNetworkRequest(QUrl(feedUrl));
    getRequest.setRawHeader("Authorization", _googleCookie->value());

    managerGetUnreadFeeds->get(getRequest);

    connect(managerGetUnreadFeeds, SIGNAL(finished(QNetworkReply*)),
            this, SLOT(parseUnreadFeeds(QNetworkReply*)));
}
Example #11
0
/*!
\brief Remove feed from subscribe list
*/
void GoogleReader::removeFeed(QString feedId) {
    qDebug() << "GoogleReader::removeFeed(" << feedId << ")";

    if (_googleCookie == NULL) {
        emit signalConnected(false);
        this->login();
    }

    QString url = "http://www.google.com/reader/api/0/subscription/edit?client=GooDer";
    QString postData = QString("s=feed/%1&ac=unsubscribe&T=%2").arg(feedId, _googleToken);

    QNetworkRequest postRequest = QNetworkRequest(QUrl(url));
    postRequest.setRawHeader("Authorization", _googleCookie->value());
    postRequest.setRawHeader("Content-Type", "application/x-www-form-urlencoded");

    QNetworkAccessManager* managerRemoveFeed = new QNetworkAccessManager(this);

    connect(managerRemoveFeed, SIGNAL(finished(QNetworkReply*)),
            this, SLOT(parseRemoveFeed(QNetworkReply *)));

    managerRemoveFeed->post(postRequest, postData.toAscii());
}
Example #12
0
/*!
\brief Get list of all entries
*/
void GoogleReader::getEntries() {
    qDebug() << "GoogleReader::getEntries()";

    if (_googleCookie == NULL) {
        emit signalConnected(false);
        this->login();
    }

    QString feedUrl;
    int numberOfEntries = 1000;

    QNetworkAccessManager* managerGetEntriesList = new QNetworkAccessManager(this);
    feedUrl = QString("http://www.google.com/reader/atom/user/-/state/com.google/reading-list?n=%1").arg(numberOfEntries);

    QNetworkRequest getRequest= QNetworkRequest(QUrl(feedUrl));
    getRequest.setRawHeader("Authorization", _googleCookie->value());

    connect(managerGetEntriesList, SIGNAL(finished(QNetworkReply*)),
            this, SLOT(parseEntries(QNetworkReply*)));

    managerGetEntriesList->get(getRequest);
}
void CDistributeTaskWorker::run()
{
	MYLOG4CPP_DEBUG<<"CStockTcpClientActor::run()";

	m_pComWorker = new CClientComWorker(m_strServerIP, m_nServerPort, this);
	QObject::connect(m_pComWorker, SIGNAL(signalDisconnected()), this, SLOT(slotDisconnected()), Qt::AutoConnection);
	QObject::connect(m_pComWorker, SIGNAL(signalConnected()), this, SLOT(slotConnected()), Qt::AutoConnection);
	QObject::connect(this, SIGNAL(signalConnectToServer()), m_pComWorker, SLOT(slotConnectToServer()), Qt::AutoConnection);

	//
	m_pMessageManager = new CMessageManager(this);
	QObject::connect(m_pComWorker, SIGNAL(signalProcessMessage(QByteArray*)), m_pMessageManager, SLOT(slotProcessMessage(QByteArray*)), Qt::AutoConnection);
	QObject::connect(m_pMessageManager, SIGNAL(signalWriteMessage(QByteArray*)), m_pComWorker, SLOT(slotWriteMessage(QByteArray*)), Qt::AutoConnection);

	m_pComWorker->start();

	m_WorkerState = WORK_STATE_BEGIN;
	m_WorkerState = WORK_STATE_WORKING;

	//QThread::exec() waits until QThread::exit() called
	exec();


	if (NULL != m_pComWorker)
	{
		m_pComWorker->terminateAndWait();
		delete m_pComWorker;
		m_pComWorker = NULL;
	}

	if (NULL != m_pMessageManager)
	{
		delete m_pMessageManager;
		m_pMessageManager = NULL;
	}

	m_WorkerState = WORK_STATE_END;

}
void CClientComWorker::slotConnected()
{
	QString strSocketState;
	strSocketState = CTcpSocketHelper::getStringValue(m_pSocketHandle->state());
	m_pSocketInfo->setValue(m_pSocketHandle);
	m_pSocketInfo->logInfo(__FILE__, __LINE__);
	m_nHandle = m_pSocketInfo->m_nSocketHandle;

	MYLOG4CPP_DEBUG<<" "
		<<" "<<"class:"<<" "<<"CClientComWorker"
		<<" "<<"slot:"<<" "<<"slotConnected"
		<<" "<<"m_nHandle="<<m_nHandle
		<<" "<<"strSocketState="<<strSocketState;

	MYLOG4CPP_DEBUG<<" "<<"m_strID="<<m_pSocketInfo->m_strID
		<<" "<<"class:"<<" "<<"CClientComWorker"
		<<" "<<"fun:"<<" "<<"slotConnected"
		<<" "<<"emit signalConnected()"
		<<" "<<"param:"<<" "<<"m_nHandle="<<m_nHandle;

	emit signalConnected(m_nHandle);
}
Example #15
0
/*!
\brief Marks entry as read
*/
void GoogleReader::markEntryAsRead(QString entryId) {
    qDebug() << "GoogleReader::markEntryAsRead(" << entryId << ")";

    if (_googleCookie == NULL) {
        emit signalConnected(false);
        this->login();
    }

    QNetworkAccessManager* managerMarkEntryAsRead = new QNetworkAccessManager(this);

    QString url = "http://www.google.com/reader/api/0/edit-tag?client=GooDer";
    QString postData = QString("i=%1&a=user/-/state/com.google/read&ac=edit&T=%2").arg(entryId, _googleToken);

    QNetworkRequest postRequest = QNetworkRequest(QUrl(url));
    postRequest.setRawHeader("Authorization", _googleCookie->value());
    postRequest.setRawHeader("Id", entryId.toAscii());
    postRequest.setRawHeader("Content-Type", "application/x-www-form-urlencoded");

    connect(managerMarkEntryAsRead, SIGNAL(finished(QNetworkReply*)),
            this, SLOT(parseMarkEntryAsRead(QNetworkReply *)));

    managerMarkEntryAsRead->post(postRequest, postData.toAscii());
}
Example #16
0
/*!
\brief Mark feeds as read
*/
void GoogleReader::markFeedAsRead(QString feedId) {
    qDebug() << "GoogleReader::markFeedAsRead(" << feedId << ")";

    if (_googleCookie == NULL) {
        emit signalConnected(false);
        this->login();
    }

    QNetworkAccessManager* managerMarkAllAsRead = new QNetworkAccessManager(this);

    QString url = "http://www.google.com/reader/api/0/mark-all-as-read";
    QString unixTimeMS = QString::number((getUnixTime()));
    QString postData = QString("s=feed/%1&ts=%2&T=%3").arg(QUrl::toPercentEncoding(feedId), unixTimeMS, _googleToken);

    QNetworkRequest postRequest = QNetworkRequest(QUrl(url));
    postRequest.setRawHeader("Authorization", _googleCookie->value());
    postRequest.setRawHeader("Id", feedId.toAscii());
    postRequest.setRawHeader("Content-Type", "application/x-www-form-urlencoded");

    connect(managerMarkAllAsRead, SIGNAL(finished(QNetworkReply*)),
            this, SLOT(parseRespondeMarkFeedAsRead(QNetworkReply*)));

    managerMarkAllAsRead->post(postRequest, postData.toAscii());
}
Example #17
0
void CameraController::executeCommand(CameraCommand* const cmd)
{
    if (!cmd)
    {
        return;
    }

    switch (cmd->action)
    {
    case (CameraCommand::cam_connect):
    {
        sendLogMsg(i18n("Connecting to camera..."));

        bool result = d->camera->doConnect();

        emit signalConnected(result);

        if (result)
        {
            sendLogMsg(i18n("Connection established."));
        }
        else
        {
            sendLogMsg(i18n("Connection failed."));
        }

        break;
    }

    case (CameraCommand::cam_cameraInformation):
    {
        QString summary, manual, about;

        d->camera->cameraSummary(summary);
        d->camera->cameraManual(manual);
        d->camera->cameraAbout(about);

        emit signalCameraInformation(summary, manual, about);
        break;
    }

    case (CameraCommand::cam_freeSpace):
    {
        unsigned long kBSize  = 0;
        unsigned long kBAvail = 0;

        if (!d->camera->getFreeSpace(kBSize, kBAvail))
        {
            sendLogMsg(i18n("Failed to get free space from camera"), DHistoryView::ErrorEntry);
        }

        emit signalFreeSpace(kBSize, kBAvail);
        break;
    }

    case (CameraCommand::cam_preview):
    {
        QImage preview;

        if (!d->camera->getPreview(preview))
        {
            sendLogMsg(i18n("Failed to get preview from camera"), DHistoryView::ErrorEntry);
        }

        emit signalPreview(preview);
        break;
    }

    case (CameraCommand::cam_capture):
    {
        CamItemInfo itemInfo;

        if (!d->camera->capture(itemInfo))
        {
            sendLogMsg(i18n("Failed to process capture from camera"), DHistoryView::ErrorEntry);
        }

        emit signalUploaded(itemInfo);
        break;
    }

    case (CameraCommand::cam_listfolders):
    {
        QString folder = cmd->map["folder"].toString();

        if (!d->camera->getFolders(folder))
        {
            sendLogMsg(i18n("Failed to list folder <filename>%1</filename>", folder), DHistoryView::ErrorEntry);
        }

        break;
    }

    case (CameraCommand::cam_listfiles):
    {
        QString folder   = cmd->map["folder"].toString();
        bool useMetadata = cmd->map["useMetadata"].toBool();

        CamItemInfoList itemsList;

        if (!d->camera->getItemsInfoList(folder, useMetadata, itemsList))
        {
            sendLogMsg(i18n("Failed to list files in <filename>%1</filename>", folder), DHistoryView::ErrorEntry);
        }

        // TODO would it be okay to pass this to the ImportImageModel and let it filter it for us?
        for (CamItemInfoList::iterator it = itemsList.begin() ; it != itemsList.end() ; )
        {
            CamItemInfo &info = (*it);

            if (info.mime.isEmpty())
            {
                it = itemsList.erase(it);
                continue;
            }

            ++it;
        }

        emit signalFileList(itemsList);

        break;
    }

    case (CameraCommand::cam_thumbsinfo):
    {
        QList<QVariant> list = cmd->map["list"].toList();
        int thumbSize        = cmd->map["thumbSize"].toInt();

        for (QList<QVariant>::const_iterator it = list.constBegin(); it != list.constEnd(); ++it)
        {
            if (d->canceled)
            {
                break;
            }

            QString folder = (*it).toStringList().at(0);
            QString file   = (*it).toStringList().at(1);

            CamItemInfo info;
            info.folder = folder;
            info.name = file;
            QImage thumbnail;

            if (d->camera->getThumbnail(folder, file, thumbnail))
            {
                thumbnail = thumbnail.scaled(thumbSize, thumbSize, Qt::KeepAspectRatio);
                emit signalThumbInfo(folder, file, info, thumbnail);
            }
            else
            {
                sendLogMsg(i18n("Failed to get thumbnail for <filename>%1</filename>", file), DHistoryView::ErrorEntry, folder, file);
                emit signalThumbInfoFailed(folder, file, info);
            }
        }

        break;
    }

    case (CameraCommand::cam_metadata):
    {
        QString folder = cmd->map["folder"].toString();
        QString file   = cmd->map["file"].toString();

        DMetadata meta;

        if (!d->camera->getMetadata(folder, file, meta))
            sendLogMsg(i18n("Failed to get Metadata for <filename>%1</filename>", file), DHistoryView::ErrorEntry, folder, file);

        emit signalMetadata(folder, file, meta);

        break;
    }

    case (CameraCommand::cam_download):
    {
        QString   folder         = cmd->map["folder"].toString();
        QString   file           = cmd->map["file"].toString();
        QString   dest           = cmd->map["dest"].toString();
        bool      fixDateTime    = cmd->map["fixDateTime"].toBool();
        QDateTime newDateTime    = cmd->map["newDateTime"].toDateTime();
        QString   templateTitle  = cmd->map["template"].toString();
        bool      convertJpeg    = cmd->map["convertJpeg"].toBool();
        QString   losslessFormat = cmd->map["losslessFormat"].toString();
        QString   script         = cmd->map["script"].toString();
        int       pickLabel      = cmd->map["pickLabel"].toInt();
        int       colorLabel     = cmd->map["colorLabel"].toInt();
        int       rating         = cmd->map["rating"].toInt();

        // download to a temp file

        emit signalDownloaded(folder, file, CamItemInfo::DownloadStarted);

        KUrl tempURL(dest);
        tempURL      = tempURL.upUrl();
        tempURL.addPath(QString(".digikam-camera-tmp1-%1").arg(getpid()).append(file));
        kDebug() << "Downloading: " << file << " using (" << tempURL << ")";
        QString temp = tempURL.toLocalFile();

        bool result  = d->camera->downloadItem(folder, file, tempURL.toLocalFile());

        if (!result)
        {
            unlink(QFile::encodeName(tempURL.toLocalFile()));
            sendLogMsg(i18n("Failed to download <filename>%1</filename>", file), DHistoryView::ErrorEntry, folder, file);
            emit signalDownloaded(folder, file, CamItemInfo::DownloadFailed);
            break;
        }
        else if (JPEGUtils::isJpegImage(tempURL.toLocalFile()))
        {
            // Possible modification operations. Only apply it to JPEG for the moment.

            kDebug() << "Set metadata from: " << file << " using (" << tempURL << ")";
            DMetadata metadata(tempURL.toLocalFile());

            metadata.setExifTagString("Exif.Image.DocumentName", QFileInfo(dest).fileName());

            if (fixDateTime)
            {
                metadata.setImageDateTime(newDateTime, true);
            }

            //TODO: Set image tags using DMetadata.

            if (colorLabel > NoColorLabel)
            {
                metadata.setImageColorLabel(colorLabel);
            }

            if (pickLabel > NoPickLabel)
            {
                metadata.setImagePickLabel(pickLabel);
            }

            if (rating > RatingMin)
            {
                metadata.setImageRating(rating);
            }

            if (!templateTitle.isNull() && !templateTitle.isEmpty())
            {
                TemplateManager* tm = TemplateManager::defaultManager();
                kDebug() << "Metadata template title : " << templateTitle;

                if (tm && templateTitle == Template::removeTemplateTitle())
                {
                    metadata.removeMetadataTemplate();
                }
                else if (tm)
                {
                    metadata.removeMetadataTemplate();
                    metadata.setMetadataTemplate(tm->findByTitle(templateTitle));
                }
            }

            metadata.applyChanges();

            // Convert JPEG file to lossless format if wanted,
            // and move converted image to destination.

            if (convertJpeg)
            {
                KUrl tempURL2(dest);
                tempURL2 = tempURL2.upUrl();
                tempURL2.addPath(QString(".digikam-camera-tmp2-%1").arg(getpid()).append(file));
                temp     = tempURL2.toLocalFile();

                // when convertnig a file, we need to set the new format extension..
                // The new extension is already set in importui.cpp.

                kDebug() << "Convert to LossLess: " << file << " using (" << tempURL << ")  destination: " << dest;

                if (!JPEGUtils::jpegConvert(tempURL.toLocalFile(), tempURL2.toLocalFile(), file, losslessFormat))
                {
                    kDebug() << "  Convert failed?! eh";
                    // convert failed. delete the temp file
                    unlink(QFile::encodeName(tempURL.toLocalFile()));
                    unlink(QFile::encodeName(tempURL2.toLocalFile()));
                    sendLogMsg(i18n("Failed to convert file <filename>%1</filename> to JPEG", file), DHistoryView::ErrorEntry, folder, file);
                }
                else
                {
                    kDebug() << "  Done, removing the temp file: " << tempURL;
                    // Else remove only the first temp file.
                    unlink(QFile::encodeName(tempURL.toLocalFile()));
                }
            }
        }

        // Now we need to move from temp file to destination file.
        // This possibly involves UI operation, do it from main thread
        emit signalInternalCheckRename(folder, file, dest, temp, script);
        break;
    }

    case (CameraCommand::cam_upload):
    {
        QString folder = cmd->map["destFolder"].toString();

        // We will using the same source file name to create the dest file
        // name in camera.
        QString file   = cmd->map["destFile"].toString();

        // The source file path to download in camera.
        QString src    = cmd->map["srcFilePath"].toString();

        CamItemInfo itemsInfo;

        bool result = d->camera->uploadItem(folder, file, src, itemsInfo);

        if (result)
        {
            emit signalUploaded(itemsInfo);
        }
        else
        {
            emit signalInternalUploadFailed(folder, file, src);
        }

        break;
    }

    case (CameraCommand::cam_delete):
    {
        QString folder = cmd->map["folder"].toString();
        QString file   = cmd->map["file"].toString();
        bool result    = d->camera->deleteItem(folder, file);

        if (result)
        {
            emit signalDeleted(folder, file, true);
        }
        else
        {
            emit signalInternalDeleteFailed(folder, file);
        }

        break;
    }

    case (CameraCommand::cam_lock):
    {
        QString folder = cmd->map["folder"].toString();
        QString file   = cmd->map["file"].toString();
        bool    lock   = cmd->map["lock"].toBool();
        bool result    = d->camera->setLockItem(folder, file, lock);

        if (result)
        {
            emit signalLocked(folder, file, true);
        }
        else
        {
            emit signalInternalLockFailed(folder, file);
        }

        break;
    }

    default:
    {
        kWarning() << " unknown action specified";
        break;
    }
    }
}
void CConnectionListener::slotClientConnected(const CConnection* that)
{
    qDebug() << "CConnectionListener::slotClientConnected";

    emit signalConnected(that);
}
Example #19
0
void OwnCloudClient::slotConnected()
{
    emit signalConnected();
}
Example #20
0
void NetClient::slotConnected()
{
    emit signalConnected();
}
void Management::setConnected(bool connectionValue){
    emit signalConnected(connectionValue);
}