KinectRecorderWindow::KinectRecorderWindow(int fps, KinectDevice* device)
    : QMainWindow()
    , fps_(fps)
    , device_(device)
    , widget_viewer_(new KinectViewerWidget(fps, device))
{
    widget_viewer_->setMinimumSize(1280, 480);
    widget_viewer_->setMaximumSize(1280, 480);
    setCentralWidget(widget_viewer_);

    QDockWidget *dock = new QDockWidget(this);
    dock->setAllowedAreas(Qt::BottomDockWidgetArea);
    dock->setFeatures(QDockWidget::NoDockWidgetFeatures);
    widget_record_ = new RecordInterfaceWidget(dock);
    connect(widget_record_, SIGNAL(dialogOpened()), widget_viewer_, SLOT(pause()));
    connect(widget_record_, SIGNAL(dialogClosed()), widget_viewer_, SLOT(resume()));
    connect(widget_record_, SIGNAL(destroyed(QObject*)), this, SLOT(close()));
    connect(widget_record_, SIGNAL(startRecord(std::string)), this, SLOT(recordStarted(std::string)));
    connect(widget_record_, SIGNAL(finishRecord()), this, SLOT(recordFinished()));
    widget_record_->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
    dock->setWidget(widget_record_);
    addDockWidget(Qt::BottomDockWidgetArea, dock);

    setWindowTitle("Kinect viewer");
    move(100, 100);
    setAttribute(Qt::WA_DeleteOnClose);
}
Beispiel #2
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow), m_plugins(PluginRegistry::instance())
{
    ui->setupUi(this);

    connect(ui->actionEdit, SIGNAL(triggered(bool)), this, SLOT(openEdit()));
    connect(ui->actionRecord, SIGNAL(triggered(bool)), this, SLOT(openRecord()));
    connect(ui->actionPlugins, SIGNAL(triggered(bool)), this, SLOT(openPlugins()));

    connect(ui->recordPage, SIGNAL(recordFinished()), this, SLOT(editRequests()));

    QToolButton *openButton = static_cast<QToolButton *>(ui->toolBar->widgetForAction(ui->actionOpen));
    openButton->setPopupMode(QToolButton::MenuButtonPopup);
    QAction *openSeparator = new QAction(this);
    openSeparator->setSeparator(true);
    openButton->addAction(openSeparator);

    QToolButton *saveButton = static_cast<QToolButton *>(ui->toolBar->widgetForAction(ui->actionSave));
    saveButton->setPopupMode(QToolButton::MenuButtonPopup);
    saveButton->addAction(ui->actionSaveAs);

    connect(ui->actionNew,    SIGNAL(triggered(bool)), ui->editPage, SLOT(newProject()));
    connect(ui->actionOpen,   SIGNAL(triggered(bool)), this,         SLOT(loadProject()));
    connect(ui->actionSave,   SIGNAL(triggered(bool)), this,         SLOT(saveProject()));
    connect(ui->actionSaveAs, SIGNAL(triggered(bool)), this,         SLOT(saveProjectAs()));

    selectAction(ui->actionEdit);

    updateOpenMenu();

    connect(&m_plugins, SIGNAL(toolPluginLoaded(QObject *)),
            ui->editPage, SLOT(addToolToToolbar(QObject *)));

    PostMonster::APIFunctions api;
    api.evalScript          = WorkEngine::evalScript;
    api.serializeRequest    = Common::serializeRequest;
    api.deserializeRequest  = Common::deserializeRequest;
    api.serializeResponse   = Common::serializeResponse;
    api.deserializeResponse = Common::deserializeResponse;
    api.defaultEncodings    = Common::encodings;
    api.dpiScaleFactor         = Common::dpiScaleFactor;
    m_plugins.loadPlugins(api);

    if (m_plugins.tool("http")) {
        PostMonster::HttpToolPluginInterface *httpTool =
                static_cast<PostMonster::HttpToolPluginInterface *>(m_plugins.tool("http"));

        ui->editPage->setRequestsModel(httpTool, &m_requestsModel);
        ui->recordPage->setRequestsModel(httpTool, &m_requestsModel);
    }

    connect(ui->editPage, &EditForm::debugStatusChanged, ui->actionNew, &QAction::setDisabled);
    connect(ui->editPage, &EditForm::debugStatusChanged, ui->actionOpen, &QAction::setDisabled);
    connect(ui->editPage, &EditForm::debugStatusChanged, ui->actionRecord, &QAction::setDisabled);

    foreach (QToolBar *toolBar, findChildren<QToolBar *>()) {
        toolBar->setIconSize(toolBar->iconSize() * Common::dpiScaleFactor());
    }