// twayitwas.c // // This file handles saving the currently selected options to the 'preferences file' // and reading them back in when the programme is launched. // // by John D. de Boer #include "twist.h" #include "twindow.h" extern TimeGlobs Time; extern StepGlobs Step; extern SortGlobs Sort; extern GlobalOpts Opt; extern MapPrefs LatLong; //extern PMPageFormat PageFormat; short FILTPREFS; // number of filters bool *FiltPrefs; // the filters // Fixed-size preferences static void WritePrefs(void) { setprefbool("Sort.office",Sort.office); setprefbool("Sort.assoc",Sort.assoc); setprefbool("Sort.group",Sort.group); setprefbool("Opt.coord",Opt.coord); setprefbool("Opt.unc",Opt.unc); setprefbool("Opt.always",Opt.always); setprefbool("Opt.alt",Opt.alt); setprefbool("Opt.term",Opt.term); setprefbool("Opt.region",Opt.region); setprefbool("Opt.gpvoy",Opt.gpvoy); setprefbool("Opt.age",Opt.age); setprefbool("Opt.fullnam",Opt.fullnam); setprefbool("Opt.fill",Opt.fill); setprefbool("Opt.focus",Opt.focus); setprefbool("Opt.onmap",Opt.onmap); setprefbool("Opt.thin",Opt.thin); setprefbool("Opt.ticon",Opt.ticon); setprefbool("Opt.flag",Opt.flag); setprefbool("Opt.dyn",Opt.dyn); setprefbool("Opt.ticks",Opt.ticks); setprefbool("Opt.elide",Opt.elide); setprefbool("Opt.pink",Opt.pink); setprefbool("Opt.round",Opt.round); setprefbool("Opt.italic",Opt.italic); setprefshort("Opt.trip",Opt.trip); setprefshort("Opt.group",Opt.group); setpreffloat("Opt.size",Opt.size); setpreffloat("Map.theta",LatLong.theta); setpreffloat("Map.phi",LatLong.phi); setpreffloat("Map.mag",LatLong.mag); } static void ReadPrefs(void) { getprefbool("Sort.office",&(Sort.office)); getprefbool("Sort.assoc",&(Sort.assoc)); getprefbool("Sort.group",&(Sort.group)); getprefbool("Opt.coord",&(Opt.coord)); getprefbool("Opt.unc",&(Opt.unc)); getprefbool("Opt.always",&(Opt.always)); getprefbool("Opt.alt",&(Opt.alt)); getprefbool("Opt.term",&(Opt.term)); getprefbool("Opt.region",&(Opt.region)); getprefbool("Opt.gpvoy",&(Opt.gpvoy)); getprefbool("Opt.age",&(Opt.age)); getprefbool("Opt.fullnam",&(Opt.fullnam)); getprefbool("Opt.fill",&(Opt.fill)); getprefbool("Opt.focus",&(Opt.focus)); getprefbool("Opt.onmap",&(Opt.onmap)); getprefbool("Opt.thin",&(Opt.thin)); getprefbool("Opt.ticon",&(Opt.ticon)); getprefbool("Opt.flag",&(Opt.flag)); getprefbool("Opt.dyn",&(Opt.dyn)); getprefbool("Opt.ticks",&(Opt.ticks)); getprefbool("Opt.elide",&(Opt.elide)); getprefbool("Opt.pink",&(Opt.pink)); getprefbool("Opt.round",&(Opt.round)); getprefbool("Opt.italic",&(Opt.italic)); getprefshort("Opt.trip",&(Opt.trip)); getprefshort("Opt.group",&(Opt.group)); getpreffloat("Opt.size",&(Opt.size)); LatLong.good=1; if (!getpreffloat("Map.theta",&(LatLong.theta))) LatLong.good=0; if (!getpreffloat("Map.phi",&(LatLong.phi))) LatLong.good=0; if (!getpreffloat("Map.mag",&(LatLong.mag))) LatLong.good=0; } // Filter items static void WriteFilters(void) { int i; char *S; setprefshort("Filter",FILTPREFS); for (i=0;i