mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-22 16:21:24 -06:00
parent
8988e8cf0a
commit
7258c597b9
9 changed files with 93 additions and 35 deletions
|
|
@ -356,28 +356,4 @@ sub set_menu_item_icon {
|
|||
}
|
||||
}
|
||||
|
||||
sub save_window_pos {
|
||||
my ($self, $window, $name) = @_;
|
||||
|
||||
$self->{app_config}->set("${name}_pos", join ',', $window->GetScreenPositionXY);
|
||||
$self->{app_config}->set("${name}_size", join ',', $window->GetSizeWH);
|
||||
$self->{app_config}->set("${name}_maximized", $window->IsMaximized);
|
||||
$self->{app_config}->save;
|
||||
}
|
||||
|
||||
sub restore_window_pos {
|
||||
my ($self, $window, $name) = @_;
|
||||
if ($self->{app_config}->has("${name}_pos")) {
|
||||
my $size = [ split ',', $self->{app_config}->get("${name}_size"), 2 ];
|
||||
$window->SetSize($size);
|
||||
|
||||
my $display = Wx::Display->new->GetClientArea();
|
||||
my $pos = [ split ',', $self->{app_config}->get("${name}_pos"), 2 ];
|
||||
if (($pos->[0] + $size->[0]/2) < $display->GetRight && ($pos->[1] + $size->[1]/2) < $display->GetBottom) {
|
||||
$window->Move($pos);
|
||||
}
|
||||
$window->Maximize(1) if $self->{app_config}->get("${name}_maximized");
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ sub new {
|
|||
$self->Fit;
|
||||
$self->SetMinSize([760, 490]);
|
||||
$self->SetSize($self->GetMinSize);
|
||||
wxTheApp->restore_window_pos($self, "main_frame");
|
||||
Slic3r::GUI::restore_window_size($self, "main_frame");
|
||||
$self->Show;
|
||||
$self->Layout;
|
||||
}
|
||||
|
|
@ -101,7 +101,7 @@ sub new {
|
|||
return;
|
||||
}
|
||||
# save window size
|
||||
wxTheApp->save_window_pos($self, "main_frame");
|
||||
Slic3r::GUI::save_window_size($self, "main_frame");
|
||||
# Save the slic3r.ini. Usually the ini file is saved from "on idle" callback,
|
||||
# but in rare cases it may not have been called yet.
|
||||
wxTheApp->{app_config}->save;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ sub new {
|
|||
$self->{layers}->Closing;
|
||||
|
||||
# save window size
|
||||
wxTheApp->save_window_pos($self, "object_settings");
|
||||
Slic3r::GUI::save_window_size($self, "object_settings");
|
||||
|
||||
$self->EndModal(wxID_OK);
|
||||
$self->{parts}->Destroy;
|
||||
|
|
@ -49,7 +49,7 @@ sub new {
|
|||
|
||||
$self->Layout;
|
||||
|
||||
wxTheApp->restore_window_pos($self, "object_settings");
|
||||
Slic3r::GUI::restore_window_size($self, "object_settings");
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue