ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/prefs_editor_gtk.cpp
(Generate patch)

Comparing BasiliskII/src/Unix/prefs_editor_gtk.cpp (file contents):
Revision 1.4 by cebix, 1999-10-14T11:37:45Z vs.
Revision 1.8 by cebix, 1999-10-27T16:59:46Z

# Line 291 | Line 291 | bool PrefsEditor(void)
291          GtkWidget *notebook = gtk_notebook_new();
292          gtk_widget_show(notebook);
293          gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_TOP);
294 <        gtk_notebook_set_scrollable(GTK_NOTEBOOK(notebook), TRUE);
294 >        gtk_notebook_set_scrollable(GTK_NOTEBOOK(notebook), FALSE);
295          gtk_box_pack_start(GTK_BOX(box), notebook, TRUE, TRUE, 0);
296  
297          create_volumes_pane(notebook);
# Line 318 | Line 318 | bool PrefsEditor(void)
318   *  "Volumes" pane
319   */
320  
321 < static GtkWidget *volume_list;
321 > static GtkWidget *volume_list, *w_extfs;
322   static int selected_volume;
323  
324   // Volume in list selected
# Line 420 | Line 420 | static void read_volumes_settings(void)
420                  gtk_clist_get_text(GTK_CLIST(volume_list), i, 0, &str);
421                  PrefsAddString("disk", str);
422          }
423 +
424 +        PrefsReplaceString("extfs", gtk_entry_get_text(GTK_ENTRY(w_extfs)));
425   }
426  
427   // Create "Volumes" pane
# Line 436 | Line 438 | static void create_volumes_pane(GtkWidge
438          gtk_widget_show(volume_list);
439          gtk_clist_set_selection_mode(GTK_CLIST(volume_list), GTK_SELECTION_SINGLE);
440          gtk_clist_set_shadow_type(GTK_CLIST(volume_list), GTK_SHADOW_NONE);
441 +        gtk_clist_set_reorderable(GTK_CLIST(volume_list), true);
442          gtk_signal_connect(GTK_OBJECT(volume_list), "select_row", GTK_SIGNAL_FUNC(cl_selected), NULL);
443          char *str;
444          int32 index = 0;
# Line 454 | Line 457 | static void create_volumes_pane(GtkWidge
457          make_button_box(box, 0, buttons);
458          make_separator(box);
459  
460 +        w_extfs = make_entry(box, STR_EXTFS_CTRL, "extfs");
461 +
462          static const opt_desc options[] = {
463                  {STR_BOOT_ANY_LAB, GTK_SIGNAL_FUNC(mn_boot_any)},
464                  {STR_BOOT_CDROM_LAB, GTK_SIGNAL_FUNC(mn_boot_cdrom)},
# Line 520 | Line 525 | static GtkWidget *l_frameskip, *l_displa
525   static int display_type;
526   static int dis_width, dis_height;
527  
528 + #if ENABLE_FBDEV_DGA
529 + static GtkWidget *w_fbdev_name, *w_fbdevice_file;
530 + static GtkWidget *l_fbdev_name, *l_fbdevice_file;
531 + static char fbdev_name[256];
532 + #endif
533 +
534   // Hide/show graphics widgets
535   static void hide_show_graphics_widgets(void)
536   {
537          switch (display_type) {
538                  case DISPLAY_WINDOW:
539                          gtk_widget_show(w_frameskip); gtk_widget_show(l_frameskip);
540 + #if ENABLE_FBDEV_DGA
541 +                        gtk_widget_show(w_display_x); gtk_widget_show(l_display_x);
542 +                        gtk_widget_show(w_display_y); gtk_widget_show(l_display_y);
543 +                        gtk_widget_hide(w_fbdev_name); gtk_widget_hide(l_fbdev_name);
544 + #endif
545                          break;
546                  case DISPLAY_SCREEN:
547                          gtk_widget_hide(w_frameskip); gtk_widget_hide(l_frameskip);
548 + #if ENABLE_FBDEV_DGA
549 +                        gtk_widget_hide(w_display_x); gtk_widget_hide(l_display_x);
550 +                        gtk_widget_hide(w_display_y); gtk_widget_hide(l_display_y);
551 +                        gtk_widget_show(w_fbdev_name); gtk_widget_show(l_fbdev_name);
552 + #endif
553                          break;
554          }
555   }
# Line 567 | Line 588 | static void parse_graphics_prefs(void)
588          display_type = DISPLAY_WINDOW;
589          dis_width = 512;
590          dis_height = 384;
591 + #if ENABLE_FBDEV_DGA
592 +        fbdev_name[0] = 0;
593 + #endif
594  
595          const char *str = PrefsFindString("screen");
596          if (str) {
597                  if (sscanf(str, "win/%d/%d", &dis_width, &dis_height) == 2)
598                          display_type = DISPLAY_WINDOW;
599 + #if ENABLE_FBDEV_DGA
600 +                else if (sscanf(str, "dga/%255s", fbdev_name) == 1)
601 + #else
602                  else if (sscanf(str, "dga/%d/%d", &dis_width, &dis_height) == 2)
603 + #endif
604                          display_type = DISPLAY_SCREEN;
605          }
606   }
# Line 594 | Line 622 | static void read_graphics_settings(void)
622                          sprintf(pref, "win/%d/%d", dis_width, dis_height);
623                          break;
624                  case DISPLAY_SCREEN:
625 + #if ENABLE_FBDEV_DGA
626 +                        str = gtk_entry_get_text(GTK_ENTRY(w_fbdev_name));
627 +                        sprintf(pref, "dga/%s", str);
628 + #else
629                          sprintf(pref, "dga/%d/%d", dis_width, dis_height);
630 + #endif
631                          break;
632                  default:
633                          PrefsRemoveItem("screen");
# Line 612 | Line 645 | static void create_graphics_pane(GtkWidg
645          parse_graphics_prefs();
646  
647          box = make_pane(top, STR_GRAPHICS_SOUND_PANE_TITLE);
648 <        table = make_table(box, 2, 4);
648 >        table = make_table(box, 2, 5);
649  
650          label = gtk_label_new(GetString(STR_VIDEO_TYPE_CTRL));
651          gtk_widget_show(label);
# Line 713 | Line 746 | static void create_graphics_pane(GtkWidg
746          gtk_table_attach(GTK_TABLE(table), combo, 1, 2, 3, 4, (GtkAttachOptions)GTK_FILL, (GtkAttachOptions)0, 4, 4);
747          w_display_y = GTK_COMBO(combo)->entry;
748  
749 + #if ENABLE_FBDEV_DGA
750 +        l_fbdev_name = gtk_label_new(GetString(STR_FBDEV_NAME_CTRL));
751 +        gtk_widget_show(l_fbdev_name);
752 +        gtk_table_attach(GTK_TABLE(table), l_fbdev_name, 0, 1, 4, 5, (GtkAttachOptions)0, (GtkAttachOptions)0, 4, 4);
753 +
754 +        w_fbdev_name = gtk_entry_new();
755 +        gtk_widget_show(w_fbdev_name);
756 +        gtk_entry_set_text(GTK_ENTRY(w_fbdev_name), fbdev_name);
757 +        gtk_table_attach(GTK_TABLE(table), w_fbdev_name, 1, 2, 4, 5, (GtkAttachOptions)0, (GtkAttachOptions)0, 4, 4);
758 +
759 +        w_fbdevice_file = make_entry(box, STR_FBDEVICE_FILE_CTRL, "fbdevicefile");
760 + #endif
761 +
762          make_checkbox(box, STR_NOSOUND_CTRL, "nosound", GTK_SIGNAL_FUNC(tb_nosound));
763  
764          hide_show_graphics_widgets();
# Line 887 | Line 933 | static GtkWidget *w_keycode_file;
933   static void mn_modelid_5(...) {PrefsReplaceInt32("modelid", 5);}
934   static void mn_modelid_14(...) {PrefsReplaceInt32("modelid", 14);}
935  
936 + // "FPU Emulation" button toggled
937 + static void tb_fpu(GtkWidget *widget)
938 + {
939 +        PrefsReplaceBool("fpu", GTK_TOGGLE_BUTTON(widget)->active);
940 + }
941 +
942   // "Use Raw Keycodes" button toggled
943   static void tb_keycodes(GtkWidget *widget)
944   {
# Line 970 | Line 1022 | static void create_memory_pane(GtkWidget
1022  
1023          w_rom_file = make_entry(box, STR_ROM_FILE_CTRL, "rom");
1024  
1025 +        make_checkbox(box, STR_FPU_CTRL, "fpu", GTK_SIGNAL_FUNC(tb_fpu));
1026 +
1027          make_checkbox(box, STR_KEYCODES_CTRL, "keycodes", GTK_SIGNAL_FUNC(tb_keycodes));
1028          w_keycode_file = make_entry(box, STR_KEYCODE_FILE_CTRL, "keycodefile");
1029   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines