App-Music-ChordPro-Wx
view release on metacpan or search on metacpan
lib/App/Music/ChordPro/Wx/PreferencesDialog.pm view on Meta::CPAN
#! perl
use strict;
use warnings;
use utf8;
# Implementation of App::Music::ChordPro::Wx::PreferencesDialog_wxg details.
package App::Music::ChordPro::Wx::PreferencesDialog;
# App::Music::ChordPro::Wx::PreferencesDialog_wxg is generated by wxGlade and contains
# all UI associated code.
use base qw( App::Music::ChordPro::Wx::PreferencesDialog_wxg );
use Wx qw[:everything];
use Wx::Locale gettext => '_T';
use App::Packager;
# BUilt-in descriptions for some notation systems.
my $notdesc =
{ "common" => "C, D, E, F, G, A, B",
"dutch" => "C, D, E, F, G, A, B",
"german" => "C, ... A, Ais/B, H",
"latin" => "Do, Re, Mi, Fa, Sol, ...",
"scandinavian" => "C, ... A, A#/Bb, H",
"solfege" => "Do, Re, Mi, Fa, So, ...",
"solfège" => "Do, Re, Mi, Fa, So, ...",
"nashville" => "1, 2, 3, ...",
"roman" => "I, II, III, ...",
};
sub get_configfile {
my ( $self ) = @_;
# warn("CF: ", $self->GetParent->{prefs_configfile} || "");
$self->GetParent->{prefs_configfile} || ""
}
sub __set_properties {
my ( $self ) = @_;
$self->SUPER::__set_properties;
my $parent = $self->GetParent;
$self->{t_configfiledialog}->SetValue($parent->{prefs_configfile})
if $parent->{prefs_configfile};
$self->{t_pdfviewer}->SetValue($parent->{prefs_pdfviewer})
if $parent->{prefs_pdfviewer};
$self->{cb_skipstdcfg}->SetValue($parent->{prefs_skipstdcfg});
my $ctl = $self->{ch_config};
$ctl->Clear;
for ( @{ $parent->stylelist } ) {
my $t = ucfirst(lc($_));
$t =~ s/_/ /g;
$t =~ s/ (.)/" ".uc($1)/eg;
$ctl->Append($t);
}
my $p = $parent->{prefs_cfgpreset};
foreach ( @$p ) {
my $t = ucfirst(lc($_));
$t =~ s/_/ /g;
$t =~ s/ (.)/" ".uc($1)/eg;
my $n = $ctl->FindString($t);
unless ( $n == wxNOT_FOUND ) {
$ctl->Check( $n, 1 );
}
}
$self->_enablecustom;
$ctl = $self->{ch_editfont};
$ctl->SetSelection( $parent->{prefs_editfont} );
$ctl = $self->{sp_editfont};
$ctl->SetValue( $parent->{prefs_editsize} );
$ctl = $self->{ch_notation};
$ctl->Clear;
my $n = 0;
my $check = 0;
for ( @{ $parent->notationlist } ) {
my $s = ucfirst($_);
$check = $n if $_ eq lc $parent->{prefs_notation};
$s .= " (" . $notdesc->{lc($s)} .")" if $notdesc->{lc($s)};
$ctl->Append($s);
$ctl->SetClientData( $n, $_);
$n++;
}
$ctl->SetSelection($check);
$ctl = $self->{ch_transcode};
$ctl->Clear;
$ctl->Append("-----");
$n = 1;
for ( @{ $parent->notationlist } ) {
my $s = ucfirst($_);
$check = $n if $_ eq lc $parent->{prefs_xcode};
$s .= " (" . $notdesc->{lc($s)} .")" if $notdesc->{lc($s)};
$ctl->Append($s);
$ctl->SetClientData( $n, $_);
$n++;
}
$ctl->SetSelection($check);
( run in 4.214 seconds using v1.01-cache-2.11-cpan-a9496e3eb41 )