summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-03-09 01:14:47 +0100
committerCarl Hetherington <cth@carlh.net>2025-09-28 19:49:26 +0200
commitae2e1d7100975b57f7472364e47b754fe5cb8f6e (patch)
tree99bd09f109f4a3056727884f72a70253a57a8ff8
parentbceeb1bcd7d56eb29a8f211e8cf258a0a7c720b4 (diff)
Save and restore audio analysis window position/size.
-rw-r--r--src/wx/audio_dialog.cc10
-rw-r--r--src/wx/audio_dialog.h5
-rw-r--r--src/wx/audio_panel.cc2
-rw-r--r--src/wx/dcp_panel.cc2
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> 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> 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> film, FilmViewer& viewer, std::shared_ptr<Content> content = std::shared_ptr<Content>());
- bool Show (bool show = true) override;
-
+ void show();
void set_cursor (boost::optional<dcpomatic::DCPTime> time, boost::optional<float> 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();
}