/* ********************************************************************* */ void OcularDialog::createDialogContent() { ui->setupUi(dialog); connect(&StelApp::getInstance(), SIGNAL(languageChanged()), this, SLOT(retranslate())); ui->ccdListView->setModel(ccdTableModel); ui->ocularListView->setModel(ocularTableModel); ui->telescopeListView->setModel(telescopeTableModel); ui->lensListView->setModel(lensTableModel); #ifdef Q_OS_WIN //Kinetic scrolling for tablet pc and pc QList<QWidget *> addscroll; addscroll << ui->textBrowser << ui->telescopeListView << ui->ccdListView << ui->ocularListView << ui->lensListView; installKineticScrolling(addscroll); #endif //Now the rest of the actions. connect(ui->closeStelWindow, SIGNAL(clicked()), this, SLOT(close())); connect(ui->scaleImageCircleCheckBox, SIGNAL(stateChanged(int)), this, SLOT(scaleImageCircleStateChanged(int))); connect(ui->requireSelectionCheckBox, SIGNAL(stateChanged(int)), this, SLOT(requireSelectionStateChanged(int))); connect(ui->limitStellarMagnitudeCheckBox, SIGNAL(clicked(bool)), plugin, SLOT(setFlagLimitMagnitude(bool))); connect(ui->checkBoxControlPanel, SIGNAL(clicked(bool)), plugin, SLOT(enableGuiPanel(bool))); connect(ui->checkBoxDecimalDegrees, SIGNAL(clicked(bool)), plugin, SLOT(setFlagDecimalDegrees(bool))); connect(ui->checkBoxInitialFOV, SIGNAL(clicked(bool)), plugin, SLOT(setFlagInitFovUsage(bool))); connect(ui->checkBoxUseFlipForCCD, SIGNAL(clicked(bool)), plugin, SLOT(setFlagUseFlipForCCD(bool))); // The add & delete buttons connect(ui->addCCD, SIGNAL(clicked()), this, SLOT(insertNewCCD())); connect(ui->deleteCCD, SIGNAL(clicked()), this, SLOT(deleteSelectedCCD())); connect(ui->addOcular, SIGNAL(clicked()), this, SLOT(insertNewOcular())); connect(ui->deleteOcular, SIGNAL(clicked()), this, SLOT(deleteSelectedOcular())); connect(ui->addLens, SIGNAL(clicked()), this, SLOT(insertNewLens())); connect(ui->deleteLens, SIGNAL(clicked()), this, SLOT(deleteSelectedLens())); connect(ui->addTelescope, SIGNAL(clicked()), this, SLOT(insertNewTelescope())); connect(ui->deleteTelescope, SIGNAL(clicked()), this, SLOT(deleteSelectedTelescope())); // Validators ui->ccdName->setValidator(validatorName); ui->ocularName->setValidator(validatorName); ui->telescopeName->setValidator(validatorName); ui->lensName->setValidator(validatorName); // The key bindings QString bindingString = Oculars::appSettings()->value("bindings/toggle_oculars", "Ctrl+O").toString(); ui->togglePluginLineEdit->setText(bindingString); bindingString = Oculars::appSettings()->value("bindings/popup_navigator", "Alt+O").toString(); ui->togglePopupNavigatorWindowLineEdit->setText(bindingString); connect(ui->togglePluginLineEdit, SIGNAL(textEdited(const QString&)), this, SLOT(keyBindingTogglePluginChanged(const QString&))); connect(ui->togglePopupNavigatorWindowLineEdit, SIGNAL(textEdited(const QString&)), this, SLOT(keyBindingPopupNavigatorConfigChanged(const QString&))); initAboutText(); connect(ui->togglePluginLineEdit, SIGNAL(textEdited(QString)), this, SLOT(initAboutText())); connect(ui->togglePopupNavigatorWindowLineEdit, SIGNAL(textEdited(QString)), this, SLOT(initAboutText())); connect(ui->pushButtonMoveOcularUp, SIGNAL(pressed()), this, SLOT(moveUpSelectedOcular())); connect(ui->pushButtonMoveOcularDown, SIGNAL(pressed()), this, SLOT(moveDownSelectedOcular())); connect(ui->pushButtonMoveSensorUp, SIGNAL(pressed()), this, SLOT(moveUpSelectedSensor())); connect(ui->pushButtonMoveSensorDown, SIGNAL(pressed()), this, SLOT(moveDownSelectedSensor())); connect(ui->pushButtonMoveTelescopeUp, SIGNAL(pressed()), this, SLOT(moveUpSelectedTelescope())); connect(ui->pushButtonMoveTelescopeDown, SIGNAL(pressed()), this, SLOT(moveDownSelectedTelescope())); connect(ui->pushButtonMoveLensUp, SIGNAL(pressed()), this, SLOT(moveUpSelectedLens())); connect(ui->pushButtonMoveLensDown, SIGNAL(pressed()), this, SLOT(moveDownSelectedLens())); // The CCD mapper ccdMapper = new QDataWidgetMapper(); ccdMapper->setModel(ccdTableModel); ccdMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); ccdMapper->addMapping(ui->ccdName, 0); ccdMapper->addMapping(ui->ccdChipY, 1); ccdMapper->addMapping(ui->ccdChipX, 2); ccdMapper->addMapping(ui->ccdPixelY, 3); ccdMapper->addMapping(ui->ccdPixelX, 4); ccdMapper->addMapping(ui->ccdResX, 5); ccdMapper->addMapping(ui->ccdResY, 6); ccdMapper->toFirst(); connect(ui->ccdListView->selectionModel() , SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), ccdMapper, SLOT(setCurrentModelIndex(QModelIndex))); ui->ccdListView->setCurrentIndex(ccdTableModel->index(0, 1)); // The ocular mapper ocularMapper = new QDataWidgetMapper(); ocularMapper->setModel(ocularTableModel); ocularMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); ocularMapper->addMapping(ui->ocularName, 0); ocularMapper->addMapping(ui->ocularAFov, 1); ocularMapper->addMapping(ui->ocularFL, 2); ocularMapper->addMapping(ui->ocularFieldStop, 3); ocularMapper->addMapping(ui->binocularsCheckBox, 4, "checked"); ocularMapper->addMapping(ui->permanentCrosshairCheckBox, 5, "checked"); ocularMapper->toFirst(); connect(ui->ocularListView->selectionModel() , SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), ocularMapper, SLOT(setCurrentModelIndex(QModelIndex))); ui->ocularListView->setCurrentIndex(ocularTableModel->index(0, 1)); // The lens mapper lensMapper = new QDataWidgetMapper(); lensMapper->setModel(lensTableModel); lensMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); lensMapper->addMapping(ui->lensName, 0); lensMapper->addMapping(ui->lensMultipler, 1); lensMapper->toFirst(); connect(ui->lensListView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), lensMapper, SLOT(setCurrentModelIndex(QModelIndex))); ui->lensListView->setCurrentIndex(lensTableModel->index(0, 1)); // The telescope mapper telescopeMapper = new QDataWidgetMapper(); telescopeMapper->setModel(telescopeTableModel); telescopeMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); telescopeMapper->addMapping(ui->telescopeName, 0); telescopeMapper->addMapping(ui->telescopeDiameter, 1); telescopeMapper->addMapping(ui->telescopeFL, 2); telescopeMapper->addMapping(ui->telescopeHFlip, 3, "checked"); telescopeMapper->addMapping(ui->telescopeVFlip, 4, "checked"); ocularMapper->toFirst(); connect(ui->telescopeListView->selectionModel() , SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), telescopeMapper, SLOT(setCurrentModelIndex(QModelIndex))); ui->telescopeListView->setCurrentIndex(telescopeTableModel->index(0, 1)); connect(ui->binocularsCheckBox, SIGNAL(toggled(bool)), this, SLOT(setLabelsDescriptionText(bool))); // set the initial state QSettings *settings = Oculars::appSettings(); if (settings->value("require_selection_to_zoom", 1.0).toBool()) { ui->requireSelectionCheckBox->setCheckState(Qt::Checked); } if (settings->value("use_max_exit_circle", 0.0).toBool()) { ui->scaleImageCircleCheckBox->setCheckState(Qt::Checked); } if (settings->value("limit_stellar_magnitude", true).toBool()) { ui->limitStellarMagnitudeCheckBox->setCheckState(Qt::Checked); } if (settings->value("enable_control_panel", false).toBool()) { ui->checkBoxControlPanel->setChecked(true); } if (settings->value("use_decimal_degrees", false).toBool()) { ui->checkBoxDecimalDegrees->setChecked(true); } if (settings->value("use_initial_fov", false).toBool()) { ui->checkBoxInitialFOV->setChecked(true); } if (settings->value("use_ccd_flip", true).toBool()) { ui->checkBoxUseFlipForCCD->setChecked(true); } //Initialize the style updateStyle(); }
/* ********************************************************************* */ void OcularDialog::createDialogContent() { ui->setupUi(dialog); connect(&StelApp::getInstance(), SIGNAL(languageChanged()), this, SLOT(retranslate())); ui->ccdListView->setModel(ccdTableModel); ui->ocularListView->setModel(ocularTableModel); ui->telescopeListView->setModel(telescopeTableModel); //Now the rest of the actions. connect(ui->closeStelWindow, SIGNAL(clicked()), this, SLOT(close())); connect(ui->scaleImageCircleCheckBox, SIGNAL(stateChanged(int)), this, SLOT(scaleImageCircleStateChanged(int))); connect(ui->requireSelectionCheckBox, SIGNAL(stateChanged(int)), this, SLOT(requireSelectionStateChanged(int))); connect(ui->checkBoxControlPanel, SIGNAL(clicked(bool)), plugin, SLOT(enableGuiPanel(bool))); connect(ui->checkBoxDecimalDegrees, SIGNAL(clicked(bool)), plugin, SLOT(setFlagDecimalDegrees(bool))); // The add & delete buttons connect(ui->addCCD, SIGNAL(clicked()), this, SLOT(insertNewCCD())); connect(ui->deleteCCD, SIGNAL(clicked()), this, SLOT(deleteSelectedCCD())); connect(ui->addOcular, SIGNAL(clicked()), this, SLOT(insertNewOcular())); connect(ui->deleteOcular, SIGNAL(clicked()), this, SLOT(deleteSelectedOcular())); connect(ui->addTelescope, SIGNAL(clicked()), this, SLOT(insertNewTelescope())); connect(ui->deleteTelescope, SIGNAL(clicked()), this, SLOT(deleteSelectedTelescope())); // Validators ui->ccdName->setValidator(validatorName); ui->ccdResX->setValidator(validatorPositiveInt); ui->ccdResY->setValidator(validatorPositiveInt); ui->ccdChipX->setValidator(validatorPositiveDouble); ui->ccdChipY->setValidator(validatorPositiveDouble); ui->ccdPixelX->setValidator(validatorPositiveDouble); ui->ccdPixelY->setValidator(validatorPositiveDouble); ui->ocularAFov->setValidator(validatorOcularAFOV); ui->ocularFL->setValidator(validatorOcularEFL); ui->ocularFieldStop->setValidator(validatorOcularEFL); ui->telescopeFL->setValidator(validatorTelescopeFL); ui->telescopeDiameter->setValidator(validatorTelescopeDiameter); ui->ocularName->setValidator(validatorName); ui->telescopeName->setValidator(validatorName); // The key bindings QString bindingString = Oculars::appSettings()->value("bindings/toggle_oculars", "Ctrl+O").toString(); ui->togglePluginLineEdit->setText(bindingString); bindingString = Oculars::appSettings()->value("bindings/popup_navigator", "Alt+O").toString(); ui->togglePopupNavigatorWindowLineEdit->setText(bindingString); connect(ui->togglePluginLineEdit, SIGNAL(textEdited(const QString&)), this, SLOT(keyBindingTogglePluginChanged(const QString&))); connect(ui->togglePopupNavigatorWindowLineEdit, SIGNAL(textEdited(const QString&)), this, SLOT(keyBindingPopupNavigatorConfigChanged(const QString&))); initAboutText(); connect(ui->togglePluginLineEdit, SIGNAL(textEdited(QString)), this, SLOT(initAboutText())); connect(ui->togglePopupNavigatorWindowLineEdit, SIGNAL(textEdited(QString)), this, SLOT(initAboutText())); connect(ui->pushButtonMoveOcularUp, SIGNAL(pressed()), this, SLOT(moveUpSelectedOcular())); connect(ui->pushButtonMoveOcularDown, SIGNAL(pressed()), this, SLOT(moveDownSelectedOcular())); connect(ui->pushButtonMoveSensorUp, SIGNAL(pressed()), this, SLOT(moveUpSelectedSensor())); connect(ui->pushButtonMoveSensorDown, SIGNAL(pressed()), this, SLOT(moveDownSelectedSensor())); connect(ui->pushButtonMoveTelescopeUp, SIGNAL(pressed()), this, SLOT(moveUpSelectedTelescope())); connect(ui->pushButtonMoveTelescopeDown, SIGNAL(pressed()), this, SLOT(moveDownSelectedTelescope())); // The CCD mapper ccdMapper = new QDataWidgetMapper(); ccdMapper->setModel(ccdTableModel); ccdMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); ccdMapper->addMapping(ui->ccdName, 0); ccdMapper->addMapping(ui->ccdChipY, 1); ccdMapper->addMapping(ui->ccdChipX, 2); ccdMapper->addMapping(ui->ccdPixelY, 3); ccdMapper->addMapping(ui->ccdPixelX, 4); ccdMapper->addMapping(ui->ccdResX, 5); ccdMapper->addMapping(ui->ccdResY, 6); ccdMapper->toFirst(); connect(ui->ccdListView->selectionModel() , SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), ccdMapper, SLOT(setCurrentModelIndex(QModelIndex))); ui->ccdListView->setCurrentIndex(ccdTableModel->index(0, 1)); // The ocular mapper ocularMapper = new QDataWidgetMapper(); ocularMapper->setModel(ocularTableModel); ocularMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); ocularMapper->addMapping(ui->ocularName, 0); ocularMapper->addMapping(ui->ocularAFov, 1); ocularMapper->addMapping(ui->ocularFL, 2); ocularMapper->addMapping(ui->ocularFieldStop, 3); ocularMapper->addMapping(ui->binocularsCheckBox, 4, "checked"); ocularMapper->toFirst(); connect(ui->ocularListView->selectionModel() , SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), ocularMapper, SLOT(setCurrentModelIndex(QModelIndex))); ui->ocularListView->setCurrentIndex(ocularTableModel->index(0, 1)); // The telescope mapper telescopeMapper = new QDataWidgetMapper(); telescopeMapper->setModel(telescopeTableModel); telescopeMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); telescopeMapper->addMapping(ui->telescopeName, 0); telescopeMapper->addMapping(ui->telescopeDiameter, 1); telescopeMapper->addMapping(ui->telescopeFL, 2); telescopeMapper->addMapping(ui->telescopeHFlip, 3, "checked"); telescopeMapper->addMapping(ui->telescopeVFlip, 4, "checked"); ocularMapper->toFirst(); connect(ui->telescopeListView->selectionModel() , SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), telescopeMapper, SLOT(setCurrentModelIndex(QModelIndex))); ui->telescopeListView->setCurrentIndex(telescopeTableModel->index(0, 1)); // set the initial state if (Oculars::appSettings()->value("require_selection_to_zoom", 1.0).toBool()) { ui->requireSelectionCheckBox->setCheckState(Qt::Checked); } if (Oculars::appSettings()->value("use_max_exit_circle", 0.0).toBool()) { ui->scaleImageCircleCheckBox->setCheckState(Qt::Checked); } if (Oculars::appSettings()->value("enable_control_panel", false).toBool()) { ui->checkBoxControlPanel->setChecked(true); } if (Oculars::appSettings()->value("use_decimal_degrees", false).toBool()) { ui->checkBoxDecimalDegrees->setChecked(true); } //Initialize the style updateStyle(); }
/* ********************************************************************* */ void OcularDialog::createDialogContent() { ui->setupUi(dialog); connect(&StelApp::getInstance(), SIGNAL(languageChanged()), this, SLOT(retranslate())); ui->ccdListView->setModel(ccdTableModel); ui->ocularListView->setModel(ocularTableModel); ui->telescopeListView->setModel(telescopeTableModel); ui->lensListView->setModel(lensTableModel); // Kinetic scrolling kineticScrollingList << ui->textBrowser << ui->telescopeListView << ui->ccdListView << ui->ocularListView << ui->lensListView; StelGui* gui= dynamic_cast<StelGui*>(StelApp::getInstance().getGui()); if (gui) { enableKineticScrolling(gui->getFlagUseKineticScrolling()); connect(gui, SIGNAL(flagUseKineticScrollingChanged(bool)), this, SLOT(enableKineticScrolling(bool))); } //Now the rest of the actions. connect(ui->closeStelWindow, SIGNAL(clicked()), this, SLOT(close())); connect(ui->TitleBar, SIGNAL(movedTo(QPoint)), this, SLOT(handleMovedTo(QPoint))); connectBoolProperty(ui->checkBoxControlPanel, "Oculars.flagGuiPanelEnabled"); connectIntProperty(ui->guiFontSizeSpinBox, "Oculars.guiPanelFontSize"); connectBoolProperty(ui->checkBoxInitialFOV, "Oculars.flagInitFOVUsage"); connectBoolProperty(ui->checkBoxInitialDirection, "Oculars.flagInitDirectionUsage"); connectBoolProperty(ui->checkBoxResolutionCriterion, "Oculars.flagShowResolutionCriterions"); connectBoolProperty(ui->requireSelectionCheckBox, "Oculars.flagRequireSelection"); connectBoolProperty(ui->limitStellarMagnitudeCheckBox, "Oculars.flagLimitMagnitude"); connectBoolProperty(ui->hideGridsLinesCheckBox, "Oculars.flagHideGridsLines"); connectBoolProperty(ui->scaleImageCircleCheckBox, "Oculars.flagScaleImageCircle"); connectBoolProperty(ui->semiTransparencyCheckBox, "Oculars.flagSemiTransparency"); connectBoolProperty(ui->checkBoxDMSDegrees, "Oculars.flagDMSDegrees"); connectBoolProperty(ui->checkBoxTypeOfMount, "Oculars.flagAutosetMountForCCD"); connectBoolProperty(ui->checkBoxTelradFOVScaling, "Oculars.flagScalingFOVForTelrad"); connectBoolProperty(ui->checkBoxToolbarButton, "Oculars.flagShowOcularsButton"); connectDoubleProperty(ui->arrowButtonScaleDoubleSpinBox, "Oculars.arrowButtonScale"); connectBoolProperty(ui->checkBoxShowCcdCropOverlay, "Oculars.flagShowCcdCropOverlay"); connectIntProperty(ui->guiCcdCropOverlaySizeSpinBox, "Oculars.ccdCropOverlaySize"); // The add & delete buttons connect(ui->addCCD, SIGNAL(clicked()), this, SLOT(insertNewCCD())); connect(ui->deleteCCD, SIGNAL(clicked()), this, SLOT(deleteSelectedCCD())); connect(ui->addOcular, SIGNAL(clicked()), this, SLOT(insertNewOcular())); connect(ui->deleteOcular, SIGNAL(clicked()), this, SLOT(deleteSelectedOcular())); connect(ui->addLens, SIGNAL(clicked()), this, SLOT(insertNewLens())); connect(ui->deleteLens, SIGNAL(clicked()), this, SLOT(deleteSelectedLens())); connect(ui->addTelescope, SIGNAL(clicked()), this, SLOT(insertNewTelescope())); connect(ui->deleteTelescope, SIGNAL(clicked()), this, SLOT(deleteSelectedTelescope())); // Validators ui->ccdName->setValidator(validatorName); ui->ocularName->setValidator(validatorName); ui->telescopeName->setValidator(validatorName); ui->lensName->setValidator(validatorName); initAboutText(); connect(ui->pushButtonMoveOcularUp, SIGNAL(pressed()), this, SLOT(moveUpSelectedOcular())); connect(ui->pushButtonMoveOcularDown, SIGNAL(pressed()), this, SLOT(moveDownSelectedOcular())); connect(ui->pushButtonMoveSensorUp, SIGNAL(pressed()), this, SLOT(moveUpSelectedSensor())); connect(ui->pushButtonMoveSensorDown, SIGNAL(pressed()), this, SLOT(moveDownSelectedSensor())); connect(ui->pushButtonMoveTelescopeUp, SIGNAL(pressed()), this, SLOT(moveUpSelectedTelescope())); connect(ui->pushButtonMoveTelescopeDown, SIGNAL(pressed()), this, SLOT(moveDownSelectedTelescope())); connect(ui->pushButtonMoveLensUp, SIGNAL(pressed()), this, SLOT(moveUpSelectedLens())); connect(ui->pushButtonMoveLensDown, SIGNAL(pressed()), this, SLOT(moveDownSelectedLens())); // The CCD mapper ccdMapper = new QDataWidgetMapper(); ccdMapper->setModel(ccdTableModel); ccdMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); ccdMapper->addMapping(ui->ccdName, 0); ccdMapper->addMapping(ui->ccdChipY, 1); ccdMapper->addMapping(ui->ccdChipX, 2); ccdMapper->addMapping(ui->ccdPixelY, 3); ccdMapper->addMapping(ui->ccdPixelX, 4); ccdMapper->addMapping(ui->ccdResX, 5); ccdMapper->addMapping(ui->ccdResY, 6); ccdMapper->addMapping(ui->ccdRotAngle, 7); ccdMapper->addMapping(ui->ccdBinningX, 8); ccdMapper->addMapping(ui->ccdBinningY, 9); ccdMapper->addMapping(ui->OAG_checkBox, 10); ccdMapper->addMapping(ui->OAGPrismH, 11); ccdMapper->addMapping(ui->OAGPrismW, 12); ccdMapper->addMapping(ui->OAGDist, 13); ccdMapper->addMapping(ui->OAGPrismPA, 14); ccdMapper->toFirst(); connect(ui->ccdListView->selectionModel() , SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), ccdMapper, SLOT(setCurrentModelIndex(QModelIndex))); connectDoubleProperty(ui->ccdRotAngle, "Oculars.selectedCCDRotationAngle"); ui->ccdListView->setSelectionBehavior(QAbstractItemView::SelectRows); ui->ccdListView->setCurrentIndex(ccdTableModel->index(0, 1)); connect(ui->ccdChipY, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); connect(ui->ccdChipX, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); connect(ui->ccdPixelY, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); connect(ui->ccdPixelX, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); connect(ui->ccdResX, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); connect(ui->ccdResY, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); connect(ui->ccdRotAngle, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); connect(ui->ccdBinningX, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); connect(ui->ccdBinningY, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); connect(ui->OAG_checkBox,SIGNAL(stateChanged(int)), ccdMapper, SLOT(submit())); connect(ui->OAGPrismH, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); connect(ui->OAGPrismW, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); connect(ui->OAGDist, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); connect(ui->OAGPrismPA, SIGNAL(editingFinished()), ccdMapper, SLOT(submit())); // The ocular mapper ocularMapper = new QDataWidgetMapper(); ocularMapper->setModel(ocularTableModel); ocularMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); ocularMapper->addMapping(ui->ocularName, 0); ocularMapper->addMapping(ui->ocularAFov, 1); ocularMapper->addMapping(ui->ocularFL, 2); ocularMapper->addMapping(ui->ocularFieldStop, 3); ocularMapper->addMapping(ui->binocularsCheckBox, 4, "checked"); ocularMapper->addMapping(ui->permanentCrosshairCheckBox, 5, "checked"); ocularMapper->toFirst(); connect(ui->ocularListView->selectionModel() , SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), ocularMapper, SLOT(setCurrentModelIndex(QModelIndex))); ui->ocularListView->setSelectionBehavior(QAbstractItemView::SelectRows); ui->ocularListView->setCurrentIndex(ocularTableModel->index(0, 1)); // We need particular refresh methods to see immediate feedback. connect(ui->ocularAFov, SIGNAL(editingFinished()), this, SLOT(updateOcular())); connect(ui->ocularFL, SIGNAL(editingFinished()), this, SLOT(updateOcular())); connect(ui->ocularFieldStop, SIGNAL(editingFinished()), this, SLOT(updateOcular())); connect(ui->binocularsCheckBox, SIGNAL(stateChanged(int)), this, SLOT(updateOcular())); connect(ui->permanentCrosshairCheckBox, SIGNAL(stateChanged(int)), this, SLOT(updateOcular())); // The lens mapper lensMapper = new QDataWidgetMapper(); lensMapper->setModel(lensTableModel); lensMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); lensMapper->addMapping(ui->lensName, 0); lensMapper->addMapping(ui->lensMultiplier, 1); lensMapper->toFirst(); connect(ui->lensListView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), lensMapper, SLOT(setCurrentModelIndex(QModelIndex))); ui->lensListView->setSelectionBehavior(QAbstractItemView::SelectRows); ui->lensListView->setCurrentIndex(lensTableModel->index(0, 1)); connect(ui->lensMultiplier, SIGNAL(editingFinished()), this, SLOT(updateLens())); // The telescope mapper telescopeMapper = new QDataWidgetMapper(); telescopeMapper->setModel(telescopeTableModel); telescopeMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); telescopeMapper->addMapping(ui->telescopeName, 0); telescopeMapper->addMapping(ui->telescopeDiameter, 1); telescopeMapper->addMapping(ui->telescopeFL, 2); telescopeMapper->addMapping(ui->telescopeHFlip, 3, "checked"); telescopeMapper->addMapping(ui->telescopeVFlip, 4, "checked"); telescopeMapper->addMapping(ui->telescopeEQ, 5, "checked"); telescopeMapper->toFirst(); connect(ui->telescopeListView->selectionModel() , SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), telescopeMapper, SLOT(setCurrentModelIndex(QModelIndex))); ui->telescopeListView->setSelectionBehavior(QAbstractItemView::SelectRows); ui->telescopeListView->setCurrentIndex(telescopeTableModel->index(0, 1)); connect(ui->telescopeDiameter, SIGNAL(editingFinished()), this, SLOT(updateTelescope())); connect(ui->telescopeFL, SIGNAL(editingFinished()), this, SLOT(updateTelescope())); connect(ui->telescopeHFlip, SIGNAL(stateChanged(int)), this, SLOT(updateTelescope())); connect(ui->telescopeVFlip, SIGNAL(stateChanged(int)), this, SLOT(updateTelescope())); connect(ui->telescopeEQ, SIGNAL(stateChanged(int)), this, SLOT(updateTelescope())); connect(ui->binocularsCheckBox, SIGNAL(toggled(bool)), this, SLOT(setLabelsDescriptionText(bool))); }