From 57316a4ffaf6572cbb2abcbeac52e91006f190a1 Mon Sep 17 00:00:00 2001 From: Henrik Brix Andersen Date: Fri, 13 Jul 2012 23:46:39 +0200 Subject: [PATCH] Add custom about dialog. --- lib/Slic3r/GUI.pm | 11 ++-- lib/Slic3r/GUI/AboutDialog.pm | 108 ++++++++++++++++++++++++++++++++++ var/Slic3r_192px.png | Bin 0 -> 33278 bytes 3 files changed, 112 insertions(+), 7 deletions(-) create mode 100644 lib/Slic3r/GUI/AboutDialog.pm create mode 100644 var/Slic3r_192px.png diff --git a/lib/Slic3r/GUI.pm b/lib/Slic3r/GUI.pm index 22b7bea6a..b24fa5a27 100644 --- a/lib/Slic3r/GUI.pm +++ b/lib/Slic3r/GUI.pm @@ -4,6 +4,7 @@ use warnings; use utf8; use FindBin; +use Slic3r::GUI::AboutDialog; use Slic3r::GUI::ConfigWizard; use Slic3r::GUI::Plater; use Slic3r::GUI::OptionsGroup; @@ -119,13 +120,9 @@ sub OnInit { sub about { my $frame = shift; - my $info = Wx::AboutDialogInfo->new; - $info->SetName('Slic3r'); - $info->AddDeveloper('Alessandro Ranellucci'); - $info->SetVersion($Slic3r::VERSION); - $info->SetDescription('G-code generator for 3D printers'); - - Wx::AboutBox($info); + my $about = Slic3r::GUI::AboutDialog->new($frame); + $about->ShowModal; + $about->Destroy; } sub on_close { diff --git a/lib/Slic3r/GUI/AboutDialog.pm b/lib/Slic3r/GUI/AboutDialog.pm new file mode 100644 index 000000000..26fad8324 --- /dev/null +++ b/lib/Slic3r/GUI/AboutDialog.pm @@ -0,0 +1,108 @@ +package Slic3r::GUI::AboutDialog; +use strict; +use warnings; +use utf8; + +use Wx qw(:font :html :misc :sizer :systemsettings); +use Wx::Event qw(EVT_HTML_LINK_CLICKED); +use Wx::Html; +use base 'Wx::Dialog'; + +sub new { + my $class = shift; + my ($parent) = @_; + my $self = $class->SUPER::new($parent, -1, 'About Slic3r', wxDefaultPosition, [600, 270]); + + $self->SetBackgroundColour(Wx::wxWHITE); + my $hsizer = Wx::BoxSizer->new(wxHORIZONTAL); + $self->SetSizer($hsizer); + + # logo + my $logo = Slic3r::GUI::AboutDialog::Logo->new($self, -1, wxDefaultPosition, wxDefaultSize); + $logo->SetBackgroundColour(Wx::wxWHITE); + $hsizer->Add($logo, 0, wxEXPAND | wxLEFT | wxRIGHT, 30); + + my $vsizer = Wx::BoxSizer->new(wxVERTICAL); + $hsizer->Add($vsizer, 1, wxEXPAND, 0); + + # title + my $title = Wx::StaticText->new($self, -1, 'Slic3r', wxDefaultPosition, wxDefaultSize); + my $title_font = Wx::SystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); + $title_font->SetWeight(wxFONTWEIGHT_BOLD); + $title_font->SetFamily(wxFONTFAMILY_ROMAN); + $title_font->SetPointSize(24); + $title->SetFont($title_font); + $vsizer->Add($title, 0, wxALIGN_LEFT | wxTOP, 30); + + # version + my $version = Wx::StaticText->new($self, -1, "Version $Slic3r::VERSION", wxDefaultPosition, wxDefaultSize); + my $version_font = Wx::SystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); + $version_font->SetPointSize(&Wx::wxMSW ? 9 : 11); + $version->SetFont($version_font); + $vsizer->Add($version, 0, wxALIGN_LEFT | wxBOTTOM, 10); + + # text + my $text = + '' . + '' . + '' . + 'Copyright © 2011-2012 Alessandro Ranellucci. All rights reserved. ' . + 'Slic3r is licensed under the ' . + 'GNU Affero General Public License, version 3.' . + '


' . + 'Slic3r logo designed by Corey Daniels, Silk Icon Set designed by Mark James. ' . + 'Contributions by Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess and numerous others.' . + '
' . + '' . + ''; + my $html = Wx::HtmlWindow->new($self, -1, wxDefaultPosition, wxDefaultSize, wxHW_SCROLLBAR_NEVER); + my $font = Wx::SystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); + my $size = &Wx::wxMSW ? 8 : 10; + $html->SetFonts($font->GetFaceName, $font->GetFaceName, [$size, $size, $size, $size, $size, $size, $size]); + $html->SetBorders(2); + $html->SetPage($text); + $vsizer->Add($html, 1, wxEXPAND | wxALIGN_LEFT | wxRIGHT | wxBOTTOM, 20); + EVT_HTML_LINK_CLICKED($self, $html, \&link_clicked); + + return $self; +} + +sub link_clicked { + my ($self, $event) = @_; + + Wx::LaunchDefaultBrowser($event->GetLinkInfo->GetHref); + $event->Skip(0); +} + +package Slic3r::GUI::AboutDialog::Logo; +use Wx qw(:bitmap :dc); +use Wx::Event qw(EVT_PAINT); +use base 'Wx::Panel'; + +sub new { + my $class = shift; + my $self = $class->SUPER::new(@_); + + $self->{logo} = Wx::Bitmap->new("$Slic3r::var/Slic3r_192px.png", wxBITMAP_TYPE_PNG); + $self->SetMinSize(Wx::Size->new($self->{logo}->GetWidth, $self->{logo}->GetHeight)); + + EVT_PAINT($self, \&repaint); + + return $self; +} + +sub repaint { + my ($self, $event) = @_; + + my $dc = Wx::PaintDC->new($self); + $dc->SetBackgroundMode(wxTRANSPARENT); + + my $size = $self->GetSize; + my $logo_w = $self->{logo}->GetWidth; + my $logo_h = $self->{logo}->GetHeight; + $dc->DrawBitmap($self->{logo}, ($size->GetWidth - $logo_w) / 2, ($size->GetHeight - $logo_h) / 2, 1); + + $event->Skip; +} + +1; diff --git a/var/Slic3r_192px.png b/var/Slic3r_192px.png new file mode 100644 index 0000000000000000000000000000000000000000..cfb7a574b60a132f58960eaef54628c9560ea52a GIT binary patch literal 33278 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 QK(8}+y85}Sb4q9e04)?KSO5S3 literal 0 HcmV?d00001