2
0
luboslenco 3 өдөр өмнө
parent
commit
2762d295a0

+ 10 - 3
paint/sources/base.ts

@@ -1276,14 +1276,21 @@ function ui_base_update() {
 				config_raw.layout[layout_size_t.STATUS_H] -= my;
 			}
 		}
-		else {
+		else { // Sidebar
 			if (ui_base_border_started == border_side_t.LEFT) {
 				config_raw.layout[layout_size_t.SIDEBAR_W] -= math_floor(mouse_movement_x);
 				if (config_raw.layout[layout_size_t.SIDEBAR_W] < ui_sidebar_w_mini) {
 					config_raw.layout[layout_size_t.SIDEBAR_W] = ui_sidebar_w_mini;
 				}
-				else if (config_raw.layout[layout_size_t.SIDEBAR_W] > iron_window_width() - ui_sidebar_w_mini) {
-					config_raw.layout[layout_size_t.SIDEBAR_W] = iron_window_width() - ui_sidebar_w_mini;
+				else if (config_raw.layout[layout_size_t.SIDEBAR_W] > iron_window_width() - ui_sidebar_w_mini * 2) {
+					config_raw.layout[layout_size_t.SIDEBAR_W] = iron_window_width() - ui_sidebar_w_mini * 2;
+				}
+
+				if (ui_nodes_show || ui_base_show) {
+					// Scale down node view if viewport is already at minimal size
+					if (config_raw.layout[layout_size_t.NODES_W] + config_raw.layout[layout_size_t.SIDEBAR_W] + ui_sidebar_w_mini > iron_window_width()) {
+						config_raw.layout[layout_size_t.NODES_W] = iron_window_width() - config_raw.layout[layout_size_t.SIDEBAR_W] - ui_sidebar_w_mini;
+					}
 				}
 			}
 			else {

+ 7 - 0
paint/sources/ui_menubar.ts

@@ -115,10 +115,17 @@ function ui_menubar_render_ui() {
 			}
 		}
 
+		// Store real menubar w
 		if (ui_menubar_w < ui._x + 10) {
 			ui_menubar_w = math_floor(ui._x + 10);
 			ui_toolbar_handle.redraws = 2;
 		}
+		// Crop menubar if sidebar + nodes are overlapping
+		let nodesw: i32 = (ui_nodes_show || ui_view2d_show) ? config_raw.layout[layout_size_t.NODES_W] : 0;
+		if (ui_menubar_w > iron_window_width() - config_raw.layout[layout_size_t.SIDEBAR_W] - nodesw) {
+			ui_menubar_w = iron_window_width() - config_raw.layout[layout_size_t.SIDEBAR_W] - nodesw;
+			ui_toolbar_handle.redraws = 2;
+		}
 
 		ui_end_menu();
 	}