From ae2e1d7100975b57f7472364e47b754fe5cb8f6e Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 9 Mar 2025 01:14:47 +0100 Subject: Save and restore audio analysis window position/size. --- src/wx/audio_dialog.cc | 10 ++++++---- src/wx/audio_dialog.h | 5 +++-- src/wx/audio_panel.cc | 2 +- src/wx/dcp_panel.cc | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/wx/audio_dialog.cc b/src/wx/audio_dialog.cc index 795a39a44..72df7678a 100644 --- a/src/wx/audio_dialog.cc +++ b/src/wx/audio_dialog.cc @@ -78,6 +78,7 @@ AudioDialog::AudioDialog (wxWindow* parent, shared_ptr film, FilmViewer& v , _content (content) , _channels (film->audio_channels ()) , _plot (nullptr) + , _metrics("audio", { 800, 600 }, this) { wxFont subheading_font (*wxNORMAL_FONT); subheading_font.SetWeight (wxFONTWEIGHT_BOLD); @@ -180,6 +181,8 @@ AudioDialog::AudioDialog (wxWindow* parent, shared_ptr film, FilmViewer& v } _plot->Cursor.connect (bind (&AudioDialog::set_cursor, this, _1, _2)); + + _metrics.bind(); } @@ -455,12 +458,11 @@ AudioDialog::setup_statistics () } } -bool -AudioDialog::Show (bool show) +void +AudioDialog::show() { - bool const r = wxDialog::Show (show); + _metrics.show(); try_to_load_analysis (); - return r; } void diff --git a/src/wx/audio_dialog.h b/src/wx/audio_dialog.h index f750d8e13..dac023b68 100644 --- a/src/wx/audio_dialog.h +++ b/src/wx/audio_dialog.h @@ -23,6 +23,7 @@ #define DCPOMATIC_AUDIO_DIALOG_H +#include "window_metrics.h" #include "lib/audio_analysis.h" #include "lib/constants.h" #include "lib/film_property.h" @@ -50,8 +51,7 @@ class AudioDialog : public wxDialog public: AudioDialog(wxWindow* parent, std::shared_ptr film, FilmViewer& viewer, std::shared_ptr content = std::shared_ptr()); - bool Show (bool show = true) override; - + void show(); void set_cursor (boost::optional time, boost::optional db); private: @@ -84,6 +84,7 @@ private: boost::signals2::scoped_connection _film_connection; boost::signals2::scoped_connection _film_content_connection; boost::signals2::scoped_connection _analysis_finished_connection; + WindowMetrics _metrics; }; diff --git a/src/wx/audio_panel.cc b/src/wx/audio_panel.cc index e04e65691..1b7f4a32b 100644 --- a/src/wx/audio_panel.cc +++ b/src/wx/audio_panel.cc @@ -415,7 +415,7 @@ AudioPanel::show_clicked () } _audio_dialog.reset(this, _parent->film(), _parent->film_viewer(), ac.front()); - _audio_dialog->Show (); + _audio_dialog->show(); } diff --git a/src/wx/dcp_panel.cc b/src/wx/dcp_panel.cc index 80caa4c2c..cbaeec825 100644 --- a/src/wx/dcp_panel.cc +++ b/src/wx/dcp_panel.cc @@ -1041,7 +1041,7 @@ DCPPanel::show_audio_clicked() } _audio_dialog.reset(_panel, _film, _viewer); - _audio_dialog->Show(); + _audio_dialog->show(); } -- cgit v1.2.3