diff --git a/src/tools/moleculeview.h b/src/tools/moleculeview.h --- a/src/tools/moleculeview.h +++ b/src/tools/moleculeview.h @@ -64,7 +64,7 @@ /** * Update the currently active scene plugin. */ - void slotUpdateScenePlugin(); + void slotUpdateScenePlugin(int itemIndex); /** * Get a new molecule using hot new stuff diff --git a/src/tools/moleculeview.cpp b/src/tools/moleculeview.cpp --- a/src/tools/moleculeview.cpp +++ b/src/tools/moleculeview.cpp @@ -92,10 +92,12 @@ // ui.optimizeButton->setEnabled(false); // } - ui.styleCombo->addItems({"Ball and Stick", "Van der Waals", "Wireframe"}); - connect(ui.styleCombo, static_cast(&QComboBox::currentIndexChanged), + ui.styleCombo->addItem(i18n("Ball and Stick"), QStringLiteral("Ball and Stick")); + ui.styleCombo->addItem(i18n("Van der Waals"), QStringLiteral("Van der Waals")); + ui.styleCombo->addItem(i18n("Wireframe"), QStringLiteral("Wireframe")); + connect(ui.styleCombo, QOverload::of(&QComboBox::currentIndexChanged), this, &MoleculeDialog::slotUpdateScenePlugin); - slotUpdateScenePlugin(); + slotUpdateScenePlugin(ui.styleCombo->currentIndex()); connect(ui.tabWidget, &QTabWidget::currentChanged, this, &MoleculeDialog::setViewEdit); @@ -165,8 +167,8 @@ loadMolecule(filename); } -void MoleculeDialog::slotUpdateScenePlugin() { - const QString text = ui.styleCombo->currentText(); +void MoleculeDialog::slotUpdateScenePlugin(int itemIndex) { + const QString text = ui.styleCombo->itemData(itemIndex, Qt::UserRole).toString(); for (int i = 0; i < ui.glWidget->sceneModel().rowCount(QModelIndex()); ++i) { QModelIndex index = ui.glWidget->sceneModel().index(i, 0); if (text == ui.glWidget->sceneModel().data(index, Qt::DisplayRole)) {