diff --git a/src/AppFrame.cpp b/src/AppFrame.cpp index 4182293..5bbac12 100644 --- a/src/AppFrame.cpp +++ b/src/AppFrame.cpp @@ -1864,6 +1864,8 @@ bool AppFrame::loadSession(std::string fileName) { GetStatusBar()->SetStatusText(wxString::Format(wxT("Loaded session file: %s"), currentSessionFile.c_str())); SetTitle(wxString::Format(wxT("%s: %s"), CUBICSDR_TITLE, filePart.c_str())); + wxGetApp().getBookmarkMgr().updateActiveList(); + return true; } diff --git a/src/BookmarkMgr.cpp b/src/BookmarkMgr.cpp index f5cb324..0e91b99 100644 --- a/src/BookmarkMgr.cpp +++ b/src/BookmarkMgr.cpp @@ -132,7 +132,11 @@ BookmarkEntry *BookmarkMgr::demodToBookmarkEntry(DemodulatorInstance *demod) { be->bandwidth = demod->getBandwidth(); be->type = demod->getDemodulatorType(); - be->label = demod->getLabel(); + be->label = demod->getDemodulatorUserLabel(); + if (be->label == "") { + std::string wstr = demod->getLabel(); + be->label = std::wstring(wstr.begin(),wstr.end()); + } be->frequency = demod->getFrequency(); be->node = new DataNode; diff --git a/src/BookmarkMgr.h b/src/BookmarkMgr.h index 5444405..9b4728b 100644 --- a/src/BookmarkMgr.h +++ b/src/BookmarkMgr.h @@ -12,7 +12,7 @@ public: std::mutex busy_lock; std::string type; - std::string label; + std::wstring label; long long frequency; int bandwidth; diff --git a/src/DemodLabelDialog.cpp b/src/DemodLabelDialog.cpp index d5a7e50..f002296 100644 --- a/src/DemodLabelDialog.cpp +++ b/src/DemodLabelDialog.cpp @@ -57,7 +57,7 @@ void DemodLabelDialog::OnChar(wxKeyEvent& event) { else { activeDemod->setDemodulatorUserLabel(L""); } - + wxGetApp().getBookmarkMgr().updateActiveList(); Close(); break; case WXK_ESCAPE: diff --git a/src/forms/Bookmark/BookmarkView.cpp b/src/forms/Bookmark/BookmarkView.cpp index 7a915ef..f38568a 100644 --- a/src/forms/Bookmark/BookmarkView.cpp +++ b/src/forms/Bookmark/BookmarkView.cpp @@ -143,7 +143,12 @@ void BookmarkView::doUpdateActiveList() { tvi->type = TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE; tvi->demod = demod_i; - wxTreeItemId itm = m_treeView->AppendItem(activeBranch,demod_i->getLabel()); + wxString activeLabel = demod_i->getDemodulatorUserLabel(); + if (activeLabel == "") { + activeLabel = demod_i->getLabel(); + } + + wxTreeItemId itm = m_treeView->AppendItem(activeBranch,activeLabel); m_treeView->SetItemData(itm, tvi); if (activeDemodulator) { @@ -310,7 +315,7 @@ void BookmarkView::activeSelection(DemodulatorInstance *dsel) { m_frequencyVal->SetLabelText(frequencyToStr(dsel->getFrequency())); m_bandwidthVal->SetLabelText(frequencyToStr(dsel->getBandwidth())); m_modulationVal->SetLabelText(dsel->getDemodulatorType()); - m_labelText->SetValue(dsel->getLabel()); + m_labelText->SetValue(dsel->getDemodulatorUserLabel()); hideProps(); @@ -607,11 +612,15 @@ void BookmarkView::onTreeBeginDrag( wxTreeEvent& event ) { } bool bAllow = false; - std::string dragItemName; + std::wstring dragItemName; if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) { bAllow = true; - dragItemName = tvi->demod->getLabel(); + dragItemName = tvi->demod->getDemodulatorUserLabel(); + if (dragItemName == "") { + std::string wstr = tvi->demod->getLabel(); + dragItemName = std::wstring(wstr.begin(),wstr.end()); + } } else if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT) { bAllow = true; dragItemName = tvi->bookmarkEnt->label;