Check whether the dialog is maximized rather than whether it's not iconized in PersistLocation. Updates #1451.
Originally committed to SVN as r6445.
This commit is contained in:
parent
5a53aa5511
commit
813f23e762
2 changed files with 11 additions and 9 deletions
|
@ -38,9 +38,7 @@ PersistLocation::PersistLocation(wxDialog *dialog, std::string options_prefix)
|
||||||
, dialog(dialog)
|
, dialog(dialog)
|
||||||
{
|
{
|
||||||
dialog->Bind(wxEVT_MOVE, &PersistLocation::OnMove, this);
|
dialog->Bind(wxEVT_MOVE, &PersistLocation::OnMove, this);
|
||||||
dialog->Bind(wxEVT_ICONIZE, &PersistLocation::OnMinimize, this);
|
dialog->Bind(wxEVT_SIZE, &PersistLocation::OnSize, this);
|
||||||
|
|
||||||
if (maximize_opt->GetBool()) dialog->Maximize();
|
|
||||||
|
|
||||||
int x = x_opt->GetInt();
|
int x = x_opt->GetInt();
|
||||||
int y = y_opt->GetInt();
|
int y = y_opt->GetInt();
|
||||||
|
@ -77,14 +75,18 @@ PersistLocation::PersistLocation(wxDialog *dialog, std::string options_prefix)
|
||||||
|
|
||||||
dialog->Move(x, y);
|
dialog->Move(x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (maximize_opt->GetBool()) dialog->Maximize();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PersistLocation::OnMove(wxMoveEvent &) {
|
void PersistLocation::OnMove(wxMoveEvent &e) {
|
||||||
wxPoint pos = dialog->GetPosition();
|
wxPoint pos = dialog->GetPosition();
|
||||||
x_opt->SetInt(pos.x);
|
x_opt->SetInt(pos.x);
|
||||||
y_opt->SetInt(pos.y);
|
y_opt->SetInt(pos.y);
|
||||||
|
e.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PersistLocation::OnMinimize(wxIconizeEvent &evt) {
|
void PersistLocation::OnSize(wxSizeEvent &e) {
|
||||||
maximize_opt->SetBool(!evt.IsIconized());
|
maximize_opt->SetBool(dialog->IsMaximized());
|
||||||
|
e.Skip();
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,10 +40,10 @@ class PersistLocation {
|
||||||
agi::OptionValue *x_opt;
|
agi::OptionValue *x_opt;
|
||||||
agi::OptionValue *y_opt;
|
agi::OptionValue *y_opt;
|
||||||
agi::OptionValue *maximize_opt;
|
agi::OptionValue *maximize_opt;
|
||||||
class wxDialog *dialog;
|
wxDialog *dialog;
|
||||||
|
|
||||||
void OnMove(wxMoveEvent &);
|
void OnMove(wxMoveEvent&);
|
||||||
void OnMinimize(wxIconizeEvent &evt);
|
void OnSize(wxSizeEvent&);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// Persist the location of a dialog
|
/// Persist the location of a dialog
|
||||||
|
|
Loading…
Reference in a new issue