mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 01:30:05 +00:00 
			
		
		
		
	Merge pull request #342 from AdenKoperczak/location_markers_part2_1
A few UI changes to location markers part2
This commit is contained in:
		
						commit
						508b5f55a2
					
				
					 3 changed files with 30 additions and 7 deletions
				
			
		|  | @ -23,6 +23,9 @@ namespace scwx::qt::ui | ||||||
| static const std::string logPrefix_ = "scwx::qt::ui::edit_marker_dialog"; | static const std::string logPrefix_ = "scwx::qt::ui::edit_marker_dialog"; | ||||||
| static const auto        logger_    = scwx::util::Logger::Create(logPrefix_); | static const auto        logger_    = scwx::util::Logger::Create(logPrefix_); | ||||||
| 
 | 
 | ||||||
|  | static const QString addingTitle_  = QObject::tr("Add Location Marker"); | ||||||
|  | static const QString editingTitle_ = QObject::tr("Edit Location Marker"); | ||||||
|  | 
 | ||||||
| class EditMarkerDialog::Impl | class EditMarkerDialog::Impl | ||||||
| { | { | ||||||
| public: | public: | ||||||
|  | @ -32,6 +35,7 @@ public: | ||||||
|    void show_icon_file_dialog(); |    void show_icon_file_dialog(); | ||||||
| 
 | 
 | ||||||
|    void set_icon_color(const std::string& color); |    void set_icon_color(const std::string& color); | ||||||
|  |    void set_adding(bool adding); | ||||||
| 
 | 
 | ||||||
|    void connect_signals(); |    void connect_signals(); | ||||||
| 
 | 
 | ||||||
|  | @ -58,6 +62,24 @@ QIcon EditMarkerDialog::Impl::get_colored_icon( | ||||||
|                                QColor(QString::fromStdString(color))); |                                QColor(QString::fromStdString(color))); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void EditMarkerDialog::Impl::set_adding(bool adding) | ||||||
|  | { | ||||||
|  |    if (adding == adding_) | ||||||
|  |    { | ||||||
|  |       return; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    if (adding) | ||||||
|  |    { | ||||||
|  |       self_->setWindowTitle(addingTitle_); | ||||||
|  |    } | ||||||
|  |    else | ||||||
|  |    { | ||||||
|  |       self_->setWindowTitle(editingTitle_); | ||||||
|  |    } | ||||||
|  |    adding_ = adding; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| EditMarkerDialog::EditMarkerDialog(QWidget* parent) : | EditMarkerDialog::EditMarkerDialog(QWidget* parent) : | ||||||
|     QDialog(parent), |     QDialog(parent), | ||||||
|     p {std::make_unique<Impl>(this)}, |     p {std::make_unique<Impl>(this)}, | ||||||
|  | @ -84,7 +106,7 @@ EditMarkerDialog::~EditMarkerDialog() | ||||||
| 
 | 
 | ||||||
| void EditMarkerDialog::setup() | void EditMarkerDialog::setup() | ||||||
| { | { | ||||||
|    setup(0, 0); |    setup(0.0, 0.0); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void EditMarkerDialog::setup(double latitude, double longitude) | void EditMarkerDialog::setup(double latitude, double longitude) | ||||||
|  | @ -102,11 +124,10 @@ void EditMarkerDialog::setup(double latitude, double longitude) | ||||||
|                                  static_cast<uint8_t>(color.blue()), |                                  static_cast<uint8_t>(color.blue()), | ||||||
|                                  static_cast<uint8_t>(color.alpha())})); |                                  static_cast<uint8_t>(color.alpha())})); | ||||||
| 
 | 
 | ||||||
|    setup(p->editId_); |    setup(p->editId_, true); | ||||||
|    p->adding_ = true; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void EditMarkerDialog::setup(types::MarkerId id) | void EditMarkerDialog::setup(types::MarkerId id, bool adding) | ||||||
| { | { | ||||||
|    std::optional<types::MarkerInfo> marker = p->markerManager_->get_marker(id); |    std::optional<types::MarkerInfo> marker = p->markerManager_->get_marker(id); | ||||||
|    if (!marker) |    if (!marker) | ||||||
|  | @ -115,7 +136,7 @@ void EditMarkerDialog::setup(types::MarkerId id) | ||||||
|    } |    } | ||||||
| 
 | 
 | ||||||
|    p->editId_ = id; |    p->editId_ = id; | ||||||
|    p->adding_ = false; |    p->set_adding(adding); | ||||||
| 
 | 
 | ||||||
|    const std::string iconColorStr = |    const std::string iconColorStr = | ||||||
|       util::color::ToArgbString(marker->iconColor); |       util::color::ToArgbString(marker->iconColor); | ||||||
|  | @ -300,6 +321,8 @@ void EditMarkerDialog::Impl::set_icon_color(const std::string& color) | ||||||
| 
 | 
 | ||||||
| void EditMarkerDialog::Impl::handle_accepted() | void EditMarkerDialog::Impl::handle_accepted() | ||||||
| { | { | ||||||
|  |    // switch to editing to that canceling after applying does not delete it
 | ||||||
|  |    set_adding(false); | ||||||
|    markerManager_->set_marker(editId_, self_->get_marker_info()); |    markerManager_->set_marker(editId_, self_->get_marker_info()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -21,7 +21,7 @@ public: | ||||||
| 
 | 
 | ||||||
|    void setup(); |    void setup(); | ||||||
|    void setup(double latitude, double longitude); |    void setup(double latitude, double longitude); | ||||||
|    void setup(types::MarkerId id); |    void setup(types::MarkerId id, bool adding = false); | ||||||
| 
 | 
 | ||||||
|    [[nodiscard]] types::MarkerInfo get_marker_info() const; |    [[nodiscard]] types::MarkerInfo get_marker_info() const; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ | ||||||
|    </rect> |    </rect> | ||||||
|   </property> |   </property> | ||||||
|   <property name="windowTitle"> |   <property name="windowTitle"> | ||||||
|    <string>Marker Manager</string> |    <string>Location Marker Manager</string> | ||||||
|   </property> |   </property> | ||||||
|   <layout class="QVBoxLayout" name="verticalLayout"> |   <layout class="QVBoxLayout" name="verticalLayout"> | ||||||
|    <item> |    <item> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat