Compare commits

...

2 Commits

Author SHA1 Message Date
Ray
bcac951ab4 Changed to upgrade nupkg 2026-07-07 15:08:09 +01:00
Ray
dd2579e892 Changed folder structure
Added README
Added icon and wiki
2026-07-07 14:32:59 +01:00
69 changed files with 460 additions and 225 deletions

12
.gitignore vendored
View File

@ -1,6 +1,6 @@
/.vs bin
/bin obj
/obj packages
*.user *~
*.pubxml.user .github
*.csproj.user .vs

3
BukkuBuddy.slnx Normal file
View File

@ -0,0 +1,3 @@
<Solution>
<Project Path="source/BukkuBuddy.csproj" />
</Solution>

40
README.md Normal file
View File

@ -0,0 +1,40 @@
# BukkuBuddy Bookmark Manager
> BukkuBuddy Bookmark Manager is a free utility for storing and organising your favourite Internet shortcuts. Your bookmarks are stored in a local save file to give you complete control.
![Icon](icon/icon_64.png)
---
## Features
- Store and organise Internet bookmarks
- Locally cached favicons (supported formats only)
- No ads
## Screenshots
[![screenshot](wiki/screenshot-1-h240.png)](wiki/screenshot-1.png)
---
## Releases & Builds
See [Releases](/HiImRay_Public/bukkubuddy-bookmark-manager)
## Acknowledgements
This software uses a number of dependencies and assets from third-parties.
These developers and artists deserve due credit for their work and for their commitment to sharing their work freely.
Each product is released under their own particular license, for more information please visit their websites.
- [Feather - Simply Beautiful Open Source Icons](https://feathericons.com/)
- [HtmlAgilityPack](https://htmlagilitypack.codeplex.com/)
- [Lucide](https://lucide.dev/icons/)
## License
This software is due to be released under the GPLv3 license.
All software on this website is provided "as is" without warranty of any kind, either express or implied.
The use of this software, in particular, is done solely at your own risk; with agreement that the original author is not liable for any damage (subsequently incurred) of any kind.

View File

@ -1,18 +1,15 @@
RMDIR /s /q "bin\" rmdir /s /q "bin\"
RMDIR /s /q "obj\" rmdir /s /q "source\bin\"
rmdir /s /q "source\obj\"
MKDIR bin dotnet restore BukkuBuddy.slnx
dotnet publish BukkuBuddy.slnx -r win-x64 -c Release /p:PublishSingleFile=true /p:SelfContained=false /p:PublishReadyToRunfalse=true /p:PublishDir="..\bin\"
dotnet restore skye.sln
#dotnet build skye.sln -c Release -o ./bin/
dotnet publish skye.sln -r win-x64 -c Release /p:PublishSingleFile=true /p:SelfContained=false /p:PublishReadyToRunfalse=true /p:PublishDir="bin\"
"C:\B\Portable Files (dev)\Inno Setup\v6.0.4-2\app\ISCC.exe" "build-installer.iss" "C:\B\Portable Files (dev)\Inno Setup\v6.0.4-2\app\ISCC.exe" "build-installer.iss"
"C:\B\Portable Files\7-Zip (Portable)\25.01\App\7-Zip64\7z.exe" a -t7z "bin\bukkubuddy.7z" ".\bin\bukkubuddy.exe" -mx9 "C:\B\Portable Files\7-Zip (Portable)\26.02\App\7-Zip64\7z.exe" a -t7z "bin\bukkubuddy.7z" ".\bin\bukkubuddy.exe" -mx9
RMDIR /s /q "bin\debug" rmdir /s /q "source\bin\"
RMDIR /s /q "bin\release" rmdir /s /q "source\obj\"
RMDIR /s /q "obj\"
PAUSE PAUSE

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

195
icon/icon.svg Normal file
View File

@ -0,0 +1,195 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="46.054932"
height="46.054932"
viewBox="0 0 46.054932 46.054931"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
class="feather feather-bookmark"
version="1.1"
id="svg4"
sodipodi:docname="logo.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs8">
<linearGradient
id="linearGradient856">
<stop
id="stop857"
offset="0"
stop-opacity="0.5"
stop-color="#ffffff" />
<stop
id="stop858"
offset="1"
stop-opacity="0.25"
stop-color="#ffffff" />
</linearGradient>
<linearGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.79291263,0,0,1.261173,-197.94453,-91.992003)"
id="linearGradient859"
x1="174.3136"
x2="284.79895"
xlink:href="#linearGradient856"
y1="129.67796"
y2="147.37285" />
</defs>
<sodipodi:namedview
id="namedview6"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="1.0833333"
inkscape:cx="273.69231"
inkscape:cy="58.615385"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="1912"
inkscape:window-y="845"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<path
d="m 63.777467,15.992979 -7,-5 -7,5 V -0.00702137 a 2,2 0 0 1 2,-2.00000003 h 10 a 2,2 0 0 1 2,2.00000003 z"
id="path2"
style="stroke:#000000;stroke-opacity:1" />
<path
d="m 19.807212,21.867836 -1.646634,2.305289 1.646634,2.305288 H 14.537981 A 0.65865385,0.65865385 0 0 1 13.879327,25.819759 V 22.52649 a 0.65865385,0.65865385 0 0 1 0.658654,-0.658654 z"
id="path2-9"
style="fill:#e80900;fill-opacity:1;stroke:#000000;stroke-width:0.658654;stroke-opacity:1" />
<path
d="m -42.637513,6.0516829 h 6.582996 a 4.388664,4.388664 0 0 1 4.388664,4.3886641 v 15.360324 a 3.291498,3.291498 0 0 0 -3.291498,-3.291498 h -7.680162 z"
id="path825"
style="fill:none;stroke:#000000;stroke-width:2.19433;stroke-linecap:round;stroke-linejoin:round" />
<path
d="m -8.2640682,14.195761 h -9.3424668 a 6.2283114,3.9241064 0 0 0 -6.228312,3.924106 V 31.85424 a 4.6712335,2.9430798 0 0 1 4.671234,-2.94308 h 10.8995448 z"
id="path827"
style="fill:none;stroke:#000000;stroke-width:2.47187;stroke-linecap:round;stroke-linejoin:round" />
<path
d="m 25.027466,-6.0109955 a 5,5 0 0 0 7.54,0.54 l 3,-3 a 5,5 0 0 0 -7.07,-7.0700005 l -1.72,1.71"
id="path839"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
<path
d="m 19.87362,-5.6648417 a 5,5 0 0 1 -7.54,0.54 l -3.0000001,-3 A 5,5 0 0 1 16.40362,-15.194842 l 1.72,1.71"
id="path839-1"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
<path
d="m 52.114201,-19.074649 a 3.8569554,3.8569554 0 0 0 -5.816289,-0.416552 l -2.314174,2.314174 a 3.8569554,3.8569554 0 0 0 5.453735,5.453735 l 1.319079,-1.319079"
id="path841"
style="fill:none;stroke:#000000;stroke-width:1.23423;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
<image
width="23.192308"
height="23.192308"
preserveAspectRatio="none"
xlink:href="data:image/png;base64,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 "
id="image863"
x="-6.5686865"
y="-50.814713" />
<circle
cx="-18.107149"
cy="-3.4685137"
r="7"
id="circle867"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
<polyline
points="8.21 13.89 7 23 12 20 17 23 15.79 13.88"
id="polyline869"
transform="translate(-36.164842,18.87764)"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" />
<path
d="M 4.9400543,31.055915 H 16.032712 V 14.622349 H 4.9400543 A 2.0541958,2.0541958 0 0 0 2.8858585,16.676545 V 29.00172 a 2.0541958,2.0541958 0 0 0 2.0541958,2.054195 z"
id="path927"
style="fill:#f7d652;stroke:#000000;stroke-width:1.64336;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" />
<path
d="m 2.8858585,16.676545 a 2.0541958,2.0541958 0 0 0 2.0541958,2.054196 H 16.032712"
id="path925"
style="fill:none;stroke:#000000;stroke-width:1.64336;stroke-linecap:round;stroke-linejoin:round" />
<path
d="m 40.696291,48.028704 -2.305289,-1.646634 -2.305288,1.646634 v -5.269231 a 0.65865385,0.65865385 0 0 1 0.658654,-0.658654 h 3.293269 a 0.65865385,0.65865385 0 0 1 0.658654,0.658654 z"
id="path2-9-5"
style="fill:#e80900;fill-opacity:1;stroke:#000000;stroke-width:0.658654;stroke-opacity:1" />
<path
d="M 32.960865,43.755244 H 44.053523 V 27.321678 H 32.960865 a 2.0541958,2.0541958 0 0 0 -2.054196,2.054196 v 12.325175 a 2.0541958,2.0541958 0 0 0 2.054196,2.054195 z"
id="path927-0"
style="fill:#f7d652;fill-opacity:1;stroke:#000000;stroke-width:1.64336;stroke-linecap:round;stroke-linejoin:round" />
<path
d="m 30.906669,29.375874 a 2.0541958,2.0541958 0 0 0 2.054196,2.054196 h 11.092658"
id="path925-3"
style="fill:none;stroke:#000000;stroke-width:1.64336;stroke-linecap:round;stroke-linejoin:round" />
<path
style="fill:#f7d652;fill-opacity:1;fill-rule:evenodd;stroke:#333333;stroke-width:2.85593;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0"
d="m -47.962208,-14.579983 -21.637657,6.6311145 -16.69209,-15.0066355 4.94559,-21.637674 21.637665,-6.631048 16.692084,15.006585 z"
id="path852-2"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
inkscape:export-filename="L:\L\xData (95785206A)\0000\graphics\gitlab\icon16.png" />
<g
style="fill:#ffffff;fill-opacity:1;stroke:#333333;stroke-width:1.25585;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="g2272"
transform="matrix(1.1143253,-0.28006363,0.28006363,1.1143253,-80.622395,-39.917068)">
<polygon
points="8.91,8.26 12,2 15.09,8.26 22,9.27 17,14.14 18.18,21.02 12,17.77 5.82,21.02 7,14.14 2,9.27 "
id="polygon2263"
style="fill:#ffffff;fill-opacity:1;stroke:#333333;stroke-width:1.25585;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<path
d="m 10.322213,51.117788 -1.646635,2.305289 1.646635,2.305288 H 5.052981 A 0.65865385,0.65865385 0 0 1 4.394327,55.069711 v -3.293269 a 0.65865385,0.65865385 0 0 1 0.658654,-0.658654 z"
id="path2-9-0-3"
style="fill:#3465a4;fill-opacity:1;stroke:#000000;stroke-width:0.658654;stroke-opacity:1" />
<path
d="m 10.322254,53.028704 -1.6466343,2.305289 1.6466343,2.305288 H 5.0530227 a 0.65865385,0.65865385 0 0 1 -0.658654,-0.658654 v -3.293269 a 0.65865385,0.65865385 0 0 1 0.658654,-0.658654 z"
id="path2-9-0"
style="fill:#e80900;fill-opacity:1;stroke:#000000;stroke-width:0.658654;stroke-opacity:1" />
<path
d="M -4.5449043,62.216783 H 6.5477537 V 45.783217 h -11.092658 a 2.0541958,2.0541958 0 0 0 -2.0541958,2.054196 v 12.325175 a 2.0541958,2.0541958 0 0 0 2.0541958,2.054195 z"
id="path927-02"
style="fill:#f7d652;fill-opacity:1;stroke:#000000;stroke-width:1.64336;stroke-linecap:round;stroke-linejoin:round" />
<path
d="m -6.5991001,47.837413 a 2.0541958,2.0541958 0 0 0 2.0541958,2.054196 h 11.092658"
id="path925-7"
style="fill:none;stroke:#000000;stroke-width:1.64336;stroke-linecap:round;stroke-linejoin:round" />
<g
id="g2819"
transform="matrix(19.381411,0,0,19.381411,-372.61927,-1057.6381)"
inkscape:export-filename="N:\D\icon-16.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<path
d="m 38.014213,60.925481 -1.646635,2.305289 1.646635,2.305288 h -5.269232 a 0.65865385,0.65865385 0 0 1 -0.658654,-0.658654 v -3.293269 a 0.65865385,0.65865385 0 0 1 0.658654,-0.658654 z"
id="path2-9-0-3-9-9"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.658654;stroke-opacity:1" />
<path
d="M 38.01452,63.694711 36.367885,66 38.01452,68.305288 h -5.269232 a 0.65865385,0.65865385 0 0 1 -0.658654,-0.658654 v -3.293269 a 0.65865385,0.65865385 0 0 1 0.658654,-0.658654 z"
id="path2-9-0-3-9"
style="fill:#3465a4;fill-opacity:1;stroke:#000000;stroke-width:0.658654;stroke-opacity:1" />
<path
d="m 38.014561,65.605627 -1.646634,2.305289 1.646634,2.305288 H 32.74533 A 0.65865385,0.65865385 0 0 1 32.086676,69.55755 v -3.293269 a 0.65865385,0.65865385 0 0 1 0.658654,-0.658654 z"
id="path2-9-0-7"
style="fill:#e80900;fill-opacity:1;stroke:#000000;stroke-width:0.658654;stroke-opacity:1" />
<path
d="M 23.147403,74.793706 H 34.240061 V 58.36014 H 23.147403 a 2.0541958,2.0541958 0 0 0 -2.054196,2.054196 v 12.325175 a 2.0541958,2.0541958 0 0 0 2.054196,2.054195 z"
id="path927-02-5"
style="fill:#f7d652;fill-opacity:1;stroke:#000000;stroke-width:1.64336;stroke-linecap:round;stroke-linejoin:round" />
<path
d="m 21.093207,60.414336 a 2.0541958,2.0541958 0 0 0 2.054196,2.054196 h 11.092658"
id="path925-7-1"
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

BIN
icon/icon_128.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
icon/icon_16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 B

BIN
icon/icon_24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 617 B

BIN
icon/icon_32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 B

BIN
icon/icon_48.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1,25 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 18
VisualStudioVersion = 18.5.11801.241 oobstable
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BukkuBuddy", "BukkuBuddy.csproj", "{4833FB27-0817-4720-A54B-180369B0C374}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4833FB27-0817-4720-A54B-180369B0C374}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4833FB27-0817-4720-A54B-180369B0C374}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4833FB27-0817-4720-A54B-180369B0C374}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4833FB27-0817-4720-A54B-180369B0C374}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {CB4C1DB0-19FE-4AA0-9621-D66FAC4CF7C5}
EndGlobalSection
EndGlobal

View File

@ -14,7 +14,7 @@
<Copyright>Ray Lam</Copyright> <Copyright>Ray Lam</Copyright>
<AssemblyVersion>1.0.0.0</AssemblyVersion> <AssemblyVersion>1.0.0.0</AssemblyVersion>
<FileVersion>1.0.0.0</FileVersion> <FileVersion>1.0.0.0</FileVersion>
<Version>0.7.0.255</Version> <Version>0.7.0.272</Version>
<PackageId>bukkubuddy</PackageId> <PackageId>bukkubuddy</PackageId>
<RunAnalyzersDuringLiveAnalysis>True</RunAnalyzersDuringLiveAnalysis> <RunAnalyzersDuringLiveAnalysis>True</RunAnalyzersDuringLiveAnalysis>
<SupportedOSPlatformVersion>8.0</SupportedOSPlatformVersion> <SupportedOSPlatformVersion>8.0</SupportedOSPlatformVersion>
@ -149,8 +149,9 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="HtmlAgilityPack" Version="1.12.4" /> <PackageReference Include="HtmlAgilityPack" Version="1.12.4" />
<PackageReference Include="RyzStudio" Version="10.1.0.128" /> <PackageReference Include="RyzStudio" Version="10.1.1.261" />
<PackageReference Include="RyzStudio.Windows.Forms" Version="10.1.0.140" /> <PackageReference Include="RyzStudio.Windows.Forms" Version="10.3.0.97" />
<PackageReference Include="RyzStudio.Windows.Forms.Themed" Version="10.3.0.72" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
<ItemGroup>
<Compile Update="Forms\EditBookmarkForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="Forms\FindForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="Forms\LoadingForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="Forms\OptionsForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="Windows\Forms\BookmarkTreeView.cs">
<SubType>Component</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Resources\MainMenuResource.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Update="Resources\TreeViewResource.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
</Project>

View File

@ -14,8 +14,8 @@ namespace BukkuBuddy.Forms
{ {
private Label label1; private Label label1;
private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1; private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1;
private ThToolbarMemoBox memoBox1; private RyzStudio.Windows.ThemedForms.T3MemoBox memoBox1;
private ThUserControl userControl1; private RyzStudio.Windows.ThemedForms.T3UserControl userControl1;
private TProgressBar progressBar1; private TProgressBar progressBar1;
private readonly WebPageService _webPageService; private readonly WebPageService _webPageService;
@ -29,7 +29,7 @@ namespace BukkuBuddy.Forms
{ {
InitializeComponent(); InitializeComponent();
UISetup.Dialog(this); this.SetupDialog();
_webPageService = new WebPageService(options.AllowUnsafeSSL, options.Timeout, options.AllowCookies, options.AllowRedirects); _webPageService = new WebPageService(options.AllowUnsafeSSL, options.Timeout, options.AllowCookies, options.AllowRedirects);
_rootPath = rootPath; _rootPath = rootPath;
@ -39,8 +39,8 @@ namespace BukkuBuddy.Forms
{ {
label1 = new Label(); label1 = new Label();
dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter(); dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter();
memoBox1 = new ThToolbarMemoBox(); memoBox1 = new T3MemoBox();
userControl1 = new ThUserControl(); userControl1 = new T3UserControl();
progressBar1 = new TProgressBar(); progressBar1 = new TProgressBar();
userControl1.SuspendLayout(); userControl1.SuspendLayout();
SuspendLayout(); SuspendLayout();
@ -171,7 +171,7 @@ namespace BukkuBuddy.Forms
{ {
isBusy = value; isBusy = value;
UIControl.SetEnable(memoBox1, !isBusy); UIControl.Invoke(memoBox1, (_) => memoBox1.Enabled = !isBusy);
dialogFooter1.IsBusy = isBusy; dialogFooter1.IsBusy = isBusy;
} }

View File

@ -4,14 +4,13 @@ using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using BukkuBuddy.DTOs.SaveFile; using BukkuBuddy.DTOs.SaveFile;
using RyzStudio.Windows.Forms; using RyzStudio.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace BukkuBuddy.Forms namespace BukkuBuddy.Forms
{ {
public class ClearIconsForm : Form public class ClearIconsForm : Form
{ {
private TProgressBar progressBar1; private TProgressBar progressBar1;
private RyzStudio.Windows.ThemedForms.ThUserControl userControl1; private RyzStudio.Windows.ThemedForms.T3UserControl userControl1;
private Label label1; private Label label1;
private Label label2; private Label label2;
@ -22,7 +21,7 @@ namespace BukkuBuddy.Forms
{ {
InitializeComponent(); InitializeComponent();
UISetup.Dialog(this, true); this.SetupDialog();
this.Text = "Deleting Icons"; this.Text = "Deleting Icons";
@ -33,7 +32,7 @@ namespace BukkuBuddy.Forms
private void InitializeComponent() private void InitializeComponent()
{ {
progressBar1 = new TProgressBar(); progressBar1 = new TProgressBar();
userControl1 = new RyzStudio.Windows.ThemedForms.ThUserControl(); userControl1 = new RyzStudio.Windows.ThemedForms.T3UserControl();
label1 = new Label(); label1 = new Label();
label2 = new Label(); label2 = new Label();
userControl1.SuspendLayout(); userControl1.SuspendLayout();
@ -110,12 +109,12 @@ namespace BukkuBuddy.Forms
progressBar1.Maximum = model.Count; progressBar1.Maximum = model.Count;
progressBar1.Value = 0; progressBar1.Value = 0;
UIControl.SetText(label1, "Deleting..."); UIControl.Invoke(label1, (_) => label1.Text = "Deleting...");
UIControl.SetText(label2, ""); UIControl.Invoke(label2, (_) => label2.Text = "");
foreach (var item in model) foreach (var item in model)
{ {
UIControl.SetText(label2, "... " + item.Value.Title); UIControl.Invoke(label2, (_) => label2.Text = "... " + item.Value.Title);
progressBar1.Value++; progressBar1.Value++;
@ -132,8 +131,8 @@ namespace BukkuBuddy.Forms
_treeView.Clear(false, true); _treeView.Clear(false, true);
UIControl.SetText(label1, ""); UIControl.Invoke(label1, (_) => label1.Text = "");
UIControl.SetText(label2, "Done"); UIControl.Invoke(label2, (_) => label2.Text = "Done");
}); });
this.DialogResult = DialogResult.OK; this.DialogResult = DialogResult.OK;
@ -151,8 +150,8 @@ namespace BukkuBuddy.Forms
public void Clear() public void Clear()
{ {
UIControl.SetText(label1, "Ready"); UIControl.Invoke(label1, (_) => label1.Text = "Ready");
UIControl.SetText(label2, ""); UIControl.Invoke(label2, (_) => label2.Text = "");
progressBar1.Value = progressBar1.Maximum = 0; progressBar1.Value = progressBar1.Maximum = 0;
} }

View File

@ -8,22 +8,21 @@ using BukkuBuddy.Services;
using RyzStudio; using RyzStudio;
using RyzStudio.Windows.Forms; using RyzStudio.Windows.Forms;
using RyzStudio.Windows.ThemedForms; using RyzStudio.Windows.ThemedForms;
using RyzStudio.Windows.ThemedForms.ButtonTextBox;
namespace BukkuBuddy.Forms namespace BukkuBuddy.Forms
{ {
public class EditBookmarkForm : Form public class EditBookmarkForm : Form
{ {
private Label label1; private Label label1;
private ThClearableTextBox textBox1; private RyzStudio.Windows.FontForms.TextBox.T4ClearTextBox textBox1;
private Label label2; private Label label2;
private Label label3; private Label label3;
private ThToolbarMemoBox memoBox1; private RyzStudio.Windows.ThemedForms.T3MemoBox memoBox1;
private Label label4; private Label label4;
private ThIconButtonTextBox textBox2; private RyzStudio.Windows.ThemedForms.T4TextBox textBox2;
private PictureBox pictureBox1; private PictureBox pictureBox1;
private System.ComponentModel.IContainer components; private System.ComponentModel.IContainer components;
private ThClearableTextBox textBox3; private RyzStudio.Windows.FontForms.TextBox.T4ClearTextBox textBox3;
private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1; private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1;
private THorizontalSeparator horizontalSeparator1; private THorizontalSeparator horizontalSeparator1;
@ -37,7 +36,7 @@ namespace BukkuBuddy.Forms
{ {
InitializeComponent(); InitializeComponent();
UISetup.Dialog(this); this.SetupDialog();
this.Text = (result == null) ? "Add Bookmark" : "Edit Bookmark"; this.Text = (result == null) ? "Add Bookmark" : "Edit Bookmark";
@ -50,14 +49,14 @@ namespace BukkuBuddy.Forms
{ {
components = new Container(); components = new Container();
label1 = new Label(); label1 = new Label();
textBox1 = new ThClearableTextBox(); textBox1 = new RyzStudio.Windows.FontForms.TextBox.T4ClearTextBox();
label2 = new Label(); label2 = new Label();
label3 = new Label(); label3 = new Label();
memoBox1 = new ThToolbarMemoBox(); memoBox1 = new T3MemoBox();
label4 = new Label(); label4 = new Label();
textBox2 = new ThIconButtonTextBox(); textBox2 = new RyzStudio.Windows.ThemedForms.T4TextBox();
pictureBox1 = new PictureBox(); pictureBox1 = new PictureBox();
textBox3 = new ThClearableTextBox(); textBox3 = new RyzStudio.Windows.FontForms.TextBox.T4ClearTextBox();
dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter(); dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter();
horizontalSeparator1 = new THorizontalSeparator(); horizontalSeparator1 = new THorizontalSeparator();
((ISupportInitialize)pictureBox1).BeginInit(); ((ISupportInitialize)pictureBox1).BeginInit();
@ -161,7 +160,6 @@ namespace BukkuBuddy.Forms
textBox2.Size = new Size(260, 32); textBox2.Size = new Size(260, 32);
textBox2.TabIndex = 1; textBox2.TabIndex = 1;
textBox2.TabStop = false; textBox2.TabStop = false;
textBox2.UseSystemPasswordChar = false;
textBox2.OnButtonClick += textBox2_OnButtonClick; textBox2.OnButtonClick += textBox2_OnButtonClick;
// //
// pictureBox1 // pictureBox1
@ -316,10 +314,12 @@ namespace BukkuBuddy.Forms
{ {
isBusy = value; isBusy = value;
UIControl.SetEnable(textBox1, !isBusy);
UIControl.SetEnable(textBox2, !isBusy); UIControl.Invoke(textBox1, (_) => textBox1.Enabled = !isBusy);
UIControl.SetEnable(textBox3, !isBusy); UIControl.Invoke(textBox2, (_) => textBox2.Enabled = !isBusy);
UIControl.SetEnable(memoBox1, !isBusy); UIControl.Invoke(textBox3, (_) => textBox3.Enabled = !isBusy);
UIControl.Invoke(memoBox1, (_) => memoBox1.Enabled = !isBusy);
dialogFooter1.IsBusy = isBusy; dialogFooter1.IsBusy = isBusy;
} }
} }
@ -359,7 +359,7 @@ namespace BukkuBuddy.Forms
var image = await GetFavicon(textBox2.Text); var image = await GetFavicon(textBox2.Text);
UIControl.SetImage(pictureBox1, image); UIControl.Invoke(pictureBox1, (_) => pictureBox1.Image = image);
this.IsBusy = false; this.IsBusy = false;
}); });
@ -487,8 +487,8 @@ namespace BukkuBuddy.Forms
var title = _webPageService.ParseTitle(htmlDocument) ?? string.Empty; var title = _webPageService.ParseTitle(htmlDocument) ?? string.Empty;
var description = _webPageService.ParseDescription(htmlDocument) ?? string.Empty; var description = _webPageService.ParseDescription(htmlDocument) ?? string.Empty;
UIControl.SetText(textBox1, title); UIControl.Invoke(textBox1, (_) => textBox1.Text = title);
UIControl.SetText(textBox3, description); UIControl.Invoke(textBox3, (_) => textBox3.Text = description);
var faviconUrl = _webPageService.ParseFavicon(htmlDocument); var faviconUrl = _webPageService.ParseFavicon(htmlDocument);
if (!string.IsNullOrWhiteSpace(faviconUrl)) if (!string.IsNullOrWhiteSpace(faviconUrl))
@ -502,7 +502,7 @@ namespace BukkuBuddy.Forms
} }
} }
UIControl.SetImage(pictureBox1, favicon); UIControl.Invoke(pictureBox1, (_) => pictureBox1.Image = favicon);
} }
return MethodResult.Create(); return MethodResult.Create();

View File

@ -5,17 +5,16 @@ using System.Windows.Forms;
using BukkuBuddy.DTOs.SaveFile; using BukkuBuddy.DTOs.SaveFile;
using RyzStudio.Windows.Forms; using RyzStudio.Windows.Forms;
using RyzStudio.Windows.ThemedForms; using RyzStudio.Windows.ThemedForms;
using RyzStudio.Windows.ThemedForms.ButtonTextBox;
namespace BukkuBuddy.Forms namespace BukkuBuddy.Forms
{ {
public class FindForm : Form public class FindForm : Form
{ {
private Label label1; private Label label1;
private ThButton button2; private RyzStudio.Windows.ThemedForms.T3Button button2;
private THorizontalSeparator horizontalSeparator1; private THorizontalSeparator horizontalSeparator1;
private ThButton button1; private RyzStudio.Windows.ThemedForms.T3Button button1;
private ThClearableTextBox textBox1; private RyzStudio.Windows.FontForms.TextBox.T4ClearTextBox textBox1;
private BookmarkTreeView treeView1 = null; private BookmarkTreeView treeView1 = null;
@ -39,14 +38,14 @@ namespace BukkuBuddy.Forms
private void InitializeComponent() private void InitializeComponent()
{ {
label1 = new Label(); label1 = new Label();
button2 = new ThButton(); button2 = new T3Button();
horizontalSeparator1 = new THorizontalSeparator(); horizontalSeparator1 = new THorizontalSeparator();
textBox1 = new ThClearableTextBox(); textBox1 = new RyzStudio.Windows.FontForms.TextBox.T4ClearTextBox();
button1 = new ThButton(); button1 = new T3Button();
SuspendLayout(); SuspendLayout();
// //
// label1 // label1
// //
label1.AutoSize = true; label1.AutoSize = true;
label1.BackColor = System.Drawing.Color.Transparent; label1.BackColor = System.Drawing.Color.Transparent;
label1.ForeColor = System.Drawing.SystemColors.ControlText; label1.ForeColor = System.Drawing.SystemColors.ControlText;
@ -58,19 +57,16 @@ namespace BukkuBuddy.Forms
label1.TabIndex = 153; label1.TabIndex = 153;
label1.Text = "Find"; label1.Text = "Find";
label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
// //
// button2 // button2
// //
button2.ActiveImage = null;
button2.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; button2.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
button2.BackColor = System.Drawing.Color.Transparent; button2.BackColor = System.Drawing.Color.Transparent;
button2.EnableMenuOnClick = false; button2.EnableMenuOnClick = false;
button2.EnableMovable = false; button2.EnableMovable = false;
button2.HoverImage = null; //
button2.IdleImage = null; //
// //
//
//
button2.Label.BackColor = System.Drawing.Color.White; button2.Label.BackColor = System.Drawing.Color.White;
button2.Label.Dock = DockStyle.Fill; button2.Label.Dock = DockStyle.Fill;
button2.Label.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold); button2.Label.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
@ -90,17 +86,17 @@ namespace BukkuBuddy.Forms
button2.TabStop = false; button2.TabStop = false;
button2.MouseClick += button2_MouseClick; button2.MouseClick += button2_MouseClick;
button2.MouseDoubleClick += button2_MouseClick; button2.MouseDoubleClick += button2_MouseClick;
// //
// horizontalSeparator1 // horizontalSeparator1
// //
horizontalSeparator1.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; horizontalSeparator1.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
horizontalSeparator1.Location = new System.Drawing.Point(5, 73); horizontalSeparator1.Location = new System.Drawing.Point(5, 73);
horizontalSeparator1.Name = "horizontalSeparator1"; horizontalSeparator1.Name = "horizontalSeparator1";
horizontalSeparator1.Padding = new Padding(0, 10, 0, 10); horizontalSeparator1.Padding = new Padding(0, 10, 0, 10);
horizontalSeparator1.Size = new System.Drawing.Size(375, 10); horizontalSeparator1.Size = new System.Drawing.Size(375, 10);
// //
// textBox1 // textBox1
// //
textBox1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; textBox1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
textBox1.BackColor = System.Drawing.Color.Transparent; textBox1.BackColor = System.Drawing.Color.Transparent;
textBox1.ClearedValue = ""; textBox1.ClearedValue = "";
@ -113,9 +109,9 @@ namespace BukkuBuddy.Forms
textBox1.TabIndex = 0; textBox1.TabIndex = 0;
textBox1.TabStop = false; textBox1.TabStop = false;
textBox1.UseSystemPasswordChar = false; textBox1.UseSystemPasswordChar = false;
// //
// button1 // button1
// //
button1.ActiveImage = null; button1.ActiveImage = null;
button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
button1.BackColor = System.Drawing.Color.Transparent; button1.BackColor = System.Drawing.Color.Transparent;
@ -123,9 +119,9 @@ namespace BukkuBuddy.Forms
button1.EnableMovable = false; button1.EnableMovable = false;
button1.HoverImage = null; button1.HoverImage = null;
button1.IdleImage = null; button1.IdleImage = null;
// //
// //
// //
button1.Label.BackColor = System.Drawing.Color.White; button1.Label.BackColor = System.Drawing.Color.White;
button1.Label.Dock = DockStyle.Fill; button1.Label.Dock = DockStyle.Fill;
button1.Label.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold); button1.Label.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
@ -145,9 +141,9 @@ namespace BukkuBuddy.Forms
button1.TabStop = false; button1.TabStop = false;
button1.MouseClick += button1_MouseClick; button1.MouseClick += button1_MouseClick;
button1.MouseDoubleClick += button1_MouseClick; button1.MouseDoubleClick += button1_MouseClick;
// //
// FindForm // FindForm
// //
AutoScaleMode = AutoScaleMode.None; AutoScaleMode = AutoScaleMode.None;
ClientSize = new System.Drawing.Size(384, 141); ClientSize = new System.Drawing.Size(384, 141);
Controls.Add(button1); Controls.Add(button1);

View File

@ -14,8 +14,8 @@ namespace BukkuBuddy.Forms
public class LoadingForm : Form public class LoadingForm : Form
{ {
private TProgressBar progressBar1; private TProgressBar progressBar1;
private RyzStudio.Windows.ThemedForms.ThUserControl userControl1; private RyzStudio.Windows.ThemedForms.T3UserControl userControl1;
private RyzStudio.Windows.ThemedForms.ThUserControl userControl2; private RyzStudio.Windows.ThemedForms.T3UserControl userControl2;
private TProgressBar progressBar2; private TProgressBar progressBar2;
private Label label1; private Label label1;
private Label label2; private Label label2;
@ -30,7 +30,7 @@ namespace BukkuBuddy.Forms
{ {
InitializeComponent(); InitializeComponent();
UISetup.Dialog(this, true); this.SetupDialog();
this.Text = "Loading"; this.Text = "Loading";
} }
@ -39,8 +39,8 @@ namespace BukkuBuddy.Forms
private void InitializeComponent() private void InitializeComponent()
{ {
progressBar1 = new TProgressBar(); progressBar1 = new TProgressBar();
userControl1 = new RyzStudio.Windows.ThemedForms.ThUserControl(); userControl1 = new RyzStudio.Windows.ThemedForms.T3UserControl();
userControl2 = new RyzStudio.Windows.ThemedForms.ThUserControl(); userControl2 = new RyzStudio.Windows.ThemedForms.T3UserControl();
progressBar2 = new TProgressBar(); progressBar2 = new TProgressBar();
label1 = new Label(); label1 = new Label();
label2 = new Label(); label2 = new Label();
@ -141,8 +141,8 @@ namespace BukkuBuddy.Forms
{ {
this.Clear(); this.Clear();
UIControl.SetText(label1, "Loading..."); UIControl.Invoke(label1, (_) => label1.Text = "Loading...");
UIControl.SetText(label2, "... " + Path.GetFileName(loadFilename)); UIControl.Invoke(label2, (_) => label2.Text = "... " + Path.GetFileName(loadFilename));
var newSession = await LoadSaveSessionWithVersion(loadFilename); var newSession = await LoadSaveSessionWithVersion(loadFilename);
var isPack = Path.GetExtension(loadFilename).Equals(".jsnx", StringComparison.CurrentCultureIgnoreCase); var isPack = Path.GetExtension(loadFilename).Equals(".jsnx", StringComparison.CurrentCultureIgnoreCase);
@ -153,8 +153,8 @@ namespace BukkuBuddy.Forms
progressBar1.Value = 0; progressBar1.Value = 0;
progressBar2.Value = 0; progressBar2.Value = 0;
UIControl.SetText(label1, "Loading..."); UIControl.Invoke(label1, (_) => label1.Text = "Loading...");
UIControl.SetText(label2, ""); UIControl.Invoke(label2, (_) => label2.Text = "");
foreach (var item in newSession?.Directories ?? new List<string>()) foreach (var item in newSession?.Directories ?? new List<string>())
{ {
@ -163,7 +163,7 @@ namespace BukkuBuddy.Forms
continue; continue;
} }
UIControl.SetText(label2, "... " + Path.GetFileNameWithoutExtension(item)); UIControl.Invoke(label2, (_) => label2.Text = "... " + Path.GetFileNameWithoutExtension(item));
progressBar1.Value++; progressBar1.Value++;
@ -172,7 +172,7 @@ namespace BukkuBuddy.Forms
foreach (var item in newSession?.Items ?? new List<App6Options.Item>()) foreach (var item in newSession?.Items ?? new List<App6Options.Item>())
{ {
UIControl.SetText(label2, "... " + item.Title); UIControl.Invoke(label2, (_) => label2.Text = "... " + item.Title);
progressBar2.Value++; progressBar2.Value++;
@ -197,8 +197,8 @@ namespace BukkuBuddy.Forms
result = newSession; result = newSession;
UIControl.SetText(label1, ""); UIControl.Invoke(label1, (_) => label1.Text = "");
UIControl.SetText(label2, "Done"); UIControl.Invoke(label2, (_) => label2.Text = "Done");
}); });
this.DialogResult = DialogResult.OK; this.DialogResult = DialogResult.OK;
@ -230,8 +230,8 @@ namespace BukkuBuddy.Forms
public void Clear() public void Clear()
{ {
UIControl.SetText(label1, "Ready"); UIControl.Invoke(label1, (_) => label1.Text = "Ready");
UIControl.SetText(label2, ""); UIControl.Invoke(label2, (_) => label2.Text = "");
progressBar1.Value = progressBar1.Maximum = 0; progressBar1.Value = progressBar1.Maximum = 0;
progressBar2.Value = progressBar2.Maximum = 0; progressBar2.Value = progressBar2.Maximum = 0;

View File

@ -2,31 +2,30 @@
using System.Windows.Forms; using System.Windows.Forms;
using BukkuBuddy.DTOs.SaveFile; using BukkuBuddy.DTOs.SaveFile;
using RyzStudio.Windows.Forms; using RyzStudio.Windows.Forms;
using RyzStudio.Windows.ThemedForms.PickerBox;
namespace BukkuBuddy.Forms namespace BukkuBuddy.Forms
{ {
public class OptionsForm : Form public class OptionsForm : Form
{ {
private ThYesNoPickerBox pickerBox1; private RyzStudio.Windows.ThemedForms.T3YnPickerBox pickerBox1;
private Label label2; private Label label2;
private Label label1; private Label label1;
private ThYesNoPickerBox pickerBox2; private RyzStudio.Windows.ThemedForms.T3YnPickerBox pickerBox2;
private Label label3; private Label label3;
private RyzStudio.Windows.ThemedForms.ButtonTextBox.ThClearableTextBox textBox1; private RyzStudio.Windows.FontForms.TextBox.T4ClearTextBox textBox1;
private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1; private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1;
private FlowLayoutPanel flowLayoutPanel1; private FlowLayoutPanel flowLayoutPanel1;
private TTogglePanel togglePanel1; private TTogglePanel togglePanel1;
private TTogglePanel togglePanel2; private TTogglePanel togglePanel2;
private Label label4; private Label label4;
private ThYesNoPickerBox pickerBox3; private RyzStudio.Windows.ThemedForms.T3YnPickerBox pickerBox3;
private TTogglePanel togglePanel3; private TTogglePanel togglePanel3;
private Label label5; private Label label5;
private RyzStudio.Windows.ThemedForms.ThNumericBox numericBox1; private RyzStudio.Windows.ThemedForms.T4NumericBox numericBox1;
private Label label6; private Label label6;
private ThYesNoPickerBox pickerBox4; private RyzStudio.Windows.ThemedForms.T3YnPickerBox pickerBox4;
private Label label7; private Label label7;
private ThYesNoPickerBox pickerBox5; private RyzStudio.Windows.ThemedForms.T3YnPickerBox pickerBox5;
private App6Options _appSession = null; private App6Options _appSession = null;
@ -34,8 +33,8 @@ namespace BukkuBuddy.Forms
{ {
InitializeComponent(); InitializeComponent();
UISetup.Dialog(this, true); this.SetupDialog();
UISetup.AutoSizeChildren(flowLayoutPanel1); flowLayoutPanel1.AutoSizeChildren();
_appSession = appSession; _appSession = appSession;
} }
@ -56,11 +55,11 @@ namespace BukkuBuddy.Forms
private void InitializeComponent() private void InitializeComponent()
{ {
pickerBox1 = new ThYesNoPickerBox(); pickerBox1 = new RyzStudio.Windows.ThemedForms.T3YnPickerBox();
label2 = new Label(); label2 = new Label();
pickerBox2 = new ThYesNoPickerBox(); pickerBox2 = new RyzStudio.Windows.ThemedForms.T3YnPickerBox();
label1 = new Label(); label1 = new Label();
textBox1 = new RyzStudio.Windows.ThemedForms.ButtonTextBox.ThClearableTextBox(); textBox1 = new RyzStudio.Windows.FontForms.TextBox.T4ClearTextBox();
label3 = new Label(); label3 = new Label();
dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter(); dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter();
flowLayoutPanel1 = new FlowLayoutPanel(); flowLayoutPanel1 = new FlowLayoutPanel();
@ -68,13 +67,13 @@ namespace BukkuBuddy.Forms
togglePanel2 = new TTogglePanel(); togglePanel2 = new TTogglePanel();
togglePanel3 = new TTogglePanel(); togglePanel3 = new TTogglePanel();
label6 = new Label(); label6 = new Label();
pickerBox4 = new ThYesNoPickerBox(); pickerBox4 = new RyzStudio.Windows.ThemedForms.T3YnPickerBox();
numericBox1 = new RyzStudio.Windows.ThemedForms.ThNumericBox(); numericBox1 = new RyzStudio.Windows.ThemedForms.T4NumericBox();
label4 = new Label(); label4 = new Label();
label5 = new Label(); label5 = new Label();
pickerBox3 = new ThYesNoPickerBox(); pickerBox3 = new RyzStudio.Windows.ThemedForms.T3YnPickerBox();
label7 = new Label(); label7 = new Label();
pickerBox5 = new ThYesNoPickerBox(); pickerBox5 = new RyzStudio.Windows.ThemedForms.T3YnPickerBox();
flowLayoutPanel1.SuspendLayout(); flowLayoutPanel1.SuspendLayout();
togglePanel1.SuspendLayout(); togglePanel1.SuspendLayout();
togglePanel2.SuspendLayout(); togglePanel2.SuspendLayout();

View File

@ -13,7 +13,7 @@ namespace BukkuBuddy.Forms
public class UpdateIconsForm : Form public class UpdateIconsForm : Form
{ {
private TProgressBar progressBar1; private TProgressBar progressBar1;
private RyzStudio.Windows.ThemedForms.ThUserControl userControl1; private RyzStudio.Windows.ThemedForms.T3UserControl userControl1;
private Label label1; private Label label1;
private Label label2; private Label label2;
@ -29,7 +29,7 @@ namespace BukkuBuddy.Forms
{ {
InitializeComponent(); InitializeComponent();
UISetup.Dialog(this, true); this.SetupDialog();
this.Text = "Updating Icons"; this.Text = "Updating Icons";
@ -43,7 +43,7 @@ namespace BukkuBuddy.Forms
private void InitializeComponent() private void InitializeComponent()
{ {
progressBar1 = new TProgressBar(); progressBar1 = new TProgressBar();
userControl1 = new RyzStudio.Windows.ThemedForms.ThUserControl(); userControl1 = new RyzStudio.Windows.ThemedForms.T3UserControl();
label1 = new Label(); label1 = new Label();
label2 = new Label(); label2 = new Label();
userControl1.SuspendLayout(); userControl1.SuspendLayout();
@ -126,8 +126,8 @@ namespace BukkuBuddy.Forms
progressBar1.Maximum = model.Count; progressBar1.Maximum = model.Count;
progressBar1.Value = 0; progressBar1.Value = 0;
UIControl.SetText(label1, "Updating..."); UIControl.Invoke(label1, (_) => label1.Text = "Updating...");
UIControl.SetText(label2, ""); UIControl.Invoke(label2, (_) => label2.Text = "");
foreach (var item in model) foreach (var item in model)
{ {
@ -136,7 +136,7 @@ namespace BukkuBuddy.Forms
break; break;
} }
UIControl.SetText(label2, "... " + item.Value.Title); UIControl.Invoke(label2, (_) => label2.Text = "... " + item.Value.Title);
progressBar1.Value++; progressBar1.Value++;
@ -190,8 +190,8 @@ namespace BukkuBuddy.Forms
_treeView.UpdateNode(item.Key, newModel); _treeView.UpdateNode(item.Key, newModel);
} }
UIControl.SetText(label1, ""); UIControl.Invoke(label1, (_) => label1.Text = "");
UIControl.SetText(label2, "Done"); UIControl.Invoke(label2, (_) => label2.Text = "Done");
}); });
this.DialogResult = DialogResult.OK; this.DialogResult = DialogResult.OK;
@ -207,7 +207,7 @@ namespace BukkuBuddy.Forms
if (!cancelRequested) if (!cancelRequested)
{ {
UIControl.SetText(label1, "Cancelling..."); UIControl.Invoke(label1, (_) => label1.Text = "Cancelling...");
cancelRequested = true; cancelRequested = true;
} }
@ -217,8 +217,8 @@ namespace BukkuBuddy.Forms
public void Clear() public void Clear()
{ {
UIControl.SetText(label1, "Ready"); UIControl.Invoke(label1, (_) => label1.Text = "Ready");
UIControl.SetText(label2, ""); UIControl.Invoke(label2, (_) => label2.Text = "");
progressBar1.Value = progressBar1.Maximum = 0; progressBar1.Value = progressBar1.Maximum = 0;
} }

View File

@ -56,7 +56,9 @@ namespace BukkuBuddy
alwaysOnTopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); alwaysOnTopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
toolStripMenuItem12 = new System.Windows.Forms.ToolStripMenuItem(); toolStripMenuItem12 = new System.Windows.Forms.ToolStripMenuItem();
toolStripMenuItem9 = new System.Windows.Forms.ToolStripMenuItem();
updateAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); updateAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
clearToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); clearToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -95,8 +97,6 @@ namespace BukkuBuddy
moveUpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); moveUpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
moveDownToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); moveDownToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
treeView1 = new RyzStudio.Windows.Forms.BookmarkTreeView(); treeView1 = new RyzStudio.Windows.Forms.BookmarkTreeView();
toolStripMenuItem9 = new System.Windows.Forms.ToolStripMenuItem();
toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
menuStrip1.SuspendLayout(); menuStrip1.SuspendLayout();
rootContextMenu.SuspendLayout(); rootContextMenu.SuspendLayout();
folderContextMenu.SuspendLayout(); folderContextMenu.SuspendLayout();
@ -129,7 +129,7 @@ namespace BukkuBuddy
// //
newToolStripMenuItem.Name = "newToolStripMenuItem"; newToolStripMenuItem.Name = "newToolStripMenuItem";
newToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N; newToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N;
newToolStripMenuItem.Size = new System.Drawing.Size(146, 22); newToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
newToolStripMenuItem.Text = "&New"; newToolStripMenuItem.Text = "&New";
newToolStripMenuItem.Click += newToolStripMenuItem_Click; newToolStripMenuItem.Click += newToolStripMenuItem_Click;
// //
@ -138,52 +138,52 @@ namespace BukkuBuddy
openToolStripMenuItem.Image = MainMenuResource.folder_minus; openToolStripMenuItem.Image = MainMenuResource.folder_minus;
openToolStripMenuItem.Name = "openToolStripMenuItem"; openToolStripMenuItem.Name = "openToolStripMenuItem";
openToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O; openToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O;
openToolStripMenuItem.Size = new System.Drawing.Size(146, 22); openToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
openToolStripMenuItem.Text = "&Open"; openToolStripMenuItem.Text = "&Open...";
openToolStripMenuItem.Click += openToolStripMenuItem_Click; openToolStripMenuItem.Click += openToolStripMenuItem_Click;
// //
// toolStripMenuItem13 // toolStripMenuItem13
// //
toolStripMenuItem13.Name = "toolStripMenuItem13"; toolStripMenuItem13.Name = "toolStripMenuItem13";
toolStripMenuItem13.Size = new System.Drawing.Size(143, 6); toolStripMenuItem13.Size = new System.Drawing.Size(177, 6);
// //
// closeToolStripMenuItem // closeToolStripMenuItem
// //
closeToolStripMenuItem.Name = "closeToolStripMenuItem"; closeToolStripMenuItem.Name = "closeToolStripMenuItem";
closeToolStripMenuItem.Size = new System.Drawing.Size(146, 22); closeToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
closeToolStripMenuItem.Text = "&Close"; closeToolStripMenuItem.Text = "&Close";
closeToolStripMenuItem.Click += closeToolStripMenuItem_Click; closeToolStripMenuItem.Click += closeToolStripMenuItem_Click;
// //
// toolStripMenuItem14 // toolStripMenuItem14
// //
toolStripMenuItem14.Name = "toolStripMenuItem14"; toolStripMenuItem14.Name = "toolStripMenuItem14";
toolStripMenuItem14.Size = new System.Drawing.Size(143, 6); toolStripMenuItem14.Size = new System.Drawing.Size(177, 6);
// //
// saveToolStripMenuItem // saveToolStripMenuItem
// //
saveToolStripMenuItem.Image = MainMenuResource.save; saveToolStripMenuItem.Image = MainMenuResource.save;
saveToolStripMenuItem.Name = "saveToolStripMenuItem"; saveToolStripMenuItem.Name = "saveToolStripMenuItem";
saveToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S; saveToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S;
saveToolStripMenuItem.Size = new System.Drawing.Size(146, 22); saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
saveToolStripMenuItem.Text = "&Save"; saveToolStripMenuItem.Text = "&Save";
saveToolStripMenuItem.Click += saveToolStripMenuItem_Click; saveToolStripMenuItem.Click += saveToolStripMenuItem_Click;
// //
// saveAsToolStripMenuItem // saveAsToolStripMenuItem
// //
saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
saveAsToolStripMenuItem.Size = new System.Drawing.Size(146, 22); saveAsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
saveAsToolStripMenuItem.Text = "Save &As..."; saveAsToolStripMenuItem.Text = "Save &As...";
saveAsToolStripMenuItem.Click += saveAsToolStripMenuItem_Click; saveAsToolStripMenuItem.Click += saveAsToolStripMenuItem_Click;
// //
// toolStripMenuItem15 // toolStripMenuItem15
// //
toolStripMenuItem15.Name = "toolStripMenuItem15"; toolStripMenuItem15.Name = "toolStripMenuItem15";
toolStripMenuItem15.Size = new System.Drawing.Size(143, 6); toolStripMenuItem15.Size = new System.Drawing.Size(177, 6);
// //
// exitToolStripMenuItem2 // exitToolStripMenuItem2
// //
exitToolStripMenuItem2.Name = "exitToolStripMenuItem2"; exitToolStripMenuItem2.Name = "exitToolStripMenuItem2";
exitToolStripMenuItem2.Size = new System.Drawing.Size(146, 22); exitToolStripMenuItem2.Size = new System.Drawing.Size(180, 22);
exitToolStripMenuItem2.Text = "E&xit"; exitToolStripMenuItem2.Text = "E&xit";
exitToolStripMenuItem2.Click += exitToolStripMenuItem_Click; exitToolStripMenuItem2.Click += exitToolStripMenuItem_Click;
// //
@ -199,7 +199,7 @@ namespace BukkuBuddy
findToolStripMenuItem.Image = MainMenuResource.search; findToolStripMenuItem.Image = MainMenuResource.search;
findToolStripMenuItem.Name = "findToolStripMenuItem"; findToolStripMenuItem.Name = "findToolStripMenuItem";
findToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F; findToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F;
findToolStripMenuItem.Size = new System.Drawing.Size(137, 22); findToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
findToolStripMenuItem.Text = "&Find"; findToolStripMenuItem.Text = "&Find";
findToolStripMenuItem.Click += findToolStripMenuItem_Click; findToolStripMenuItem.Click += findToolStripMenuItem_Click;
// //
@ -213,26 +213,26 @@ namespace BukkuBuddy
// expandAllToolStripMenuItem // expandAllToolStripMenuItem
// //
expandAllToolStripMenuItem.Name = "expandAllToolStripMenuItem"; expandAllToolStripMenuItem.Name = "expandAllToolStripMenuItem";
expandAllToolStripMenuItem.Size = new System.Drawing.Size(152, 22); expandAllToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
expandAllToolStripMenuItem.Text = "&Expand All"; expandAllToolStripMenuItem.Text = "&Expand All";
expandAllToolStripMenuItem.Click += expandAllToolStripMenuItem_Click; expandAllToolStripMenuItem.Click += expandAllToolStripMenuItem_Click;
// //
// collapseAllToolStripMenuItem // collapseAllToolStripMenuItem
// //
collapseAllToolStripMenuItem.Name = "collapseAllToolStripMenuItem"; collapseAllToolStripMenuItem.Name = "collapseAllToolStripMenuItem";
collapseAllToolStripMenuItem.Size = new System.Drawing.Size(152, 22); collapseAllToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
collapseAllToolStripMenuItem.Text = "&Collapse All"; collapseAllToolStripMenuItem.Text = "&Collapse All";
collapseAllToolStripMenuItem.Click += collapseAllToolStripMenuItem_Click; collapseAllToolStripMenuItem.Click += collapseAllToolStripMenuItem_Click;
// //
// toolStripSeparator1 // toolStripSeparator1
// //
toolStripSeparator1.Name = "toolStripSeparator1"; toolStripSeparator1.Name = "toolStripSeparator1";
toolStripSeparator1.Size = new System.Drawing.Size(149, 6); toolStripSeparator1.Size = new System.Drawing.Size(177, 6);
// //
// alwaysOnTopToolStripMenuItem // alwaysOnTopToolStripMenuItem
// //
alwaysOnTopToolStripMenuItem.Name = "alwaysOnTopToolStripMenuItem"; alwaysOnTopToolStripMenuItem.Name = "alwaysOnTopToolStripMenuItem";
alwaysOnTopToolStripMenuItem.Size = new System.Drawing.Size(152, 22); alwaysOnTopToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
alwaysOnTopToolStripMenuItem.Text = "Always On &Top"; alwaysOnTopToolStripMenuItem.Text = "Always On &Top";
alwaysOnTopToolStripMenuItem.Click += alwaysOnTopToolStripMenuItem_Click; alwaysOnTopToolStripMenuItem.Click += alwaysOnTopToolStripMenuItem_Click;
// //
@ -250,6 +250,13 @@ namespace BukkuBuddy
toolStripMenuItem12.Size = new System.Drawing.Size(180, 22); toolStripMenuItem12.Size = new System.Drawing.Size(180, 22);
toolStripMenuItem12.Text = "&Icons"; toolStripMenuItem12.Text = "&Icons";
// //
// toolStripMenuItem9
//
toolStripMenuItem9.Name = "toolStripMenuItem9";
toolStripMenuItem9.Size = new System.Drawing.Size(180, 22);
toolStripMenuItem9.Text = "&Update";
toolStripMenuItem9.Click += toolStripMenuItem9_Click_1;
//
// updateAllToolStripMenuItem // updateAllToolStripMenuItem
// //
updateAllToolStripMenuItem.Name = "updateAllToolStripMenuItem"; updateAllToolStripMenuItem.Name = "updateAllToolStripMenuItem";
@ -257,6 +264,11 @@ namespace BukkuBuddy
updateAllToolStripMenuItem.Text = "Update &All"; updateAllToolStripMenuItem.Text = "Update &All";
updateAllToolStripMenuItem.Click += updateAllToolStripMenuItem_Click; updateAllToolStripMenuItem.Click += updateAllToolStripMenuItem_Click;
// //
// toolStripSeparator3
//
toolStripSeparator3.Name = "toolStripSeparator3";
toolStripSeparator3.Size = new System.Drawing.Size(177, 6);
//
// clearToolStripMenuItem // clearToolStripMenuItem
// //
clearToolStripMenuItem.Name = "clearToolStripMenuItem"; clearToolStripMenuItem.Name = "clearToolStripMenuItem";
@ -275,7 +287,7 @@ namespace BukkuBuddy
optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
optionsToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F12; optionsToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F12;
optionsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); optionsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
optionsToolStripMenuItem.Text = "&Options"; optionsToolStripMenuItem.Text = "&Options...";
optionsToolStripMenuItem.Click += optionsToolStripMenuItem_Click; optionsToolStripMenuItem.Click += optionsToolStripMenuItem_Click;
// //
// helpToolStripMenuItem1 // helpToolStripMenuItem1
@ -290,19 +302,19 @@ namespace BukkuBuddy
viewHelpToolStripMenuItem1.Image = MainMenuResource.help_circle; viewHelpToolStripMenuItem1.Image = MainMenuResource.help_circle;
viewHelpToolStripMenuItem1.Name = "viewHelpToolStripMenuItem1"; viewHelpToolStripMenuItem1.Name = "viewHelpToolStripMenuItem1";
viewHelpToolStripMenuItem1.ShortcutKeys = System.Windows.Forms.Keys.F1; viewHelpToolStripMenuItem1.ShortcutKeys = System.Windows.Forms.Keys.F1;
viewHelpToolStripMenuItem1.Size = new System.Drawing.Size(146, 22); viewHelpToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
viewHelpToolStripMenuItem1.Text = "&View Help"; viewHelpToolStripMenuItem1.Text = "&View Help";
viewHelpToolStripMenuItem1.Click += viewHelpToolStripMenuItem1_Click; viewHelpToolStripMenuItem1.Click += viewHelpToolStripMenuItem1_Click;
// //
// toolStripMenuItem16 // toolStripMenuItem16
// //
toolStripMenuItem16.Name = "toolStripMenuItem16"; toolStripMenuItem16.Name = "toolStripMenuItem16";
toolStripMenuItem16.Size = new System.Drawing.Size(143, 6); toolStripMenuItem16.Size = new System.Drawing.Size(177, 6);
// //
// aboutToolStripMenuItem1 // aboutToolStripMenuItem1
// //
aboutToolStripMenuItem1.Name = "aboutToolStripMenuItem1"; aboutToolStripMenuItem1.Name = "aboutToolStripMenuItem1";
aboutToolStripMenuItem1.Size = new System.Drawing.Size(146, 22); aboutToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
aboutToolStripMenuItem1.Text = "&About"; aboutToolStripMenuItem1.Text = "&About";
aboutToolStripMenuItem1.Click += aboutToolStripMenuItem1_Click; aboutToolStripMenuItem1.Click += aboutToolStripMenuItem1_Click;
// //
@ -514,22 +526,9 @@ namespace BukkuBuddy
treeView1.Dock = System.Windows.Forms.DockStyle.Fill; treeView1.Dock = System.Windows.Forms.DockStyle.Fill;
treeView1.Location = new System.Drawing.Point(0, 24); treeView1.Location = new System.Drawing.Point(0, 24);
treeView1.Name = "treeView1"; treeView1.Name = "treeView1";
treeView1.OnChanged = null;
treeView1.Size = new System.Drawing.Size(300, 556); treeView1.Size = new System.Drawing.Size(300, 556);
treeView1.TabIndex = 5; treeView1.TabIndex = 5;
// //
// toolStripMenuItem9
//
toolStripMenuItem9.Name = "toolStripMenuItem9";
toolStripMenuItem9.Size = new System.Drawing.Size(180, 22);
toolStripMenuItem9.Text = "&Update";
toolStripMenuItem9.Click += toolStripMenuItem9_Click_1;
//
// toolStripSeparator3
//
toolStripSeparator3.Name = "toolStripSeparator3";
toolStripSeparator3.Size = new System.Drawing.Size(177, 6);
//
// MainForm // MainForm
// //
AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);

View File

@ -12,8 +12,8 @@ using BukkuBuddy.DTOs.SaveFile;
using BukkuBuddy.Forms; using BukkuBuddy.Forms;
using BukkuBuddy.Resources; using BukkuBuddy.Resources;
using RyzStudio; using RyzStudio;
using RyzStudio.Services;
using RyzStudio.Windows.Forms; using RyzStudio.Windows.Forms;
using RyzStudio.Windows.ThemedForms;
using static RyzStudio.Windows.Forms.BookmarkTreeView; using static RyzStudio.Windows.Forms.BookmarkTreeView;
namespace BukkuBuddy namespace BukkuBuddy
@ -56,7 +56,7 @@ namespace BukkuBuddy
{ {
base.OnShown(e); base.OnShown(e);
var args = WinApplication.GetCommandLine(); var args = this.GetCommandLine();
string jsonfigFilename = args.Where(x => (x.Key.Equals("o") || x.Key.Equals("open"))).Select(x => x.Value).FirstOrDefault(); string jsonfigFilename = args.Where(x => (x.Key.Equals("o") || x.Key.Equals("open"))).Select(x => x.Value).FirstOrDefault();
//if (string.IsNullOrWhiteSpace(jsonfigFilename)) //if (string.IsNullOrWhiteSpace(jsonfigFilename))
@ -75,7 +75,7 @@ namespace BukkuBuddy
//InvalidateOptions(); //InvalidateOptions();
} }
UIControl.SetFocus(this); UIControl.Invoke(this, (_) => this.Focus());
} }
protected async override void OnFormClosing(FormClosingEventArgs e) protected async override void OnFormClosing(FormClosingEventArgs e)
@ -108,30 +108,30 @@ namespace BukkuBuddy
{ {
isBusy = value; isBusy = value;
UIControl.SetEnable(treeView1, !isBusy); UIControl.Invoke(treeView1, (_) => treeView1.Enabled =!isBusy);
} }
} }
private void InvalidateOptions(bool resize) private void InvalidateOptions(bool resize)
{ {
UIControl.SetTopMost(this, this.CurrentSession.AlwaysOnTop); UIControl.Invoke(this, (_) => this.TopMost = this.CurrentSession.AlwaysOnTop);
if (resize) if (resize)
{ {
if (!this.CurrentSession.StartPosition.IsEmpty) if (!this.CurrentSession.StartPosition.IsEmpty)
{ {
UIControl.SetLocation(this, this.CurrentSession.StartPosition); UIControl.Invoke(this, (_) => this.Location = this.CurrentSession.StartPosition);
} }
if (this.CurrentSession.Width > 0) if (this.CurrentSession.Width > 0)
{ {
UIControl.SetClientWidth(this, this.CurrentSession.Width); UIControl.Invoke(this, (_) => this.ClientSize = new Size(this.CurrentSession.Width, this.ClientSize.Height));
} }
if (this.CurrentSession.Height > 0) if (this.CurrentSession.Height > 0)
{ {
UIControl.SetClientHeight(this, this.CurrentSession.Height); UIControl.Invoke(this, (_) => this.ClientSize = new Size(this.ClientSize.Width, this.CurrentSession.Height));
} }
} }
} }
@ -513,7 +513,7 @@ namespace BukkuBuddy
/// <param name="e"></param> /// <param name="e"></param>
private void aboutToolStripMenuItem1_Click(object sender, EventArgs e) private void aboutToolStripMenuItem1_Click(object sender, EventArgs e)
{ {
var form = new RyzStudio.Windows.ThemedForms.AboutForm(); var form = new RyzStudio.Forms.T3AboutForm();
form.ProductURL = MainMenuResource.AppProductURL; form.ProductURL = MainMenuResource.AppProductURL;
form.AuthorURL = MainMenuResource.AppAuthorURL; form.AuthorURL = MainMenuResource.AppAuthorURL;
form.CompanyURL = MainMenuResource.AppCompanyURL; form.CompanyURL = MainMenuResource.AppCompanyURL;
@ -864,7 +864,7 @@ namespace BukkuBuddy
} }
}); });
UIControl.SetFocus(treeView1); UIControl.Invoke(treeView1, (_) => treeView1.Focus());
sender.HasChanged = true; sender.HasChanged = true;
@ -888,7 +888,7 @@ namespace BukkuBuddy
this.InvalidateOptions(true); this.InvalidateOptions(true);
}); });
UIControl.SetFocus(treeView1); UIControl.Invoke(treeView1, (_) => treeView1.Focus());
sender.HasChanged = false; sender.HasChanged = false;
@ -927,7 +927,7 @@ namespace BukkuBuddy
this.CurrentSession.Directories = directoryList ?? new List<string>(); this.CurrentSession.Directories = directoryList ?? new List<string>();
this.CurrentSession.Items = bookmarkList.Select(x => x.Value)?.ToList() ?? new List<App6Options.Item>(); this.CurrentSession.Items = bookmarkList.Select(x => x.Value)?.ToList() ?? new List<App6Options.Item>();
var result = GenericResult.Create(); var result = MethodResult.Create();
switch (Path.GetExtension(filename?.ToLower()?.Trim() ?? string.Empty)) switch (Path.GetExtension(filename?.ToLower()?.Trim() ?? string.Empty))
{ {
@ -938,54 +938,54 @@ namespace BukkuBuddy
case ".jsnx": case ".jsnx":
result = await RyzStudio.IO.Compression.ZFile.WriteFile(filename, "Document.json", this.CurrentSession); result = await RyzStudio.IO.Compression.ZFile.WriteFile(filename, "Document.json", this.CurrentSession);
if (result.IsSuccess) if (result.Success)
{ {
// Add icons to save file // Add icons to save file
var result2 = AddImagesToZipFile(filename, bookmarkList); var result2 = AddImagesToZipFile(filename, bookmarkList);
if (!result2.IsSuccess) if (!result2.Success)
{ {
if (showNotices) if (showNotices)
{ {
ThMessageBox.Show(this, "Unable to save icons", "Save session", MessageBoxButtons.OK, MessageBoxIcon.Error); RyzStudio.Forms.T3MessageBox.Show(this, "Unable to save icons", "Save session", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
} }
break; break;
default: default:
result = GenericResult.Fault("Format not supported"); result = MethodResult.Error("Format not supported");
break; break;
} }
if (result.IsSuccess) if (result.Success)
{ {
if (showNotices) if (showNotices)
{ {
ThMessageBox.Show(this, "Session saved!", "Save session", MessageBoxButtons.OK, MessageBoxIcon.Information); RyzStudio.Forms.T3MessageBox.Show(this, "Session saved!", "Save session", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
} }
else else
{ {
if (showNotices) if (showNotices)
{ {
ThMessageBox.Show(this, result.Message, "Save session"); RyzStudio.Forms.T3MessageBox.Show(this, result.Message, "Save session");
} }
} }
isBusy = false; isBusy = false;
if (result.IsSuccess) if (result.Success)
{ {
sender.HasChanged = false; sender.HasChanged = false;
} }
return result.IsSuccess; return result.Success;
}); });
} }
private async Task<bool> fileSessionManager_OnClearSession(FileSessionManager sender) private async Task<bool> fileSessionManager_OnClearSession(FileSessionManager sender)
{ {
UIControl.Clear(treeView1); UIControl.Invoke(treeView1, (_) => treeView1.Nodes.Clear());
sender.HasChanged = false; sender.HasChanged = false;
@ -999,13 +999,13 @@ namespace BukkuBuddy
switch (sender.SessionState) switch (sender.SessionState)
{ {
case FileSessionManager.SessionStateEnum.New: case FileSessionManager.SessionStateEnum.New:
UIControl.SetText(this, "New Session - " + Application.ProductName); UIControl.Invoke(this, (_) => this.Text = "New Session - " + Application.ProductName);
break; break;
case FileSessionManager.SessionStateEnum.Open: case FileSessionManager.SessionStateEnum.Open:
UIControl.SetText(this, Path.GetFileNameWithoutExtension(filename) + " - " + Application.ProductName); UIControl.Invoke(this, (_) => this.Text = Path.GetFileNameWithoutExtension(filename) + " - " + Application.ProductName);
break; break;
case FileSessionManager.SessionStateEnum.Close: case FileSessionManager.SessionStateEnum.Close:
UIControl.SetText(this, Application.ProductName); UIControl.Invoke(this, (_) => this.Text = Application.ProductName);
break; break;
default: default:
break; break;
@ -1077,7 +1077,7 @@ namespace BukkuBuddy
return; return;
} }
var model = UIControl.GetTag<App6Options.Item>(node); var model = node.GetTag<App6Options.Item>();
if (model == null) if (model == null)
{ {
return; return;
@ -1094,11 +1094,11 @@ namespace BukkuBuddy
}); });
} }
private GenericResult AddImagesToZipFile(string zipFilename, List<KeyValuePair<TreeNode, App6Options.Item>> items) private MethodResult AddImagesToZipFile(string zipFilename, List<KeyValuePair<TreeNode, App6Options.Item>> items)
{ {
if (string.IsNullOrWhiteSpace(zipFilename)) if (string.IsNullOrWhiteSpace(zipFilename))
{ {
return GenericResult.Fault("Filename is blank"); return MethodResult.Error("Filename is blank");
} }
var path = Path.GetDirectoryName(zipFilename); var path = Path.GetDirectoryName(zipFilename);
@ -1110,7 +1110,7 @@ namespace BukkuBuddy
} }
catch (Exception exc) catch (Exception exc)
{ {
return GenericResult.Fault(exc.Message); return MethodResult.Error(exc.Message);
} }
} }
@ -1181,10 +1181,10 @@ namespace BukkuBuddy
} }
catch (Exception exc) catch (Exception exc)
{ {
return GenericResult.Fault(exc.Message); return MethodResult.Error(exc.Message);
} }
return GenericResult.Create(); return MethodResult.Create();
} }
} }

View File

Before

Width:  |  Height:  |  Size: 365 B

After

Width:  |  Height:  |  Size: 365 B

View File

Before

Width:  |  Height:  |  Size: 847 B

After

Width:  |  Height:  |  Size: 847 B

View File

Before

Width:  |  Height:  |  Size: 424 B

After

Width:  |  Height:  |  Size: 424 B

View File

Before

Width:  |  Height:  |  Size: 674 B

After

Width:  |  Height:  |  Size: 674 B

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -79,7 +79,7 @@ namespace BukkuBuddy.Resources {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to https://www.hiimray.co.uk/software-bookmark-manager. /// Looks up a localized string similar to https://git.hiimray.co.uk/HiImRay_Public/bukkubuddy-bookmark-manager.
/// </summary> /// </summary>
internal static string AppHelpURL { internal static string AppHelpURL {
get { get {
@ -88,7 +88,7 @@ namespace BukkuBuddy.Resources {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to https://www.hiimray.co.uk/software-bookmark-manager. /// Looks up a localized string similar to https://git.hiimray.co.uk/HiImRay_Public/bukkubuddy-bookmark-manager.
/// </summary> /// </summary>
internal static string AppProductURL { internal static string AppProductURL {
get { get {

View File

@ -124,10 +124,10 @@
<value>https://www.hiimray.co.uk</value> <value>https://www.hiimray.co.uk</value>
</data> </data>
<data name="AppHelpURL" xml:space="preserve"> <data name="AppHelpURL" xml:space="preserve">
<value>https://www.hiimray.co.uk/software-bookmark-manager</value> <value>https://git.hiimray.co.uk/HiImRay_Public/bukkubuddy-bookmark-manager</value>
</data> </data>
<data name="AppProductURL" xml:space="preserve"> <data name="AppProductURL" xml:space="preserve">
<value>https://www.hiimray.co.uk/software-bookmark-manager</value> <value>https://git.hiimray.co.uk/HiImRay_Public/bukkubuddy-bookmark-manager</value>
</data> </data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="folder_minus" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="folder_minus" type="System.Resources.ResXFileRef, System.Windows.Forms">

View File

Before

Width:  |  Height:  |  Size: 351 B

After

Width:  |  Height:  |  Size: 351 B

View File

Before

Width:  |  Height:  |  Size: 334 B

After

Width:  |  Height:  |  Size: 334 B

View File

Before

Width:  |  Height:  |  Size: 354 B

After

Width:  |  Height:  |  Size: 354 B

View File

Before

Width:  |  Height:  |  Size: 334 B

After

Width:  |  Height:  |  Size: 334 B

View File

Before

Width:  |  Height:  |  Size: 349 B

After

Width:  |  Height:  |  Size: 349 B

View File

Before

Width:  |  Height:  |  Size: 752 B

After

Width:  |  Height:  |  Size: 752 B

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 349 B

After

Width:  |  Height:  |  Size: 349 B

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 500 B

After

Width:  |  Height:  |  Size: 500 B

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 268 B

After

Width:  |  Height:  |  Size: 268 B

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 353 B

After

Width:  |  Height:  |  Size: 353 B

View File

Before

Width:  |  Height:  |  Size: 203 B

After

Width:  |  Height:  |  Size: 203 B

View File

Before

Width:  |  Height:  |  Size: 358 B

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -4,7 +4,6 @@ using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System.Windows.Forms; using System.Windows.Forms;
using BukkuBuddy;
using BukkuBuddy.DTOs.SaveFile; using BukkuBuddy.DTOs.SaveFile;
using BukkuBuddy.Resources; using BukkuBuddy.Resources;
@ -146,7 +145,7 @@ namespace RyzStudio.Windows.Forms
break; break;
case NodeType.Page: case NodeType.Page:
var viewModel = UIControl.GetTag<App6Options.Item>(this.SelectedNode); var viewModel = this.SelectedNode.GetTag<App6Options.Item>();
if (viewModel != null) if (viewModel != null)
{ {
try try
@ -320,7 +319,7 @@ namespace RyzStudio.Windows.Forms
newNode.ImageKey = newNode.SelectedImageKey = model.Id.ToString(); newNode.ImageKey = newNode.SelectedImageKey = model.Id.ToString();
} }
UIControl.Add(parentNode, newNode); UIControl.Invoke(parentNode.TreeView, (_) => parentNode.Nodes.Add(newNode));
this.HasChanged = true; this.HasChanged = true;
@ -374,7 +373,7 @@ namespace RyzStudio.Windows.Forms
} }
else if (nodeType == NodeType.Page) else if (nodeType == NodeType.Page)
{ {
var model = UIControl.GetTag<App6Options.Item>(node); var model = node.GetTag<App6Options.Item>();
model.Path = GetNodePath(node); model.Path = GetNodePath(node);
if (this.OnEditNode != null) this.OnEditNode(this, node, model); if (this.OnEditNode != null) this.OnEditNode(this, node, model);

BIN
source/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
wiki/screenshot-1-h240.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
wiki/screenshot-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB