diff options
author | Maxim Pimenov <m@maps.me> | 2016-05-17 13:53:31 +0300 |
---|---|---|
committer | Maxim Pimenov <m@maps.me> | 2016-05-17 13:53:46 +0300 |
commit | c1479655b0f3eea22f0181c99c3406298546d297 (patch) | |
tree | 7dbc6d99b4df174bc971b9e3e46d447861d07d4f /qt | |
parent | 91090294b0208bf3e887a9de20edbae2c14e9e2a (diff) |
[qt] Restored new feature categories.
Diffstat (limited to 'qt')
-rw-r--r-- | qt/create_feature_dialog.cpp | 59 | ||||
-rw-r--r-- | qt/create_feature_dialog.hpp | 2 | ||||
-rw-r--r-- | qt/draw_widget.cpp | 3 |
3 files changed, 27 insertions, 37 deletions
diff --git a/qt/create_feature_dialog.cpp b/qt/create_feature_dialog.cpp index f9f13b70c3..28df823128 100644 --- a/qt/create_feature_dialog.cpp +++ b/qt/create_feature_dialog.cpp @@ -6,43 +6,32 @@ #include <QtWidgets/QListWidget> #include <QtWidgets/QVBoxLayout> -CreateFeatureDialog::CreateFeatureDialog(QWidget * parent, osm::NewFeatureCategories const & cats) +CreateFeatureDialog::CreateFeatureDialog(QWidget * parent, osm::NewFeatureCategories & cats) : QDialog(parent) { - // todo(@m) Fix this. - /* - QListWidget * lastUsedList = new QListWidget(); - - for (auto const & cat : cats.m_lastUsed) - { - QListWidgetItem * lwi = new QListWidgetItem(cat.m_name.c_str(), lastUsedList); - lwi->setData(Qt::UserRole, cat.m_type); - } - connect(lastUsedList, SIGNAL(clicked(QModelIndex const &)), this, - SLOT(OnListItemSelected(QModelIndex const &))); - - QListWidget * allSortedList = new QListWidget(); - for (auto const & cat : cats.m_allSorted) - { - QListWidgetItem * lwi = new QListWidgetItem(cat.m_name.c_str(), allSortedList); - lwi->setData(Qt::UserRole, cat.m_type); - } - connect(allSortedList, SIGNAL(clicked(QModelIndex const &)), this, - SLOT(OnListItemSelected(QModelIndex const &))); - - QVBoxLayout * vBox = new QVBoxLayout(); - vBox->addWidget(lastUsedList); - vBox->addWidget(allSortedList); - - - QDialogButtonBox * dbb = new QDialogButtonBox(); - dbb->addButton(QDialogButtonBox::Close); - connect(dbb, SIGNAL(clicked(QAbstractButton*)), this, SLOT(reject())); - vBox->addWidget(dbb); - - setLayout(vBox); - setWindowTitle("OSM Editor"); - */ + cats.AddLanguage("en"); + + QListWidget * allSortedList = new QListWidget(); + + auto const & categories = cats.GetAllCategoryNames("en"); + for (auto const & entry : categories) + { + QListWidgetItem * lwi = new QListWidgetItem(entry.first.c_str() /* name */, allSortedList); + lwi->setData(Qt::UserRole, entry.second /* type */); + } + connect(allSortedList, SIGNAL(clicked(QModelIndex const &)), this, + SLOT(OnListItemSelected(QModelIndex const &))); + + QDialogButtonBox * dbb = new QDialogButtonBox(); + dbb->addButton(QDialogButtonBox::Close); + connect(dbb, SIGNAL(clicked(QAbstractButton *)), this, SLOT(reject())); + + QVBoxLayout * vBox = new QVBoxLayout(); + vBox->addWidget(allSortedList); + vBox->addWidget(dbb); + setLayout(vBox); + + setWindowTitle("OSM Editor"); } void CreateFeatureDialog::OnListItemSelected(QModelIndex const & i) diff --git a/qt/create_feature_dialog.hpp b/qt/create_feature_dialog.hpp index 5cd0ab4d0d..0eb6cf919e 100644 --- a/qt/create_feature_dialog.hpp +++ b/qt/create_feature_dialog.hpp @@ -12,7 +12,7 @@ class CreateFeatureDialog : public QDialog { Q_OBJECT public: - CreateFeatureDialog(QWidget * parent, osm::NewFeatureCategories const & cats); + CreateFeatureDialog(QWidget * parent, osm::NewFeatureCategories & cats); /// Valid only if dialog has finished with Accepted code. uint32_t GetSelectedType() const { return m_selectedType; } diff --git a/qt/draw_widget.cpp b/qt/draw_widget.cpp index 916abe3185..87edba43e7 100644 --- a/qt/draw_widget.cpp +++ b/qt/draw_widget.cpp @@ -486,7 +486,8 @@ void DrawWidget::ShowSearchResult(search::Result const & res) void DrawWidget::CreateFeature() { - CreateFeatureDialog dlg(this, m_framework->GetEditorCategories()); + auto cats = m_framework->GetEditorCategories(); + CreateFeatureDialog dlg(this, cats); if (dlg.exec() == QDialog::Accepted) { osm::EditableMapObject emo; |