diff --git a/BookmarkForm.cs b/BookmarkForm.cs
index 94e7683..c9ba0a7 100644
--- a/BookmarkForm.cs
+++ b/BookmarkForm.cs
@@ -1,5 +1,6 @@
using BookmarkManager;
using bzit.bomg.Models;
+using FizzyLauncher.Models;
using RyzStudio.Windows.Forms;
using RyzStudio.Windows.ThemedForms;
using System;
@@ -34,12 +35,15 @@ namespace FizzyLauncher
protected WebParser webParser = null;
protected WebClient webClient = null;
protected bool isBusy = false;
+ protected AppSession appSession = null;
- public BookmarkForm(BookmarkItem model, Image icon) : base()
+ public BookmarkForm(AppSession session, BookmarkItem model, Image icon) : base()
{
InitializeComponent();
+ appSession = session;
+
textBox1.Text = model.SiteName?.Trim() ?? string.Empty;
textBox2.Text = model.SiteAddress?.Trim() ?? string.Empty;
memoBox1.Text = model.SiteDescription?.Trim() ?? string.Empty;
@@ -293,6 +297,8 @@ namespace FizzyLauncher
base.OnShown(e);
this.DialogResult = DialogResult.None;
+
+ textBox2.Focus();
}
protected override void OnClosing(CancelEventArgs e)
@@ -371,7 +377,7 @@ namespace FizzyLauncher
return;
}
- BookmarkResult rs = webParser.RetrieveDetails(textBox2.Text);
+ BookmarkResult rs = webParser.RetrieveDetails(textBox2.Text, appSession.IgnoreSSL);
if (rs == null)
{
IsBusy = false;
diff --git a/BookmarkManager.csproj b/BookmarkManager.csproj
index f9f122e..7076389 100644
--- a/BookmarkManager.csproj
+++ b/BookmarkManager.csproj
@@ -12,9 +12,9 @@
Hi, I'm Ray
Bookmark Manager
Ray Lam
- 0.4.0.132
- 0.4.0.132
- 0.4.0.132
+ 0.4.1.006
+ 0.4.1.006
+ 0.4.1.006
bookmarkmanager
diff --git a/MainForm.cs b/MainForm.cs
index 93c1771..85ba623 100644
--- a/MainForm.cs
+++ b/MainForm.cs
@@ -487,7 +487,7 @@ namespace FizzyLauncher
return;
}
- if (updateIconsForm == null) updateIconsForm = new UpdateIconsForm(treeView1, iconDatabase);
+ if (updateIconsForm == null) updateIconsForm = new UpdateIconsForm(this.CurrentSession, treeView1, iconDatabase);
updateIconsForm.ShowDialog();
}
@@ -1184,6 +1184,10 @@ namespace FizzyLauncher
Result result = fileHandler.Save(treeView1, filename, password);
if (result.IsSuccess)
{
+ this.ApplicationMode = AppMode.Open;
+ sessionFilename = filename;
+ sessionPassword = password;
+
treeView1.SetNoChanges();
}
@@ -1201,14 +1205,7 @@ namespace FizzyLauncher
icon = iconDatabase.FindIcon(iconID);
- //if (!string.IsNullOrWhiteSpace(model.SiteAddress))
- //{
- // string iconID = model?.ToHash();
-
- // icon = iconDatabase.FindIcon(iconID);
- //}
-
- BookmarkForm bookmarkForm = new BookmarkForm(model, icon);
+ BookmarkForm bookmarkForm = new BookmarkForm(this.CurrentSession, model, icon);
if (bookmarkForm.ShowDialog() == DialogResult.OK)
{
//string iconID = bookmarkForm.Model.Item?.ToHash();
diff --git a/Models/AppSession.cs b/Models/AppSession.cs
index 596733e..1f20977 100644
--- a/Models/AppSession.cs
+++ b/Models/AppSession.cs
@@ -18,5 +18,7 @@
public string RunCommand { get; set; } = "{0}";
+ public bool IgnoreSSL { get; set; } = false;
+
}
}
\ No newline at end of file
diff --git a/Net/WebParser.cs b/Net/WebParser.cs
index 7f8ec85..6543390 100644
--- a/Net/WebParser.cs
+++ b/Net/WebParser.cs
@@ -14,9 +14,9 @@ namespace BookmarkManager
protected WebClient webClient2 = null;
- public BookmarkResult RetrieveDetails(string url)
+ public BookmarkResult RetrieveDetails(string url, bool ignoreSSL)
{
- string sourceCode = retrieveSourceCode(url);
+ string sourceCode = retrieveSourceCode(url, ignoreSSL);
if (string.IsNullOrWhiteSpace(sourceCode))
{
return null;
@@ -77,9 +77,10 @@ namespace BookmarkManager
}
- protected string retrieveSourceCode(string url)
+ protected string retrieveSourceCode(string url, bool ignoreSSL)
{
if (webClient == null) webClient = new HttpWeb();
+ webClient.IgnoreSSL = ignoreSSL;
string sourceCode;
diff --git a/OptionsForm.cs b/OptionsForm.cs
index c0f1f1d..7720503 100644
--- a/OptionsForm.cs
+++ b/OptionsForm.cs
@@ -19,8 +19,8 @@ namespace FizzyLauncher
private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator3;
private TTextBox textBox1;
private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator2;
-
-
+ private TYesNoPickerBox pickerBox4;
+ private Label label2;
protected MainForm parentForm = null;
@@ -54,6 +54,8 @@ namespace FizzyLauncher
this.tHorizontalSeparator2 = new RyzStudio.Windows.Forms.THorizontalSeparator();
this.tHorizontalSeparator3 = new RyzStudio.Windows.Forms.THorizontalSeparator();
this.textBox1 = new RyzStudio.Windows.ThemedForms.TTextBox();
+ this.pickerBox4 = new RyzStudio.Windows.ThemedForms.TYesNoPickerBox();
+ this.label2 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label1
@@ -233,11 +235,41 @@ namespace FizzyLauncher
this.textBox1.TabIndex = 192;
this.textBox1.UseSystemPasswordChar = false;
//
+ // pickerBox4
+ //
+ this.pickerBox4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.pickerBox4.BackColor = System.Drawing.Color.Transparent;
+ this.pickerBox4.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
+ this.pickerBox4.Location = new System.Drawing.Point(285, 237);
+ this.pickerBox4.Margin = new System.Windows.Forms.Padding(10, 4, 10, 4);
+ this.pickerBox4.Name = "pickerBox4";
+ this.pickerBox4.Padding = new System.Windows.Forms.Padding(10, 6, 7, 5);
+ this.pickerBox4.Size = new System.Drawing.Size(84, 34);
+ this.pickerBox4.SubmitButton = null;
+ this.pickerBox4.TabIndex = 194;
+ this.pickerBox4.Value = true;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.BackColor = System.Drawing.Color.Transparent;
+ this.label2.ForeColor = System.Drawing.SystemColors.ControlText;
+ this.label2.Location = new System.Drawing.Point(10, 237);
+ this.label2.Margin = new System.Windows.Forms.Padding(0);
+ this.label2.Name = "label2";
+ this.label2.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10);
+ this.label2.Size = new System.Drawing.Size(95, 34);
+ this.label2.TabIndex = 193;
+ this.label2.Text = "Ignore SSL Errors";
+ this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
// OptionsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(384, 521);
+ this.Controls.Add(this.pickerBox4);
+ this.Controls.Add(this.label2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.tHorizontalSeparator3);
this.Controls.Add(this.tHorizontalSeparator2);
@@ -278,6 +310,7 @@ namespace FizzyLauncher
pickerBox1.Value = parentForm.CurrentSession.EnableAutoPosition;
pickerBox2.Value = parentForm.CurrentSession.AlwaysOnTop;
textBox1.Text = parentForm.CurrentSession.RunCommand ?? string.Empty;
+ pickerBox4.Value = parentForm.CurrentSession.IgnoreSSL;
}
private void button1_MouseClick(object sender, MouseEventArgs e)
@@ -290,6 +323,7 @@ namespace FizzyLauncher
parentForm.CurrentSession.EnableAutoPosition = pickerBox1.Value;
parentForm.CurrentSession.AlwaysOnTop = pickerBox2.Value;
parentForm.CurrentSession.RunCommand = textBox1.Text?.Trim();
+ parentForm.CurrentSession.IgnoreSSL = pickerBox4.Value;
}
this.DialogResult = DialogResult.OK;
diff --git a/RyzStudio/Net/HttpWeb.cs b/RyzStudio/Net/HttpWeb.cs
index bafff2e..27a4b18 100644
--- a/RyzStudio/Net/HttpWeb.cs
+++ b/RyzStudio/Net/HttpWeb.cs
@@ -8,35 +8,41 @@ namespace RyzStudio.Net
{
public class HttpWeb
{
- public string defaultUserAgent = "Momozilla/5.0 (" + Environment.OSVersion.Platform.ToString() + " ; " + Environment.OSVersion.VersionString + "; " + Application.CurrentCulture.TwoLetterISOLanguageName + ")";
- public int defaultTimeout = 6000;
- public int defaultMaxRedirect = 8;
- public bool defaultAllowRedirect = true;
- public CookieContainer defaultCookierContainer = null;
+
public HttpWeb()
{
}
- public HttpWebRequest CreateRequest(string url)
- {
- return this.CreateRequest(url, url);
- }
+
+ public string UserAgent { get; set; } = "Momozilla/5.0 (" + Environment.OSVersion.Platform.ToString() + " ; " + Environment.OSVersion.VersionString + "; " + Application.CurrentCulture.TwoLetterISOLanguageName + ")";
+
+ public int Timeout { get; set; } = 6000;
+
+ public int MaxRedirect { get; set; } = 8;
+
+ public bool AllowRedirect { get; set; } = true;
+
+ public bool IgnoreSSL { get; set; } = false;
+
+ public CookieContainer CookierJar { get; set; } = null;
+
+
+ public HttpWebRequest CreateRequest(string url) => this.CreateRequest(url, url);
public HttpWebRequest CreateRequest(string url, string referrerURL)
{
- if (defaultCookierContainer == null)
- {
- defaultCookierContainer = new CookieContainer();
- }
+ if (this.CookierJar == null) this.CookierJar = new CookieContainer();
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore);
- webRequest.MaximumAutomaticRedirections = defaultMaxRedirect;
- webRequest.CookieContainer = defaultCookierContainer;
- webRequest.UserAgent = defaultUserAgent;
- webRequest.AllowAutoRedirect = defaultAllowRedirect;
- webRequest.Timeout = defaultTimeout;
+ webRequest.MaximumAutomaticRedirections = this.MaxRedirect;
+ webRequest.CookieContainer = this.CookierJar;
+ webRequest.UserAgent = this.UserAgent;
+ webRequest.AllowAutoRedirect = this.AllowRedirect;
+ webRequest.Timeout = this.Timeout;
+
+ if (this.IgnoreSSL) webRequest.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
return webRequest;
}
@@ -164,5 +170,6 @@ namespace RyzStudio.Net
return rv;
}
+
}
}
\ No newline at end of file
diff --git a/UpdateIconsForm.cs b/UpdateIconsForm.cs
index ebf6c5e..7265014 100644
--- a/UpdateIconsForm.cs
+++ b/UpdateIconsForm.cs
@@ -1,5 +1,6 @@
using BookmarkManager;
using bzit.bomg.Models;
+using FizzyLauncher.Models;
using RyzStudio.Windows.Forms;
using RyzStudio.Windows.ThemedForms;
using System;
@@ -27,6 +28,7 @@ namespace FizzyLauncher
protected BookmarkTreeView bookmarkTreeView = null;
protected IconDatabase iconDatabase = null;
+ protected AppSession appSession = null;
protected WebParser webParser = null;
protected WebClient webClient = null;
@@ -39,12 +41,13 @@ namespace FizzyLauncher
protected bool requestCancellation = false;
- public UpdateIconsForm(BookmarkTreeView treeView, IconDatabase database)
+ public UpdateIconsForm(AppSession session, BookmarkTreeView treeView, IconDatabase database)
{
InitializeComponent();
bookmarkTreeView = treeView;
iconDatabase = database;
+ appSession = session;
pickerBox1.InnerControl.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
@@ -314,7 +317,7 @@ namespace FizzyLauncher
BookmarkItem item = bookmarkList[i];
- BookmarkResult result = webParser.RetrieveDetails(item.SiteAddress);
+ BookmarkResult result = webParser.RetrieveDetails(item.SiteAddress, appSession.IgnoreSSL);
if (result == null)
{
continue;
diff --git a/Windows/Forms/BookmarkTreeView.cs b/Windows/Forms/BookmarkTreeView.cs
index fd0e9f5..f320eaf 100644
--- a/Windows/Forms/BookmarkTreeView.cs
+++ b/Windows/Forms/BookmarkTreeView.cs
@@ -817,6 +817,10 @@ namespace RyzStudio.Windows.Forms
if (string.IsNullOrWhiteSpace(item.SiteAddress)) return (int)IconSet.Default;
string iconID = item?.ToHash();
+ if (this.ImageList.Images.ContainsKey(iconID))
+ {
+ return this.ImageList.Images.IndexOfKey(iconID);
+ }
Image image = this.IconDatabase.FindIcon(iconID);
if (image == null)
@@ -824,11 +828,6 @@ namespace RyzStudio.Windows.Forms
return (int)IconSet.Default;
}
- if (this.ImageList.Images.ContainsKey(iconID))
- {
- this.ImageList.Images.RemoveByKey(iconID);
- }
-
ThreadControl.Add(this, this.ImageList, iconID, image);
return this.ImageList.Images.IndexOfKey(iconID);
diff --git a/installer-64.iss b/installer-64.iss
index d615563..e3b5a73 100644
--- a/installer-64.iss
+++ b/installer-64.iss
@@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Bookmark Manager"
-#define MyAppVersion "0.4.0.132"
+#define MyAppVersion "0.4.1.006"
#define MyAppPublisher "Hi, I'm Ray"
#define MyAppURL "https://www.hiimray.co.uk/software-bookmark-manager"
#define MyAppExeName "bookmarkmanager.exe"
diff --git a/installer-86.iss b/installer-86.iss
index ef0480a..f902026 100644
--- a/installer-86.iss
+++ b/installer-86.iss
@@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Bookmark Manager"
-#define MyAppVersion "0.4.0.132"
+#define MyAppVersion "0.4.1.006"
#define MyAppPublisher "Hi, I'm Ray"
#define MyAppURL "https://www.hiimray.co.uk/software-bookmark-manager"
#define MyAppExeName "bookmarkmanager.exe"