X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=radiant%2Fmainframe.cpp;h=7d9057b1cedc56174fcbccf870d34d6844d99e7c;hb=0908af4bcf48cb2ee8da1dbb4480bcea821c3f60;hp=8cc59bc18576ae7b622b6c77c5666f5b6cd187d1;hpb=2ce2d42b275b2a710227b375e495a817799fe2a6;p=xonotic%2Fnetradiant.git diff --git a/radiant/mainframe.cpp b/radiant/mainframe.cpp index 8cc59bc1..7d9057b1 100644 --- a/radiant/mainframe.cpp +++ b/radiant/mainframe.cpp @@ -1,4 +1,4 @@ -/* +/* Copyright (C) 1999-2006 Id Software, Inc. and contributors. For a list of contributors, see the accompanying CONTRIBUTORS file. @@ -261,7 +261,7 @@ void HomePaths_Realise(){ if ( shfolder ) { FreeLibrary( shfolder ); } - if ( SHGetFolderPath( NULL, CSIDL_PERSONAL, NULL, 0, mydocsdir ) ) { + if ( SUCCEEDED( SHGetFolderPath( NULL, CSIDL_PERSONAL, NULL, 0, mydocsdir ) ) ) { path.clear(); path << DirectoryCleaned( mydocsdir ) << "My Games/" << ( prefix + 1 ) << "/"; // win32: only add it if it already exists @@ -2049,18 +2049,18 @@ ui::MenuItem create_file_menu(){ #endif create_menu_item_with_mnemonic( menu, "_Open...", "OpenMap" ); - create_menu_item_with_mnemonic( menu, "_Import...", "ImportMap" ); + menu_separator( menu ); create_menu_item_with_mnemonic( menu, "_Save", "SaveMap" ); create_menu_item_with_mnemonic( menu, "Save _as...", "SaveMapAs" ); create_menu_item_with_mnemonic( menu, "_Export selected...", "ExportSelected" ); - menu_separator( menu ); create_menu_item_with_mnemonic( menu, "Save re_gion...", "SaveRegion" ); + menu_separator( menu ); // menu_separator( menu ); // create_menu_item_with_mnemonic( menu, "_Refresh models", "RefreshReferences" ); // menu_separator( menu ); create_menu_item_with_mnemonic( menu, "Pro_ject settings...", "ProjectSettings" ); - menu_separator( menu ); + //menu_separator( menu ); create_menu_item_with_mnemonic( menu, "_Pointfile...", "TogglePointfile" ); menu_separator( menu ); MRU_constructMenu( menu ); @@ -2088,8 +2088,6 @@ ui::MenuItem create_edit_menu(){ create_menu_item_with_mnemonic( menu, "_Duplicate", "CloneSelection" ); create_menu_item_with_mnemonic( menu, "Duplicate, make uni_que", "CloneSelectionAndMakeUnique" ); create_menu_item_with_mnemonic( menu, "D_elete", "DeleteSelection" ); - menu_separator( menu ); - create_menu_item_with_mnemonic( menu, "Snap To Grid", "SnapToGrid" ); //create_menu_item_with_mnemonic( menu, "Pa_rent", "ParentSelection" ); menu_separator( menu ); create_menu_item_with_mnemonic( menu, "C_lear Selection", "UnSelectSelection" ); @@ -2278,6 +2276,9 @@ ui::MenuItem create_selection_menu(){ create_check_menu_item_with_mnemonic( menu_in_menu, "_Faces", "DragFaces" ); } + menu_separator( menu ); + create_menu_item_with_mnemonic( menu, "Snap To Grid", "SnapToGrid" ); + menu_separator( menu ); { @@ -2455,14 +2456,14 @@ void PatchInspector_registerShortcuts(){ } void Patch_registerShortcuts(){ -// command_connect_accelerator( "InvertCurveTextureX" ); -// command_connect_accelerator( "InvertCurveTextureY" ); + command_connect_accelerator( "InvertCurveTextureX" ); + command_connect_accelerator( "InvertCurveTextureY" ); command_connect_accelerator( "PatchInsertInsertColumn" ); command_connect_accelerator( "PatchInsertInsertRow" ); command_connect_accelerator( "PatchDeleteLastColumn" ); command_connect_accelerator( "PatchDeleteLastRow" ); -// command_connect_accelerator( "NaturalizePatch" ); - //command_connect_accelerator("CapCurrentCurve"); + command_connect_accelerator( "NaturalizePatch" ); + command_connect_accelerator( "CapCurrentCurve"); } void Manipulators_registerShortcuts(){ @@ -2510,9 +2511,16 @@ void SurfaceInspector_registerShortcuts(){ } +void TexBro_registerShortcuts(){ + command_connect_accelerator( "FindReplaceTextures" ); + command_connect_accelerator( "RefreshShaders" ); + //refresh models + command_connect_accelerator( "RefreshReferences" ); +} + void register_shortcuts(){ // PatchInspector_registerShortcuts(); - Patch_registerShortcuts(); + //Patch_registerShortcuts(); Grid_registerShortcuts(); // XYWnd_registerShortcuts(); CamWnd_registerShortcuts(); @@ -2522,6 +2530,7 @@ void register_shortcuts(){ SelectNudge_registerShortcuts(); // SnapToGrid_registerShortcuts(); // SelectByType_registerShortcuts(); + TexBro_registerShortcuts(); } void File_constructToolbar( ui::Toolbar toolbar ){ @@ -2551,8 +2560,8 @@ void Select_constructToolbar( ui::Toolbar toolbar ){ void CSG_constructToolbar( ui::Toolbar toolbar ){ toolbar_append_button( toolbar, "CSG Subtract (SHIFT + U)", "selection_csgsubtract.png", "CSGSubtract" ); toolbar_append_button( toolbar, "CSG Merge (CTRL + U)", "selection_csgmerge.png", "CSGMerge" ); - toolbar_append_button( toolbar, "Make Hollow", "selection_makehollow.png", "CSGHollow" ); toolbar_append_button( toolbar, "Make Room", "selection_makeroom.png", "CSGRoom" ); + toolbar_append_button( toolbar, "CSG Tool", "ellipsis.png", "CSGTool" ); } void ComponentModes_constructToolbar( ui::Toolbar toolbar ){ @@ -2567,7 +2576,7 @@ void Clipper_constructToolbar( ui::Toolbar toolbar ){ } void XYWnd_constructToolbar( ui::Toolbar toolbar ){ - toolbar_append_button( toolbar, "Change views", "view_change.png", "NextView" ); + toolbar_append_button( toolbar, "Change views (CTRL + TAB)", "view_change.png", "NextView" ); } void Manipulators_constructToolbar( ui::Toolbar toolbar ){ @@ -2614,7 +2623,7 @@ ui::Toolbar create_main_toolbar( MainFrame::EViewStyle style ){ ComponentModes_constructToolbar( toolbar ); - if ( style == MainFrame::eRegular || style == MainFrame::eRegularLeft || style == MainFrame::eFloating ) { + if ( style == MainFrame::eRegular || style == MainFrame::eRegularLeft ) { space(); XYWnd_constructToolbar( toolbar ); @@ -2641,21 +2650,16 @@ ui::Toolbar create_main_toolbar( MainFrame::EViewStyle style ){ space(); /*auto g_view_entities_button =*/ toolbar_append_button( toolbar, "Entities (N)", "entities.png", "ToggleEntityInspector" ); - auto g_view_console_button = toolbar_append_button( toolbar, "Console (O)", "console.png", "ToggleConsole" ); - auto g_view_textures_button = toolbar_append_button( toolbar, "Texture Browser (T)", "texture_browser.png", "ToggleTextures" ); + if ( style == MainFrame::eRegular || style == MainFrame::eRegularLeft ) { + auto g_view_console_button = toolbar_append_button( toolbar, "Console (O)", "console.png", "ToggleConsole" ); + auto g_view_textures_button = toolbar_append_button( toolbar, "Texture Browser (T)", "texture_browser.png", "ToggleTextures" ); + } // TODO: call light inspector //GtkButton* g_view_lightinspector_button = toolbar_append_button(toolbar, "Light Inspector", "lightinspector.png", "ToggleLightInspector"); space(); /*auto g_refresh_models_button =*/ toolbar_append_button( toolbar, "Refresh Models", "refresh_models.png", "RefreshReferences" ); - - // disable the console and texture button in the regular layouts - if ( style == MainFrame::eRegular || style == MainFrame::eRegularLeft ) { - gtk_widget_set_sensitive( g_view_console_button , FALSE ); - gtk_widget_set_sensitive( g_view_textures_button , FALSE ); - } - return toolbar; } @@ -3013,6 +3017,7 @@ void MainFrame::Create(){ auto vbox = ui::VBox( FALSE, 0 ); window.add(vbox); vbox.show(); + gtk_container_set_focus_chain( GTK_CONTAINER( vbox ), NULL ); global_accel_connect_window( window ); @@ -3054,6 +3059,10 @@ void MainFrame::Create(){ vbox.pack_end(main_statusbar, FALSE, TRUE, 2); GroupDialog_constructWindow( window ); + + /* want to realize it immediately; otherwise gtk paned splits positions wont be set correctly for floating group dlg */ + gtk_widget_realize ( GTK_WIDGET( GroupDialog_getWindow() ) ); + g_page_entity = GroupDialog_addPage( "Entities", EntityInspector_constructWindow( GroupDialog_getWindow() ), RawStringExportCaller( "Entities" ) ); if ( FloatingGroupDialog() ) { @@ -3269,7 +3278,7 @@ void MainFrame::Create(){ vbox.pack_start( split, TRUE, TRUE, 0 ); { - auto frame = create_framed_widget( TextureBrowser_constructWindow( window ) ); + auto frame = create_framed_widget( TextureBrowser_constructWindow( GroupDialog_getWindow() ) ); g_page_textures = GroupDialog_addPage( "Textures", frame, TextureBrowserExportTitleCaller() ); WORKAROUND_GOBJECT_SET_GLWIDGET( window, TextureBrowser_getGLWidget() ); @@ -3625,8 +3634,8 @@ void MainFrame_Construct(){ GlobalCommands_insert( "CSGSubtract", makeCallbackF(CSG_Subtract), Accelerator( 'U', (GdkModifierType)GDK_SHIFT_MASK ) ); GlobalCommands_insert( "CSGMerge", makeCallbackF(CSG_Merge), Accelerator( 'U', (GdkModifierType) GDK_CONTROL_MASK ) ); - GlobalCommands_insert( "CSGHollow", makeCallbackF(CSG_MakeHollow) ); GlobalCommands_insert( "CSGRoom", makeCallbackF(CSG_MakeRoom) ); + GlobalCommands_insert( "CSGTool", makeCallbackF(CSG_Tool) ); Grid_registerCommands();