- // Add the page to the notebook
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), pageframe, preflabel);
-
- /******** 3D Camera view group *********/
- preflabel = gtk_label_new(_("3D View"));
- gtk_widget_show(preflabel);
- pageframe = gtk_frame_new(_("3D View"));
- gtk_container_set_border_width(GTK_CONTAINER(pageframe), 5);
- gtk_widget_show(pageframe);
- vbox = gtk_vbox_new(FALSE, 5);
- gtk_widget_show(vbox);
- gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
- gtk_container_add(GTK_CONTAINER(pageframe), vbox);
-
- // Directional velocity (Movement Velocity)
- // label container
- hbox2 = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (hbox2);
- gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, FALSE, 0);
-
- // label
- label = gtk_label_new(_("Movement Velocity"));
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_widget_show(label);
- gtk_box_pack_start(GTK_BOX(hbox2), label, FALSE, FALSE, 0);
-
- // adjustment
- adj = gtk_adjustment_new(100, 50, 300, 1, 10, 10);
- AddDialogData(adj, &m_nMoveSpeed, DLG_ADJ_INT);
-
- // scale
- scale = gtk_hscale_new(GTK_ADJUSTMENT(adj));
- gtk_widget_show(scale);
- gtk_box_pack_start(GTK_BOX (vbox), scale, FALSE, TRUE, 2);
-
- gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE);
-
- // Angular velocity (Rotational Velocity)
- // label container
- hbox2 = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (hbox2);
- gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, FALSE, 0);
-
- // label
- label = gtk_label_new (_("Rotational Velocity"));
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_widget_show (label);
- gtk_box_pack_start(GTK_BOX(hbox2), label, FALSE, FALSE, 0);
-
- // adjustment
- adj = gtk_adjustment_new (3, 1, 180, 1, 10, 10); // value, low, high, step, page_step, page_size
- AddDialogData (adj, &m_nAngleSpeed, DLG_ADJ_INT);
-
- // scale
- scale = gtk_hscale_new (GTK_ADJUSTMENT (adj));
- gtk_widget_show (scale);
- gtk_box_pack_start (GTK_BOX (vbox), scale, FALSE, TRUE, 2);
- gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE);
-
- // Text under the velocity sliders
- // container
- hbox2 = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (hbox2);
- gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, FALSE, 0);
-
- // label
- label = gtk_label_new (_("slow"));
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
-
- // label
- label = gtk_label_new (_("fast"));
- gtk_widget_show (label);
- gtk_box_pack_end (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
-
- // Allow drag to select multiple faces/brushes
- // container
- table = gtk_table_new(2, 1, FALSE);
- gtk_widget_show(table);
- gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- label = gtk_label_new (_("Use paint-select in camera view:"));
- gtk_widget_show (label);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
-
- combo_list = NULL;
- combo_list = g_list_append (combo_list, (void *)_("No"));
- combo_list = g_list_append (combo_list, (void *)_("Yes"));
- combo_list = g_list_append (combo_list, (void *)_("Yes (Classic Key Setup)"));
-
- combo = gtk_combo_new ();
- gtk_combo_set_popdown_strings (GTK_COMBO (combo), combo_list);
- gtk_widget_show (combo);
- gtk_table_attach(GTK_TABLE(table), combo, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_entry_set_editable (GTK_ENTRY (GTK_COMBO (combo)->entry), FALSE);
- AddDialogData (combo, &m_nCamDragMultiSelect, DLG_COMBO_INT);
-
- // Freelook in Camera view
- check = gtk_check_button_new_with_label (_("Freelook in Camera view"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (GTK_BIN (check)->child), GTK_JUSTIFY_LEFT);
- AddDialogData (check, &m_bCamFreeLook, DLG_CHECK_BOOL);
-
- // Freelook in Camera view w/ forward & back strafing instead of up and down looking
- check = gtk_check_button_new_with_label (_("Freelook strafes Forward and Back"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (GTK_BIN (check)->child), GTK_JUSTIFY_LEFT);
- AddDialogData (check, &m_bCamFreeLookStrafe, DLG_CHECK_BOOL);
-
- // Invert mouse in freelook
- check = gtk_check_button_new_with_label (_("Invert mouse in freelook"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (GTK_BIN (check)->child), GTK_JUSTIFY_LEFT);
- AddDialogData (check, &m_bCamInverseMouse, DLG_CHECK_BOOL);
-
- // Discrete movement
- check = gtk_check_button_new_with_label (_("Discrete movement"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (GTK_BIN (check)->child), GTK_JUSTIFY_LEFT);
- AddDialogData (check, &m_bCamDiscrete, DLG_CHECK_BOOL);
-
- // Update XY views on camera move
- check = gtk_check_button_new_with_label (_("Update XY views on camera move"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (GTK_BIN (check)->child), GTK_JUSTIFY_LEFT);
- AddDialogData (check, &m_bCamXYUpdate, DLG_CHECK_BOOL);
-
- // Add the page to the notebook
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), pageframe, preflabel);
-
- /******** Texture group *********/
- preflabel = gtk_label_new(_("Textures"));
- gtk_widget_show(preflabel);
- pageframe = gtk_frame_new(_("Textures"));
- gtk_container_set_border_width(GTK_CONTAINER(pageframe), 5);
- gtk_widget_show(pageframe);
- vbox = gtk_vbox_new(FALSE, 6);
- gtk_widget_show(vbox);
- gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
- gtk_container_add(GTK_CONTAINER(pageframe), vbox);
-
- // Texture quality slider
- // label
- label = gtk_label_new (_("Texture quality"));
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
-
- // adjustment
- adj = gtk_adjustment_new (0, 0, 4, 1, 1, 1);
- AddDialogData (adj, &m_nLatchedTextureQuality, DLG_ADJ_INT);
-
- // scale
- scale = gtk_hscale_new (GTK_ADJUSTMENT (adj));
- gtk_widget_show (scale);
- gtk_box_pack_start (GTK_BOX (vbox), scale, FALSE, FALSE, 0);
- gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE);
-
- // text under the texture slider
- hbox2 = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (hbox2);
- gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, FALSE, 0);
- label = gtk_label_new (_("low"));
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
- label = gtk_label_new (_("high"));
- gtk_widget_show (label);
- gtk_box_pack_end (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
-
- // texture subsets
- check = gtk_check_button_new_with_label (_("Texture subsets"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- AddDialogData (check, &m_bTextureWindow, DLG_CHECK_BOOL);
-
- // texture scrollbar
- check = gtk_check_button_new_with_label (_("Texture scrollbar"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- AddDialogData (check, &m_bTextureScrollbar, DLG_CHECK_BOOL);
-
- // texture increment matches grid
- check = gtk_check_button_new_with_label (_("Tex increment matches grid"));
- gtk_widget_show (check);
- gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0);
- AddDialogData (check, &m_bSnapTToGrid, DLG_CHECK_BOOL);
-
- // RIANT
- // Texture compression choice label
- // container
- table = gtk_table_new(2, 1, FALSE);
- gtk_widget_show(table);
- gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- label = gtk_label_new (_("Texture Compression (if available):"));
- gtk_widget_show (label);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-
- // Texture compression choice label
- combo_list = NULL;
- // NONE will always be in pos 0
- combo_list = g_list_append (combo_list, (void *)_("None"));
-
- // if OpenGL compression is enabled it will always be
- // in pos 1
- if (g_qeglobals.m_bOpenGLCompressionSupported)
- {
- combo_list = g_list_append (combo_list, (void *)_("OpenGL ARB"));
- }
-
- // If S3 is enabled offer all 3 valid compression schemes in RGBA
- if (g_qeglobals.m_bS3CompressionSupported)
- {
- combo_list = g_list_append (combo_list, (void *)_("S3TC DXT1"));
- combo_list = g_list_append (combo_list, (void *)_("S3TC DXT3"));
- combo_list = g_list_append (combo_list, (void *)_("S3TC DXT5"));
- }
-
- combo = gtk_combo_new ();
- gtk_combo_set_popdown_strings (GTK_COMBO (combo), combo_list);
- gtk_widget_show (combo);
- gtk_table_attach(GTK_TABLE(table), combo, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_entry_set_editable (GTK_ENTRY (GTK_COMBO (combo)->entry), FALSE);
- AddDialogData (combo, &m_nTextureCompressionFormat, DLG_COMBO_INT);
- g_list_free (combo_list);
-
- // container
- table = gtk_table_new(2, 1, FALSE);
- gtk_widget_show(table);
- gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- // Startup shaders
- // label
- label = gtk_label_new (_("Startup Shaders:"));
- gtk_widget_show (label);
- gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
- gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-
- // combo list
- combo_list = NULL;
- combo_list = g_list_append (combo_list, (void *)_("None"));
- if (g_pGameDescription->mGameFile == "jk2.game" || g_pGameDescription->mGameFile == "ja.game")
- combo_list = g_list_append (combo_list, (void *)_("System"));
- else if (g_pGameDescription->mGameFile == "sof2.game")
- combo_list = g_list_append (combo_list, (void *)("Tools"));
- else
- combo_list = g_list_append (combo_list, (void *)_("Common"));
- combo_list = g_list_append (combo_list, (void *)_("All"));
- combo = gtk_combo_new ();
- gtk_combo_set_popdown_strings (GTK_COMBO (combo), combo_list);
- gtk_widget_show (combo);
- gtk_table_attach(GTK_TABLE(table), combo, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_entry_set_editable (GTK_ENTRY (GTK_COMBO (combo)->entry), FALSE);
- AddDialogData (combo, &m_nLatchedShader, DLG_COMBO_INT);
- g_list_free (combo_list);
-
- // Add the page to the notebook
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), pageframe, preflabel);
-
- /******** Layout group *********/
- preflabel = gtk_label_new(_("Layout"));
- gtk_widget_show(preflabel);
- pageframe = gtk_frame_new(_("Layout"));
- gtk_container_set_border_width(GTK_CONTAINER(pageframe), 5);
- gtk_widget_show(pageframe);
- vbox = gtk_vbox_new(FALSE, 5);
- gtk_widget_show(vbox);
- gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
- gtk_container_add(GTK_CONTAINER(pageframe), vbox);
-
- // View types
- // table
- table = gtk_table_new (2, 4, FALSE);
- gtk_widget_show (table);
- gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- // view type 1
- pixmap = new_pixmap (g_pParentWnd->m_pWidget, "window1.bmp");
- gtk_widget_show (pixmap);
- gtk_table_attach (GTK_TABLE (table), pixmap, 0, 1, 0, 1,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
-
- // view type 2
- pixmap = new_pixmap (g_pParentWnd->m_pWidget, "window2.bmp");
- gtk_widget_show (pixmap);
- gtk_table_attach (GTK_TABLE (table), pixmap, 1, 2, 0, 1,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
-
- // view type 3
- pixmap = new_pixmap (g_pParentWnd->m_pWidget, "window3.bmp");
- gtk_widget_show (pixmap);
- gtk_table_attach (GTK_TABLE (table), pixmap, 2, 3, 0, 1,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
-
- // view type 4
- pixmap = new_pixmap (g_pParentWnd->m_pWidget, "window4.bmp");
- gtk_widget_show (pixmap);
- gtk_table_attach (GTK_TABLE (table), pixmap, 3, 4, 0, 1,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
-
- // view type 1 selector
- radio = gtk_radio_button_new (NULL);
- gtk_widget_show (radio);
- gtk_table_attach (GTK_TABLE (table), radio, 0, 1, 1, 2,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
-
- // view type 2 selector
- radio = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (radio));
- gtk_widget_show (radio);
- gtk_table_attach (GTK_TABLE (table), radio, 1, 2, 1, 2,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
-
- // view type 3 selector
- radio = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (radio));
- gtk_widget_show (radio);
- gtk_table_attach (GTK_TABLE (table), radio, 2, 3, 1, 2,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
-
- // view type 4 selector
- radio = gtk_radio_button_new_from_widget (GTK_RADIO_BUTTON (radio));
- gtk_widget_show (radio);
- gtk_table_attach (GTK_TABLE (table), radio, 3, 4, 1, 2,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- AddDialogData (radio, &m_nLatchedView, DLG_RADIO_INT);
-
- // Floating Z window
- check = gtk_check_button_new_with_label (_("Floating Z Window"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- AddDialogData (check, &m_bLatchedFloatingZ, DLG_CHECK_BOOL);
-
- // show menu tear-off seperators
- check = gtk_check_button_new_with_label (_("Detachable Menus"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- AddDialogData (check, &m_bLatchedDetachableMenus, DLG_CHECK_BOOL);
-
- if (!g_pGameDescription->mNoPatch)
- {
- // show patch toolbar
- check = gtk_check_button_new_with_label (_("Patch Toolbar"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- g_object_set_data (G_OBJECT (dialog), "check_patchtoolbar", check); // Allow to be disabled for Q1/Q2
- AddDialogData (check, &m_bLatchedPatchToolbar, DLG_CHECK_BOOL);
- }
-
- // use wide toolbar
- check = gtk_check_button_new_with_label (_("Wide Toolbar"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- AddDialogData (check, &m_bLatchedWideToolbar, DLG_CHECK_BOOL);
-
- // use plugin toolbar
- check = gtk_check_button_new_with_label (_("Plugin Toolbar"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- AddDialogData (check, &m_bLatchedPluginToolbar, DLG_CHECK_BOOL);
-
-#ifdef _WIN32
- // win32 file dialog
- check = gtk_check_button_new_with_label (_("Use win32 file load dialog"));
- gtk_widget_show (check);
- // gtk_container_add (GTK_CONTAINER (vbox), check);
- gtk_box_pack_start(GTK_BOX(vbox), check, FALSE, FALSE, 0);
- AddDialogData (check, &m_bNativeGUI, DLG_CHECK_BOOL);
-
- // position on primary monitor
- check = gtk_check_button_new_with_label (_("Start on Primary Monitor"));
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
- g_object_set_data (G_OBJECT (dialog), "check_startonprimary", check);
- gtk_signal_connect( GTK_OBJECT (check), "clicked", GTK_SIGNAL_FUNC(UpdateSensitivity), this );
- AddDialogData (check, &m_bStartOnPrimMon, DLG_CHECK_BOOL);
-#endif