- Add _isInitialized flag to OptionsWindow to prevent multiple ThemeChanged subscriptions
- Ensures ThemeChanged event is only subscribed once
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
- Add _isInitialized flag to prevent multiple event subscriptions
- Skip re-initialization in FrmOptions_Load when form is reused
- Properly clean up Application.Idle handler in FormClosing
- Add test to verify form can be shown/hidden multiple times
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
- Call RevertSettings() on all option pages when Cancel is clicked
- Enhanced ThemePage.RevertSettings() to properly revert theme changes:
- Store original active theme in LoadSettings
- Clear modifiedThemes list on cancel
- Restore original theme selection
- Add VisibleChanged handler to ensure panel is populated when form is shown
- Fixes issue where Options panel was empty after canceling theme selection
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
Found another location where ConfirmCloseConnection is changed without immediately saving.
This ensures all four code paths that change this setting persist it immediately.
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
- Add VisibleChanged event handler to ConnectionsPage to reload settings when page becomes visible
- Save settings immediately when user checks "Don't show this message again" checkbox during connection close
- Ensures Options dialog always displays current setting value, even if changed outside the dialog
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
When user checks "Do not show this dialog again" while closing a connection,
the ConfirmCloseConnection setting should be set to Never (1) instead of being
decremented. The decrement approach was incorrectly changing All (4) to Multiple (3)
instead of Never (1), which didn't match user expectations.
Fixed in:
- ConnectionTab.cs
- ConnectionWindow.cs (2 occurrences)
- ConnectionContextMenu.cs
- frmMain.cs
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
- Changed SetProcessProperties to use Arguments property instead of splitting by space and using ArgumentList
- Added tests to verify passwords with special characters like '=' are passed correctly
- This fixes the issue where passwords like 'Z-3=Wv99/Aq' were being split incorrectly
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
Added defensive check in PasswordString getter to ensure it returns the default password when _customPassword is empty, even if Password property is true. This prevents encryption failures when Password is set inconsistently.
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
Added tests to verify that full file encryption works correctly when Password property is set directly without setting PasswordString, ensuring the fix prevents encryption failures.
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
Changed CreateProtectedAttribute to use PasswordString as source of truth instead of Password property. This prevents encryption failures when Password property is true but _customPassword is empty.
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>