my $CONFIGDIR = $ENV{HOME} . '/.claws-mail/';
my $CONFIGRC = 'clawsrc';
my $ACCOUNTRC = 'accountrc';
+# supported and available plugins lists
+my @PLUGINS = qw(AttRemover Libravatar ManageSieve PerlPlugin);
+my @AVPLUGINS = ();
# index constants for preference arrays
use constant NAME => 0; # the name on the rc file
);
sub new_plugins_page() {
- return new_vbox_pack (
+ my %frame = ();
+ $frame{'AttRemover'} =
new_subpage_frame (
new_hbox_pack (
new_text_box_for_int (\%pr::plu, 'arm_winw', $PLHPVALUE{'AttRemover'}),
new_text_box_for_int (\%pr::plu, 'arm_winh', $PLHPVALUE{'AttRemover'})),
- _('Attachment remover'), 'not-packed'),
+ _('Attachment remover'), 'not-packed');
+ $frame{'ManageSieve'} =
new_subpage_frame (
new_hbox_pack (
new_text_box_for_int (\%pr::plu, 'msv_winw', $PLHPVALUE{'ManageSieve'}),
new_text_box_for_int (\%pr::plu, 'msv_winh', $PLHPVALUE{'ManageSieve'})),
- _('Sieve manager'), 'not-packed'),
+ _('Sieve manager'), 'not-packed');
+ $frame{'Libravatar'} =
new_subpage_frame (
new_hbox_pack (
new_text_box_for_nchar (\%pr::plu, 'lav_burl', $PLHPVALUE{'Libravatar'})),
- _('Libravatar'), 'not-packed'),
+ _('Libravatar'), 'not-packed');
+ $frame{'PerlPlugin'} =
new_subpage_frame (
new_hbox_pack (
new_selection_box_for (\%pr::plu, 'prl_flvb', $PLHPVALUE{'PerlPlugin'})),
- _('Perl'), 'not-packed')
- );
+ _('Perl'), 'not-packed');
+ foreach (@PLUGINS) {
+ $frame{$_}->set_sensitive (defined $PLHPVALUE{$_});
+ }
+ return new_vbox_pack (
+ $frame{'AttRemover'},
+ $frame{'ManageSieve'},
+ $frame{'Libravatar'},
+ $frame{'PerlPlugin'});
}
# version info
foreach my $key (keys %pr::plu) {
my $plugin = $pr::plu{$key}[PLUGIN];
my $pname = $pr::plu{$key}[NAME];
- $PLHPVALUE{$plugin}{$pname} = $PLPREFS{$plugin}{$pname};
+ if (defined $PLPREFS{$plugin}) {
+ $PLHPVALUE{$plugin}{$pname} = $PLPREFS{$plugin}{$pname};
+ }
}
return TRUE;
}
foreach (keys %{$CONFIGDATA->{'Common'}}) {
$PREFS{$_} = $CONFIGDATA->{'Common'}{$_};
}
- foreach my $plugin (qw(AttRemover Libravatar ManageSieve PerlPlugin)) {
- foreach (keys %{$CONFIGDATA->{$plugin}}) {
- $PLPREFS{$plugin}{$_} = $CONFIGDATA->{$plugin}{$_};
+ foreach my $plugin (@PLUGINS) {
+ if (defined $CONFIGDATA->{$plugin}) {
+ push (@AVPLUGINS, $plugin);
+ foreach (keys %{$CONFIGDATA->{$plugin}}) {
+ $PLPREFS{$plugin}{$_} = $CONFIGDATA->{$plugin}{$_};
+ }
}
}
return TRUE;
$CONFIGDATA->{'Common'}{$_} = $HPVALUE{$_};
}
}
- foreach my $plugin (qw(AttRemover Libravatar ManageSieve PerlPlugin)) {
+ foreach my $plugin (@AVPLUGINS) {
foreach (keys %{$CONFIGDATA->{$plugin}}) {
if (defined $PLHPVALUE{$plugin}{$_}) {
$CONFIGDATA->{$plugin}{$_} = $PLHPVALUE{$plugin}{$_};