mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2024-11-23 12:18:37 -05:00
Re-implement tree selection behavior tweaks
This commit is contained in:
parent
fd928de3aa
commit
870f61cdce
@ -83,7 +83,6 @@ BookmarkPanel::BookmarkPanel( wxWindow* parent, wxWindowID id, const wxPoint& po
|
|||||||
m_treeView->Connect( wxEVT_MOTION, wxMouseEventHandler( BookmarkPanel::onMotion ), NULL, this );
|
m_treeView->Connect( wxEVT_MOTION, wxMouseEventHandler( BookmarkPanel::onMotion ), NULL, this );
|
||||||
m_treeView->Connect( wxEVT_COMMAND_TREE_BEGIN_DRAG, wxTreeEventHandler( BookmarkPanel::onTreeBeginDrag ), NULL, this );
|
m_treeView->Connect( wxEVT_COMMAND_TREE_BEGIN_DRAG, wxTreeEventHandler( BookmarkPanel::onTreeBeginDrag ), NULL, this );
|
||||||
m_treeView->Connect( wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT, wxTreeEventHandler( BookmarkPanel::onTreeBeginLabelEdit ), NULL, this );
|
m_treeView->Connect( wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT, wxTreeEventHandler( BookmarkPanel::onTreeBeginLabelEdit ), NULL, this );
|
||||||
m_treeView->Connect( wxEVT_COMMAND_TREE_DELETE_ITEM, wxTreeEventHandler( BookmarkPanel::onTreeDeleteItem ), NULL, this );
|
|
||||||
m_treeView->Connect( wxEVT_COMMAND_TREE_END_DRAG, wxTreeEventHandler( BookmarkPanel::onTreeEndDrag ), NULL, this );
|
m_treeView->Connect( wxEVT_COMMAND_TREE_END_DRAG, wxTreeEventHandler( BookmarkPanel::onTreeEndDrag ), NULL, this );
|
||||||
m_treeView->Connect( wxEVT_COMMAND_TREE_END_LABEL_EDIT, wxTreeEventHandler( BookmarkPanel::onTreeEndLabelEdit ), NULL, this );
|
m_treeView->Connect( wxEVT_COMMAND_TREE_END_LABEL_EDIT, wxTreeEventHandler( BookmarkPanel::onTreeEndLabelEdit ), NULL, this );
|
||||||
m_treeView->Connect( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, wxTreeEventHandler( BookmarkPanel::onTreeActivate ), NULL, this );
|
m_treeView->Connect( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, wxTreeEventHandler( BookmarkPanel::onTreeActivate ), NULL, this );
|
||||||
@ -108,7 +107,6 @@ BookmarkPanel::~BookmarkPanel()
|
|||||||
m_treeView->Disconnect( wxEVT_MOTION, wxMouseEventHandler( BookmarkPanel::onMotion ), NULL, this );
|
m_treeView->Disconnect( wxEVT_MOTION, wxMouseEventHandler( BookmarkPanel::onMotion ), NULL, this );
|
||||||
m_treeView->Disconnect( wxEVT_COMMAND_TREE_BEGIN_DRAG, wxTreeEventHandler( BookmarkPanel::onTreeBeginDrag ), NULL, this );
|
m_treeView->Disconnect( wxEVT_COMMAND_TREE_BEGIN_DRAG, wxTreeEventHandler( BookmarkPanel::onTreeBeginDrag ), NULL, this );
|
||||||
m_treeView->Disconnect( wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT, wxTreeEventHandler( BookmarkPanel::onTreeBeginLabelEdit ), NULL, this );
|
m_treeView->Disconnect( wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT, wxTreeEventHandler( BookmarkPanel::onTreeBeginLabelEdit ), NULL, this );
|
||||||
m_treeView->Disconnect( wxEVT_COMMAND_TREE_DELETE_ITEM, wxTreeEventHandler( BookmarkPanel::onTreeDeleteItem ), NULL, this );
|
|
||||||
m_treeView->Disconnect( wxEVT_COMMAND_TREE_END_DRAG, wxTreeEventHandler( BookmarkPanel::onTreeEndDrag ), NULL, this );
|
m_treeView->Disconnect( wxEVT_COMMAND_TREE_END_DRAG, wxTreeEventHandler( BookmarkPanel::onTreeEndDrag ), NULL, this );
|
||||||
m_treeView->Disconnect( wxEVT_COMMAND_TREE_END_LABEL_EDIT, wxTreeEventHandler( BookmarkPanel::onTreeEndLabelEdit ), NULL, this );
|
m_treeView->Disconnect( wxEVT_COMMAND_TREE_END_LABEL_EDIT, wxTreeEventHandler( BookmarkPanel::onTreeEndLabelEdit ), NULL, this );
|
||||||
m_treeView->Disconnect( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, wxTreeEventHandler( BookmarkPanel::onTreeActivate ), NULL, this );
|
m_treeView->Disconnect( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, wxTreeEventHandler( BookmarkPanel::onTreeActivate ), NULL, this );
|
||||||
|
@ -164,7 +164,7 @@
|
|||||||
<event name="OnTreeBeginDrag">onTreeBeginDrag</event>
|
<event name="OnTreeBeginDrag">onTreeBeginDrag</event>
|
||||||
<event name="OnTreeBeginLabelEdit">onTreeBeginLabelEdit</event>
|
<event name="OnTreeBeginLabelEdit">onTreeBeginLabelEdit</event>
|
||||||
<event name="OnTreeBeginRDrag"></event>
|
<event name="OnTreeBeginRDrag"></event>
|
||||||
<event name="OnTreeDeleteItem">onTreeDeleteItem</event>
|
<event name="OnTreeDeleteItem"></event>
|
||||||
<event name="OnTreeEndDrag">onTreeEndDrag</event>
|
<event name="OnTreeEndDrag">onTreeEndDrag</event>
|
||||||
<event name="OnTreeEndLabelEdit">onTreeEndLabelEdit</event>
|
<event name="OnTreeEndLabelEdit">onTreeEndLabelEdit</event>
|
||||||
<event name="OnTreeGetInfo"></event>
|
<event name="OnTreeGetInfo"></event>
|
||||||
|
@ -52,7 +52,6 @@ class BookmarkPanel : public wxPanel
|
|||||||
virtual void onMotion( wxMouseEvent& event ) { event.Skip(); }
|
virtual void onMotion( wxMouseEvent& event ) { event.Skip(); }
|
||||||
virtual void onTreeBeginDrag( wxTreeEvent& event ) { event.Skip(); }
|
virtual void onTreeBeginDrag( wxTreeEvent& event ) { event.Skip(); }
|
||||||
virtual void onTreeBeginLabelEdit( wxTreeEvent& event ) { event.Skip(); }
|
virtual void onTreeBeginLabelEdit( wxTreeEvent& event ) { event.Skip(); }
|
||||||
virtual void onTreeDeleteItem( wxTreeEvent& event ) { event.Skip(); }
|
|
||||||
virtual void onTreeEndDrag( wxTreeEvent& event ) { event.Skip(); }
|
virtual void onTreeEndDrag( wxTreeEvent& event ) { event.Skip(); }
|
||||||
virtual void onTreeEndLabelEdit( wxTreeEvent& event ) { event.Skip(); }
|
virtual void onTreeEndLabelEdit( wxTreeEvent& event ) { event.Skip(); }
|
||||||
virtual void onTreeActivate( wxTreeEvent& event ) { event.Skip(); }
|
virtual void onTreeActivate( wxTreeEvent& event ) { event.Skip(); }
|
||||||
|
@ -53,6 +53,8 @@ BookmarkView::BookmarkView( wxWindow* parent, wxWindowID id, const wxPoint& pos,
|
|||||||
mouseInView.store(false);
|
mouseInView.store(false);
|
||||||
|
|
||||||
visualDragItem = nullptr;
|
visualDragItem = nullptr;
|
||||||
|
nextEnt = nullptr;
|
||||||
|
nextDemod = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -165,7 +167,7 @@ wxTreeItemId BookmarkView::refreshBookmarks() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
BookmarkList bmList = wxGetApp().getBookmarkMgr().getBookmarks(gn_i);
|
BookmarkList bmList = wxGetApp().getBookmarkMgr().getBookmarks(gn_i);
|
||||||
for (auto bmEnt : bmList) {
|
for (auto &bmEnt : bmList) {
|
||||||
TreeViewItem* tvi = new TreeViewItem();
|
TreeViewItem* tvi = new TreeViewItem();
|
||||||
tvi->type = TreeViewItem::TREEVIEW_ITEM_TYPE_BOOKMARK;
|
tvi->type = TreeViewItem::TREEVIEW_ITEM_TYPE_BOOKMARK;
|
||||||
tvi->bookmarkEnt = bmEnt;
|
tvi->bookmarkEnt = bmEnt;
|
||||||
@ -178,6 +180,10 @@ wxTreeItemId BookmarkView::refreshBookmarks() {
|
|||||||
if (prevSel != nullptr && prevSel->type == TreeViewItem::TREEVIEW_ITEM_TYPE_BOOKMARK && prevSel->bookmarkEnt == bmEnt && groupExpanded) {
|
if (prevSel != nullptr && prevSel->type == TreeViewItem::TREEVIEW_ITEM_TYPE_BOOKMARK && prevSel->bookmarkEnt == bmEnt && groupExpanded) {
|
||||||
bmSelFound = itm;
|
bmSelFound = itm;
|
||||||
}
|
}
|
||||||
|
if (nextEnt == bmEnt) {
|
||||||
|
bmSelFound = itm;
|
||||||
|
nextEnt = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupExpanded) {
|
if (groupExpanded) {
|
||||||
@ -216,8 +222,8 @@ std::wstring BookmarkView::getActiveDisplayName(DemodulatorInstance *demod) {
|
|||||||
void BookmarkView::doUpdateActiveList() {
|
void BookmarkView::doUpdateActiveList() {
|
||||||
std::vector<DemodulatorInstance *> &demods = wxGetApp().getDemodMgr().getDemodulators();
|
std::vector<DemodulatorInstance *> &demods = wxGetApp().getDemodMgr().getDemodulators();
|
||||||
|
|
||||||
DemodulatorInstance *activeDemodulator = wxGetApp().getDemodMgr().getActiveDemodulator();
|
// DemodulatorInstance *activeDemodulator = wxGetApp().getDemodMgr().getActiveDemodulator();
|
||||||
// DemodulatorInstance *lastActiveDemodulator = wxGetApp().getDemodMgr().getLastActiveDemodulator();
|
DemodulatorInstance *lastActiveDemodulator = wxGetApp().getDemodMgr().getLastActiveDemodulator();
|
||||||
|
|
||||||
TreeViewItem *prevSel = itemToTVI(m_treeView->GetSelection());
|
TreeViewItem *prevSel = itemToTVI(m_treeView->GetSelection());
|
||||||
|
|
||||||
@ -237,12 +243,10 @@ void BookmarkView::doUpdateActiveList() {
|
|||||||
wxTreeItemId itm = m_treeView->AppendItem(activeBranch,activeLabel);
|
wxTreeItemId itm = m_treeView->AppendItem(activeBranch,activeLabel);
|
||||||
m_treeView->SetItemData(itm, tvi);
|
m_treeView->SetItemData(itm, tvi);
|
||||||
|
|
||||||
if (activeDemodulator) {
|
if (nextDemod != nullptr && nextDemod == demod_i) {
|
||||||
if (activeDemodulator == demod_i && activeExpandState) {
|
|
||||||
selItem = itm;
|
selItem = itm;
|
||||||
}
|
nextDemod = nullptr;
|
||||||
}
|
} else if (!selItem && activeExpandState && lastActiveDemodulator && lastActiveDemodulator == demod_i) {
|
||||||
else if (prevSel != nullptr && prevSel->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE && prevSel->demod == demod_i && activeExpandState) {
|
|
||||||
selItem = itm;
|
selItem = itm;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -253,13 +257,14 @@ void BookmarkView::doUpdateActiveList() {
|
|||||||
BookmarkList bmRecents = wxGetApp().getBookmarkMgr().getRecents();
|
BookmarkList bmRecents = wxGetApp().getBookmarkMgr().getRecents();
|
||||||
m_treeView->DeleteChildren(recentBranch);
|
m_treeView->DeleteChildren(recentBranch);
|
||||||
|
|
||||||
for (auto bmr_i: bmRecents) {
|
for (auto &bmr_i: bmRecents) {
|
||||||
TreeViewItem* tvi = new TreeViewItem();
|
TreeViewItem* tvi = new TreeViewItem();
|
||||||
tvi->type = TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT;
|
tvi->type = TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT;
|
||||||
tvi->bookmarkEnt = bmr_i;
|
tvi->bookmarkEnt = bmr_i;
|
||||||
|
|
||||||
std::wstring labelVal;
|
std::wstring labelVal;
|
||||||
bmr_i->node->child("user_label")->element()->get(labelVal);
|
bmr_i->node->child("user_label")->element()->get(labelVal);
|
||||||
|
|
||||||
if (labelVal == "") {
|
if (labelVal == "") {
|
||||||
std::string wstr = frequencyToStr(bmr_i->frequency) + " " + bmr_i->type;
|
std::string wstr = frequencyToStr(bmr_i->frequency) + " " + bmr_i->type;
|
||||||
labelVal = std::wstring(wstr.begin(),wstr.end());
|
labelVal = std::wstring(wstr.begin(),wstr.end());
|
||||||
@ -267,7 +272,11 @@ void BookmarkView::doUpdateActiveList() {
|
|||||||
|
|
||||||
wxTreeItemId itm = m_treeView->AppendItem(recentBranch, labelVal);
|
wxTreeItemId itm = m_treeView->AppendItem(recentBranch, labelVal);
|
||||||
m_treeView->SetItemData(itm, tvi);
|
m_treeView->SetItemData(itm, tvi);
|
||||||
if (prevSel && prevSel->type == TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT && prevSel->bookmarkEnt == bmr_i && recentExpandState) {
|
|
||||||
|
if (nextEnt == bmr_i) {
|
||||||
|
selItem = itm;
|
||||||
|
nextEnt = nullptr;
|
||||||
|
} else if (!selItem && recentExpandState && prevSel && prevSel->type == TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT && prevSel->bookmarkEnt == bmr_i) {
|
||||||
selItem = itm;
|
selItem = itm;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -344,11 +353,14 @@ void BookmarkView::onTreeActivate( wxTreeEvent& event ) {
|
|||||||
if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) {
|
if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) {
|
||||||
if (!tvi->demod->isActive()) {
|
if (!tvi->demod->isActive()) {
|
||||||
wxGetApp().setFrequency(tvi->demod->getFrequency());
|
wxGetApp().setFrequency(tvi->demod->getFrequency());
|
||||||
|
wxGetApp().getDemodMgr().setActiveDemodulator(nullptr,true);
|
||||||
wxGetApp().getDemodMgr().setActiveDemodulator(tvi->demod,false);
|
wxGetApp().getDemodMgr().setActiveDemodulator(tvi->demod,false);
|
||||||
|
nextDemod = tvi->demod;
|
||||||
}
|
}
|
||||||
} else if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT) {
|
} else if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT) {
|
||||||
wxGetApp().getBookmarkMgr().removeRecent(tvi->bookmarkEnt);
|
wxGetApp().getBookmarkMgr().removeRecent(tvi->bookmarkEnt);
|
||||||
activateBookmark(tvi->bookmarkEnt);
|
activateBookmark(tvi->bookmarkEnt);
|
||||||
|
nextEnt = tvi->bookmarkEnt;
|
||||||
wxGetApp().getBookmarkMgr().updateActiveList();
|
wxGetApp().getBookmarkMgr().updateActiveList();
|
||||||
} else if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_BOOKMARK) {
|
} else if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_BOOKMARK) {
|
||||||
activateBookmark(tvi->bookmarkEnt);
|
activateBookmark(tvi->bookmarkEnt);
|
||||||
@ -465,27 +477,34 @@ wxButton *BookmarkView::addButton(wxWindow *parent, std::string labelVal, wxObje
|
|||||||
void BookmarkView::doBookmarkActive(std::string group, DemodulatorInstance *demod) {
|
void BookmarkView::doBookmarkActive(std::string group, DemodulatorInstance *demod) {
|
||||||
wxGetApp().getBookmarkMgr().addBookmark(group, demod);
|
wxGetApp().getBookmarkMgr().addBookmark(group, demod);
|
||||||
wxGetApp().getBookmarkMgr().updateBookmarks();
|
wxGetApp().getBookmarkMgr().updateBookmarks();
|
||||||
activeSelection(demod);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void BookmarkView::doBookmarkRecent(std::string group, BookmarkEntry *be) {
|
void BookmarkView::doBookmarkRecent(std::string group, BookmarkEntry *be) {
|
||||||
wxGetApp().getBookmarkMgr().removeRecent(be);
|
wxGetApp().getBookmarkMgr().removeRecent(be);
|
||||||
wxGetApp().getBookmarkMgr().addBookmark(group, be);
|
wxGetApp().getBookmarkMgr().addBookmark(group, be);
|
||||||
|
nextEnt = be;
|
||||||
wxGetApp().getBookmarkMgr().updateBookmarks();
|
wxGetApp().getBookmarkMgr().updateBookmarks();
|
||||||
wxGetApp().getBookmarkMgr().updateActiveList();
|
|
||||||
bookmarkSelection(be);
|
bookmarkSelection(be);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void BookmarkView::doMoveBookmark(BookmarkEntry *be, std::string group) {
|
void BookmarkView::doMoveBookmark(BookmarkEntry *be, std::string group) {
|
||||||
wxGetApp().getBookmarkMgr().moveBookmark(be, group);
|
wxGetApp().getBookmarkMgr().moveBookmark(be, group);
|
||||||
|
nextEnt = be;
|
||||||
wxGetApp().getBookmarkMgr().updateBookmarks();
|
wxGetApp().getBookmarkMgr().updateBookmarks();
|
||||||
bookmarkSelection(be);
|
bookmarkSelection(be);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BookmarkView::doRemoveActive(DemodulatorInstance *demod) {
|
||||||
|
wxGetApp().getDemodMgr().setActiveDemodulator(nullptr, true);
|
||||||
|
wxGetApp().getDemodMgr().setActiveDemodulator(nullptr, false);
|
||||||
|
wxGetApp().removeDemodulator(demod);
|
||||||
|
wxGetApp().getDemodMgr().deleteThread(demod);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void BookmarkView::updateBookmarkChoices() {
|
void BookmarkView::updateBookmarkChoices() {
|
||||||
if (!bookmarkChoices.empty()) {
|
if (!bookmarkChoices.empty()) {
|
||||||
bookmarkChoices.erase(bookmarkChoices.begin(),bookmarkChoices.end());
|
bookmarkChoices.erase(bookmarkChoices.begin(),bookmarkChoices.end());
|
||||||
@ -577,7 +596,12 @@ void BookmarkView::activeSelection(DemodulatorInstance *dsel) {
|
|||||||
void BookmarkView::activateBookmark(BookmarkEntry *bmEnt) {
|
void BookmarkView::activateBookmark(BookmarkEntry *bmEnt) {
|
||||||
DemodulatorInstance *newDemod = wxGetApp().getDemodMgr().loadInstance(bmEnt->node);
|
DemodulatorInstance *newDemod = wxGetApp().getDemodMgr().loadInstance(bmEnt->node);
|
||||||
|
|
||||||
TreeViewItem *sel = itemToTVI(m_treeView->GetSelection());
|
nextDemod = newDemod;
|
||||||
|
|
||||||
|
wxTreeItemId selItem = m_treeView->GetSelection();
|
||||||
|
if (selItem) {
|
||||||
|
m_treeView->SelectItem(selItem, false);
|
||||||
|
}
|
||||||
|
|
||||||
long long freq = newDemod->getFrequency();
|
long long freq = newDemod->getFrequency();
|
||||||
long long currentFreq = wxGetApp().getFrequency();
|
long long currentFreq = wxGetApp().getFrequency();
|
||||||
@ -590,6 +614,7 @@ void BookmarkView::activateBookmark(BookmarkEntry *bmEnt) {
|
|||||||
newDemod->run();
|
newDemod->run();
|
||||||
newDemod->setActive(true);
|
newDemod->setActive(true);
|
||||||
wxGetApp().bindDemodulator(newDemod);
|
wxGetApp().bindDemodulator(newDemod);
|
||||||
|
|
||||||
doUpdateActiveList();
|
doUpdateActiveList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -724,8 +749,9 @@ void BookmarkView::onTreeSelect( wxTreeEvent& event ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) {
|
if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) {
|
||||||
if (tvi->demod->isActive()) {
|
|
||||||
activeSelection(tvi->demod);
|
activeSelection(tvi->demod);
|
||||||
|
if (tvi->demod->isActive()) {
|
||||||
|
wxGetApp().getDemodMgr().setActiveDemodulator(nullptr, true);
|
||||||
wxGetApp().getDemodMgr().setActiveDemodulator(tvi->demod, false);
|
wxGetApp().getDemodMgr().setActiveDemodulator(tvi->demod, false);
|
||||||
}
|
}
|
||||||
} else if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT) {
|
} else if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT) {
|
||||||
@ -778,6 +804,7 @@ void BookmarkView::onDoubleClickFreq( wxMouseEvent& event ) {
|
|||||||
TreeViewItem *curSel = itemToTVI(m_treeView->GetSelection());
|
TreeViewItem *curSel = itemToTVI(m_treeView->GetSelection());
|
||||||
|
|
||||||
if (curSel && curSel->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) {
|
if (curSel && curSel->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) {
|
||||||
|
wxGetApp().getDemodMgr().setActiveDemodulator(nullptr, true);
|
||||||
wxGetApp().getDemodMgr().setActiveDemodulator(curSel->demod, false);
|
wxGetApp().getDemodMgr().setActiveDemodulator(curSel->demod, false);
|
||||||
wxGetApp().showFrequencyInput(FrequencyDialog::FrequencyDialogTarget::FDIALOG_TARGET_DEFAULT);
|
wxGetApp().showFrequencyInput(FrequencyDialog::FrequencyDialogTarget::FDIALOG_TARGET_DEFAULT);
|
||||||
}
|
}
|
||||||
@ -788,6 +815,7 @@ void BookmarkView::onDoubleClickBandwidth( wxMouseEvent& event ) {
|
|||||||
TreeViewItem *curSel = itemToTVI(m_treeView->GetSelection());
|
TreeViewItem *curSel = itemToTVI(m_treeView->GetSelection());
|
||||||
|
|
||||||
if (curSel && curSel->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) {
|
if (curSel && curSel->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) {
|
||||||
|
wxGetApp().getDemodMgr().setActiveDemodulator(nullptr, true);
|
||||||
wxGetApp().getDemodMgr().setActiveDemodulator(curSel->demod, false);
|
wxGetApp().getDemodMgr().setActiveDemodulator(curSel->demod, false);
|
||||||
wxGetApp().showFrequencyInput(FrequencyDialog::FrequencyDialogTarget::FDIALOG_TARGET_BANDWIDTH);
|
wxGetApp().showFrequencyInput(FrequencyDialog::FrequencyDialogTarget::FDIALOG_TARGET_BANDWIDTH);
|
||||||
}
|
}
|
||||||
@ -801,9 +829,7 @@ void BookmarkView::onRemoveActive( wxCommandEvent& event ) {
|
|||||||
if (editingLabel) {
|
if (editingLabel) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
wxGetApp().getDemodMgr().setActiveDemodulator(nullptr, false);
|
doRemoveActive(curSel->demod);
|
||||||
wxGetApp().removeDemodulator(curSel->demod);
|
|
||||||
wxGetApp().getDemodMgr().deleteThread(curSel->demod);
|
|
||||||
m_treeView->Delete(m_treeView->GetSelection());
|
m_treeView->Delete(m_treeView->GetSelection());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -992,11 +1018,6 @@ void BookmarkView::onTreeEndDrag( wxTreeEvent& event ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void BookmarkView::onTreeDeleteItem( wxTreeEvent& event ) {
|
|
||||||
event.Skip();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void BookmarkView::onTreeItemGetTooltip( wxTreeEvent& event ) {
|
void BookmarkView::onTreeItemGetTooltip( wxTreeEvent& event ) {
|
||||||
|
|
||||||
event.Skip();
|
event.Skip();
|
||||||
|
@ -79,7 +79,6 @@ protected:
|
|||||||
void onDoubleClickBandwidth( wxMouseEvent& event );
|
void onDoubleClickBandwidth( wxMouseEvent& event );
|
||||||
void onTreeBeginDrag( wxTreeEvent& event );
|
void onTreeBeginDrag( wxTreeEvent& event );
|
||||||
void onTreeEndDrag( wxTreeEvent& event );
|
void onTreeEndDrag( wxTreeEvent& event );
|
||||||
void onTreeDeleteItem( wxTreeEvent& event );
|
|
||||||
void onTreeItemGetTooltip( wxTreeEvent& event );
|
void onTreeItemGetTooltip( wxTreeEvent& event );
|
||||||
void onEnterWindow( wxMouseEvent& event );
|
void onEnterWindow( wxMouseEvent& event );
|
||||||
void onLeaveWindow( wxMouseEvent& event );
|
void onLeaveWindow( wxMouseEvent& event );
|
||||||
@ -96,6 +95,7 @@ protected:
|
|||||||
void doBookmarkActive(std::string group, DemodulatorInstance *demod);
|
void doBookmarkActive(std::string group, DemodulatorInstance *demod);
|
||||||
void doBookmarkRecent(std::string group, BookmarkEntry *be);
|
void doBookmarkRecent(std::string group, BookmarkEntry *be);
|
||||||
void doMoveBookmark(BookmarkEntry *be, std::string group);
|
void doMoveBookmark(BookmarkEntry *be, std::string group);
|
||||||
|
void doRemoveActive(DemodulatorInstance *demod);
|
||||||
|
|
||||||
void updateBookmarkChoices();
|
void updateBookmarkChoices();
|
||||||
void addBookmarkChoice(wxWindow *parent);
|
void addBookmarkChoice(wxWindow *parent);
|
||||||
@ -136,4 +136,8 @@ protected:
|
|||||||
|
|
||||||
// Active
|
// Active
|
||||||
std::atomic_bool doUpdateActive;
|
std::atomic_bool doUpdateActive;
|
||||||
|
|
||||||
|
// Focus
|
||||||
|
BookmarkEntry *nextEnt;
|
||||||
|
DemodulatorInstance *nextDemod;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user