void MainWindow::dropEvent(QDropEvent *event) { event->acceptProposedAction(); if(event->mimeData()->urls().empty()) return; QString strFilename = event->mimeData()->urls().at(0).toLocalFile(); if(!strFilename.isEmpty()) g_cAppSetting.setValue("open_bitstream_path",strFilename); if(strFilename.isEmpty() || !QFileInfo(strFilename).exists() ) { qWarning() << "File not found."; return; } /// select HM version BitstreamVersionSelector cBitstreamDig(this); if( cBitstreamDig.exec() == QDialog::Rejected ) return; /// prepare & sent event to bus /// invoke command GitlIvkCmdEvt cEvt("reload_filter"); cEvt.setParameter("command_name", "decode_bitstream"); cEvt.setParameter("filename", strFilename); cEvt.setParameter("skip_decode", false); cEvt.setParameter("version", cBitstreamDig.getBitstreamVersion()); cEvt.dispatch(); }
void MainWindow::on_actionOpen_bitstream_triggered() { /// select file path QString strFilename; QString strLastPath = g_cAppSetting.value("open_bitstream_path",".").toString(); strFilename=QFileDialog::getOpenFileName(this, tr("Open Bitstream File"), strLastPath, tr("All Files (*.*)")); if(!strFilename.isEmpty()) g_cAppSetting.setValue("open_bitstream_path",strFilename); if(strFilename.isEmpty() || !QFileInfo(strFilename).exists() ) { qWarning() << "File not found."; return; } /// select HM version BitstreamVersionSelector cBitstreamDig(this); if( cBitstreamDig.exec() == QDialog::Rejected ) return; /// prepare & sent event to bus GitlIvkCmdEvt cEvt("decode_bitstream"); cEvt.setParameter("filename", strFilename); cEvt.setParameter("skip_decode", false); cEvt.setParameter("version", cBitstreamDig.getBitstreamVersion()); cEvt.dispatch(); }
MainWindow::~MainWindow() { /// delete cache folder when exit GitlIvkCmdEvt cEvt("clean_cache"); cEvt.dispatch(); delete ui; }
void MainWindow::on_progressBar_actionTriggered(int action) { int iBarPercent = int(100*double(ui->progressBar->sliderPosition()-ui->progressBar->minimum()) / (ui->progressBar->maximum()-ui->progressBar->minimum())); /// invoke command GitlIvkCmdEvt cEvt("jumpto_percent"); cEvt.setParameter("percent", iBarPercent); cEvt.dispatch(); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_cPreferenceDialog(this), m_cBusyDialog(this), m_cThemeGroup(this), ui(new Ui::MainWindow) { setModualName("main_window"); ui->setupUi(this); /// set listeners listenToParams("picture", MAKE_CALLBACK(MainWindow::onFrameArrived)); listenToParams(QStringList() <<"total_frame_num"<<"current_frame_poc", MAKE_CALLBACK(MainWindow::onPOCInfoChanged)); listenToParams("theme_stylesheet", MAKE_CALLBACK(MainWindow::onStylesheetChanged)); listenToParams("snapshot", MAKE_CALLBACK(MainWindow::onSnapshot)); /// layout hacks ui->msgDockWidget->widget()->layout()->setContentsMargins(0,0,0,0); ui->pluginFilterListDockWidget->widget()->layout()->setContentsMargins(0,0,0,0); ui->sequencesListDockWidget->widget()->layout()->setContentsMargins(0,0,0,0); /// exclusive theme action btns ui->defaultThemeAction->setActionGroup(&m_cThemeGroup); ui->darkThemeAction->setActionGroup(&m_cThemeGroup); /// bitstream drop open accepted setAcceptDrops(true); /// model init, including filter loading, etc.. ModelLocator::getInstance(); /// load theme from preferences GitlIvkCmdEvt cEvt("switch_theme"); cEvt.setParameter("load_theme_from_pref", true); cEvt.dispatch(); }
void MainWindow::on_darkThemeAction_triggered() { GitlIvkCmdEvt cEvt("switch_theme"); cEvt.setParameter("theme_name", "dark"); cEvt.dispatch(); }
void MainWindow::on_actionReloadPluginsFilters_triggered() { /// invoke command GitlIvkCmdEvt cEvt("reload_filter"); cEvt.dispatch(); }
void MainWindow::on_actionCheckUpdate_triggered() { /// invoke command GitlIvkCmdEvt cEvt("check_update"); cEvt.dispatch(); }
void MainWindow::on_printScreenBtn_clicked() { /// invoke command GitlIvkCmdEvt cEvt("print_screen"); cEvt.dispatch(); }
void MainWindow::on_nextFrame_clicked() { /// invoke command GitlIvkCmdEvt cEvt("next_frame"); cEvt.dispatch(); }
void MainWindow::on_previousFrame_clicked() { /// invoke command GitlIvkCmdEvt cEvt("prev_frame"); cEvt.dispatch(); }