Add method to load preferences from accountrc
authorRicardo Mones <ricardo@mones.org>
Tue, 23 Aug 2016 22:30:34 +0000 (00:30 +0200)
committerRicardo Mones <ricardo@mones.org>
Tue, 23 Aug 2016 22:30:34 +0000 (00:30 +0200)
clawsker

index e3bee7d..c3902a1 100755 (executable)
--- a/clawsker
+++ b/clawsker
@@ -212,12 +212,14 @@ sub _ {
 
 # all preferences read by load_preferences
 my %PREFS = ();
+my %ACPREFS = ();
 # values of all preferences handled by clawsker
 my %HPVALUE = ();
 # default config dir and file name
 my $ALTCONFIGDIR = FALSE;
 my $CONFIGDIR = $ENV{HOME} . '/.claws-mail/';
 my $CONFIGRC = 'clawsrc';
+my $ACCOUNTRC = 'accountrc';
 
 # index constants for preference arrays
 use constant NAME  => 0; # the name on the rc file
@@ -343,6 +345,10 @@ sub get_rc_filename {
     return $CONFIGDIR . $CONFIGRC;
 }
 
+sub get_ac_rc_filename {
+    return $CONFIGDIR . $ACCOUNTRC;
+}
+
 sub set_rc_filename {
     my ($fullname) = @_;
     my @parts = split ('/', $fullname);
@@ -2001,6 +2007,27 @@ sub load_preferences {
     return TRUE;
 }
 
+sub load_ac_preferences {
+    my $rc = get_ac_rc_filename ();
+    log_message ("Loading account preferences from $rc\n");
+    return FALSE unless check_rc_file ($rc);
+    return FALSE unless check_claws_not_running ();
+    open (RCF, "<$rc");
+    my $akey;
+    while (<RCF>) {
+        chomp;
+        if (/^\[Account: (\d+)\]$/) {
+          $akey = $1;
+          next;
+        }
+        if (/^([8a-z_]+)=(.*)$/) {
+            $ACPREFS{$akey}{$1} = decode('UTF-8', $2);
+        }
+    }
+    close (RCF);
+    return TRUE;
+}
+
 # save current preferences to disc
 sub save_preferences {
     my $rc = get_rc_filename ();