Skip to content

Commit 0b6150e

Browse files
authored
Qt fred misc bugs (#6933)
* fix main window title * Fix loadout dialog crashing
1 parent ebe2d23 commit 0b6150e

2 files changed

Lines changed: 34 additions & 19 deletions

File tree

qtfred/src/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ int main(int argc, char* argv[]) {
102102
// Expect that the platform library is in the same directory
103103
QCoreApplication::addLibraryPath(QCoreApplication::applicationDirPath());
104104

105-
QGuiApplication::setApplicationDisplayName(QApplication::tr("qtFRED v%1").arg(FS_VERSION_FULL));
105+
//QGuiApplication::setApplicationDisplayName(QApplication::tr("qtFRED v%1").arg(FS_VERSION_FULL));
106106

107107
#ifndef NDEBUG
108108
QLoggingCategory::defaultCategory()->setEnabled(QtDebugMsg, true);

qtfred/src/ui/dialogs/LoadoutDialog.cpp

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,8 @@ void LoadoutDialog::addShipButtonClicked()
321321
SCP_vector<SCP_string> list;
322322

323323
for (const auto& item : ui->listShipsNotUsed->selectedItems()){
324-
list.emplace_back(item->text().toStdString());
324+
SCP_string shipName = item->text().toUtf8().constData();
325+
list.emplace_back(shipName);
325326
}
326327

327328
if (_mode == TABLE_MODE) {
@@ -338,7 +339,8 @@ void LoadoutDialog::addWeaponButtonClicked()
338339
SCP_vector<SCP_string> list;
339340

340341
for (const auto& item: ui->listWeaponsNotUsed->selectedItems()){
341-
list.emplace_back(item->text().toStdString());
342+
SCP_string weaponName = item->text().toUtf8().constData();
343+
list.emplace_back(weaponName);
342344
}
343345

344346
if (_mode == TABLE_MODE) {
@@ -355,7 +357,8 @@ void LoadoutDialog::removeShipButtonClicked()
355357
SCP_vector<SCP_string> list;
356358

357359
for (const auto& item : ui->usedShipsList->selectedItems()){
358-
list.emplace_back(item->text().toStdString());
360+
SCP_string shipName = item->text().toUtf8().constData();
361+
list.emplace_back(shipName);
359362
}
360363

361364
if (_mode == TABLE_MODE) {
@@ -372,7 +375,8 @@ void LoadoutDialog::removeWeaponButtonClicked()
372375
SCP_vector<SCP_string> list;
373376

374377
for (const auto& item : ui->usedWeaponsList->selectedItems()){
375-
list.emplace_back(item->text().toStdString());
378+
SCP_string weaponName = item->text().toUtf8().constData();
379+
list.emplace_back(weaponName);
376380
}
377381

378382
if (_mode == TABLE_MODE) {
@@ -436,7 +440,7 @@ void LoadoutDialog::onExtraItemsViaVariableCombo()
436440
}
437441

438442
SCP_vector<SCP_string> list = (_lastSelectionChanged == USED_SHIPS) ? getSelectedShips() : getSelectedWeapons();
439-
SCP_string chosenVariable = ui->extraItemsViaVariableCombo->currentText().toStdString();
443+
SCP_string chosenVariable = ui->extraItemsViaVariableCombo->currentText().toUtf8().constData();
440444

441445
_model->setExtraAllocatedViaVariable(list, chosenVariable, _lastSelectionChanged == USED_SHIPS, _mode == VARIABLE_MODE);
442446
updateUI();
@@ -578,7 +582,8 @@ void LoadoutDialog::updateUI()
578582
bool found = false;
579583

580584
for (int x = 0; x < ui->usedShipsList->rowCount(); ++x){
581-
if (ui->usedShipsList->item(x,0) && lcase_equal(ui->usedShipsList->item(x, 0)->text().toStdString(), shipName)) {
585+
SCP_string usedShipName = ui->usedShipsList->item(x, 0)->text().toUtf8().constData();
586+
if (ui->usedShipsList->item(x,0) && lcase_equal(usedShipName, shipName)) {
582587
found = true;
583588
// update the quantities here, and make sure it's visible
584589
ui->usedShipsList->item(x, 1)->setText(newShip.first.substr(divider + 1).c_str());
@@ -600,7 +605,8 @@ void LoadoutDialog::updateUI()
600605

601606
// remove from the unused list
602607
for (int x = 0; x < ui->listShipsNotUsed->count(); ++x) {
603-
if (lcase_equal(ui->listShipsNotUsed->item(x)->text().toStdString(), shipName)) {
608+
SCP_string usedShipName = ui->listShipsNotUsed->item(x)->text().toUtf8().constData();
609+
if (lcase_equal(usedShipName, shipName)) {
604610
ui->listShipsNotUsed->setRowHidden(x, true);
605611
break;
606612
}
@@ -610,7 +616,8 @@ void LoadoutDialog::updateUI()
610616
bool found = false;
611617

612618
for (int x = 0; x < ui->listShipsNotUsed->count(); ++x){
613-
if (lcase_equal(ui->listShipsNotUsed->item(x)->text().toStdString(), shipName)) {
619+
SCP_string usedShipName = ui->listShipsNotUsed->item(x)->text().toUtf8().constData();
620+
if (lcase_equal(usedShipName, shipName)) {
614621
found = true;
615622
ui->listShipsNotUsed->setRowHidden(x, false);
616623
break;
@@ -623,8 +630,9 @@ void LoadoutDialog::updateUI()
623630

624631
// remove from the used list
625632
for (int x = 0; x < ui->usedShipsList->rowCount(); ++x) {
633+
SCP_string usedShipName = ui->usedShipsList->item(x, 0)->text().toUtf8().constData();
626634
if (ui->usedShipsList->item(x, 0) &&
627-
lcase_equal(ui->usedShipsList->item(x, 0)->text().toStdString(), shipName)) {
635+
lcase_equal(usedShipName, shipName)) {
628636
ui->usedShipsList->setRowHidden(x, true);
629637
break;
630638
}
@@ -641,7 +649,8 @@ void LoadoutDialog::updateUI()
641649

642650
// Add or update in the used list
643651
for (int x = 0; x < ui->usedWeaponsList->rowCount(); ++x) {
644-
if (ui->usedWeaponsList->item(x,0) && lcase_equal(ui->usedWeaponsList->item(x, 0)->text().toStdString(), weaponName)) {
652+
SCP_string usedWepName = ui->usedWeaponsList->item(x, 0)->text().toUtf8().constData();
653+
if (ui->usedWeaponsList->item(x,0) && lcase_equal(usedWepName, weaponName)) {
645654
found = true;
646655
// only need to update the quantities here.
647656
ui->usedWeaponsList->item(x, 1)->setText(newWeapon.first.substr(divider + 1).c_str());
@@ -664,7 +673,8 @@ void LoadoutDialog::updateUI()
664673

665674
// remove from the unused list
666675
for (int x = 0; x < ui->listWeaponsNotUsed->count(); ++x) {
667-
if (lcase_equal(ui->listWeaponsNotUsed->item(x)->text().toStdString(), weaponName)) {
676+
SCP_string usedWepName = ui->listWeaponsNotUsed->item(x)->text().toUtf8().constData();
677+
if (lcase_equal(usedWepName, weaponName)) {
668678
ui->listWeaponsNotUsed->setRowHidden(x, true);
669679
break;
670680
}
@@ -674,7 +684,8 @@ void LoadoutDialog::updateUI()
674684
bool found = false;
675685

676686
for (int x = 0; x < ui->listWeaponsNotUsed->count(); ++x){
677-
if (ui->listWeaponsNotUsed->item(x) && lcase_equal(ui->listWeaponsNotUsed->item(x)->text().toStdString(), weaponName)) {
687+
SCP_string usedWepName = ui->listWeaponsNotUsed->item(x)->text().toUtf8().constData();
688+
if (ui->listWeaponsNotUsed->item(x) && lcase_equal(usedWepName, weaponName)) {
678689
found = true;
679690
ui->listWeaponsNotUsed->setRowHidden(x, false);
680691
break;
@@ -687,8 +698,9 @@ void LoadoutDialog::updateUI()
687698

688699
// remove from the used list
689700
for (int x = 0; x < ui->usedWeaponsList->rowCount(); ++x) {
701+
SCP_string usedWepName = ui->usedWeaponsList->item(x, 0)->text().toUtf8().constData();
690702
if (ui->usedWeaponsList->item(x, 0) &&
691-
lcase_equal(ui->usedWeaponsList->item(x, 0)->text().toStdString(), weaponName)) {
703+
lcase_equal(usedWepName, weaponName)) {
692704
ui->usedWeaponsList->setRowHidden(x, true);
693705
break;
694706
}
@@ -832,8 +844,8 @@ void LoadoutDialog::updateUI()
832844
ui->extraItemsViaVariableCombo->setCurrentIndex(0);
833845
} else {
834846
for (int x = 0; x < ui->extraItemsViaVariableCombo->count(); ++x) {
835-
if (lcase_equal(ui->extraItemsViaVariableCombo->itemText(x).toStdString(),
836-
currentVariable)) {
847+
SCP_string variableName = ui->extraItemsViaVariableCombo->itemText(x).toUtf8().constData();
848+
if (lcase_equal(variableName, currentVariable)) {
837849
ui->extraItemsViaVariableCombo->setCurrentIndex(x);
838850
break;
839851
}
@@ -850,7 +862,8 @@ void LoadoutDialog::updateUI()
850862
bool found = false;
851863

852864
for (const auto& weapon : requiredWeapons) {
853-
if (ui->usedWeaponsList->item(x, 0) && ui->usedWeaponsList->item(x,2) && lcase_equal(ui->usedWeaponsList->item(x, 0)->text().toStdString(), weapon)) {
865+
SCP_string usedWepName = ui->usedWeaponsList->item(x, 0)->text().toUtf8().constData();
866+
if (ui->usedWeaponsList->item(x, 0) && ui->usedWeaponsList->item(x,2) && lcase_equal(usedWepName, weapon)) {
854867
found = true;
855868
ui->usedWeaponsList->item(x, 2)->setText("Yes");
856869
break;
@@ -870,7 +883,8 @@ SCP_vector<SCP_string> LoadoutDialog::getSelectedShips()
870883

871884
for (int x = 0; x < ui->usedShipsList->rowCount(); ++x) {
872885
if (ui->usedShipsList->item(x, 0) && ui->usedShipsList->item(x,0)->isSelected()) {
873-
namesOut.emplace_back(ui->usedShipsList->item(x, 0)->text().toStdString());
886+
SCP_string shipName = ui->usedShipsList->item(x, 0)->text().toUtf8().constData();
887+
namesOut.emplace_back(shipName);
874888
}
875889
}
876890

@@ -883,7 +897,8 @@ SCP_vector<SCP_string> LoadoutDialog::getSelectedWeapons()
883897

884898
for (int x = 0; x < ui->usedWeaponsList->rowCount(); ++x) {
885899
if (ui->usedWeaponsList->item(x, 0) && ui->usedWeaponsList->item(x, 0)->isSelected()) {
886-
namesOut.emplace_back(ui->usedWeaponsList->item(x, 0)->text().toStdString());
900+
SCP_string weaponName = ui->usedWeaponsList->item(x, 0)->text().toUtf8().constData();
901+
namesOut.emplace_back(weaponName);
887902
}
888903
}
889904

0 commit comments

Comments
 (0)