Skip to content

Commit 79c8c41

Browse files
committed
Show/Hide bookmarks option in display menu
1 parent 1ec92e0 commit 79c8c41

File tree

5 files changed

+47
-2
lines changed

5 files changed

+47
-2
lines changed

src/AppConfig.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,7 @@ AppConfig::AppConfig() : configName("") {
293293
mainSplit = -1;
294294
visSplit = -1;
295295
bookmarkSplit = -1;
296+
bookmarksVisible.store(true);
296297

297298
#ifdef USE_HAMLIB
298299
rigEnabled.store(false);
@@ -469,6 +470,14 @@ float AppConfig::getBookmarkSplit() {
469470
return bookmarkSplit.load();
470471
}
471472

473+
void AppConfig::setBookmarksVisible(bool state) {
474+
bookmarksVisible.store(state);
475+
}
476+
477+
bool AppConfig::getBookmarksVisible() {
478+
return bookmarksVisible.load();
479+
}
480+
472481

473482
void AppConfig::setConfigName(std::string configName) {
474483
this->configName = configName;
@@ -520,6 +529,7 @@ bool AppConfig::save() {
520529
*window_node->newChild("main_split") = mainSplit.load();
521530
*window_node->newChild("vis_split") = visSplit.load();
522531
*window_node->newChild("bookmark_split") = bookmarkSplit.load();
532+
*window_node->newChild("bookmark_visible") = bookmarksVisible.load();
523533
}
524534

525535
DataNode *devices_node = cfg.rootNode()->newChild("devices");
@@ -695,6 +705,12 @@ bool AppConfig::load() {
695705
win_node->getNext("bookmark_split")->element()->get(gVal);
696706
bookmarkSplit.store(gVal);
697707
}
708+
709+
if (win_node->hasAnother("bookmark_visible")) {
710+
int bVal;
711+
win_node->getNext("bookmark_visible")->element()->get(bVal);
712+
bookmarksVisible.store(bVal);
713+
}
698714
}
699715

700716
if (cfg.rootNode()->hasAnother("devices")) {

src/AppConfig.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,9 @@ class AppConfig {
127127
void setBookmarkSplit(float value);
128128
float getBookmarkSplit();
129129

130+
void setBookmarksVisible(bool state);
131+
bool getBookmarksVisible();
132+
130133

131134
#if USE_HAMLIB
132135
int getRigModel();
@@ -176,6 +179,6 @@ class AppConfig {
176179
#if USE_HAMLIB
177180
std::atomic_int rigModel, rigRate;
178181
std::string rigPort;
179-
std::atomic_bool rigEnabled, rigFollowMode, rigControlMode, rigCenterLock, rigFollowModem;
182+
std::atomic_bool rigEnabled, rigFollowMode, rigControlMode, rigCenterLock, rigFollowModem, bookmarksVisible;
180183
#endif
181184
};

src/AppFrame.cpp

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,11 @@ AppFrame::AppFrame() :
364364

365365
bookmarkSplitter->SplitVertically( bookmarkView, mainVisSplitter );
366366
mainSplitter->SplitHorizontally( demodPanel, bookmarkSplitter );
367+
368+
if (!wxGetApp().getConfig()->getBookmarksVisible()) {
369+
bookmarkSplitter->Unsplit(bookmarkView);
370+
bookmarkSplitter->Layout();
371+
}
367372

368373
vbox->Add(mainSplitter, 1, wxEXPAND | wxALL, 0);
369374

@@ -523,6 +528,9 @@ AppFrame::AppFrame() :
523528
themeMenu->AppendRadioItem(wxID_THEME_HD, "HD")->Check(themeId==COLOR_THEME_HD);
524529

525530
displayMenu->AppendSubMenu(themeMenu, wxT("&Color Scheme"));
531+
532+
hideBookmarksItem = displayMenu->AppendCheckItem(wxID_DISPLAY_BOOKMARKS, wxT("Hide Bookmarks"));
533+
hideBookmarksItem->Check(!wxGetApp().getConfig()->getBookmarksVisible());
526534

527535
GLFont::setScale((GLFont::GLFontScale)fontScale);
528536

@@ -1012,6 +1020,9 @@ void AppFrame::OnMenu(wxCommandEvent& event) {
10121020
demodTuner->Refresh();
10131021
SetTitle(CUBICSDR_TITLE);
10141022
currentSessionFile = "";
1023+
bookmarkSplitter->Unsplit(bookmarkView);
1024+
bookmarkSplitter->SplitVertically( bookmarkView, mainVisSplitter, wxGetApp().getConfig()->getBookmarkSplit() );
1025+
hideBookmarksItem->Check(false);
10151026
} else if (event.GetId() == wxID_CLOSE || event.GetId() == wxID_EXIT) {
10161027
Close(false);
10171028
} else if (event.GetId() == wxID_THEME_DEFAULT) {
@@ -1044,6 +1055,14 @@ void AppFrame::OnMenu(wxCommandEvent& event) {
10441055
GLFont::setScale(GLFont::GLFONT_SCALE_LARGE);
10451056
//force all windows refresh
10461057
Refresh();
1058+
} else if (event.GetId() == wxID_DISPLAY_BOOKMARKS) {
1059+
if (hideBookmarksItem->IsChecked()) {
1060+
bookmarkSplitter->Unsplit(bookmarkView);
1061+
bookmarkSplitter->Layout();
1062+
} else {
1063+
bookmarkSplitter->SplitVertically( bookmarkView, mainVisSplitter, wxGetApp().getConfig()->getBookmarkSplit() );
1064+
bookmarkSplitter->Layout();
1065+
}
10471066
}
10481067

10491068
if (event.GetId() >= wxID_SETTINGS_BASE && event.GetId() < settingsIdMax) {
@@ -1311,7 +1330,8 @@ void AppFrame::OnClose(wxCloseEvent& event) {
13111330
wxGetApp().getConfig()->setModemPropsCollapsed(modemProps->isCollapsed());
13121331
wxGetApp().getConfig()->setMainSplit(mainSplitter->GetSashPosition());
13131332
wxGetApp().getConfig()->setVisSplit(mainVisSplitter->GetSashPosition());
1314-
wxGetApp().getConfig()->setBookmarkSplit(bookmarkSplitter->GetSashPosition());
1333+
if (!hideBookmarksItem->IsChecked()) wxGetApp().getConfig()->setBookmarkSplit(bookmarkSplitter->GetSashPosition());
1334+
wxGetApp().getConfig()->setBookmarksVisible(!hideBookmarksItem->IsChecked());
13151335
#ifdef USE_HAMLIB
13161336
wxGetApp().getConfig()->setRigEnabled(rigEnableMenuItem->IsChecked());
13171337
wxGetApp().getConfig()->setRigModel(rigModel);

src/AppFrame.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@
4949
#define wxID_THEME_HD 2105
5050
#define wxID_THEME_RADAR 2106
5151

52+
#define wxID_DISPLAY_BOOKMARKS 2107
53+
5254
#define wxID_BANDWIDTH_BASE 2150
5355
#define wxID_BANDWIDTH_MANUAL 2200
5456

@@ -196,6 +198,7 @@ class AppFrame: public wxFrame {
196198
wxMenuItem *rigCenterLockMenuItem;
197199
wxMenuItem *rigFollowModemMenuItem;
198200
wxMenuItem *sdrIFMenuItem;
201+
wxMenuItem *hideBookmarksItem;
199202
std::map<int, wxMenuItem *> rigSerialMenuItems;
200203
std::map<int, wxMenuItem *> rigModelMenuItems;
201204
int rigModel;

src/forms/Bookmark/BookmarkView.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,9 @@ BookmarkView::BookmarkView( wxWindow* parent, wxWindowID id, const wxPoint& pos,
126126

127127

128128
void BookmarkView::onUpdateTimer( wxTimerEvent& event ) {
129+
if (!this->IsShown()) {
130+
return;
131+
}
129132
if (doUpdateActive.load()) {
130133
doUpdateActiveList();
131134

0 commit comments

Comments
 (0)