From 4c86f7a47d500b384c08383345570780d19036c9 Mon Sep 17 00:00:00 2001 From: Mark Gregory Date: Tue, 29 Sep 2026 11:59:34 +0100 Subject: [PATCH] UI updates --- .DS_Store | Bin 6148 -> 10244 bytes .idea/.gitignore | 10 ++ .idea/SonarDesk.iml | 8 ++ .idea/editor.xml | 101 ++++++++++++++++++ .idea/modules.xml | 8 ++ .idea/vcs.xml | 7 ++ SonarDesk.xcodeproj/project.pbxproj | 2 +- .../UserInterfaceState.xcuserstate | Bin 10694 -> 18449 bytes SonarDesk/.DS_Store | Bin 0 -> 8196 bytes SonarDesk/App/SonarDeskApp.swift | 7 +- sonar-desk-licensing/deploy.php | 6 +- 11 files changed, 140 insertions(+), 9 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/SonarDesk.iml create mode 100644 .idea/editor.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 SonarDesk/.DS_Store diff --git a/.DS_Store b/.DS_Store index 19541723602f209465b9ed8ee5e0e828bd8b2a5a..5d21d16a14d060f8293de3795a851c434fd9e0f6 100644 GIT binary patch literal 10244 zcmeHMYitx%6uxI#V1_bwN?V~Y3kw^dKnq*wMxcV*?eZ21-KE`@N15Fj+JV`bb!T>4 z#l~WMBx-zNOiWCCp}+7E6Jt>Ek@y3}M`9Y|BQY`lKqW>^^p`*M+_|$2^g$p7192vq zd*+^dzdQGyIp3T)cL*U6E2vF`1PLKLo>WRRu$bVW?erXXaGr+Z0P%$6Nh48-Mr?9q zTyJ0DTfnz~Zvo!|z6E>>TniS!m`xA9f=R#hE#OpZb`QM9Jix^SJsI`nFq1A6$7I<9cu??C3}A3<57O=^qn;dQlEDcuI05g@;AJS_ z-W_p4w>yC-lYZ%2z_-A73((xX2J>}`m_)fKe{UoP(Mblgc@x`pEc*<**p@b|G$Cc_ zbk5LiCmjA3xU%voQ>XF5^okkc4RWeG)w5UJpVBjynb7ahdZkLc-x}D8)m?e5sA~gV z8OtbSO}kgB$|y#rU?`5(Y8bS$-J=X9wLzx@%;YV@*k#$eqg!To%9*Sw)ni+Er_CL= zSCR_0)}i6BdQpqx;CQE*^v3NuI*i?^o&jBT`nwf7qnWC1_VwthW;*&IUCRqq&>$pDC993p&6!&*2juya zp?E38rwVEPwu0{5K2lvZQ(CZ47Wb(*!5x-LM^mLYc)@L1yik_+(w4TohNa5$u6o&W zSxnk!CrR--t_+J}@`!G#k}WW3b3~N)7)n|*BvoLrwd+K=tH@R@ZTFNLYDGDfv9eiQ zitXuQZL)lT-u70-cG`2AiBme`-Fq{(_1OJNUTYsPwY;a@j#~E#qn?5`s=8y*M%Nk( z<=s5rO$TgMRZShKo-?;Dk)#MoH;cN1PY9g^MZuQ7;CVh2UB(_ssN|@j_mzY0wQFOc zrlj{IjT-YwJy}O$q!azuCU=sD$y4Mc`G9;(&XRA)59B=go%{t;VH!+_3Xq@<7Qhl{ zf>qEA5!e8mAqkz(1u0M<3no}F2t#le48t*a03LzI;Bhz(Ps8(Y0$zld;8l1NPQhF7 zHhc)5!e{U~dyc7b21m;=5b57dTuGVn!A~6=XP@)T!Kq-`?*7$ z#W`Got%36b8aZ(B+PM3$ekIJzF=le7Ct+q_%hoO1wu?KiCuV+KNx4{4d*iIx3l=XA zN7inLjruHe@{(U)$QG9(7ZJ;)i0eXQ+?)ET9GE8tCu8j%z9=I3oheweX$KeTh5}tu);W>B#PQuGbjo09HB*tlY7v6(2@DZGaPdtiz zj|BM@ejDTTJI6RZCBtPqeKCdCRhV6 z2tuz^cl2l^+}sdc)qK-XL-1%*Q&YGh7>P6w4GDa0Xk|-B?-3(wS`RW4K$u)W8_Thm7vvsfzI_` zIO~IK^4EJ=#ugBy`~Mp!|NnozFVmmDZvo!|m#_eo#}n}wb||GFWBby*_8^`I@uUas zH_W69!Gd<7dUrb>D|9=)-qU&eY;Jqh(+xA}!V%}fQL^3qtNt@!bbE^>+kXD<=l}Nq HEdT!pdO)9q delta 165 zcmZn(XfcprU|?W$DortDU=RQ@Ie-{MGjdEU6q~50D9QrjfW?X!To_UriW#yQ^d=TA zXJnb&Bd0aFMvk9R6v#5;_;@X~?Y8L&M<7Q>D8(fyCqD^f9+I%uWFz^j8ynnM7qfG4 n2r>g@fk1#8NVtM5+*tUXc{0C> + + + + + + + \ No newline at end of file diff --git a/.idea/editor.xml b/.idea/editor.xml new file mode 100644 index 0000000..ca29dcc --- /dev/null +++ b/.idea/editor.xml @@ -0,0 +1,101 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..7db1ba3 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..b57c063 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/SonarDesk.xcodeproj/project.pbxproj b/SonarDesk.xcodeproj/project.pbxproj index 9056460..092a100 100644 --- a/SonarDesk.xcodeproj/project.pbxproj +++ b/SonarDesk.xcodeproj/project.pbxproj @@ -17,7 +17,7 @@ A8 = {isa = XCConfigurationList; buildConfigurations = (A14,A15); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release;}; A12 = {isa = XCBuildConfiguration; buildSettings = {CLANG_ENABLE_MODULES = YES; MACOSX_DEPLOYMENT_TARGET = 14.0; SDKROOT = macosx; SWIFT_VERSION = 5.0;}; name = Debug;}; A13 = {isa = XCBuildConfiguration; buildSettings = {CLANG_ENABLE_MODULES = YES; MACOSX_DEPLOYMENT_TARGET = 14.0; SDKROOT = macosx; SWIFT_VERSION = 5.0;}; name = Release;}; - A14 = {isa = XCBuildConfiguration; buildSettings = {ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = SonarDesk/SonarDesk.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 5; ENABLE_APP_SANDBOX = YES; ENABLE_HARDENED_RUNTIME = YES; ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES; CODE_SIGN_INJECT_BASE_ENTITLEMENTS = NO; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_CFBundleDisplayName = SonarDesk; INFOPLIST_KEY_CFBundleIconName = AppIcon; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; MARKETING_VERSION = 2.1.0; PRODUCT_BUNDLE_IDENTIFIER = net.absdev.SonarDesk; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_STRICT_CONCURRENCY = targeted; SWIFT_VERSION = 5.0;}; name = Debug;}; + A14 = {isa = XCBuildConfiguration; buildSettings = {ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = SonarDesk/SonarDesk.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 5; ENABLE_APP_SANDBOX = YES; ENABLE_HARDENED_RUNTIME = YES; ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES; CODE_SIGN_INJECT_BASE_ENTITLEMENTS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_CFBundleDisplayName = SonarDesk; INFOPLIST_KEY_CFBundleIconName = AppIcon; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; MARKETING_VERSION = 2.1.0; PRODUCT_BUNDLE_IDENTIFIER = net.absdev.SonarDesk; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_STRICT_CONCURRENCY = targeted; SWIFT_VERSION = 5.0;}; name = Debug;}; A15 = {isa = XCBuildConfiguration; buildSettings = {ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = SonarDesk/SonarDesk.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 5; ENABLE_APP_SANDBOX = YES; ENABLE_HARDENED_RUNTIME = YES; ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES; CODE_SIGN_INJECT_BASE_ENTITLEMENTS = NO; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_CFBundleDisplayName = SonarDesk; INFOPLIST_KEY_CFBundleIconName = AppIcon; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; MARKETING_VERSION = 2.1.0; PRODUCT_BUNDLE_IDENTIFIER = net.absdev.SonarDesk; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_STRICT_CONCURRENCY = targeted; SWIFT_VERSION = 5.0;}; name = Release;}; }; rootObject = A1; diff --git a/SonarDesk.xcodeproj/project.xcworkspace/xcuserdata/markgregory.xcuserdatad/UserInterfaceState.xcuserstate b/SonarDesk.xcodeproj/project.xcworkspace/xcuserdata/markgregory.xcuserdatad/UserInterfaceState.xcuserstate index f521cc7fabe8e76b4bd22176c15c532b2e447dc3..87698ef65c4a6519d51c9ade5428638d3711b88c 100644 GIT binary patch literal 18449 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 delta 5466 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 diff --git a/SonarDesk/.DS_Store b/SonarDesk/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..05cca0001d41a3cb147f61310a33843baca563ad GIT binary patch literal 8196 zcmeHMX>8m?6rMLp8@s`D(lj(_z3n!u-YMO*iReMgW|Q8uX|vm8lOCye?Y34Ods%xo zffA9T0umsuA|xavZhn2S-c;oT*NZCIi5D^~9 z^E_|fo0<3geV!dJAq0{|y_JwgLWqPHm#h}6KPkMQUsn|xXr`b9^e1jUYdKkLozCX3 zvJMqt2Eq)483;2FW+2SKe<1_7XY(Re*!M+mSce%1Gw{F60DnJ3@!~QO$T1=PR|i)9 z5ddX1s{MlZjNhP)1~L)IF(I)B3kX+~!WDue1_*c5M+3V=AjgCh?gWCv2Lv-ia6$op zb{s$In-fR~8P;J2!VFxU0e*I`A{``8^4a0b&+nG$dhz&YK&z^!Os$b5saD#bI^qnc zJk2Y*Nv*J#x6+PdWy|+kw%0U<2ieR{$M!VSHVVFjsT*jrug|n~XE^B;ZQb>KQ=&tX zWqFV_9Xr+@Z)=IJY`bB!C3>v2wKd)nZEtTI9hIeq*ot*MgGa3)+qq9f0Kr>;C=(*O z|57-*o3paGJZ=$0Xt||M@r9x)o6U;|zbZ#4PpiE~xmL~eX9o5v`!i5b6^ORitF zdVR;HZ999$S>23!r9qk1S2A5QYZ-fnP2D@vuemwH)=m5H04Cn{%tNM8kn5mDPTSg$ zG2S$LPQ4mY=T-8OSWLfS8bX?#LN9UvI>@`XDdlojU>R#T{ zSun8HCCOJWU8X8&7xTolz;H!eQPM{d8O)W1Yg@ab?y1 z4GoH#$vHzq7>XO{lAWr0fKPj~=6cv~ zqi%W*@AR|LtnQYiem-D_t{eJz{p>kSsWkUsrd=|T3HTfYA=sx#kyv7>cqB0)2#LL; z9rW-09LqDy`atqsZys4p){-RYB^q(b?c@RSI5|b$B_EJ;~ET@ zD2yOS{UvopHc7}V_76b*YjU3aKz;>4$k#(7M4$y>z8*SZ2c!_{9Owg(104>*VKAWp zE)=1Jpg#_G!U?zw?tzC8^e5p_cnqF|r{HOL7EZy72>e&zRfPQ+cnjW!v+zEggAW4& ze1q`+5q_Eg>75fG&7mGZx|Ax|mSZ1AO_=~!8c%{&l~`jVKmTv6{QZ9tL=rAB%s`ld zznTH4?n-qf(Yw-{jGwimcpb!x7j8Eur0;^2e;h~YAIDK%{KF9MqiD)~5`i2O5;a)< a^$!7;|0Mr=zq`ZzKivO)1p7dqWYr(Kf`&W* literal 0 HcmV?d00001 diff --git a/SonarDesk/App/SonarDeskApp.swift b/SonarDesk/App/SonarDeskApp.swift index 48cf0f8..4510019 100644 --- a/SonarDesk/App/SonarDeskApp.swift +++ b/SonarDesk/App/SonarDeskApp.swift @@ -3,11 +3,8 @@ import AppKit final class SonarDeskAppDelegate: NSObject, NSApplicationDelegate { func applicationDidFinishLaunching(_ notification: Notification) { - // Force the branded icon for development builds as well as installed builds. - // The asset-catalog AppIcon remains the packaged Finder/Dock icon. - if let icon = NSImage(named: "SonarDeskLogo") { - NSApplication.shared.applicationIconImage = icon - } + // Do not replace applicationIconImage at runtime. macOS obtains the Dock + // icon from the compiled AppIcon asset in the application bundle. } } diff --git a/sonar-desk-licensing/deploy.php b/sonar-desk-licensing/deploy.php index f55b6e0..c80c1ac 100755 --- a/sonar-desk-licensing/deploy.php +++ b/sonar-desk-licensing/deploy.php @@ -9,7 +9,7 @@ set('writable_use_sudo', true); set('clear_use_sudo', true); set('cleanup_use_sudo', true); set('keep_releases', 1); -set('repository', 'git@git.absdev.net:mag/sonardesk_licensing_server.git'); +set('repository', 'git@git.absdev.net:mag/SonarDesk-Licencing-Server.git'); set('node_version', '22.12.0'); set('allow_anonymous_stats', false); @@ -22,13 +22,13 @@ host('main') ->set('hostname', 'sonardesk.absdev.net') ->set('remote_user', 'mag') ->set('branch', 'main') - ->set('deploy_path', '/var/www/sonardesk'); + ->set('deploy_path', '/var/www/sonardesk/main'); host('stage') ->set('hostname', 'sonardesk.absdev.net') ->set('remote_user', 'mag') ->set('branch', 'stage') - ->set('deploy_path', '/var/www/sonardesk_dev'); + ->set('deploy_path', '/var/www/sonardesk/stage'); task('build', function (): void { run('export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && nvm use {{node_version}} && cd {{release_path}} && npm ci --no-audit --no-fund');