void ConnectionsDialog::clone() { ConnectionListWidgetItem *currentItem = (ConnectionListWidgetItem *) _listWidget->currentItem(); // Do nothing if no item selected if (currentItem == 0) return; // Clone connection ConnectionSettings *connection = currentItem->connection()->clone(); std::string newConnectionName="Copy of "+connection->connectionName(); connection->setConnectionName(newConnectionName); ConnectionDialog editDialog(connection); // Cleanup newly created connection and return, if not accepted. if (editDialog.exec() != QDialog::Accepted) { delete connection; return; } // Now connection will be owned by SettingsManager _settingsManager->addConnection(connection); add(connection); }
void KeywordsManagerWidget::on_Modify__released () { const QModelIndex& selected = Ui_.Items_->currentIndex (); if (!selected.isValid ()) return; QStandardItemModel *model = qobject_cast<QStandardItemModel*> (Ui_.Items_->model ()); if (!model) { qWarning () << Q_FUNC_INFO << "unable cast " << Ui_.Items_->model () << "to QStandardItemModel"; return; } const QString& keyword = model->item (selected.row (), 0)->text (); const QString& url = model->item (selected.row (), 1)->text (); EditKeywordDialog editDialog(url, keyword); if (editDialog.exec () == QDialog::Accepted && (keyword != editDialog.GetKeyword () || url != editDialog.GetUrl ())) { if (keyword != editDialog.GetKeyword ()) Keywords_.remove (keyword); Keywords_.setValue (editDialog.GetKeyword (), editDialog.GetUrl ()); model->item (selected.row (), 0)->setText (editDialog.GetKeyword ()); model->item (selected.row (), 1)->setText (editDialog.GetUrl ()); Plugin_->UpdateKeywords (editDialog.GetKeyword (), editDialog.GetUrl ()); } }
/** * @brief Initiate 'edit' action, usually when user clicked on Edit button */ void ConnectionsDialog::edit() { ConnectionListWidgetItem *currentItem = (ConnectionListWidgetItem *) _listWidget->currentItem(); // Do nothing if no item selected if (currentItem == 0) return; ConnectionSettings *connection = currentItem->connection(); boost::scoped_ptr<ConnectionSettings> clonedConnection(connection->clone()); ConnectionDialog editDialog(clonedConnection.get()); // Do nothing if not accepted if (editDialog.exec() != QDialog::Accepted) { // on linux focus is lost - we need to activate connections dialog activateWindow(); return; } connection->apply(editDialog.connection()); _settingsManager->updateConnection(connection); // on linux focus is lost - we need to activate connections dialog activateWindow(); }
/** * @brief Initiate 'edit' action, usually when user clicked on Edit button */ void ConnectionsDialog::edit() { ConnectionListWidgetItem *currentItem = (ConnectionListWidgetItem *) _listWidget->currentItem(); // Do nothing if no item selected if (currentItem == 0) return; ConnectionSettings *connection = currentItem->connection(); boost::scoped_ptr<ConnectionSettings> clonedConnection(connection->clone()); ConnectionDialog editDialog(clonedConnection.get()); // Do nothing if not accepted if (editDialog.exec() != QDialog::Accepted) { // on linux focus is lost - we need to activate connections dialog activateWindow(); return; } connection->apply(editDialog.connection()); // on linux focus is lost - we need to activate connections dialog activateWindow(); int size = _connectionItems.size(); for (int i=0; i<size; ++i) { ConnectionListWidgetItem *item = _connectionItems[i]; if (_connectionItems[i]->connection() == connection) { item->setConnection(connection); break; } } }
/** Creates a new patient */ void medDatabaseView::onCreatePatientRequested(void) { QModelIndexList indexes = this->selectedIndexes(); bool isPersistent = true; if(indexes.count() > 0) { QModelIndex index = indexes.at(0); medAbstractDatabaseItem *item = NULL; if(QSortFilterProxyModel *proxy = dynamic_cast<QSortFilterProxyModel *>(this->model())) item = static_cast<medAbstractDatabaseItem *>(proxy->mapToSource(index).internalPointer()); if (item) { isPersistent = medDataManager::instance()->controllerForDataSource( item->dataIndex().dataSourceId() )->isPersistent(); } } QString patientName = "new patient"; QString birthdate = ""; QString gender = ""; QList<QString> ptAttributes; ptAttributes << medMetaDataKeys::PatientName.label(); ptAttributes << medMetaDataKeys::BirthDate.label(); ptAttributes << medMetaDataKeys::Gender.label(); QList<QVariant> ptValues; ptValues << patientName; ptValues << QString(""); ptValues << QChar(); medDatabaseEditItemDialog editDialog(ptAttributes, ptValues, this, true, isPersistent); int res = editDialog.exec(); if(res == QDialog::Accepted) { patientName = editDialog.value(medMetaDataKeys::PatientName.label()).toString(); birthdate = editDialog.value(medMetaDataKeys::BirthDate.label()).toString(); gender = editDialog.value(medMetaDataKeys::Gender.label()).toString(); // TODO: Hack to be able to create patient using medAbstractData // Need to be rethought medAbstractData* medData = new medAbstractData(); QString generatedPatientID = QUuid::createUuid().toString().replace ( "{","" ).replace ( "}","" ); medData->setMetaData ( medMetaDataKeys::PatientName.key(), QStringList() << patientName ); medData->setMetaData ( medMetaDataKeys::PatientID.key(), QStringList() << generatedPatientID ); medData->setMetaData ( medMetaDataKeys::BirthDate.key(), QStringList() << birthdate ); medData->setMetaData ( medMetaDataKeys::Gender.key(), QStringList() << gender ); medDataManager::instance()->importData(medData, editDialog.isPersistent()); } }
/** Edits selected item */ void medDatabaseView::onEditRequested(void) { QModelIndexList indexes = this->selectedIndexes(); if(!indexes.count()) return; QModelIndex index = indexes.at(0); medAbstractDatabaseItem *item = NULL; if(QSortFilterProxyModel *proxy = dynamic_cast<QSortFilterProxyModel *>(this->model())) item = static_cast<medAbstractDatabaseItem *>(proxy->mapToSource(index).internalPointer()); if(item) { QList<QVariant> attributes = item->attributes(); QList<QVariant> values = item->values(); QList<QString> labels; // Users are not allowed to change ThumbnailPath attribute. for (int i = 0; i<attributes.count(); i++) { if (attributes.at(i).toString() == "ThumbnailPath") { attributes.removeAt(i); values.removeAt(i); } } foreach(QVariant attrib, attributes) { const medMetaDataKeys::Key* key = medMetaDataKeys::Key::fromKeyName(attrib.toString().toStdString().c_str()); if(key) { labels << key->label(); } else { labels << ""; } } medDatabaseEditItemDialog editDialog(labels,values,this); int res = editDialog.exec(); medDataIndex index = item->dataIndex(); if(res == QDialog::Accepted) { int i=0; foreach(QString label, labels) { QVariant data = editDialog.value(label); QVariant variant = item->attribute(i); medDataManager::instance()->setMetadata(index, variant.toString(), data.toString()); i++; } }
void DhtDialog::addButtonClicked() { DhtEditDialog editDialog(this); if (editDialog.exec() == QDialog::Accepted) { Settings::DhtServer serverInfo = editDialog.getServerInformation(); serverModel->appendRow(new QStandardItem(serverInfo.name)); serverComboBox->setCurrentIndex(serverModel->rowCount() - 1); modifiedServerList << serverInfo; } }
/** Creates a new study */ void medDatabaseView::onCreateStudyRequested(void) { QModelIndexList indexes = this->selectedIndexes(); if(!indexes.count()) return; QModelIndex index = indexes.at(0); medAbstractDatabaseItem *item = NULL; if(QSortFilterProxyModel *proxy = dynamic_cast<QSortFilterProxyModel *>(this->model())) item = static_cast<medAbstractDatabaseItem *>(proxy->mapToSource(index).internalPointer()); if (item) { bool isPersistent = medDataManager::instance()->controllerForDataSource( item->dataIndex().dataSourceId() )->isPersistent(); int patientNameIndex = item->attributes().indexOf(medMetaDataKeys::PatientName.key()); int birthdateIndex = item->attributes().indexOf(medMetaDataKeys::BirthDate.key()); QString patientName = item->data( patientNameIndex ).toString(); QString birthdate = item->data( birthdateIndex ).toString(); if(birthdate.isNull()) birthdate=""; QList<QString> stAttributes; stAttributes << medMetaDataKeys::StudyDescription.label(); QList<QVariant> stValues; stValues << "new study"; medDatabaseEditItemDialog editDialog(stAttributes, stValues, this, true, isPersistent); int res = editDialog.exec(); if(res == QDialog::Accepted) { QString studyName = editDialog.value(medMetaDataKeys::StudyDescription.label()).toString(); // TODO: Hack to be able to create study using medAbstractData // Need to be rethought medAbstractData* medData = new medAbstractData(); medData->setMetaData ( medMetaDataKeys::PatientName.key(), QStringList() << patientName ); medData->setMetaData ( medMetaDataKeys::BirthDate.key(), QStringList() << birthdate ); medData->setMetaData ( medMetaDataKeys::StudyDescription.key(), QStringList() << studyName ); medData->setMetaData ( medMetaDataKeys::StudyID.key(), QStringList() << "0" ); medData->setMetaData ( medMetaDataKeys::StudyDicomID.key(), QStringList() << "" ); medDataManager::instance()->importData(medData, editDialog.isPersistent()); } } }
/** * @brief Initiate 'add' action, usually when user clicked on Add button */ void ConnectionsDialog::add() { ConnectionSettings *newModel = new ConnectionSettings(); ConnectionDialog editDialog(newModel); // Do nothing if not accepted if (editDialog.exec() != QDialog::Accepted) { delete newModel; return; } _settingsManager->addConnection(newModel); _listWidget->setFocus(); }
void IMEditorWidget::slotEdit() { if( mReadOnly ) return; QTreeWidgetItemIterator it( mWidget->lvAddresses, QTreeWidgetItemIterator::Selected ); // Just edit the first one selected. if ( IMAddressLVI *current = static_cast<IMAddressLVI*>( *it ) ) { KDialog editDialog( this ); editDialog.setCaption( i18nc( "Instant messaging", "Edit Address" ) ); editDialog.setButtons( KDialog::Ok | KDialog::Cancel ); editDialog.setDefaultButton( KDialog::Ok ); editDialog.setObjectName( "editaddress" ); IMAddressWidget *addressWid = new IMAddressWidget( &editDialog, mProtocols, current->protocol(), current->address(), current->context() ) ; connect( addressWid, SIGNAL( inValidState( bool ) ), &editDialog, SLOT( enableButtonOk( bool ) ) ); editDialog.setMainWidget( addressWid ); if ( editDialog.exec() == QDialog::Accepted ) { bool modified = false; if ( addressWid->address() != current->address() ) { modified = true; current->setAddress( addressWid->address() ); } if ( addressWid->context() != current->context() ) { modified = true; current->setContext( addressWid->context() ); } // the entry for the protocol of the current address has changed if ( !mChangedProtocols.contains( current->protocol() ) ) { mChangedProtocols.append( current->protocol() ); } // update protocol - has another protocol gained an address? if ( current->protocol() != addressWid->protocol() ) { modified = true; // this proto is losing an entry current->setProtocol( addressWid->protocol() ); if ( !mChangedProtocols.contains( current->protocol() ) ) { mChangedProtocols.append( current->protocol() ); } } if ( modified ) { setModified( true ); } } }
void DhtDialog::editButtonClicked() { int currentIndex = serverComboBox->currentIndex(); if (currentIndex == -1) { return; } DhtEditDialog editDialog(this); Settings::DhtServer oldServerInfo = modifiedServerList.at(currentIndex); editDialog.setServerInformation(oldServerInfo); if (editDialog.exec() == QDialog::Accepted) { Settings::DhtServer newServerInfo = editDialog.getServerInformation(); serverModel->setData(serverModel->index(currentIndex, 0), newServerInfo.name); modifiedServerList[currentIndex] = newServerInfo; } }
void PortMappingDialog::onEditButtonClick() { int selectedIndex = m_exPortsListBox.getSelectedIndex(); if (selectedIndex == -1) { return ; } PortMapping *pPM = m_extraPorts->at(selectedIndex); EditPortMappingDialog editDialog(EditPortMappingDialog::Edit); editDialog.setParent(&m_ctrlThis); editDialog.setMapping(pPM); if (editDialog.showModal() == IDOK) { StringStorage mappingString; pPM->toString(&mappingString); m_exPortsListBox.setItemText(selectedIndex, mappingString.getString()); ((ConfigDialog *)m_parent)->updateApplyButtonState(); } }
void ScenarioTree::editScenarioObject(ScenarioObject* scenarioObject, QTreeWidgetItem* editItem) { if (scenarioObject == NULL || editItem == NULL) return; // TODO: Replace this with an edit method for scenario objects if (dynamic_cast<ScenarioTrajectoryPropagation*>(scenarioObject) != NULL) { ScenarioTrajectoryPropagation* prop = dynamic_cast<ScenarioTrajectoryPropagation*>(scenarioObject); TrajectoryPropagationDialog editDialog(this); if (!editDialog.loadValues(prop)) { QMessageBox::information(this, tr("Bad TrajectoryPropagation element"), tr("Error in TrajectoryPropagation element")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(prop); updateTreeItems(editItem, scenarioObject); } } } else if (dynamic_cast<ScenarioInitialStatePosition*>(scenarioObject) != NULL) { ScenarioInitialStatePosition* initialStatePos = dynamic_cast<ScenarioInitialStatePosition*>(scenarioObject); if (Lagrmode==1 || Lagrmode==2 || Lagrmode==3 || Lagrmode==4 || Lagrmode==0) { InitialStateThreebodyEditorDialog editDialog(this); if (!editDialog.loadValues(initialStatePos)) { QMessageBox::information(this, tr("Bad InitialStatePosition element"), tr("Error in InitialStatePosition element")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(initialStatePos); updateTreeItems(editItem, scenarioObject); } } } else { InitialStateEditorDialog editDialog(this); if (!editDialog.loadValues(initialStatePos)) { QMessageBox::information(this, tr("Bad InitialStatePosition element"), tr("Error in InitialStatePosition element")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(initialStatePos); updateTreeItems(editItem, scenarioObject); } } } } else if (dynamic_cast<ScenarioLocation*>(scenarioObject) != NULL) { ScenarioLocation* location = dynamic_cast<ScenarioLocation*>(scenarioObject); LocationEditorDialog editDialog(this); editDialog.loadValues(location); if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(location); updateTreeItems(editItem, scenarioObject); } } else if (dynamic_cast<ScenarioRendezvousTrajectory*>(scenarioObject) != NULL) { ScenarioRendezvousTrajectory* rendezvous = dynamic_cast<ScenarioRendezvousTrajectory*>(scenarioObject); RendezvousDialog editDialog(this); if (!editDialog.loadValues(rendezvous)) { QMessageBox::information(this, tr("Bad Rendezvous element"), tr("Error in Rendezvous element")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(rendezvous); updateTreeItems(editItem, scenarioObject); } } } else if (dynamic_cast<ScenarioLagrangianTrajectory*>(scenarioObject) != NULL) {Lagrmode=0; ScenarioLagrangianTrajectory* lagrangian = dynamic_cast<ScenarioLagrangianTrajectory*>(scenarioObject); LagrangianDialog editDialog(this); if (!editDialog.loadValues(lagrangian)) { QMessageBox::information(this, tr("Bad Lagrangian element"), tr("Error in Lagrangian element")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(lagrangian); updateTreeItems(editItem, scenarioObject); } } } else if (dynamic_cast<ScenarioLoiteringTrajectory*>(scenarioObject) != NULL) { Lagrmode=-1; ScenarioLoiteringTrajectory* loitering = dynamic_cast<ScenarioLoiteringTrajectory*>(scenarioObject); LoiteringDialog editDialog(this); if (!editDialog.loadValues(loitering)) { QMessageBox::information(this, tr("Bad Loitering element"), tr("Error in Loitering element")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(loitering); updateTreeItems(editItem, scenarioObject); } } } else if (dynamic_cast<ScenarioTleTrajectory*>(scenarioObject) != NULL) { ScenarioTleTrajectory* loiteringTLE = dynamic_cast<ScenarioTleTrajectory*>(scenarioObject); LoiteringTLEDialog editDialog(this); if (!editDialog.loadValues(loiteringTLE)) { QMessageBox::information(this, tr("Bad Loitering TLE element"), tr("Error in Loitering TLE element")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(loiteringTLE); // TODO Change the name of the participant using the TLE line 0 updateTreeItems(editItem, scenarioObject); } } } else if (dynamic_cast<ScenarioExternalTrajectory*>(scenarioObject) != NULL) { ScenarioExternalTrajectory* externalTrajectory = dynamic_cast<ScenarioExternalTrajectory*>(scenarioObject); ExternalDialog editDialog(this); if (!editDialog.loadValues(externalTrajectory)) { QMessageBox::information(this, tr("Bad External element"), tr("Error in external trajectory")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(externalTrajectory); updateTreeItems(editItem, scenarioObject); } } } else if (dynamic_cast<ScenarioPhysicalProperties*>(scenarioObject) != NULL) { ScenarioPhysicalProperties* physicalProperties = dynamic_cast<ScenarioPhysicalProperties*>(scenarioObject); PhysicalPropertiesDialog editDialog(this); if (!editDialog.loadValues(physicalProperties)) { QMessageBox::information(this, tr("Bad Properties element"), tr("Error in Physical Properties element")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(physicalProperties); updateTreeItems(editItem, scenarioObject); } } } else if (dynamic_cast<ScenarioAerodynamicProperties*>(scenarioObject) != NULL) { ScenarioAerodynamicProperties* aerodynamicProperties = dynamic_cast<ScenarioAerodynamicProperties*>(scenarioObject); AerodynamicPropertiesDialog editDialog(this); if (!editDialog.loadValues(aerodynamicProperties)) { QMessageBox::information(this, tr("Bad Properties element"), tr("Error in Aerodynamic Properties element")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(aerodynamicProperties); updateTreeItems(editItem, scenarioObject); } } } else if (dynamic_cast<ScenarioPropulsionProperties*>(scenarioObject) != NULL) { ScenarioPropulsionProperties* propulsionProperties = dynamic_cast<ScenarioPropulsionProperties*>(scenarioObject); PropulsionPropertiesDialog editDialog(this); if (!editDialog.loadValues(propulsionProperties)) { QMessageBox::information(this, tr("Bad Properties element"), tr("Error in Propulsion Properties element")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(propulsionProperties); updateTreeItems(editItem, scenarioObject); } } } else if (dynamic_cast<ScenarioPayloadProperties*>(scenarioObject) != NULL) { ScenarioPayloadProperties* payloadProperties = dynamic_cast<ScenarioPayloadProperties*>(scenarioObject); PayloadPropertiesDialog editDialog(this); if (!editDialog.loadValues(payloadProperties)) { QMessageBox::information(this, tr("Bad Properties element"), tr("Error in Payload Properties element")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(payloadProperties); updateTreeItems(editItem, scenarioObject); } } } else if (dynamic_cast<ScenarioReEntryTrajectory*>(scenarioObject) != NULL) { Lagrmode=0; ScenarioReEntryTrajectory* reentry = dynamic_cast<ScenarioReEntryTrajectory*>(scenarioObject); ReEntryDialog editDialog(this); if (!editDialog.loadValues(reentry)) { QMessageBox::information(this, tr("Bad ReEntry element"), tr("Error in ReEntry element")); } else { if (editDialog.exec() == QDialog::Accepted) { editDialog.saveValues(reentry); updateTreeItems(editItem, scenarioObject); } } } else if (dynamic_cast<ScenarioAppearance*>(scenarioObject) != NULL) { ScenarioAppearance* appearance = dynamic_cast<ScenarioAppearance*>(scenarioObject); QString modelFileName = QFileDialog::getOpenFileName(this, tr("Select Model File"), QString("./models/") + appearance->model(), tr("Models (*.3ds *.cmod)")); if (!modelFileName.isEmpty()) { // Strip away the path--we just want the filename if (modelFileName.contains('/')) modelFileName.remove(0, modelFileName.lastIndexOf('/') + 1); appearance->setModel(modelFileName); updateTreeItems(editItem, scenarioObject); } } else { ScenarioObject* parentObject = NULL; editItem = editItem->parent(); if (editItem != NULL) { QVariant data = editItem->data(0, ScenarioObjectRole); if (qVariantCanConvert<void*>(data)) { void* pointer = qVariantValue<void*>(data); parentObject = reinterpret_cast<ScenarioObject*>(pointer); } editScenarioObject(parentObject, editItem); } } }