toast notifications(+) #17
@@ -135,10 +135,14 @@ namespace ntfysh_client
|
|||||||
using SettingsDialog dialog = new();
|
using SettingsDialog dialog = new();
|
||||||
|
|
||||||
//Load current settings into dialog
|
//Load current settings into dialog
|
||||||
dialog.Timeout = Program.Settings.Timeout;
|
|
||||||
dialog.ReconnectAttempts = Program.Settings.ReconnectAttempts;
|
dialog.ReconnectAttempts = Program.Settings.ReconnectAttempts;
|
||||||
dialog.ReconnectAttemptDelay = Program.Settings.ReconnectAttemptDelay;
|
dialog.ReconnectAttemptDelay = Program.Settings.ReconnectAttemptDelay;
|
||||||
|
dialog.UseNativeWindowsNotifications = Program.Settings.UseNativeWindowsNotifications;
|
||||||
|
dialog.UseCustomTrayNotifications = Program.Settings.UseCustomTrayNotifications;
|
||||||
|
dialog.CustomTrayNotificationsShowTimeoutBar = Program.Settings.CustomTrayNotificationsShowTimeoutBar;
|
||||||
|
dialog.CustomTrayNotificationsShowInDarkMode = Program.Settings.CustomTrayNotificationsShowInDarkMode;
|
||||||
|
dialog.Timeout = Program.Settings.Timeout; // set timeout last so bounds are setup before setting value
|
||||||
|
|
||||||
//Show dialog
|
//Show dialog
|
||||||
DialogResult result = dialog.ShowDialog();
|
DialogResult result = dialog.ShowDialog();
|
||||||
|
|
||||||
@@ -149,7 +153,11 @@ namespace ntfysh_client
|
|||||||
Program.Settings.Timeout = dialog.Timeout;
|
Program.Settings.Timeout = dialog.Timeout;
|
||||||
Program.Settings.ReconnectAttempts = dialog.ReconnectAttempts;
|
Program.Settings.ReconnectAttempts = dialog.ReconnectAttempts;
|
||||||
Program.Settings.ReconnectAttemptDelay = dialog.ReconnectAttemptDelay;
|
Program.Settings.ReconnectAttemptDelay = dialog.ReconnectAttemptDelay;
|
||||||
|
Program.Settings.UseNativeWindowsNotifications = dialog.UseNativeWindowsNotifications;
|
||||||
|
Program.Settings.UseCustomTrayNotifications = dialog.UseCustomTrayNotifications;
|
||||||
|
Program.Settings.CustomTrayNotificationsShowTimeoutBar = dialog.CustomTrayNotificationsShowTimeoutBar;
|
||||||
|
Program.Settings.CustomTrayNotificationsShowInDarkMode = dialog.CustomTrayNotificationsShowInDarkMode;
|
||||||
|
|
||||||
//Save new settings persistently
|
//Save new settings persistently
|
||||||
SaveSettingsToFile();
|
SaveSettingsToFile();
|
||||||
}
|
}
|
||||||
@@ -301,10 +309,14 @@ namespace ntfysh_client
|
|||||||
|
|
||||||
private SettingsModel GetDefaultSettings() => new()
|
private SettingsModel GetDefaultSettings() => new()
|
||||||
{
|
{
|
||||||
Revision = 1,
|
Revision = 2,
|
||||||
Timeout = 5,
|
Timeout = 5,
|
||||||
ReconnectAttempts = 10,
|
ReconnectAttempts = 10,
|
||||||
ReconnectAttemptDelay = 3
|
ReconnectAttemptDelay = 3,
|
||||||
|
UseNativeWindowsNotifications = true,
|
||||||
|
UseCustomTrayNotifications = false,
|
||||||
|
CustomTrayNotificationsShowTimeoutBar = true,
|
||||||
|
CustomTrayNotificationsShowInDarkMode = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
private void MergeSettingsRevisions(SettingsModel older, SettingsModel newer)
|
private void MergeSettingsRevisions(SettingsModel older, SettingsModel newer)
|
||||||
|
|||||||
@@ -315,6 +327,13 @@ namespace ntfysh_client
|
|||||||
older.ReconnectAttempts = newer.ReconnectAttempts;
|
older.ReconnectAttempts = newer.ReconnectAttempts;
|
||||||
older.ReconnectAttemptDelay = newer.ReconnectAttemptDelay;
|
older.ReconnectAttemptDelay = newer.ReconnectAttemptDelay;
|
||||||
}
|
}
|
||||||
|
if (older.Revision < 2)
|
||||||
|
{
|
||||||
|
older.UseNativeWindowsNotifications = newer.UseNativeWindowsNotifications;
|
||||||
|
older.UseCustomTrayNotifications = newer.UseCustomTrayNotifications;
|
||||||
|
older.CustomTrayNotificationsShowTimeoutBar = newer.CustomTrayNotificationsShowTimeoutBar;
|
||||||
|
older.CustomTrayNotificationsShowInDarkMode = newer.CustomTrayNotificationsShowInDarkMode;
|
||||||
|
}
|
||||||
|
|
||||||
//Update the revision
|
//Update the revision
|
||||||
older.Revision = newer.Revision;
|
older.Revision = newer.Revision;
|
||||||
@@ -364,7 +383,7 @@ namespace ntfysh_client
|
|||||||
Program.Settings = settings;
|
Program.Settings = settings;
|
||||||
|
|
||||||
//Check the settings revision. If it is older than the current latest revision, apply the settings defaults missing from previous revision
|
//Check the settings revision. If it is older than the current latest revision, apply the settings defaults missing from previous revision
|
||||||
if (Program.Settings.Revision < defaultSettings.ReconnectAttempts)
|
if (Program.Settings.Revision < defaultSettings.Revision)
|
||||||
{
|
{
|
||||||
MergeSettingsRevisions(Program.Settings, defaultSettings);
|
MergeSettingsRevisions(Program.Settings, defaultSettings);
|
||||||
SaveSettingsToFile();
|
SaveSettingsToFile();
|
||||||
|
105
ntfysh_client/SettingsDialog.Designer.cs
generated
105
ntfysh_client/SettingsDialog.Designer.cs
generated
@@ -38,10 +38,19 @@ namespace ntfysh_client
|
|||||||
reconnectAttemptsLabel = new System.Windows.Forms.Label();
|
reconnectAttemptsLabel = new System.Windows.Forms.Label();
|
||||||
reconnectAttemptDelay = new System.Windows.Forms.NumericUpDown();
|
reconnectAttemptDelay = new System.Windows.Forms.NumericUpDown();
|
||||||
reconnectAttemptDelayLabel = new System.Windows.Forms.Label();
|
reconnectAttemptDelayLabel = new System.Windows.Forms.Label();
|
||||||
|
groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
|
useCustomTrayNotifications = new System.Windows.Forms.RadioButton();
|
||||||
|
useNativeWindowsNotifications = new System.Windows.Forms.RadioButton();
|
||||||
|
groupCustomNotificationSettings = new System.Windows.Forms.GroupBox();
|
||||||
|
customNotificationsShowInDarkMode = new System.Windows.Forms.CheckBox();
|
||||||
|
customNotificationsShowTimeoutBar = new System.Windows.Forms.CheckBox();
|
||||||
|
label1 = new System.Windows.Forms.Label();
|
||||||
buttonPanel.SuspendLayout();
|
buttonPanel.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)timeout).BeginInit();
|
((System.ComponentModel.ISupportInitialize)timeout).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)reconnectAttempts).BeginInit();
|
((System.ComponentModel.ISupportInitialize)reconnectAttempts).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)reconnectAttemptDelay).BeginInit();
|
((System.ComponentModel.ISupportInitialize)reconnectAttemptDelay).BeginInit();
|
||||||
|
groupBox1.SuspendLayout();
|
||||||
|
groupCustomNotificationSettings.SuspendLayout();
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
//
|
//
|
||||||
// buttonPanel
|
// buttonPanel
|
||||||
@@ -50,7 +59,7 @@ namespace ntfysh_client
|
|||||||
buttonPanel.Controls.Add(cancelButton);
|
buttonPanel.Controls.Add(cancelButton);
|
||||||
buttonPanel.Controls.Add(saveButton);
|
buttonPanel.Controls.Add(saveButton);
|
||||||
buttonPanel.Dock = System.Windows.Forms.DockStyle.Bottom;
|
buttonPanel.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||||
buttonPanel.Location = new System.Drawing.Point(0, 150);
|
buttonPanel.Location = new System.Drawing.Point(0, 316);
|
||||||
buttonPanel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
buttonPanel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||||
buttonPanel.Name = "buttonPanel";
|
buttonPanel.Name = "buttonPanel";
|
||||||
buttonPanel.Size = new System.Drawing.Size(531, 51);
|
buttonPanel.Size = new System.Drawing.Size(531, 51);
|
||||||
@@ -82,7 +91,7 @@ namespace ntfysh_client
|
|||||||
timeoutLabel.Location = new System.Drawing.Point(13, 9);
|
timeoutLabel.Location = new System.Drawing.Point(13, 9);
|
||||||
timeoutLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
timeoutLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||||
timeoutLabel.Name = "timeoutLabel";
|
timeoutLabel.Name = "timeoutLabel";
|
||||||
timeoutLabel.Size = new System.Drawing.Size(488, 15);
|
timeoutLabel.Size = new System.Drawing.Size(401, 15);
|
||||||
timeoutLabel.TabIndex = 3;
|
timeoutLabel.TabIndex = 3;
|
||||||
timeoutLabel.Text = "Notification Toast Timeout (seconds, use -1 to require closing notification):";
|
timeoutLabel.Text = "Notification Toast Timeout (seconds, use -1 to require closing notification):";
|
||||||
//
|
//
|
||||||
@@ -109,7 +118,7 @@ namespace ntfysh_client
|
|||||||
reconnectAttemptsLabel.Location = new System.Drawing.Point(12, 54);
|
reconnectAttemptsLabel.Location = new System.Drawing.Point(12, 54);
|
||||||
reconnectAttemptsLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
reconnectAttemptsLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||||
reconnectAttemptsLabel.Name = "reconnectAttemptsLabel";
|
reconnectAttemptsLabel.Name = "reconnectAttemptsLabel";
|
||||||
reconnectAttemptsLabel.Size = new System.Drawing.Size(198, 15);
|
reconnectAttemptsLabel.Size = new System.Drawing.Size(287, 15);
|
||||||
reconnectAttemptsLabel.TabIndex = 5;
|
reconnectAttemptsLabel.TabIndex = 5;
|
||||||
reconnectAttemptsLabel.Text = "Maximum reconnect retry attempts (requires restart):";
|
reconnectAttemptsLabel.Text = "Maximum reconnect retry attempts (requires restart):";
|
||||||
//
|
//
|
||||||
@@ -127,16 +136,91 @@ namespace ntfysh_client
|
|||||||
reconnectAttemptDelayLabel.Location = new System.Drawing.Point(12, 99);
|
reconnectAttemptDelayLabel.Location = new System.Drawing.Point(12, 99);
|
||||||
reconnectAttemptDelayLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
reconnectAttemptDelayLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||||
reconnectAttemptDelayLabel.Name = "reconnectAttemptDelayLabel";
|
reconnectAttemptDelayLabel.Name = "reconnectAttemptDelayLabel";
|
||||||
reconnectAttemptDelayLabel.Size = new System.Drawing.Size(191, 15);
|
reconnectAttemptDelayLabel.Size = new System.Drawing.Size(275, 15);
|
||||||
reconnectAttemptDelayLabel.TabIndex = 7;
|
reconnectAttemptDelayLabel.TabIndex = 7;
|
||||||
reconnectAttemptDelayLabel.Text = "Delay between attempts (seconds, requires restart):";
|
reconnectAttemptDelayLabel.Text = "Delay between attempts (seconds, requires restart):";
|
||||||
//
|
//
|
||||||
|
// groupBox1
|
||||||
|
//
|
||||||
|
groupBox1.Controls.Add(useCustomTrayNotifications);
|
||||||
|
groupBox1.Controls.Add(useNativeWindowsNotifications);
|
||||||
|
groupBox1.Location = new System.Drawing.Point(12, 147);
|
||||||
|
groupBox1.Name = "groupBox1";
|
||||||
|
groupBox1.Size = new System.Drawing.Size(506, 67);
|
||||||
|
groupBox1.TabIndex = 9;
|
||||||
|
groupBox1.TabStop = false;
|
||||||
|
//
|
||||||
|
// useCustomTrayNotifications
|
||||||
|
//
|
||||||
|
useCustomTrayNotifications.AutoSize = true;
|
||||||
|
useCustomTrayNotifications.Location = new System.Drawing.Point(6, 40);
|
||||||
|
useCustomTrayNotifications.Name = "useCustomTrayNotifications";
|
||||||
|
useCustomTrayNotifications.Size = new System.Drawing.Size(267, 19);
|
||||||
|
useCustomTrayNotifications.TabIndex = 1;
|
||||||
|
useCustomTrayNotifications.TabStop = true;
|
||||||
|
useCustomTrayNotifications.Text = "Use ntfysh-windows custom tray notifications";
|
||||||
|
useCustomTrayNotifications.UseVisualStyleBackColor = true;
|
||||||
|
useCustomTrayNotifications.CheckedChanged += useCustomTrayNotifications_CheckedChanged;
|
||||||
|
//
|
||||||
|
// useNativeWindowsNotifications
|
||||||
|
//
|
||||||
|
useNativeWindowsNotifications.AutoSize = true;
|
||||||
|
useNativeWindowsNotifications.Location = new System.Drawing.Point(6, 15);
|
||||||
|
useNativeWindowsNotifications.Name = "useNativeWindowsNotifications";
|
||||||
|
useNativeWindowsNotifications.Size = new System.Drawing.Size(203, 19);
|
||||||
|
useNativeWindowsNotifications.TabIndex = 0;
|
||||||
|
useNativeWindowsNotifications.TabStop = true;
|
||||||
|
useNativeWindowsNotifications.Text = "Use Windows' native notifications";
|
||||||
|
useNativeWindowsNotifications.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// groupCustomNotificationSettings
|
||||||
|
//
|
||||||
|
groupCustomNotificationSettings.Controls.Add(customNotificationsShowInDarkMode);
|
||||||
|
groupCustomNotificationSettings.Controls.Add(customNotificationsShowTimeoutBar);
|
||||||
|
groupCustomNotificationSettings.Location = new System.Drawing.Point(12, 243);
|
||||||
|
groupCustomNotificationSettings.Name = "groupCustomNotificationSettings";
|
||||||
|
groupCustomNotificationSettings.Size = new System.Drawing.Size(504, 67);
|
||||||
|
groupCustomNotificationSettings.TabIndex = 10;
|
||||||
|
groupCustomNotificationSettings.TabStop = false;
|
||||||
|
//
|
||||||
|
// customNotificationsShowInDarkMode
|
||||||
|
//
|
||||||
|
customNotificationsShowInDarkMode.AutoSize = true;
|
||||||
|
customNotificationsShowInDarkMode.Location = new System.Drawing.Point(6, 37);
|
||||||
|
customNotificationsShowInDarkMode.Name = "customNotificationsShowInDarkMode";
|
||||||
|
customNotificationsShowInDarkMode.Size = new System.Drawing.Size(197, 19);
|
||||||
|
customNotificationsShowInDarkMode.TabIndex = 1;
|
||||||
|
customNotificationsShowInDarkMode.Text = "Show notifications in dark mode";
|
||||||
|
customNotificationsShowInDarkMode.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// customNotificationsShowTimeoutBar
|
||||||
|
//
|
||||||
|
customNotificationsShowTimeoutBar.AutoSize = true;
|
||||||
|
customNotificationsShowTimeoutBar.Location = new System.Drawing.Point(6, 14);
|
||||||
|
customNotificationsShowTimeoutBar.Name = "customNotificationsShowTimeoutBar";
|
||||||
|
customNotificationsShowTimeoutBar.Size = new System.Drawing.Size(211, 19);
|
||||||
|
customNotificationsShowTimeoutBar.TabIndex = 0;
|
||||||
|
customNotificationsShowTimeoutBar.Text = "Show time-out bar on notifications";
|
||||||
|
customNotificationsShowTimeoutBar.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
label1.AutoSize = true;
|
||||||
|
label1.Location = new System.Drawing.Point(12, 227);
|
||||||
|
label1.Name = "label1";
|
||||||
|
label1.Size = new System.Drawing.Size(180, 15);
|
||||||
|
label1.TabIndex = 11;
|
||||||
|
label1.Text = "Custom tray notification settings";
|
||||||
|
//
|
||||||
// SettingsDialog
|
// SettingsDialog
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||||
AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
BackColor = System.Drawing.Color.White;
|
BackColor = System.Drawing.Color.White;
|
||||||
ClientSize = new System.Drawing.Size(531, 201);
|
ClientSize = new System.Drawing.Size(531, 367);
|
||||||
|
Controls.Add(label1);
|
||||||
|
Controls.Add(groupCustomNotificationSettings);
|
||||||
|
Controls.Add(groupBox1);
|
||||||
Controls.Add(reconnectAttemptDelay);
|
Controls.Add(reconnectAttemptDelay);
|
||||||
Controls.Add(reconnectAttemptDelayLabel);
|
Controls.Add(reconnectAttemptDelayLabel);
|
||||||
Controls.Add(reconnectAttempts);
|
Controls.Add(reconnectAttempts);
|
||||||
@@ -157,6 +241,10 @@ namespace ntfysh_client
|
|||||||
((System.ComponentModel.ISupportInitialize)timeout).EndInit();
|
((System.ComponentModel.ISupportInitialize)timeout).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)reconnectAttempts).EndInit();
|
((System.ComponentModel.ISupportInitialize)reconnectAttempts).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)reconnectAttemptDelay).EndInit();
|
((System.ComponentModel.ISupportInitialize)reconnectAttemptDelay).EndInit();
|
||||||
|
groupBox1.ResumeLayout(false);
|
||||||
|
groupBox1.PerformLayout();
|
||||||
|
groupCustomNotificationSettings.ResumeLayout(false);
|
||||||
|
groupCustomNotificationSettings.PerformLayout();
|
||||||
ResumeLayout(false);
|
ResumeLayout(false);
|
||||||
PerformLayout();
|
PerformLayout();
|
||||||
}
|
}
|
||||||
@@ -172,5 +260,12 @@ namespace ntfysh_client
|
|||||||
private System.Windows.Forms.Label reconnectAttemptsLabel;
|
private System.Windows.Forms.Label reconnectAttemptsLabel;
|
||||||
private System.Windows.Forms.NumericUpDown reconnectAttemptDelay;
|
private System.Windows.Forms.NumericUpDown reconnectAttemptDelay;
|
||||||
private System.Windows.Forms.Label reconnectAttemptDelayLabel;
|
private System.Windows.Forms.Label reconnectAttemptDelayLabel;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox1;
|
||||||
|
private System.Windows.Forms.RadioButton useCustomTrayNotifications;
|
||||||
|
private System.Windows.Forms.RadioButton useNativeWindowsNotifications;
|
||||||
|
private System.Windows.Forms.GroupBox groupCustomNotificationSettings;
|
||||||
|
private System.Windows.Forms.CheckBox customNotificationsShowTimeoutBar;
|
||||||
|
private System.Windows.Forms.CheckBox customNotificationsShowInDarkMode;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -8,7 +8,7 @@ namespace ntfysh_client
|
|||||||
public decimal Timeout
|
public decimal Timeout
|
||||||
{
|
{
|
||||||
get => timeout.Value;
|
get => timeout.Value;
|
||||||
set => timeout.Value = value;
|
set => timeout.Value = Math.Max(value, timeout.Minimum); // Ensure value is within bounds despite our changing minimum
|
||||||
}
|
}
|
||||||
|
|
||||||
public decimal ReconnectAttempts
|
public decimal ReconnectAttempts
|
||||||
@@ -23,9 +23,45 @@ namespace ntfysh_client
|
|||||||
set => reconnectAttemptDelay.Value = value;
|
set => reconnectAttemptDelay.Value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region: Native vs custom notifications options. Because these are in a group box, these are mutualy exclusive.
|
||||||
|
public bool UseNativeWindowsNotifications
|
||||||
|
{
|
||||||
|
get => useNativeWindowsNotifications.Checked;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
useNativeWindowsNotifications.Checked = value;
|
||||||
|
groupCustomNotificationSettings.Enabled = !value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool UseCustomTrayNotifications
|
||||||
|
{
|
||||||
|
get => useCustomTrayNotifications.Checked;
|
||||||
|
set {
|
||||||
|
useCustomTrayNotifications.Checked = value;
|
||||||
|
groupCustomNotificationSettings.Enabled = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region: Custom tray notification options
|
||||||
|
public bool CustomTrayNotificationsShowTimeoutBar
|
||||||
|
{
|
||||||
|
get => customNotificationsShowTimeoutBar.Checked;
|
||||||
|
set => customNotificationsShowTimeoutBar.Checked = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool CustomTrayNotificationsShowInDarkMode
|
||||||
|
{
|
||||||
|
get => customNotificationsShowInDarkMode.Checked;
|
||||||
|
set => customNotificationsShowInDarkMode.Checked = value;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
public SettingsDialog()
|
public SettingsDialog()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
setNotificationsUIElements();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveButton_Click(object sender, EventArgs e)
|
private void saveButton_Click(object sender, EventArgs e)
|
||||||
@@ -37,5 +73,20 @@ namespace ntfysh_client
|
|||||||
{
|
{
|
||||||
DialogResult = DialogResult.Cancel;
|
DialogResult = DialogResult.Cancel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setNotificationsUIElements()
|
||||||
|
{
|
||||||
|
groupCustomNotificationSettings.Enabled = useCustomTrayNotifications.Checked;
|
||||||
|
timeoutLabel.Text = useCustomTrayNotifications.Checked ? _customNotificationsTimeout : _windowsNotificationsTimeout;
|
||||||
|
timeout.Minimum = useCustomTrayNotifications.Checked ? -1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void useCustomTrayNotifications_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
setNotificationsUIElements();
|
||||||
|
}
|
||||||
|
|
||||||
|
private const string _windowsNotificationsTimeout = "Notification Toast Timeout (seconds, may be ignored by OS based on accessibility settings):";
|
||||||
|
private const string _customNotificationsTimeout = "Notification Toast Timeout (seconds, use -1 to require closing notification):";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -6,5 +6,9 @@
|
|||||||
public decimal Timeout { get; set; }
|
public decimal Timeout { get; set; }
|
||||||
public decimal ReconnectAttempts { get; set; }
|
public decimal ReconnectAttempts { get; set; }
|
||||||
public decimal ReconnectAttemptDelay { get; set; }
|
public decimal ReconnectAttemptDelay { get; set; }
|
||||||
|
public bool UseNativeWindowsNotifications { get; set; }
|
||||||
|
public bool UseCustomTrayNotifications { get; set; }
|
||||||
|
public bool CustomTrayNotificationsShowTimeoutBar { get; set; }
|
||||||
|
public bool CustomTrayNotificationsShowInDarkMode { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user
Can
UseNativeWindowsNotifications
andUseCustomTrayNotifications
not be merged?They can. Currently these two are mutually exclusive. Preference between "UseOldNotificationsStyle" (or "New") and making it an enum? I can't imagine a 3rd notification style getting added, but FOSS is not exactly predictable. (i.e., I would lean toward the single boolean)
Could do an enum?
Changed to an enum.