diff --git a/apps/OpenSpace/ext/launcher/src/profile/actiondialog.cpp b/apps/OpenSpace/ext/launcher/src/profile/actiondialog.cpp index 2edd32ed2a..8dbdf4471e 100644 --- a/apps/OpenSpace/ext/launcher/src/profile/actiondialog.cpp +++ b/apps/OpenSpace/ext/launcher/src/profile/actiondialog.cpp @@ -306,11 +306,30 @@ void ActionDialog::createKeyboardWidgets(QGridLayout* layout) { _keybindingWidgets.key = new QComboBox; QStringList keyList; for (const KeyInfo& ki : KeyInfos) { + // We don't want to use the Shift, Alt, and Ctrl keys directly since we already + // have them as modifier keys + if (ki.key == Key::LeftShift || ki.key == Key::RightShift || + ki.key == Key::LeftAlt || ki.key == Key::RightAlt || + ki.key == Key::LeftControl || ki.key == Key::RightControl || + ki.key == Key::LeftSuper || ki.key == Key::RightSuper || + ki.key == Key::Menu || ki.key == Key::NumLock || + ki.key == Key::World1 || ki.key == Key::World2) + { + continue; + } keyList += QString::fromStdString(std::string(ki.name)); } _keybindingWidgets.key->addItems(keyList); _keybindingWidgets.key->setCurrentIndex(-1); _keybindingWidgets.key->setEnabled(false); + connect( + _keybindingWidgets.key, QOverload::of(&QComboBox::currentIndexChanged), + [this](int newIndex) { + _keybindingWidgets.saveButtons->button(QDialogButtonBox::Save)->setEnabled( + newIndex > 0 + ); + } + ); layout->addWidget(_keybindingWidgets.key, 11, 2); layout->addWidget(new QLabel("Action chooser"), 12, 1); @@ -632,7 +651,9 @@ void ActionDialog::keybindingSelected() { std::string key = ghoul::to_string(keybinding->key.key); _keybindingWidgets.key->setCurrentText(QString::fromStdString(key)); _keybindingWidgets.key->setEnabled(true); - _keybindingWidgets.action->setCurrentText(QString::fromStdString(keybinding->action)); + _keybindingWidgets.action->setCurrentText( + QString::fromStdString(keybinding->action) + ); _keybindingWidgets.action->setEnabled(true); _keybindingWidgets.actionText->setText( QString::fromStdString(keybinding->action) @@ -640,7 +661,13 @@ void ActionDialog::keybindingSelected() { _keybindingWidgets.actionText->setEnabled(true); _keybindingWidgets.addButton->setEnabled(false); _keybindingWidgets.removeButton->setEnabled(true); + _keybindingWidgets.saveButtons->setEnabled(true); + // Only enable the save buttons if a key is selected, otherwise we would get an + // exception as the None key cannot be bound + _keybindingWidgets.saveButtons->button(QDialogButtonBox::Save)->setEnabled( + _keybindingWidgets.key->currentIndex() > 0 + ); } else { // No keybinding selected @@ -656,7 +683,7 @@ void ActionDialog::keybindingActionSelected(int) { void ActionDialog::keybindingSaved() { Profile::Keybinding* keybinding = selectedKeybinding(); - ghoul_assert(keybinding, "There must be a selected action at this point"); + ghoul_assert(keybinding, "There must be a selected keybinding at this point"); KeyModifier km = KeyModifier::None; if (_keybindingWidgets.shiftModifier->isChecked()) { diff --git a/apps/OpenSpace/ext/sgct b/apps/OpenSpace/ext/sgct index a7b225f605..d89724510f 160000 --- a/apps/OpenSpace/ext/sgct +++ b/apps/OpenSpace/ext/sgct @@ -1 +1 @@ -Subproject commit a7b225f605efe02eeb98ee485c1c71cdb12e31fa +Subproject commit d89724510f70a5b19dd93f481e4fb6493e67721c diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/hydra.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/hydra.asset index 30bcb528b6..a7f991c8cc 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/hydra.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/hydra.asset @@ -21,7 +21,7 @@ local Hydra = { SegmentsPerPatch = 64, Layers = {} }, - Tag = { "moon_solarSystem", "moon_dwarf", "moon_pluto" }, + Tag = { "moon_solarSystem", "moon_dwarf", "moon_pluto", "moon_minor" }, GUI = { Path = "/Solar System/Dwarf Planets/Pluto" } diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/kerberos.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/kerberos.asset index 8d394e60c4..2cf71c1de2 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/kerberos.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/kerberos.asset @@ -20,7 +20,7 @@ local Kerberos = { SegmentsPerPatch = 64, Layers = {} }, - Tag = { "moon_solarSystem", "moon_dwarf", "moon_pluto" }, + Tag = { "moon_solarSystem", "moon_dwarf", "moon_pluto", "moon_minor" }, GUI = { Path = "/Solar System/Dwarf Planets/Pluto" } diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/nix.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/nix.asset index 4503fe1893..0c057482d2 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/nix.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/nix.asset @@ -20,7 +20,7 @@ local Nix = { SegmentsPerPatch = 64, Layers = {} }, - Tag = { "moon_solarSystem", "moon_dwarf", "moon_pluto" }, + Tag = { "moon_solarSystem", "moon_dwarf", "moon_pluto", "moon_minor" }, GUI = { Path = "/Solar System/Dwarf Planets/Pluto" } diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/styx.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/styx.asset index 071839e0e4..ba9195d562 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/styx.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/minor/styx.asset @@ -19,7 +19,7 @@ local Styx = { SegmentsPerPatch = 64, Layers = {} }, - Tag = { "moon_solarSystem", "moon_dwarf", "moon_pluto" }, + Tag = { "moon_solarSystem", "moon_dwarf", "moon_pluto", "moon_minor" }, GUI = { Path = "/Solar System/Dwarf Planets/Pluto" } diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset index b9cfabaede..d26e384b3e 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset @@ -7,7 +7,7 @@ local kernel = asset.require('../kernels').jup341 local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_ananke"} +local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_ananke", "moon_minor" } local trailColor = { 0.4, 0.3, 0.01 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset index e6b56d1db4..32f0c3b067 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset @@ -7,7 +7,7 @@ local kernel = asset.require('../kernels').jup341 local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_carme" } +local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_carme", "moon_minor" } local trailColor = { 0.4, 0.3, 0.01 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset index 7fcb8e9cdc..0731ce60ba 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset @@ -7,7 +7,7 @@ local kernel = asset.require('../kernels').jup341 local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_carpo" } +local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_carpo", "moon_minor" } local trailColor = { 0.4, 0.3, 0.01 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset index fa9117c43c..2b0619989c 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset @@ -7,7 +7,7 @@ local kernel = asset.require('../kernels').jup341 local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_himalia" } +local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_himalia", "moon_minor" } local trailColor = { 0.4, 0.3, 0.01 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset index 63a0ae8d98..34f81084ae 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset @@ -7,7 +7,7 @@ local kernel = asset.require('../kernels').jup341 local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_inner" } +local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_inner", "moon_minor" } local trailColor = { 0.4, 0.3, 0.01 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset index 644d959083..c72a04d69f 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset @@ -7,7 +7,7 @@ local kernel = asset.require('../kernels').jup341 local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_other" } +local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_other", "moon_minor" } local trailColor = { 0.4, 0.3, 0.01 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset index 4576f4e782..8268262874 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset @@ -7,7 +7,7 @@ local kernel = asset.require('../kernels').jup341 local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_pasiphae" } +local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_pasiphae", "moon_minor" } local trailColor = { 0.4, 0.3, 0.01 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset index 0a2299e611..343eb2c432 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset @@ -7,7 +7,7 @@ local kernel = asset.require('../kernels').jup341 local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_themisto" } +local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_themisto", "moon_minor" } local trailColor = { 0.4, 0.3, 0.01 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset b/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset index 3a6dddaba4..dc8e85f381 100644 --- a/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset +++ b/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset @@ -10,7 +10,7 @@ local kernel088 = kernels.nep088 local parentIdentifier = transforms.NeptuneBarycenter.Identifier local parentSpice = "NEPTUNE BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_inner" } +local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_inner", "moon_minor" } local trailColor = { 0.2, 0.5, 0.75 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/neptune/irregular_prograde_moons.asset b/data/assets/scene/solarsystem/planets/neptune/irregular_prograde_moons.asset index 810434bbc0..efb2834b56 100644 --- a/data/assets/scene/solarsystem/planets/neptune/irregular_prograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/neptune/irregular_prograde_moons.asset @@ -10,7 +10,7 @@ local kernel088 = kernels.nep088 local parentIdentifier = transforms.NeptuneBarycenter.Identifier local parentSpice = "NEPTUNE BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_irregular_prograde" } +local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_irregular_prograde", "moon_minor" } local trailColor = { 0.2, 0.5, 0.75 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/neptune/irregular_retrograde_moons.asset b/data/assets/scene/solarsystem/planets/neptune/irregular_retrograde_moons.asset index badb4eb266..38d9472ffa 100644 --- a/data/assets/scene/solarsystem/planets/neptune/irregular_retrograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/neptune/irregular_retrograde_moons.asset @@ -9,7 +9,7 @@ local kernel086 = kernels.nep086 local parentIdentifier = transforms.NeptuneBarycenter.Identifier local parentSpice = "NEPTUNE BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_irregular_retrograde" } +local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_irregular_retrograde", "moon_minor" } local trailColor = { 0.2, 0.5, 0.75 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset index a08b0fc03e..f67d555de2 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset @@ -7,7 +7,7 @@ local kernel = asset.require('../kernels').sat368 local parentIdentifier = transforms.SaturnBarycenter.Identifier local parentSpice = "SATURN BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_gallic" } +local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_gallic", "moon_minor" } local trailColor = { 0.5, 0.3, 0.3 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset index 9fd0637b38..ecdf1b457a 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset @@ -7,7 +7,7 @@ local kernel = asset.require('../kernels').sat368 local parentIdentifier = transforms.SaturnBarycenter.Identifier local parentSpice = "SATURN BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_inuit" } +local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_inuit", "moon_minor" } local trailColor = { 0.5, 0.3, 0.3 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset index 4cad89e12f..4eb04bb6cc 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset @@ -9,7 +9,7 @@ local kernel375 = kernels.sat375 local parentIdentifier = transforms.SaturnBarycenter.Identifier local parentSpice = "SATURN BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_norse" } +local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_norse", "moon_minor" } local trailColor = { 0.5, 0.3, 0.3 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset index 6ceaa4a9d1..1f7654e236 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset @@ -9,7 +9,7 @@ local kernel393 = kernels.sat393 local parentIdentifier = transforms.SaturnBarycenter.Identifier local parentSpice = "SATURN BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_other" } +local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_other", "moon_minor" } local trailColor = { 0.5, 0.3, 0.3 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset b/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset index 662fde8b7b..54ff39f0cb 100644 --- a/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset @@ -7,7 +7,7 @@ local kernel = asset.require('./kernels').ura091 local parentIdentifier = transforms.UranusBarycenter.Identifier local parentSpice = "URANUS BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_inner" } +local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_inner", "moon_minor" } local trailColor = { 0.60, 0.65, 0.84 } local trailTags = { diff --git a/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset b/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset index a1d36a6a3f..97b359c59a 100644 --- a/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset @@ -7,7 +7,7 @@ local kernel = asset.require('./kernels').ura112 local parentIdentifier = transforms.UranusBarycenter.Identifier local parentSpice = "URANUS BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_irregular_prograde" } +local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_irregular_prograde", "moon_minor" } local trailColor = { 0.60, 0.65, 0.84 } local trailTags = { "moonTrail_solarSystem", diff --git a/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset b/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset index 11545d7f2d..c0d7b8efd9 100644 --- a/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset @@ -7,7 +7,7 @@ local kernel = asset.require('./kernels').ura112 local parentIdentifier = transforms.UranusBarycenter.Identifier local parentSpice = "URANUS BARYCENTER" -local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_irregular_retrograde" } +local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_irregular_retrograde", "moon_minor" } local trailColor = { 0.60, 0.65, 0.84 } local trailTags = { "moonTrail_solarSystem", diff --git a/modules/base/rendering/renderableplaneimageonline.cpp b/modules/base/rendering/renderableplaneimageonline.cpp index 998790b581..d0179e9d79 100644 --- a/modules/base/rendering/renderableplaneimageonline.cpp +++ b/modules/base/rendering/renderableplaneimageonline.cpp @@ -95,7 +95,9 @@ void RenderablePlaneImageOnline::bindTexture() { } } -void RenderablePlaneImageOnline::update(const UpdateData&) { +void RenderablePlaneImageOnline::update(const UpdateData& data) { + RenderablePlane::update(data); + if (!_textureIsDirty) { return; }