112
111
/* set gSwordDir to $home + .xiphos */
113
settings.gSwordDir = g_new(char, strlen(settings.homedir) +
115
sprintf(settings.gSwordDir, "%s/%s", settings.homedir, GS_DIR);
112
settings.gSwordDir = g_strdup_printf("%s/%s", settings.homedir, XI_DIR);
117
114
/* if gSwordDir does not exist, create it. */
118
if (access(settings.gSwordDir, F_OK) == -1) {
115
if (g_access(settings.gSwordDir, F_OK) == -1) {
119
116
if ((Mkdir(settings.gSwordDir, S_IRWXU)) != 0) {
121
118
gui_init(argc, argv);
205
202
/* ensure that the user has a bible with which to work */
206
203
if (settings.havebible == 0) {
207
204
gui_init(argc, argv);
208
if (gui_yes_no_dialog(GS_NET_PERMISSION, NULL)) {
209
main_shutdown_list();
210
gui_open_mod_mgr_initial_run();
212
if (settings.havebible == 0) {
214
(_("There are still no Bibles installed.\nEvidently, you declined to install any.\n\nWithout any Bible modules to display,\nXiphos cannot proceed,\nand will now exit."));
218
(_("Bible module installation complete."));
205
main_shutdown_list();
206
gui_open_mod_mgr_initial_run();
208
if (settings.havebible == 0) {
220
209
gui_generic_warning
221
(_("Without any Bible modules to display,\nXiphos cannot proceed,\nand will now exit."));
210
(_("There are no Bibles installed.\nEvidently, you declined to install any.\n\nWithout any Bible modules to display,\nXiphos cannot proceed,\nand will now exit."));
226
/* check for template.pad file for studypad */
227
tmp = g_new(char, strlen(settings.gSwordDir) +
228
strlen("template.pad") + 2);
229
sprintf(tmp, "%s/%s", settings.gSwordDir,
232
/* if template.pad does not exist create it */
233
if ((access(tmp, F_OK) == -1)) {
234
g_file_set_contents(tmp, " ", strlen(" "), NULL);
237
/* check for template.pad file for studypad */
238
/* set fnconfigure to gSwordDir and settings.xml */
239
tmp = g_new(char, strlen(settings.gSwordDir) +
240
strlen("template.pad") + 2);
241
sprintf(tmp, "%s/%s", settings.gSwordDir,
244
/* if template.pad does not exist create it */
245
if ((access(tmp, F_OK) == -1)) {
246
g_file_set_contents(tmp, " ", strlen(" "), NULL);
213
gui_generic_warning(_("Bible module installation complete."));
216
/* check for template.pad file for studypad */
217
tmp = g_strdup_printf("%s/%s", settings.gSwordDir, "template.pad");
218
if ((g_access(tmp, F_OK) == -1)) {
219
g_file_set_contents(tmp, " ", 1, NULL);
249
223
load_settings_structure();
252
* if the user had forced a locale, we must set it now.
225
/* if the user had forced a locale, we must set it now. */
254
226
if (settings.special_locale && strcmp(settings.special_locale, NONE)) {
255
227
g_setenv("LANG", settings.special_locale, TRUE);
256
228
gchar *test = setlocale(LC_ALL, settings.special_locale);
303
275
settings.load_xml_bookmarks = FALSE;
305
277
/* set bookmarks dir to settings.gSwordDir + /bookmarks */
306
settings.swbmDir = g_new(char, strlen(settings.gSwordDir) +
307
strlen("/bookmarks") + 2);
308
sprintf(settings.swbmDir, "%s/%s", settings.gSwordDir, "bookmarks");
278
settings.swbmDir = g_strdup_printf("%s/%s", settings.gSwordDir, "bookmarks");
310
280
/* if .xiphos-2.0/bookmarks does not exist create it */
311
if (access(settings.swbmDir, F_OK) == -1) {
281
if (g_access(settings.swbmDir, F_OK) == -1) {
312
282
if ((Mkdir(settings.swbmDir, S_IRWXU)) == -1) {
313
283
g_warning("can't create bookmarks dir");
318
288
/* set removed dir to settings.swbmDir + /removed */
319
removed = g_new(char, strlen(settings.swbmDir) +
320
strlen("/removed") + 2);
321
sprintf(removed, "%s/%s", settings.swbmDir, "removed");
322
if (access(removed, F_OK) == -1) {
289
removed = g_strdup_printf("%s/%s", settings.swbmDir, "removed");
290
if (g_access(removed, F_OK) == -1) {
323
291
if ((Mkdir(removed, S_IRWXU)) == -1) {
324
292
g_warning("can't create removed dir");
330
298
xml_new_bookmark_file();
332
300
/* check for xml bookmarks */
333
file_buf = g_new(char, strlen(settings.swbmDir) +
334
strlen("/bookmarks.xml") + 2);
335
sprintf(file_buf, "%s/bookmarks.xml", settings.swbmDir);
301
file_buf = g_strdup_printf("%s/bookmarks.xml", settings.swbmDir);
337
if (access(file_buf, F_OK) == 0) {
303
if (g_access(file_buf, F_OK) == 0) {
338
304
settings.load_xml_bookmarks = TRUE;
340
306
g_free(file_buf);
347
313
/* check for Bibletime bookmarks */
348
314
settings.have_bibletime = FALSE;
349
file_buf = g_new(char, strlen(settings.homedir) +
351
("/.kde/share/apps/bibletime/bookmarks.xml") +
353
sprintf(file_buf, "%s/.kde/share/apps/bibletime/bookmarks.xml",
355
if (access(file_buf, F_OK) == 0) {
315
file_buf = g_strdup_printf("%s/%s", settings.homedir,
316
".bibletime/bookmarks.xml");
317
if (g_access(file_buf, F_OK) == 0) {
356
318
settings.have_bibletime = TRUE;
394
356
settings.CommWindowModule = xml_get_value("modules", "comm");
395
357
settings.DictWindowModule = xml_get_value("modules", "dict");
396
settings.parallel1Module = xml_get_value("modules", "int1");
397
settings.parallel2Module = xml_get_value("modules", "int2");
398
settings.parallel3Module = xml_get_value("modules", "int3");
399
settings.parallel4Module = xml_get_value("modules", "int4");
400
settings.parallel5Module = xml_get_value("modules", "int5");
359
parallels = xml_get_value("modules", "parallels");
360
/* if no parallels are known, convert old fixed parallel set */
361
if (!parallels || (*parallels == '\0')) {
362
char intN[] = "intN", *oldparallel, i, *newhold;
364
g_free(parallels); /* in case it was real but empty */
365
parallels = g_strdup("");
366
for (i = '1'; i <= '5'; ++i) { /* the old set */
368
oldparallel = xml_get_value("modules", intN);
369
if (oldparallel && *oldparallel) {
370
newhold = g_strconcat(parallels, oldparallel,
375
xml_remove_node("modules", intN, NULL); /* ? */
379
/* trim off the last comma */
381
*(parallels + strlen(parallels) - 1) = '\0';
382
xml_set_new_element("modules", "parallels", parallels);
385
if (parallels && *parallels)
386
settings.parallel_list = g_strsplit(parallels, ",", -1);
388
settings.parallel_list = NULL;
401
391
settings.personalcommentsmod = xml_get_value("modules", "percomm");
402
392
settings.devotionalmod = xml_get_value("modules", "devotional");
403
393
settings.book_mod = xml_get_value("modules", "book");
460
450
xml_add_new_item_to_section("modmgr", "mod_mgr_remote_source_index", "0");
461
451
settings.mod_mgr_remote_source_index = 0;
463
if ((buf = xml_get_value("modmgr", "mod_mgr_intro")))
464
settings.mod_mgr_intro = atoi(buf);
466
xml_add_new_item_to_section("modmgr", "mod_mgr_intro", "0");
467
settings.mod_mgr_intro = 0;
470
/* end mod mgr stuff */
454
/* current verse & keys */
473
455
settings.currentverse = xml_get_value("keys", "verse");
474
456
settings.dictkey = xml_get_value("keys", "dictionary");
501
484
xml_add_new_item_to_section("layout", "vltoppaneheight", "210");
502
485
settings.verselist_toppane_height = 210;
504
if ((buf = xml_get_value("layout", "sidebar_notebook_hight")))
505
settings.sidebar_notebook_hight = atoi(buf);
507
xml_add_new_item_to_section("layout", "sidebar_notebook_hight", "300");
508
settings.sidebar_notebook_hight = 250;
510
settings.gs_hight = atoi((buf = xml_get_value("layout", "hight")) ? buf : "500");
511
settings.gs_width = atoi((buf = xml_get_value("layout", "width")) ? buf : "500");
487
if ((buf = xml_get_value("layout", "sidebar_notebook_height")))
488
settings.sidebar_notebook_height = atoi(buf);
490
if ((buf = xml_get_value("layout", "sidebar_notebook_hight"))) { /* backward compatible */
491
settings.sidebar_notebook_height = atoi(buf);
492
xml_remove_node("layout", "sidebar_notebook_hight", 0);
494
settings.sidebar_notebook_height = 250;
495
buf = g_strdup_printf("%d", settings.sidebar_notebook_height);
496
xml_add_new_item_to_section("layout", "sidebar_notebook_height", buf);
500
/* whether to open the parallel page at startup */
501
if ((buf = xml_get_value("layout", "parallelopen")))
502
settings.parallelpage = atoi(buf);
504
xml_add_new_item_to_section("layout", "parallelopen", "0");
505
settings.parallelpage = 0;
508
/* main and parallel window geometry */
509
if ((buf = xml_get_value("layout", "height")))
510
settings.gs_height = atoi(buf);
512
if ((buf = xml_get_value("layout", "hight"))) { /* backward compatible */
513
settings.gs_height = atoi(buf);
514
xml_remove_node("layout", "hight", 0);
516
settings.gs_height = 500;
517
buf = g_strdup_printf("%d", settings.gs_height);
518
xml_add_new_item_to_section("layout", "height", buf);
521
if ((buf = xml_get_value("layout", "width")))
522
settings.gs_width = atoi(buf);
524
xml_add_new_item_to_section("layout", "width", "500");
525
settings.gs_width = 500;
527
if ((buf = xml_get_value("layout", "parallel_height")))
528
settings.parallel_height = atoi(buf);
530
xml_add_new_item_to_section("layout", "parallel_height", "361");
531
settings.parallel_height = 361;
533
if ((buf = xml_get_value("layout", "parallel_width")))
534
settings.parallel_width = atoi(buf);
536
xml_add_new_item_to_section("layout", "parallel_width", "500");
537
settings.parallel_width = 657;
540
/* main window placement */
513
541
if ((buf = xml_get_value("layout", "app_x")))
514
542
settings.app_x = atoi(buf);
523
551
settings.app_y = 40;
554
/* parallel window placement */
555
if ((buf = xml_get_value("layout", "parallel_x")))
556
settings.parallel_x = atoi(buf);
558
xml_add_new_item_to_section("layout", "parallel_x", "200");
559
settings.parallel_x = 40;
561
if ((buf = xml_get_value("layout", "parallel_y")))
562
settings.parallel_y = atoi(buf);
564
xml_add_new_item_to_section("layout", "parallel_y", "200");
565
settings.parallel_y = 40;
526
568
settings.biblepane_width = atoi((buf = xml_get_value("layout", "textpane"))
528
settings.upperpane_hight = atoi((buf = xml_get_value("layout", "uperpane"))
531
if ((buf = xml_get_value("layout", "biblehight")))
532
settings.biblepane_hight = atoi(buf);
534
xml_add_new_item_to_section("layout", "biblehight", "340");
535
settings.biblepane_hight = 250;
538
if ((buf = xml_get_value("layout", "commentaryhight")))
539
settings.commpane_hight = atoi(buf);
541
xml_add_new_item_to_section("layout", "commentaryhight", "240");
542
settings.commpane_hight = 240;
571
if ((buf = xml_get_value("layout", "bibleheight")))
572
settings.biblepane_height = atoi(buf);
574
if ((buf = xml_get_value("layout", "biblehight"))) { /* backward compatible */
575
settings.biblepane_height = atoi(buf);
576
xml_remove_node("layout", "biblehight", 0);
578
settings.biblepane_height = 250;
579
buf = g_strdup_printf("%d", settings.biblepane_height);
580
xml_add_new_item_to_section("layout", "bibleheight", buf);
584
if ((buf = xml_get_value("layout", "commentaryheight")))
585
settings.commpane_height = atoi(buf);
587
if ((buf = xml_get_value("layout", "commentaryhight"))) { /* backward compatible */
588
settings.commpane_height = atoi(buf);
589
xml_remove_node("layout", "commentaryhight", 0);
591
settings.commpane_height = 240;
592
buf = g_strdup_printf("%d", settings.commpane_height);
593
xml_add_new_item_to_section("layout", "commentaryheight", buf);
545
598
if ((buf = xml_get_value("fontsize", "versenum"))) {
546
599
settings.verse_num_font_size_str = buf;
547
600
settings.verse_num_font_size = atoi(buf);
621
674
if ((buf = xml_get_value("parallel", "Footnotes")))
622
675
settings.parallel_footnotes = atoi(buf);
624
xml_add_new_item_to_section("parallel", "Footnotes", "0");
625
settings.parallel_footnotes = 0;
677
xml_add_new_item_to_section("parallel", "Footnotes", "1");
678
settings.parallel_footnotes = 1;
628
681
if ((buf = xml_get_value("parallel", "Cross-references")))
642
695
if ((buf = xml_get_value("parallel", "Words_of_Christ_in_Red")))
643
696
settings.parallel_red_words = atoi(buf);
645
xml_add_new_item_to_section("parallel", "Words_of_Christ_in_Red", "0");
646
settings.parallel_red_words = 0;
698
xml_add_new_item_to_section("parallel", "Words_of_Christ_in_Red", "1");
699
settings.parallel_red_words = 1;
649
702
if ((buf = xml_get_value("parallel", "Morpheme_Segmentation")))
656
709
if ((buf = xml_get_value("parallel", "Headings")))
657
710
settings.parallel_headings = atoi(buf);
659
xml_add_new_item_to_section("parallel", "Headings", "0");
660
settings.parallel_headings = 0;
712
xml_add_new_item_to_section("parallel", "Headings", "1");
713
settings.parallel_headings = 1;
663
716
if ((buf = xml_get_value("parallel", "Lemmas")))
714
763
if (xml_get_value("misc", "show_side_preview"))
715
764
settings.show_previewer_in_sidebar = atol(xml_get_value("misc", "show_side_preview"));
717
xml_add_new_item_to_section("misc", "show_side_preview", "0");
718
settings.show_previewer_in_sidebar = 0;
766
xml_add_new_item_to_section("misc", "show_side_preview", "1");
767
settings.show_previewer_in_sidebar = 1;
721
770
if (xml_get_value("misc", "showparatab"))
760
809
settings.versehighlight = 0;
763
if ((buf = xml_get_value("misc", "doublespace")))
764
settings.doublespace = atoi(buf);
766
xml_add_new_item_to_section("misc", "doublespace", "0");
767
settings.doublespace = 0;
812
if ((buf = xml_get_value("misc", "annotatehighlight")))
813
settings.annotate_highlight = atoi(buf);
815
xml_add_new_item_to_section("misc", "annotatehighlight", "1");
816
settings.annotate_highlight = 1;
819
if ((buf = xml_get_value("misc", "xrefsinverselist")))
820
settings.xrefs_in_verse_list = atoi(buf);
822
xml_add_new_item_to_section("misc", "xrefsinverselist", "1");
823
settings.xrefs_in_verse_list = 1;
770
826
if ((buf = xml_get_value("misc", "chapter-scroll"))) {