home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Internet / News / Alexandra.0.82 / Source / Preferences.subproj / PMCompose.m < prev    next >
Encoding:
Text File  |  1996-01-30  |  1.8 KB  |  79 lines

  1.  
  2. #import "../Alexandra.h"
  3. #import "PMCompose.h"
  4. #import "preferences.h"
  5. #import <dbkit/DBTableView.h>
  6.  
  7. @implementation PreferencesManager(Compose)
  8.  
  9. //-----------------------------------------------------------
  10. // R/W 
  11. //-----------------------------------------------------------
  12.  
  13. - readPostingPrefs;
  14.     {
  15.     KVPair        *pair=[[KVPair alloc] init];
  16.     char        defname[200];
  17.     const char    *d;
  18.     int            i,n=[NXApp defaultIntValue:DEFAULT_XHEADER_COUNT];
  19.     MiscList    *rows;
  20.     
  21.     [pQuotingPrefix setStringValue:[NXApp defaultValue:DEFAULT_QUOTING_PREFIX]];
  22.     [pAppendSig setState:[NXApp defaultBoolValue:DEFAULT_APPEND_SIG]?1:0];
  23.  
  24.     rows=[[MiscList alloc] init];
  25.     for(i=0;i<n;i++)
  26.         {
  27.         sprintf(defname,DEFAULT_XHEADERS,i+1);
  28.         d=[NXApp defaultValue:defname];
  29.         if(d)
  30.             [rows addObject:[[KVPair alloc] init:d delimiter:':']];
  31.         else
  32.             [rows addObject:pair];
  33.         }
  34.     [pHeaderController empty:nil];
  35.     [pHeaderController addRowsFrom:rows];
  36.  
  37.     rows=[rows free];
  38.     pair=[pair free];
  39.     return self;
  40.     }
  41.     
  42.     
  43. - writePostingPrefs
  44.     {
  45.     MiscList *pHeaders=[pHeaderController rows];
  46.     KVPair    *pair;
  47.     int        i=1;
  48.     int        n=[NXApp defaultIntValue:DEFAULT_XHEADER_COUNT]+1;
  49.     char    defname[200], defvalue[200];
  50.  
  51.     [pTableView endEditing];
  52.  
  53.     [NXApp setDefault:DEFAULT_QUOTING_PREFIX to:[pQuotingPrefix stringValue]];
  54.     [NXApp setDefault:DEFAULT_APPEND_SIG toBool:(BOOL)[pAppendSig state]];
  55.  
  56.     for(pair=[pHeaders setFirstObject]; pair; pair=[pHeaders setNextObject])
  57.         if(![pair isNull])
  58.             {
  59.             sprintf(defvalue, "%s: %s",[pair key],[pair value]);
  60.             sprintf(defname,DEFAULT_XHEADERS,i++);
  61.             [NXApp setDefault:defname to:defvalue];
  62.             }
  63.     
  64.     for(;i<n;i++)
  65.         {
  66.         sprintf(defname,DEFAULT_XHEADERS,i);
  67.         [NXApp setDefault:defname to:" : "];
  68.         }
  69.     
  70.     return self;    
  71.     }
  72.  
  73.  
  74. //-----------------------------------------------------------
  75. // THAT'S IT
  76. //-----------------------------------------------------------
  77.  
  78. @end
  79.