1
package Padre::Wx::Dialog::About;
9
use Wx::Perl::ProcessStream ();
12
use Padre::Wx::FBP::About ();
14
our $VERSION = '0.92';
28
my $self = $class->SUPER::new(@_);
30
# Always show the first tab regardless of which one
31
# was selected in wxFormBuilder.
32
$self->notebook->ChangeSelection(0);
34
$self->CenterOnParent;
44
my $current = $self->current;
50
my $result = $self->ShowModal;
52
if ( $result == Wx::ID_CANCEL ) {
54
# As we leave the About dialog, return the user to the current editor
55
# window so they don't need to click it.
56
my $editor = $current->editor;
57
$editor->SetFocus if $editor;
74
$self->app_name->SetLabel("Padre $VERSION:-");
77
$self->{splash}->SetBitmap( Wx::Bitmap->new( Padre::Util::splash, Wx::BITMAP_TYPE_PNG ) );
79
$self->creator->SetLabel('Gábor Szabó');
81
$self->_translation();
83
$self->_information();
89
# Composed Method _translation
94
#TODO will all translators please add there name
95
# in native language please and uncommet please
97
$self->ahmad_zawawi->SetLabel('أحمد محمد زواوي');
99
# $self->fayland_lam->SetLabel('');
100
# $self->chuanren_wu->SetLabel('');
101
$self->matthew_lien->SetLabel('練喆明');
104
$self->marcela_maslanova->SetLabel('Marcela Mašláňová');
106
# $self->dirk_de_nijs->SetLabel('');
107
$self->jerome_quelin->SetLabel('Jérôme Quelin');
108
$self->olivier_mengue->SetLabel('Olivier Mengué');
111
# $self->heiko_jansen->SetLabel('');
112
# $self->sebastian_willing->SetLabel('');
113
# $self->zeno_gantner->SetLabel('');
114
$self->omer_zak->SetLabel('עומר זק');
115
$self->shlomi_fish->SetLabel('שלומי פיש');
116
$self->amir_e_aharoni->SetLabel('אמיר א. אהרוני');
117
$self->gyorgy_pasztor->SetLabel('György Pásztor');
119
# $self->simone_blandino->SetLabel('');
120
$self->kenichi_ishigaki->SetLabel('石垣憲');
121
$self->keedi_kim->SetLabel('김도형');
123
# $self->kjetil_skotheim->SetLabel('');
124
# $self->cezary_morga->SetLabel('');
125
# $self->breno_g_de_oliveira->SetLabel('');
126
# $self->gabriel_vieira->SetLabel('');
129
# $self->paco_alguacil->SetLabel('');
130
# $self->enrique_nell->SetLabel('');
131
# $self->andrew_shitov->SetLabel('');
132
$self->burak_gursoy->SetLabel('Burak Gürsoy');
138
# Composed Method _core_info
144
$output .= sprintf "%*s %s\n", OFFSET, 'Padre', $VERSION;
146
$output .= $self->_core_info();
147
$output .= $self->_wx_info();
149
$output .= "Other...\n";
150
$output .= sprintf "%*s %s\n", OFFSET, 'PPI', $PPI::VERSION;
151
$output .= sprintf "%*s %s\n", OFFSET, Wx::gettext('Config'), Padre::Constant::CONFIG_DIR;
153
$self->{output}->ChangeValue($output);
158
# Composed Method _core_info
163
my $output = "Core...\n";
165
# Do not translate those labels
166
$output .= sprintf "%*s %s\n", OFFSET, "osname", $Config{osname};
167
$output .= sprintf "%*s %s\n", OFFSET, "archname", $Config{archname};
169
if ( $Config{osname} eq 'linux' ) {
171
my $distro = qx{cat /etc/issue};
173
$distro =~ s/\\n \\l//g;
174
$distro =~ s/\x0A//g;
175
$output .= sprintf "%*s %s\n", OFFSET, Wx::gettext('Distribution'), $distro;
177
# Do we really care for Padre?
178
my $kernel = qx{uname -r};
180
$output .= sprintf "%*s %s\n", OFFSET, Wx::gettext('Kernel'), $kernel;
183
# Yes, THIS variable should have this upper case char :-)
184
my $perl_version = $^V || $];
186
# $perl_version = "$perl_version";
187
$perl_version =~ s/^v//;
188
$output .= sprintf "%*s %s\n", OFFSET, 'Perl', $perl_version;
190
# How many threads are running
191
my $threads = $INC{'threads.pm'} ? scalar( threads->list ) : Wx::gettext('(disabled)');
192
$output .= sprintf "%*s %s\n", OFFSET, Wx::gettext('Threads'), $threads;
194
# Calculate the current memory in use across all threads
195
my $ram = Padre::Util::process_memory();
196
$ram = $ram ? Padre::Util::humanbytes($ram) : Wx::gettext('(unsupported)');
197
$output .= sprintf "%*s %s\n", OFFSET, Wx::gettext("RAM"), $ram;
203
# Composed Method _wx_info
208
my $output .= "Wx...\n";
209
$output .= sprintf "%*s %s\n", OFFSET, 'Wx', $Wx::VERSION;
211
# Reformat the native wxWidgets version string slightly
212
my $wx_widgets = Wx::wxVERSION_STRING();
213
$wx_widgets =~ s/^wx\w+\s+//;
214
$output .= sprintf "%*s %s\n", OFFSET, 'WxWidgets', $wx_widgets;
215
$output .= sprintf "%*s %s\n", OFFSET, 'unicode', Wx::wxUNICODE();
217
require Alien::wxWidgets;
218
my $alien = $Alien::wxWidgets::VERSION;
219
$output .= sprintf "%*s %s\n", OFFSET, 'Alien::wxWidgets', $alien;
221
$output .= sprintf "%*s %s\n", OFFSET, 'Wx::Perl::ProcessStream', $Wx::Perl::ProcessStream::VERSION;
223
require Wx::Scintilla;
224
$output .= sprintf "%*s %s\n", OFFSET, 'Wx::Scintilla', $Wx::Scintilla::VERSION;
236
# Copyright 2008-2011 The Padre development team as listed in Padre.pm.
238
# This program is free software; you can redistribute it and/or
239
# modify it under the same terms as Perl 5 itself.