Merge pull request #483 from AdenKoperczak/location-marker-hotkey-label

Location Marker Hotkey Label
This commit is contained in:
Dan Paulat 2025-07-12 09:30:47 -05:00 committed by GitHub
commit 90f663ee1a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 51 additions and 10 deletions

View file

@ -3,17 +3,15 @@
#include <scwx/qt/manager/marker_manager.hpp>
#include <scwx/qt/model/marker_model.hpp>
#include <scwx/qt/settings/hotkey_settings.hpp>
#include <scwx/qt/types/hotkey_types.hpp>
#include <scwx/qt/types/qt_types.hpp>
#include <scwx/qt/ui/edit_marker_dialog.hpp>
#include <scwx/util/logger.hpp>
#include <QSortFilterProxyModel>
namespace scwx
{
namespace qt
{
namespace ui
namespace scwx::qt::ui
{
static const std::string logPrefix_ = "scwx::qt::ui::marker_settings_widget";
@ -34,6 +32,7 @@ public:
}
void ConnectSignals();
void UpdateHotkeyLabel();
MarkerSettingsWidget* self_;
model::MarkerModel* markerModel_;
@ -41,9 +40,9 @@ public:
std::shared_ptr<manager::MarkerManager> markerManager_ {
manager::MarkerManager::Instance()};
std::shared_ptr<ui::EditMarkerDialog> editMarkerDialog_ {nullptr};
boost::signals2::scoped_connection hotkeyConnection_;
};
MarkerSettingsWidget::MarkerSettingsWidget(QWidget* parent) :
QFrame(parent),
p {std::make_unique<MarkerSettingsWidgetImpl>(this)},
@ -53,6 +52,7 @@ MarkerSettingsWidget::MarkerSettingsWidget(QWidget* parent) :
ui->removeButton->setEnabled(false);
ui->markerView->setModel(p->proxyModel_);
p->UpdateHotkeyLabel();
p->editMarkerDialog_ = std::make_shared<ui::EditMarkerDialog>(this);
@ -128,8 +128,22 @@ void MarkerSettingsWidgetImpl::ConnectSignals()
editMarkerDialog_->setup(id.toULongLong());
editMarkerDialog_->show();
});
hotkeyConnection_ = settings::HotkeySettings::Instance()
.hotkey(types::Hotkey::AddLocationMarker)
.changed_signal()
.connect([this]() { UpdateHotkeyLabel(); });
}
} // namespace ui
} // namespace qt
} // namespace scwx
void MarkerSettingsWidgetImpl::UpdateHotkeyLabel()
{
self_->ui->hotkeyLabel->setText(
fmt::format(
"A Location Marker can be placed at the location under the cursor by "
"pressing \"{}\" and edited by right clicking it on the map.",
settings::HotkeySettings::Instance()
.hotkey(types::Hotkey::AddLocationMarker)
.GetValue())
.c_str());
}
} // namespace scwx::qt::ui

View file

@ -14,6 +14,33 @@
<string>Frame</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="hotkeyLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>9</pointsize>
</font>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="text">
<string/>
</property>
<property name="textFormat">
<enum>Qt::TextFormat::PlainText</enum>
</property>
</widget>
</item>
<item>
<widget class="QTreeView" name="markerView">
<property name="alternatingRowColors">
@ -34,7 +61,7 @@
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
<number>6</number>
</property>
<property name="rightMargin">
<number>0</number>