From 0704887ad4e36e5f619462f1402261b3559e9d3d Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Thu, 26 Aug 2010 18:38:31 +0000 Subject: [PATCH] Save the last viewed page of the preferences dialog Originally committed to SVN as r4763. --- aegisub/src/preferences_base.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/aegisub/src/preferences_base.cpp b/aegisub/src/preferences_base.cpp index d377b717b..53e9035ac 100644 --- a/aegisub/src/preferences_base.cpp +++ b/aegisub/src/preferences_base.cpp @@ -260,6 +260,10 @@ void Preferences::OnCancel(wxCommandEvent &event) { EndModal(0); } +static void PageChanged(wxBookCtrlEvent& evt) { + OPT_SET("Tool/Preferences/Page")->SetInt(evt.GetSelection()); +} + Preferences::Preferences(wxWindow *parent): wxDialog(parent, -1, _("Preferences"), wxDefaultPosition, wxSize(-1, 500)) { // SetIcon(BitmapToIcon(GETIMAGE(options_button_24))); @@ -282,8 +286,8 @@ Preferences::Preferences(wxWindow *parent): wxDialog(parent, -1, _("Preferences" book->Fit(); - /// @todo Save the last page and start with that page on next launch. - book->ChangeSelection(0); + book->ChangeSelection(OPT_GET("Tool/Preferences/Page")->GetInt()); + book->Bind(wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED, &PageChanged); // Bottom Buttons wxStdDialogButtonSizer *stdButtonSizer = new wxStdDialogButtonSizer();