void Backuper::start(QString backupPath) { qDebug("backuper::start(), tid = %u", (uint32_t)QThread::currentThreadId()); QProcess::ProcessState state = shellProc->state(); if (state != QProcess::NotRunning) { return; } QStringList params; params << "/c" << "copylog.bat" << backupPath; shellProc->start("cmd.exe", params); if (!shellProc->waitForFinished(-1)) { qDebug("find log failed."); emit sigFinished(-1); } else { emit sigFinished(0); } return; }
void CAudioOutputTest::onStateChanged() { qDebug()<<"onReadChannelFinished"<<Q_FUNC_INFO<<m_audioOutput->state(); if(m_audioOutput->state() == QAudio::IdleState) { stop(); emit sigFinished(); } }
void CQuadraticPath::run() { clock_t start, finish; start=clock(); optimize(); finish=clock(); _runtime= (float)(finish - start)/ CLOCKS_PER_SEC; emit sigFinished(); }
void UILineTextEdit::edit() { UITextEditor te(this); te.setText(m_strText); if (te.exec() == QDialog::Accepted) { m_strText = te.text(); /* Notify listener(s) about we finished: */ emit sigFinished(this); } }
void KisAnimationExporter::stopExport() { if (!m_d->exporting) return; m_d->exporting = false; disconnect(m_d->image->animationInterface(), 0, this, 0); if (!m_d->batchMode) { disconnect(m_d->document, SIGNAL(sigProgressCanceled()), this, SLOT(cancel())); emit m_d->document->sigProgress(100); emit m_d->document->clearStatusBarMessage(); } emit sigFinished(); }
KisImportExportFilter::ConversionStatus KisAnimationExporter::exportAnimation() { if (!m_d->batchMode) { emit m_d->document->statusBarMessage(i18n("Export frames")); emit m_d->document->sigProgress(0); connect(m_d->document, SIGNAL(sigProgressCanceled()), this, SLOT(cancel())); } m_d->status = KisImportExportFilter::OK; m_d->exporting = true; m_d->currentFrame = m_d->firstFrame; connect(m_d->image->animationInterface(), SIGNAL(sigFrameReady(int)), this, SLOT(frameReadyToCopy(int)), Qt::DirectConnection); m_d->image->animationInterface()->requestFrameRegeneration(m_d->currentFrame, m_d->image->bounds()); QEventLoop loop; loop.connect(this, SIGNAL(sigFinished()), SLOT(quit())); loop.exec(); return m_d->status; }
void CPoissonExt::run() { clock_t start, finish; start=clock(); int size; size=prepare(1,_extends1); /*if(_gpu_flag) poissonExtend_cuda(_extends1,size); else*/ poissonExtend(_extends1,size); size=prepare(2,_extends2); /* if(_gpu_flag) poissonExtend_cuda(_extends2,size); else*/ poissonExtend(_extends2,size); finish=clock(); _runtime= (float)(finish - start) * 1000 / CLOCKS_PER_SEC; emit sigFinished(_layer_index); }
CSearchToolWidget::CSearchToolWidget(QTabWidget * parent) : QWidget(parent) { setupUi(this); setObjectName("Search"); connect(lineInput, SIGNAL(returnPressed()), this, SLOT(slotReturnPressed())); connect(&CSearchDB::self(), SIGNAL(sigStatus(const QString&)), labelStatus, SLOT(setText(const QString&))); connect(&CSearchDB::self(), SIGNAL(sigFinished()), this, SLOT(slotQueryFinished())); connect(&CSearchDB::self(), SIGNAL(sigChanged()), this, SLOT(slotDBChanged())); connect(listResults,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(slotItemClicked(QListWidgetItem*))); parent->insertTab(0,this,QIcon(":/icons/iconSearch16x16.png"),""); parent->setTabToolTip(parent->indexOf(this), tr("Search")); contextMenu = new QMenu(this); contextMenu->addAction(QPixmap(":/icons/iconClipboard16x16.png"),tr("Copy Position"),this,SLOT(slotCopyPosition()),Qt::CTRL + Qt::Key_C); contextMenu->addAction(QPixmap(":/icons/iconAdd16x16.png"),tr("Add Waypoint ..."),this,SLOT(slotAdd())); contextMenu->addAction(QPixmap(":/icons/iconClear16x16.png"),tr("Delete"),this,SLOT(slotDelete()),Qt::Key_Delete); connect(listResults,SIGNAL(customContextMenuRequested(const QPoint&)),this,SLOT(slotContextMenu(const QPoint&))); comboHost->addItem(tr("OpenRouteService"), CSearchDB::eOpenRouteService); // comboHost->addItem(tr("MapQuest"), CSearchDB::eMapQuest); comboHost->addItem(tr("Google"), CSearchDB::eGoogle); SETTINGS; cfg.beginGroup("search"); int idx = comboHost->findData(cfg.value("host", CSearchDB::eOpenRouteService)); if(idx != -1) { comboHost->setCurrentIndex(idx); } cfg.endGroup(); connect(comboHost, SIGNAL(currentIndexChanged(int)), this, SLOT(slotHostChanged(int))); }
void UINetworkRequest::sltHandleNetworkReplyFinish() { /* Mark network-reply as non-running: */ m_fRunning = false; /* Make sure network-reply still valid: */ if (!m_pReply) return; /* If network-request was canceled: */ if (m_pReply->error() == UINetworkReply::OperationCanceledError) { /* Notify network-manager: */ emit sigCanceled(m_uuid); } /* If network-reply has no errors: */ else if (m_pReply->error() == UINetworkReply::NoError) { /* Check if redirection required: */ QUrl redirect = m_pReply->attribute(UINetworkReply::RedirectionTargetAttribute).toUrl(); if (redirect.isValid()) { /* Cleanup current network-reply first: */ cleanupNetworkReply(); /* Choose redirect-source as current url: */ m_url = redirect; /* Create new network-reply finally: */ prepareNetworkReply(); } else { /* Notify own network-request listeners: */ emit sigFinished(); /* Notify common network-request listeners: */ emit sigFinished(m_uuid); } } /* If some error occured: */ else { /* Check if we have other urls in queue: */ if (m_iUrlIndex < m_urls.size() - 1) { /* Cleanup current network-reply first: */ cleanupNetworkReply(); /* Choose next url as current: */ ++m_iUrlIndex; m_url = m_urls.at(m_iUrlIndex); /* Create new network-reply finally: */ prepareNetworkReply(); } else { /* Notify own network-request listeners: */ emit sigFailed(m_pReply->errorString()); /* Notify common network-request listeners: */ emit sigFailed(m_uuid, m_pReply->errorString()); } } }
UINetworkRequestWidget::UINetworkRequestWidget(UINetworkManagerDialog *pParent, UINetworkRequest *pNetworkRequest) : QIWithRetranslateUI<UIPopupBox>(pParent) , m_pContentWidget(new QWidget(this)) , m_pMainLayout(new QGridLayout(m_pContentWidget)) , m_pProgressBar(new QProgressBar(m_pContentWidget)) , m_pRetryButton(new QIToolButton(m_pContentWidget)) , m_pCancelButton(new QIToolButton(m_pContentWidget)) , m_pErrorPane(new QIRichTextLabel(m_pContentWidget)) , m_pNetworkRequest(pNetworkRequest) , m_pTimer(new QTimer(this)) { /* Setup self: */ setTitleIcon(UIIconPool::iconSet(":/nw_16px.png")); setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); setContentWidget(m_pContentWidget); setOpen(true); /* Prepare listeners for m_pNetworkRequest: */ connect(m_pNetworkRequest, SIGNAL(sigProgress(qint64, qint64)), this, SLOT(sltSetProgress(qint64, qint64))); connect(m_pNetworkRequest, SIGNAL(sigStarted()), this, SLOT(sltSetProgressToStarted())); connect(m_pNetworkRequest, SIGNAL(sigFinished()), this, SLOT(sltSetProgressToFinished())); connect(m_pNetworkRequest, SIGNAL(sigFailed(const QString&)), this, SLOT(sltSetProgressToFailed(const QString&))); /* Setup timer: */ m_pTimer->setInterval(5000); connect(m_pTimer, SIGNAL(timeout()), this, SLOT(sltTimeIsOut())); /* Setup main-layout: */ m_pMainLayout->setContentsMargins(6, 6, 6, 6); /* Setup progress-bar: */ m_pProgressBar->setRange(0, 0); m_pProgressBar->setMaximumHeight(16); /* Setup retry-button: */ m_pRetryButton->setHidden(true); m_pRetryButton->removeBorder(); m_pRetryButton->setFocusPolicy(Qt::NoFocus); m_pRetryButton->setIcon(UIIconPool::iconSet(":/refresh_16px.png")); connect(m_pRetryButton, SIGNAL(clicked(bool)), this, SIGNAL(sigRetry())); /* Setup cancel-button: */ m_pCancelButton->removeBorder(); m_pCancelButton->setFocusPolicy(Qt::NoFocus); m_pCancelButton->setIcon(UIIconPool::iconSet(":/delete_16px.png")); connect(m_pCancelButton, SIGNAL(clicked(bool)), this, SIGNAL(sigCancel())); /* Setup error-label: */ m_pErrorPane->setHidden(true); m_pErrorPane->setWordWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); /* Calculate required width: */ int iMinimumWidth = pParent->minimumWidth(); int iLeft, iTop, iRight, iBottom; /* Take into account content-widget layout margins: */ m_pMainLayout->getContentsMargins(&iLeft, &iTop, &iRight, &iBottom); iMinimumWidth -= iLeft; iMinimumWidth -= iRight; /* Take into account this layout margins: */ layout()->getContentsMargins(&iLeft, &iTop, &iRight, &iBottom); iMinimumWidth -= iLeft; iMinimumWidth -= iRight; /* Take into account parent layout margins: */ QLayout *pParentLayout = qobject_cast<QMainWindow*>(parent())->centralWidget()->layout(); pParentLayout->getContentsMargins(&iLeft, &iTop, &iRight, &iBottom); iMinimumWidth -= iLeft; iMinimumWidth -= iRight; /* Set minimum text width: */ m_pErrorPane->setMinimumTextWidth(iMinimumWidth); /* Layout content: */ m_pMainLayout->addWidget(m_pProgressBar, 0, 0); m_pMainLayout->addWidget(m_pRetryButton, 0, 1); m_pMainLayout->addWidget(m_pCancelButton, 0, 2); m_pMainLayout->addWidget(m_pErrorPane, 1, 0, 1, 3); /* Retranslate UI: */ retranslateUi(); }
/* Network-reply finish handler: */ void UINetworkRequest::sltHandleNetworkReplyFinish() { /* Set as non-running: */ m_fRunning = false; /* Make sure network-reply still valid: */ if (!m_pReply) return; /* If network-request was canceled: */ if (m_pReply->error() == QNetworkReply::OperationCanceledError) { /* Notify network-manager: */ emit sigCanceled(m_uuid); } /* If network-reply has no errors: */ else if (m_pReply->error() == QNetworkReply::NoError) { /* Check if redirection required: */ QUrl redirect = m_pReply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl(); if (redirect.isValid()) { /* Cleanup current network-reply first: */ cleanupNetworkReply(); /* Choose redirect-source as current: */ m_request.setUrl(redirect); /* Create new network-reply finally: */ prepareNetworkReply(); } else { /* Notify particular network-request listeners: */ emit sigFinished(); /* Notify general network-requests listeners: */ emit sigFinished(m_uuid); } } /* If some error occured: */ else { /* Check if we have other requests in set: */ if (m_iCurrentRequestIndex < m_requests.size() - 1) { /* Cleanup current network-reply first: */ cleanupNetworkReply(); /* Choose next network-request as current: */ ++m_iCurrentRequestIndex; m_request = m_requests[m_iCurrentRequestIndex]; /* Create new network-reply finally: */ prepareNetworkReply(); } else { /* Notify particular network-request listeners: */ emit sigFailed(m_pReply->errorString()); /* Notify general network-requests listeners: */ emit sigFailed(m_uuid, m_pReply->errorString()); } } }
/** * @brief MainWindow::MainWindow * @param parent */ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); MainWindow::m_instance = this; qDebug() << "MediaElch version" << QApplication::applicationVersion() << "starting up"; for (int i=WidgetMovies ; i!=WidgetCertifications ; i++) { QMap<MainActions, bool> actions; for (int n=ActionSearch ; n!=ActionExport ; n++) { actions.insert(static_cast<MainActions>(n), false); } if (static_cast<MainWidgets>(i) == WidgetMovies || static_cast<MainWidgets>(i) == WidgetTvShows || static_cast<MainWidgets>(i) == WidgetConcerts) actions[ActionFilterWidget] = true; m_actions.insert(static_cast<MainWidgets>(i), actions); } m_aboutDialog = new AboutDialog(ui->centralWidget); m_supportDialog = new SupportDialog(ui->centralWidget); m_settingsWindow = new SettingsWindow(ui->centralWidget); m_filterWidget = new FilterWidget(); m_fileScannerDialog = new FileScannerDialog(ui->centralWidget); m_xbmcSync = new XbmcSync(ui->centralWidget); m_renamer = new Renamer(ui->centralWidget); m_settings = Settings::instance(this); m_exportDialog = new ExportDialog(this); setupToolbar(); MessageBox::instance(this)->reposition(this->size()); Manager::instance(); if (!m_settings->mainSplitterState().isNull()) { ui->movieSplitter->restoreState(m_settings->mainSplitterState()); ui->tvShowSplitter->restoreState(m_settings->mainSplitterState()); ui->setsWidget->splitter()->restoreState(m_settings->mainSplitterState()); ui->concertSplitter->restoreState(m_settings->mainSplitterState()); ui->genreWidget->splitter()->restoreState(m_settings->mainSplitterState()); ui->certificationWidget->splitter()->restoreState(m_settings->mainSplitterState()); } if (m_settings->mainWindowSize().isValid() && !m_settings->mainWindowPosition().isNull()) { #ifdef Q_OS_MAC // Ugly workaround from https://bugreports.qt-project.org/browse/QTBUG-3116 // to fix invisible toolbar on mac bool workaround = !isVisible(); if (workaround) { // make "invisible" setWindowOpacity(0); // let Qt update its frameStruts show(); } resize(m_settings->mainWindowSize()); if (workaround) { move(m_settings->mainWindowPosition()); setWindowOpacity(1); } #else resize(m_settings->mainWindowSize()); move(m_settings->mainWindowPosition()); #endif #ifdef Q_OS_WIN32 if (m_settings->mainWindowMaximized()) showMaximized(); #endif } // Size for Screenshots // resize(1121, 735); #ifdef Q_OS_MAC MacFullscreen::addFullscreen(this); #endif connect(ui->filesWidget, SIGNAL(movieSelected(Movie*)), ui->movieWidget, SLOT(setMovie(Movie*))); connect(ui->filesWidget, SIGNAL(movieSelected(Movie*)), ui->movieWidget, SLOT(setEnabledTrue(Movie*))); connect(ui->filesWidget, SIGNAL(noMovieSelected()), ui->movieWidget, SLOT(clear())); connect(ui->filesWidget, SIGNAL(noMovieSelected()), ui->movieWidget, SLOT(setDisabledTrue())); connect(ui->filesWidget, SIGNAL(sigStartSearch()), this, SLOT(onActionSearch())); connect(ui->concertFilesWidget, SIGNAL(concertSelected(Concert*)), ui->concertWidget, SLOT(setConcert(Concert*))); connect(ui->concertFilesWidget, SIGNAL(concertSelected(Concert*)), ui->concertWidget, SLOT(setEnabledTrue(Concert*))); connect(ui->concertFilesWidget, SIGNAL(noConcertSelected()), ui->concertWidget, SLOT(clear())); connect(ui->concertFilesWidget, SIGNAL(noConcertSelected()), ui->concertWidget, SLOT(setDisabledTrue())); connect(ui->tvShowFilesWidget, SIGNAL(sigTvShowSelected(TvShow*)), ui->tvShowWidget, SLOT(onTvShowSelected(TvShow*))); connect(ui->tvShowFilesWidget, SIGNAL(sigSeasonSelected(TvShow*,int)), ui->tvShowWidget, SLOT(onSeasonSelected(TvShow*,int))); connect(ui->tvShowFilesWidget, SIGNAL(sigEpisodeSelected(TvShowEpisode*)), ui->tvShowWidget, SLOT(onEpisodeSelected(TvShowEpisode*))); connect(ui->tvShowFilesWidget, SIGNAL(sigTvShowSelected(TvShow*)), ui->tvShowWidget, SLOT(onSetEnabledTrue(TvShow*))); connect(ui->tvShowFilesWidget, SIGNAL(sigSeasonSelected(TvShow*,int)), ui->tvShowWidget, SLOT(onSetEnabledTrue(TvShow*, int))); connect(ui->tvShowFilesWidget, SIGNAL(sigEpisodeSelected(TvShowEpisode*)), ui->tvShowWidget, SLOT(onSetEnabledTrue(TvShowEpisode*))); connect(ui->tvShowFilesWidget, SIGNAL(sigNothingSelected()), ui->tvShowWidget, SLOT(onClear())); connect(ui->tvShowFilesWidget, SIGNAL(sigNothingSelected()), ui->tvShowWidget, SLOT(onSetDisabledTrue())); connect(ui->movieWidget, SIGNAL(actorDownloadProgress(int,int,int)), this, SLOT(progressProgress(int,int,int))); connect(ui->movieWidget, SIGNAL(actorDownloadStarted(QString,int)), this, SLOT(progressStarted(QString,int))); connect(ui->movieWidget, SIGNAL(actorDownloadFinished(int)), this, SLOT(progressFinished(int))); connect(ui->tvShowWidget, SIGNAL(sigDownloadsStarted(QString,int)), this, SLOT(progressStarted(QString,int))); connect(ui->tvShowWidget, SIGNAL(sigDownloadsProgress(int,int,int)), this, SLOT(progressProgress(int,int,int))); connect(ui->tvShowWidget, SIGNAL(sigDownloadsFinished(int)), this, SLOT(progressFinished(int))); connect(m_filterWidget, SIGNAL(sigFilterChanged(QList<Filter*>,QString)), this, SLOT(onFilterChanged(QList<Filter*>,QString))); connect(ui->movieSplitter, SIGNAL(splitterMoved(int,int)), this, SLOT(moveSplitter(int,int))); connect(ui->tvShowSplitter, SIGNAL(splitterMoved(int,int)), this, SLOT(moveSplitter(int,int))); connect(ui->setsWidget->splitter(), SIGNAL(splitterMoved(int,int)), this, SLOT(moveSplitter(int,int))); connect(ui->genreWidget->splitter(), SIGNAL(splitterMoved(int,int)), this, SLOT(moveSplitter(int,int))); connect(ui->certificationWidget->splitter(), SIGNAL(splitterMoved(int,int)), this, SLOT(moveSplitter(int,int))); connect(ui->concertSplitter, SIGNAL(splitterMoved(int,int)), this, SLOT(moveSplitter(int,int))); connect(Manager::instance()->tvShowFileSearcher(), SIGNAL(tvShowsLoaded(int)), ui->tvShowFilesWidget, SLOT(renewModel())); connect(m_fileScannerDialog, SIGNAL(accepted()), this, SLOT(setNewMarks())); connect(m_xbmcSync, SIGNAL(sigTriggerReload()), this, SLOT(onTriggerReloadAll())); connect(m_xbmcSync, SIGNAL(sigFinished()), this, SLOT(onXbmcSyncFinished())); connect(m_renamer, SIGNAL(sigFilesRenamed(Renamer::RenameType)), this, SLOT(onFilesRenamed(Renamer::RenameType))); connect(m_settingsWindow, SIGNAL(sigSaved()), this, SLOT(onRenewModels()), Qt::QueuedConnection); connect(ui->setsWidget, SIGNAL(sigJumpToMovie(Movie*)), this, SLOT(onJumpToMovie(Movie*))); connect(ui->certificationWidget, SIGNAL(sigJumpToMovie(Movie*)), this, SLOT(onJumpToMovie(Movie*))); connect(ui->genreWidget, SIGNAL(sigJumpToMovie(Movie*)), this, SLOT(onJumpToMovie(Movie*))); MovieSearch::instance(ui->centralWidget); TvShowSearch::instance(ui->centralWidget); ImageDialog::instance(ui->centralWidget); MovieListDialog::instance(ui->centralWidget); ImagePreviewDialog::instance(ui->centralWidget); ConcertSearch::instance(ui->centralWidget); TrailerDialog::instance(ui->centralWidget); TvTunesDialog::instance(ui->centralWidget); NameFormatter::instance(this); MovieMultiScrapeDialog::instance(ui->centralWidget); #ifdef Q_OS_WIN32 setStyleSheet(styleSheet() + " #centralWidget { border-bottom: 1px solid rgba(0, 0, 0, 100); } "); QFont font = ui->labelMovies->font(); font.setPointSize(font.pointSize()-3); font.setBold(true); ui->labelMovies->setFont(font); ui->labelConcerts->setFont(font); ui->labelShows->setFont(font); #endif // hack. without only the fileScannerDialog pops up and blocks until it has finished show(); onMenu(WidgetMovies); // Start scanning for files QTimer::singleShot(0, m_fileScannerDialog, SLOT(exec())); }