From d3457700075fab2dac25bcff2775b7ae5a436a28 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sun, 9 Mar 2025 13:07:35 -0400 Subject: Created log window --- src/tracker_frame.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/tracker_frame.cpp') diff --git a/src/tracker_frame.cpp b/src/tracker_frame.cpp index 4a4e3b5..6a4ab2e 100644 --- a/src/tracker_frame.cpp +++ b/src/tracker_frame.cpp @@ -18,6 +18,8 @@ #include "ipc_dialog.h" #include "ipc_state.h" #include "items_pane.h" +#include "log_dialog.h" +#include "logger.h" #include "options_pane.h" #include "paintings_pane.h" #include "settings_dialog.h" @@ -50,6 +52,7 @@ enum TrackerFrameIds { ID_ZOOM_OUT = 5, ID_OPEN_SAVE_FILE = 6, ID_IPC_CONNECT = 7, + ID_LOG_DIALOG = 8, }; wxDEFINE_EVENT(STATE_RESET, wxCommandEvent); @@ -80,6 +83,8 @@ TrackerFrame::TrackerFrame() wxMenu *menuView = new wxMenu(); zoom_in_menu_item_ = menuView->Append(ID_ZOOM_IN, "Zoom In\tCtrl-+"); zoom_out_menu_item_ = menuView->Append(ID_ZOOM_OUT, "Zoom Out\tCtrl--"); + menuView->AppendSeparator(); + menuView->Append(ID_LOG_DIALOG, "Show Log Window\tCtrl-L"); zoom_in_menu_item_->Enable(false); zoom_out_menu_item_->Enable(false); @@ -106,6 +111,7 @@ TrackerFrame::TrackerFrame() ID_CHECK_FOR_UPDATES); Bind(wxEVT_MENU, &TrackerFrame::OnZoomIn, this, ID_ZOOM_IN); Bind(wxEVT_MENU, &TrackerFrame::OnZoomOut, this, ID_ZOOM_OUT); + Bind(wxEVT_MENU, &TrackerFrame::OnOpenLogWindow, this, ID_LOG_DIALOG); Bind(wxEVT_NOTEBOOK_PAGE_CHANGED, &TrackerFrame::OnChangePage, this); Bind(wxEVT_MENU, &TrackerFrame::OnOpenFile, this, ID_OPEN_SAVE_FILE); Bind(wxEVT_SPLITTER_SASH_POS_CHANGED, &TrackerFrame::OnSashPositionChanged, @@ -270,6 +276,26 @@ void TrackerFrame::OnZoomOut(wxCommandEvent &event) { } } +void TrackerFrame::OnOpenLogWindow(wxCommandEvent &event) { + if (log_dialog_ == nullptr) { + log_dialog_ = new LogDialog(this); + log_dialog_->Show(); + TrackerSetLogDialog(log_dialog_); + + log_dialog_->Bind(wxEVT_CLOSE_WINDOW, &TrackerFrame::OnCloseLogWindow, + this); + } else { + log_dialog_->SetFocus(); + } +} + +void TrackerFrame::OnCloseLogWindow(wxCloseEvent& event) { + TrackerSetLogDialog(nullptr); + log_dialog_ = nullptr; + + event.Skip(); +} + void TrackerFrame::OnChangePage(wxBookCtrlEvent &event) { zoom_in_menu_item_->Enable(event.GetSelection() == 1); zoom_out_menu_item_->Enable(event.GetSelection() == 1); -- cgit 1.4.1