Example #1
0
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();
}
Example #2
0
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;
}
Example #4
0
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();
}
Example #5
0
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();
}
Example #6
0
void MainWindow::on_darkThemeAction_triggered()
{
    GitlIvkCmdEvt cEvt("switch_theme");
    cEvt.setParameter("theme_name", "dark");
    cEvt.dispatch();
}
Example #7
0
void MainWindow::on_actionReloadPluginsFilters_triggered()
{
    /// invoke command
    GitlIvkCmdEvt cEvt("reload_filter");
    cEvt.dispatch();
}
Example #8
0
void MainWindow::on_actionCheckUpdate_triggered()
{
    /// invoke command
    GitlIvkCmdEvt cEvt("check_update");
    cEvt.dispatch();
}
Example #9
0
void MainWindow::on_printScreenBtn_clicked()
{
    /// invoke command
    GitlIvkCmdEvt cEvt("print_screen");
    cEvt.dispatch();
}
Example #10
0
void MainWindow::on_nextFrame_clicked()
{
    /// invoke command
    GitlIvkCmdEvt cEvt("next_frame");
    cEvt.dispatch();
}
Example #11
0
void MainWindow::on_previousFrame_clicked()
{
    /// invoke command
    GitlIvkCmdEvt cEvt("prev_frame");
    cEvt.dispatch();
}