/** * @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; } } }
/** * @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(); }