16 Commits

Author SHA1 Message Date
Layla
c3611421b7 Middle mouse close scene tabs (#5367) 2026-07-21 17:56:46 +01:00
Layla
a4af9e7702 Unfuck rendering widget (#5362) 2026-07-15 11:41:10 +01:00
Layla
f16409dc4a fix viewport overlay ownership (#5343) 2026-07-14 12:34:05 +01:00
Layla
bf6b842faa fix all tool default dock layouts, add DockManager.SetSplitterProportions (#5341) 2026-07-13 17:07:41 +01:00
Layla
40bb3beb11 fix dock swapchain (#5332) 2026-07-13 09:47:24 +01:00
Matt Stevens
18da35110c Qt Advanced Docking System (#4041)
* Add Qt-Advanced-Docking-System 5.0
* Bind new CDockManager, dock areas
* Use Valve's CSS & images for ADS as a baseline, load stuff from disk instead of embedded in c++
* dockmanager.css in tool styles, auto loads and hotloads
* Rewrite DockManager
* delete toolwindowmanager
* Delete the 50 different ways to create/add/register a dock, you just add a dock, that's all u need
* More dockmanager rejigging
* restore all editor dock layouts and asset browser on the new docking system
* remove last toolwindowmanager remnants, add ADS to third party legal notice
* build classic default layout in code for main editor reset/first-run, add relative area AddDock overload
* relativeTo placement API, restore correct default layouts for all tool windows, register [Dock] types closed instead of eagerly docking
* styling pass
* disable ADS built-in stylesheet load, styling comes from editor stylesheet
* lock picker browser tabs against closing/dragging, make ActionGraph reset layout actually reposition docks
* add DockManager.OpenDock, dedupe layout code in EditorMainWindow/ActionGraph
* CloseDockWidget internal
* add "Close Tabs to the Left/Right" to dock tab context menu
* expose dock MinimumSizeFromContent
* only offer close left/right tab options when open tabs exist on that side
* move "Close Tabs to the Left/Right" out of the ADS lib into a components factory
* guard dock tab context menu against pinned docks with no dock area
* fix crash when pinned tab is destroyed before delayed auto hide timer fires
* recreate scene widget swapchains when Qt recreates their native window on dock reparent
*  wrap all sbox changes to the dock lib in #ifdef SBOX
* save a plain window rect as fallback for when Qt rejects saved geometry on mixed-DPI monitors
* expose DockWidget Float/IsFloating
* always restore window geometry from a plain saved rect instead of Qt's DPI fragile geometry blob
* route all window centering through one screen aware helper that handles mixed DPI monitors
* restore window geometry onto the screen it was saved on
* don't close live docks when a dock type unregisters, hotload substitutes them in place

---------

Co-authored-by: Layla <1667289+aylaylay@users.noreply.github.com>
2026-07-12 12:41:08 +01:00
Layla
6522bbcc53 Mwheel shortcuts (#4782) 2026-05-08 08:17:14 +01:00
Tony Ferguson
e66a1a64e2 New splash screen (#4093)
- Add progress bar, project name
- No more stacked messages
- Frameless, can drag from anywhere
- Projects can override splash image with "splash_screen.png" in project root

https://files.facepunch.com/tony/1b1911b1/sbox-dev_Eqcq1EOeav.png
2026-02-19 21:48:58 +00:00
Sol Williams
d4fe9a797b Add Paint.Draw overload for pixmap with border radius (#4057) 2026-02-18 14:04:19 +00:00
Sol Williams
4dce011f43 Fix double context menu on searchable menus (#3992) 2026-02-04 14:24:47 +00:00
Sol Williams
bcef723656 Close Tab uses ToolWindowManager::closeToolWindow instead (#3929) 2026-01-28 15:29:26 +00:00
Garry Newman
529b8b830b Use QObject.deleteMuchLater instead of QObject.deleteLater to prevent crash when calling in event callbacks (#3889) 2026-01-23 06:00:55 -08:00
Sam Pavlovic
db6ca66000 Update swapchain from native method instead of recreating it when video changed (#3562)
Recreating it works fine on Intel GPU, no issues on validation but didnt work on other cards, there is a better way to do this from native without dangling around

Fixes https://github.com/Facepunch/sbox-issues/issues/9675
2025-12-05 09:37:12 -03:00
Sam Pavlovic
ab81dd2357 Make MSAA setting work on editor SceneRenderingWidgets (#3539)
* Make MSAA setting work on editor SceneRenderingWidgets

MSAA settings never worked with editor viewport, only on game tab, now with playmode it always takes highest MSAA value from hardware regardless of what

Two things from this PR:
* Pass current engine MSAA setting when creating SceneRenderingWidget swapchain
* Add callback when video settings are changed, recreate swapchain when so

Replicates fine for all SceneRenderingWidgets, applies instantly

https://files.facepunch.com/sampavlovic/1b0311b1/sbox-dev_bjEMrrYe71.mp4

* Push RenderMultisampleType_t nMSAAAmount on interop
2025-12-03 16:41:38 -03:00
Sol Williams
4abac08bff AssetList: fix label clipping, use proper text eliding (#3480) 2025-11-28 12:49:09 +00:00
s&box team
71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00