void QCastViewGL::onCameraChangeAction() { QAction *pAct = qobject_cast< QAction* >(QObject::sender()); if (!pAct) return; QVariant v = pAct->data(); void* pc = v.value<void*>(); cogx::display::CDisplayCamera* pCamera = static_cast<cogx::display::CDisplayCamera*>(pc); //std::cout << pAct << " " << pAct->text().toStdString() << " " << pc << " " << pCamera << std::endl; if (pCamera) { // TODO: should check if it is valid -- is it in getCameras()? selectCamera(pCamera); } // Replace the action for the button. // Parent hierarchy: action -> menu -> button QMenu *pMenu = qobject_cast< QMenu* >(pAct->parent()); if (pMenu) { QToolButton* pBut = qobject_cast< QToolButton* >(pMenu->parent()); if (pBut) { QAction *pOldAct = pBut->defaultAction(); if (pOldAct && pOldAct->parent() == pAct->parent()) { //std::cout << "Changing default action" << std::endl; pBut->setDefaultAction(pAct); } } } }
void QCastViewGL::onCameraItemChanged(int index) { CPtrVector<cogx::display::CDisplayCamera> cameras; pView->getCameras(cameras); if (index >= (int) cameras.size()) return; selectCamera(cameras[index]); }
void QCastViewGL::setView(const cogx::display::CDisplayViewPtr& pDisplayView) { if (pView == pDisplayView) return; if (pView) { pView->viewObservers.removeObserver(this); } pView = pDisplayView; if (pView) { pView->viewObservers.addObserver(this); } // Look from the first camera CPtrVector<cogx::display::CDisplayCamera> cameras; pView->getCameras(cameras); if (cameras.size() > 0) selectCamera(cameras.front()); update(); }
MainWindow::MainWindow() : KMainWindow() { /* Draw main window */ initWidgets(); /* Load JPEG support from KDE library */ KImageIO::registerFormats(); /* Initialize interface & gPhoto2 */ GPInterface::initialize(); /* Set window size */ setGeometry(GPInterface::getGeometry()); /* Check if a camera is configured */ if (GPInterface::getCamera().isNull()) selectCamera(); statusBar()->message(i18n("Ready")); }
int DirectShowFrameGrabber::SelectDirectXFilter(std::vector<std::wstring> &monikerNames) { std::vector<std::string> cameras; int size = int(monikerNames.size()); for (int i = 0; i < size; ++i) { std::string camera; std::wstring &monikerName = monikerNames[i]; int length = int(monikerName.size()); camera.resize(length); for (int j = 0; j < length; ++j) { camera[j] = char(monikerName[j]); } cameras.push_back(camera); } int result = selectCamera(cameras); if (result == -2) { exit(0); } else if (result == -1) { printf("no camera detected!\n"); } return result; }
/* * Draws & initializes all the widgets of the main window */ void MainWindow::initWidgets() { setPlainCaption("QtKam"); /* Construct Actions */ saveAction = KStdAction::save(this, SLOT(saveSelected()),this); quitAction = KStdAction::quit(this, SLOT(close()),this); deleteAction = new KAction(i18n("Delete"), "edittrash", Key_Delete, this, SLOT(deleteSelected()), this); downloadThumbsAction = new KAction(i18n("Download Thumbs"), "queue", CTRL + Key_T, this, SLOT(downloadThumbs()), this); selectAllAction = new KAction(i18n("Select &All"), SHIFT + Key_A, this, SLOT(selectAll()), this); invertSelectionAction = new KAction(i18n("&Invert Selection"), SHIFT + Key_I, this, SLOT(selectInverse()), this); clearSelectionAction = new KAction(i18n("&Clear Selection"), SHIFT + Key_N, this, SLOT(selectNone()), this); selectCameraAction = new KAction(i18n("Select &Camera"), CTRL + Key_C, this, SLOT(selectCamera()), this); initCameraAction = new KAction(i18n("Reset Camera"), "connect_creating", CTRL + Key_R, this, SLOT(initCamera()), this); configureCameraAction = new KAction(i18n("&Configure"), 0, this, SLOT(configureCamera()), this); cameraInformationAction = new KAction(i18n("&Information"), 0, this, SLOT(cameraInformation()), this); cameraManualAction = new KAction(i18n("&Manual"), 0, this, SLOT(cameraManual()), this); cameraAboutAction = new KAction(i18n("&About the driver"), 0, this, SLOT(cameraAbout()), this); /* Initialize actions */ saveAction->setEnabled(false); deleteAction->setEnabled(false); /* Create & initialize icon view */ iconView = new KIconView(this); iconView->setMode(KIconView::Select); iconView->setSelectionMode(KIconView::Multi); iconView->setItemsMovable(false); iconView->setResizeMode(KIconView::Adjust); connect(iconView,SIGNAL(selectionChanged()), this,SLOT(selectionChanged())); setCentralWidget(iconView); /* Create file menu */ fileMenu = new KPopupMenu(); saveAction->plug(fileMenu); deleteAction->plug(fileMenu); fileMenu->insertSeparator(); quitAction->plug(fileMenu); /* Create edit menu */ editMenu = new KPopupMenu(); selectAllAction->plug(editMenu); invertSelectionAction->plug(editMenu); clearSelectionAction->plug(editMenu); /* Create command menu */ commandMenu = new KPopupMenu(); initCameraAction->plug(commandMenu); downloadThumbsAction->plug(commandMenu); /* Camera menu */ cameraMenu = new KPopupMenu(); selectCameraAction->plug(cameraMenu); cameraMenu->insertSeparator(); configureCameraAction->plug(cameraMenu); cameraInformationAction->plug(cameraMenu); cameraManualAction->plug(cameraMenu); cameraAboutAction->plug(cameraMenu); /* Help menu */ help = helpMenu(); /* Menu Bar */ menuBar()->insertItem(i18n("&File"), fileMenu); menuBar()->insertItem(i18n("&Edit"), editMenu); menuBar()->insertItem(i18n("&Command"),commandMenu); menuBar()->insertItem(i18n("C&amera"),cameraMenu); menuBar()->insertItem(i18n("&Help"), help); /* Create toolbar */ downloadThumbsAction->plug(toolBar()); saveAction->plug(toolBar()); deleteAction->plug(toolBar()); }