This commit is contained in:
Matt Parker
2025-09-12 21:30:22 +10:00
parent 1ef12d4bf9
commit 5179802f48
4 changed files with 119 additions and 1 deletions

View File

@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="24"
height="24"
viewBox="0 0 24 24"
role="img"
aria-label="folder icon"
version="1.1"
id="svg1"
sodipodi:docname="SlnIcon.svg"
inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect2"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,1.0887163,0,1 @ F,0,1,1,0,1.0887163,0,1 @ F,0,1,1,0,1.0887163,0,1 @ F,0,1,1,0,1.0887163,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /></defs><sodipodi:namedview
id="namedview1"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:zoom="34.383068"
inkscape:cx="7.5618616"
inkscape:cy="12.317109"
inkscape:window-width="2560"
inkscape:window-height="1369"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" /><!-- background (transparent) --><rect
width="24"
height="24"
fill="none"
id="rect1" /><path
id="rect2"
style="display:inline;fill:#4b4d50;stroke:#dfe5e9;stroke-width:0.914"
d="M 4.8647883,5.4920325 H 19.100495 a 1.0887163,1.0887163 45 0 1 1.088716,1.0887163 l 0,10.8619542 a 1.0887163,1.0887163 135 0 1 -1.088716,1.088716 H 4.8647883 A 1.0887163,1.0887163 45 0 1 3.776072,17.442703 V 6.5807488 A 1.0887163,1.0887163 135 0 1 4.8647883,5.4920325 Z"
inkscape:path-effect="#path-effect2"
inkscape:original-d="M 3.776072,5.4920325 H 20.189211 V 18.531419 H 3.776072 Z"
transform="translate(0.0173585)" /><!-- folder body (filled) --><path
style="fill:#4b4d50;fill-opacity:1;stroke:#dfe5e9;stroke-width:1;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="M 5.4751851,7.2710207 H 18.524815"
id="path2"
sodipodi:nodetypes="cc" /><g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Sln"
style="display:inline"><g
id="g1"
transform="matrix(0.64008447,0,0,0.64008447,7.9104015,7.5473195)"><polygon
points="22,20 2,20 12,4 "
fill="#9333ea"
id="polygon1" /><polygon
points="19,18.5 5,18.5 12,7 "
fill="#c084fc"
id="polygon2" /></g></g></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://btlxqx3c08fjj"
path="res://.godot/imported/SlnIcon.svg-28ea2e2bd38af71b7008abec1f750ac9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Features/SolutionExplorer/Resources/SlnIcon.svg"
dest_files=["res://.godot/imported/SlnIcon.svg-28ea2e2bd38af71b7008abec1f750ac9.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -18,6 +18,8 @@ public partial class SolutionExplorerPanel : Panel
public Texture2D SlnFolderIcon { get; set; } = null!;
[Export]
public Texture2D CsprojIcon { get; set; } = null!;
[Export]
public Texture2D SlnIcon { get; set; } = null!;
public SharpIdeSolutionModel SolutionModel { get; set; } = null!;
private Tree _tree = null!;
@@ -44,6 +46,7 @@ public partial class SolutionExplorerPanel : Panel
var rootItem = _tree.CreateItem();
rootItem.SetText(0, SolutionModel.Name);
rootItem.SetIcon(0, SlnIcon);
// Add projects directly under solution
foreach (var project in SolutionModel.Projects)

View File

@@ -1,10 +1,11 @@
[gd_scene load_steps=6 format=3 uid="uid://cy1bb32g7j7dr"]
[gd_scene load_steps=7 format=3 uid="uid://cy1bb32g7j7dr"]
[ext_resource type="Script" uid="uid://bai53k7ongbxw" path="res://Features/SolutionExplorer/SolutionExplorerPanel.cs" id="1_gjy0r"]
[ext_resource type="Texture2D" uid="uid://do0edciarrnp0" path="res://Features/SolutionExplorer/Resources/CsharpFile.svg" id="2_8ymw0"]
[ext_resource type="Texture2D" uid="uid://xc8srvqwlwng" path="res://Features/SolutionExplorer/Resources/FolderIcon.svg" id="3_r1qfc"]
[ext_resource type="Texture2D" uid="uid://bbfxltr1fcomt" path="res://Features/SolutionExplorer/Resources/SlnFolderIcon.svg" id="4_8ymw0"]
[ext_resource type="Texture2D" uid="uid://cqt30ma6xgder" path="res://Features/SolutionExplorer/Resources/Csproj.svg" id="5_r1qfc"]
[ext_resource type="Texture2D" uid="uid://btlxqx3c08fjj" path="res://Features/SolutionExplorer/Resources/SlnIcon.svg" id="6_idvpu"]
[node name="SolutionExplorerPanel" type="Panel"]
anchors_preset = 15
@@ -17,6 +18,7 @@ CsharpFileIcon = ExtResource("2_8ymw0")
FolderIcon = ExtResource("3_r1qfc")
SlnFolderIcon = ExtResource("4_8ymw0")
CsprojIcon = ExtResource("5_r1qfc")
SlnIcon = ExtResource("6_idvpu")
[node name="Tree" type="Tree" parent="."]
layout_mode = 1