예제 #1
0
void InternalBuildJob::build(const TopLevelProjectPtr &project,
        const QList<ResolvedProductPtr> &products, const BuildOptions &buildOptions)
{
    setup(project, products, buildOptions.dryRun());
    setTimed(buildOptions.logElapsedTime());

    m_executor = new Executor(logger());
    m_executor->setProject(project);
    m_executor->setProducts(products);
    m_executor->setBuildOptions(buildOptions);
    m_executor->setProgressObserver(observer());

    QThread * const executorThread = new QThread(this);
    m_executor->moveToThread(executorThread);
    connect(m_executor, SIGNAL(reportCommandDescription(QString,QString)),
            this, SIGNAL(reportCommandDescription(QString,QString)));
    connect(m_executor, SIGNAL(reportProcessResult(qbs::ProcessResult)),
            this, SIGNAL(reportProcessResult(qbs::ProcessResult)));

    connect(executorThread, SIGNAL(started()), m_executor, SLOT(build()));
    connect(m_executor, SIGNAL(finished()), SLOT(handleFinished()));
    connect(m_executor, SIGNAL(destroyed()), executorThread, SLOT(quit()));
    connect(executorThread, SIGNAL(finished()), this, SLOT(emitFinished()));
    executorThread->start();
}
void OGRGDALImportExtension::proceedToImport()
{

  if (mp_PrecheckImportDlg != NULL)
    delete mp_PrecheckImportDlg;

  mp_PrecheckImportDlg = new PrecheckImportDialog(OGRGDALEXT_PRECHECK_STEPS+m_SourcesInfos.size()+2,this);

  mp_PrecheckImportDlg->open();


  QThread* WThread = new QThread;
  ImportWorker* Worker = new ImportWorker(m_SourcesInfos,mp_AdvancedDesc,m_InputDir);
  Worker->moveToThread(WThread);

  connect(Worker, SIGNAL(stepEntered(QString)), mp_PrecheckImportDlg, SLOT(handleStepEntered(QString)));
  connect(Worker, SIGNAL(stepCompleted(int,QString)), mp_PrecheckImportDlg, SLOT(handleStepCompleted(int,QString)));
  connect(Worker, SIGNAL(completed(QString)), mp_PrecheckImportDlg, SLOT(handleCompleted(QString)));
  connect(Worker, SIGNAL(finished()), mp_PrecheckImportDlg, SLOT(handleFinished()));

  // for automatic closing on successful import
  connect(Worker, SIGNAL(closeRequired()), mp_PrecheckImportDlg, SLOT(handleCloseRequired()));
  connect(mp_PrecheckImportDlg, SIGNAL(closeRequired()), this, SLOT(handleCloseRequired()));

  connect(WThread, SIGNAL(started()), Worker, SLOT(run()));
  connect(Worker, SIGNAL(finished()), WThread, SLOT(quit()));
  connect(Worker, SIGNAL(finished()), Worker, SLOT(deleteLater()));
  connect(WThread, SIGNAL(finished()), WThread, SLOT(deleteLater()));

  WThread->start();
}
예제 #3
0
QgsAmsLegendFetcher::QgsAmsLegendFetcher( QgsAmsProvider *provider )
    : QgsImageFetcher( provider ), mProvider( provider )
{
  mQuery = new QgsArcGisAsyncQuery( this );
  connect( mQuery, SIGNAL( finished() ), this, SLOT( handleFinished() ) );
  connect( mQuery, SIGNAL( failed( QString, QString ) ), this, SLOT( handleError( QString, QString ) ) );
}
void OGRGDALImportExtension::runPrecheck()
{
  if (mp_PrecheckImportDlg != NULL)
    delete mp_PrecheckImportDlg;

  mp_PrecheckImportDlg = new PrecheckImportDialog(OGRGDALEXT_PRECHECK_STEPS,this);

  mp_PrecheckImportDlg->open();


  QThread* WThread = new QThread;
  PrecheckWorker* Worker = new PrecheckWorker(m_SourcesInfos,mp_AdvancedDesc);
  Worker->moveToThread(WThread);


  connect(Worker, SIGNAL(stepEntered(QString)), mp_PrecheckImportDlg, SLOT(handleStepEntered(QString)));
  connect(Worker, SIGNAL(stepCompleted(int,QString)), mp_PrecheckImportDlg, SLOT(handleStepCompleted(int,QString)));
  connect(Worker, SIGNAL(completed(QString)), mp_PrecheckImportDlg, SLOT(handleCompleted(QString)));
  connect(Worker, SIGNAL(finished()), mp_PrecheckImportDlg, SLOT(handleFinished()));

  connect(WThread, SIGNAL(started()), Worker, SLOT(run()));
  connect(Worker, SIGNAL(finished()), WThread, SLOT(quit()));
  connect(Worker, SIGNAL(finished()), Worker, SLOT(deleteLater()));
  connect(WThread, SIGNAL(finished()), WThread, SLOT(deleteLater()));

  WThread->start();
}
예제 #5
0
	void RecEventsFetcher::RequestEvents (QMap<QString, QString> params)
	{
		AddLanguageParam (params);
		QString method;
		switch (Type_)
		{
		case Type::Recommended:
			method = "user.getRecommendedEvents";
			break;
		case Type::Attending:
			method = "user.getEvents";
			params ["user"] = XmlSettingsManager::Instance ()
					.property ("lastfm.login").toString ();
			break;
		}

		auto reply = Request (method, NAM_, params);
		connect (reply,
				SIGNAL (finished ()),
				this,
				SLOT (handleFinished ()));
		connect (reply,
				SIGNAL (error (QNetworkReply::NetworkError)),
				this,
				SLOT (handleError ()));
	}
void MaemoPublishingResultPageFremantleFree::initializePage()
{
    cancelButton()->disconnect();
    connect(cancelButton(), SIGNAL(clicked()), SLOT(handleCancelRequest()));
    connect(m_publisher, SIGNAL(finished()), SLOT(handleFinished()));
    connect(m_publisher,
        SIGNAL(progressReport(QString,MaemoPublisherFremantleFree::OutputType)),
        SLOT(handleProgress(QString,MaemoPublisherFremantleFree::OutputType)));
    m_publisher->publish();
}
예제 #7
0
void CoreFutureTest::startTest()
{
#if 1
    QObject::connect(&m_watcher, SIGNAL(finished()), this, SLOT(handleFinished()));

    QFuture<void> future = QtConcurrent::run( writeToFile );
    m_watcher.setFuture(future);
#else
    writeToFile();
    emit finished();
#endif
}
예제 #8
0
void AbstractRemoteLinuxDeployStep::run(QFutureInterface<bool> &fi)
{
    connect(deployService(), SIGNAL(errorMessage(QString)), SLOT(handleErrorMessage(QString)));
    connect(deployService(), SIGNAL(progressMessage(QString)), SLOT(handleProgressMessage(QString)));
    connect(deployService(), SIGNAL(stdOutData(QString)), SLOT(handleStdOutData(QString)));
    connect(deployService(), SIGNAL(stdErrData(QString)), SLOT(handleStdErrData(QString)));
    connect(deployService(), SIGNAL(finished()), SLOT(handleFinished()));

    m_d->hasError = false;
    m_d->future = fi;
    deployService()->start();
}
예제 #9
0
	void TermTab::Remove ()
	{
		ProcessGraphBuilder builder { Term_->getShellPID () };
		if (!builder.IsEmpty ())
		{
			CloseDialog dia { builder.CreateModel (), this };
			if (dia.exec () != QDialog::Accepted)
				return;
		}

		handleFinished ();
	}
void TrainDialog::beginTraining() {
  progressBar = new QProgressBar();
  progressBar->setMaximum(TRAIN_TIME_S);
  trainButton->setVisible(false);
  layout->removeWidget(trainButton);
  layout->addWidget(progressBar);
  timer = new QTimer(this);
  connect(timer, SIGNAL(timeout()), this, SLOT(timerFired()));
  timer->start(1000);
  watcher = new QFutureWatcher<void>();
  connect(watcher, SIGNAL(finished()), this, SLOT(handleFinished()));
  QFuture<void> future = QtConcurrent::run(train);
  watcher->setFuture(future);
}
예제 #11
0
	void UserScript::DownloadResource (const QString& resource, 
			QNetworkAccessManager *networkManager)
	{
		const QString& resourceName = resource.mid (0, resource.indexOf (" "));
		const QString& resourceUrl = resource.mid (resource.indexOf (" ") + 1);
		QNetworkRequest resourceRequest;

		resourceRequest.setUrl (QUrl (resourceUrl));
		QNetworkReply *reply = networkManager->get (resourceRequest);
		QObject::connect (reply, 
				SIGNAL (finished ()), 
				new ResourceDownloadHandler (resourceName, this, reply), 
				SLOT (handleFinished ()));		
	}
예제 #12
0
	void PasteServiceBase::InitReply (QNetworkReply *reply)
	{
		connect (reply,
				SIGNAL (finished ()),
				this,
				SLOT (handleFinished ()));
		connect (reply,
				SIGNAL (metaDataChanged ()),
				this,
				SLOT (handleMetadata ()));
		connect (reply,
				SIGNAL (error (QNetworkReply::NetworkError)),
				this,
				SLOT (handleError ()));
	}
	HypedTracksFetcher::HypedTracksFetcher (QNetworkAccessManager *nam, Media::IHypesProvider::HypeType type, QObject *parent)
	: QObject (parent)
	, Type_ (type)
	{
		QMap<QString, QString> params;
		params ["limit"] = "50";
		const auto& method = type == Media::IHypesProvider::HypeType::NewTracks ?
				"chart.getHypedTracks" :
				"chart.getTopTracks";
		auto reply = Request (method, nam, params);
		connect (reply,
				SIGNAL (finished ()),
				this,
				SLOT (handleFinished ()));
		connect (reply,
				SIGNAL (error (QNetworkReply::NetworkError)),
				this,
				SLOT (handleError ()));
	}
예제 #14
0
파일: poster.cpp 프로젝트: grio/leechcraft
Poster::Poster (Poster::HostingService service,
                const QByteArray& data, const QString& format,
                QNetworkAccessManager *am, QObject *parent)
    : QObject (parent)
    , Service_ (service)
    , Reply_ (0)
{
    Workers_ [ImagebinCa] = Worker_ptr (new ImagebinWorker);

    Reply_ = Workers_ [Service_]->Post (data, format, am);

    connect (Reply_,
             SIGNAL (finished ()),
             this,
             SLOT (handleFinished ()));
    connect (Reply_,
             SIGNAL (error (QNetworkReply::NetworkError)),
             this,
             SLOT (handleError ()));
}
예제 #15
0
	BitcheesePending::BitcheesePending (const QString& filename, const ICoreProxy_ptr& proxy, QObject *parent)
	: PendingUploadBase { filename, proxy, parent }
	{
		const auto nam = proxy->GetNetworkAccessManager ();

		QNetworkRequest req { QUrl { "http://dump.bitcheese.net/upload-file" } };
		req.setRawHeader ("Referer", "http://dump.bitcheese.net/");

		const auto reply = nam->post (req, MakeStandardMultipart ());
		connect (reply,
				SIGNAL (finished ()),
				this,
				SLOT (handleFinished ()));
		connect (reply,
				SIGNAL (error (QNetworkReply::NetworkError)),
				this,
				SLOT (handleError ()));

		connect (reply,
				SIGNAL (uploadProgress (qint64, qint64)),
				this,
				SLOT (handleUploadProgress (qint64, qint64)));
	}
**     contributors may be used to endorse or promote products derived
**     from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/

//! [0]
// Instantiate the objects and connect to the finished signal.
MyClass myObject;
QFutureWatcher<int> watcher;
connect(&watcher, SIGNAL(finished()), &myObject, SLOT(handleFinished()));

// Start the computation.
QFuture<int> future = QtConcurrent::run(...);
watcher.setFuture(future);
//! [0]