Add Outlook folder browser and user settings
- Replace Outlook folder ComboBox with TextBox + Browse button that opens a TreeView-based folder browser dialog - Add per-user settings stored in %AppData% (not HKLM) with option to start minimized (System Tray only) - Add Settings button to main window - Settings are per-user, independent of profiles Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,7 @@ namespace StarfaceOutlookSync.UI
|
||||
private NotifyIcon _trayIcon;
|
||||
private ContextMenuStrip _trayMenu;
|
||||
private ListView _profileList;
|
||||
private Button _btnNew, _btnEdit, _btnDelete, _btnSync, _btnInfo;
|
||||
private Button _btnNew, _btnEdit, _btnDelete, _btnSync, _btnSettings, _btnInfo;
|
||||
private StatusStrip _statusBar;
|
||||
private ToolStripStatusLabel _statusLabel;
|
||||
private Timer _autoSyncTimer;
|
||||
@@ -29,6 +29,30 @@ namespace StarfaceOutlookSync.UI
|
||||
SetupTrayIcon();
|
||||
SetupAutoSync();
|
||||
RefreshProfileList();
|
||||
|
||||
// Minimiert starten falls in Einstellungen aktiviert
|
||||
var settings = UserSettings.Load();
|
||||
if (settings.StartMinimized)
|
||||
{
|
||||
WindowState = FormWindowState.Minimized;
|
||||
ShowInTaskbar = false;
|
||||
Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void SetVisibleCore(bool value)
|
||||
{
|
||||
// Beim ersten Anzeigen pruefen ob minimiert gestartet werden soll
|
||||
if (!IsHandleCreated)
|
||||
{
|
||||
var settings = UserSettings.Load();
|
||||
if (settings.StartMinimized)
|
||||
{
|
||||
CreateHandle();
|
||||
value = false;
|
||||
}
|
||||
}
|
||||
base.SetVisibleCore(value);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
@@ -76,10 +100,13 @@ namespace StarfaceOutlookSync.UI
|
||||
_btnSync = new Button { Text = "Jetzt synchronisieren", Width = 150, Height = 30 };
|
||||
_btnSync.Click += async (s, e) => await SyncSelectedProfile();
|
||||
|
||||
_btnSettings = new Button { Text = "Einstellungen", Width = 100, Height = 30 };
|
||||
_btnSettings.Click += (s, e) => ShowSettings();
|
||||
|
||||
_btnInfo = new Button { Text = "Info", Width = 50, Height = 30 };
|
||||
_btnInfo.Click += (s, e) => ShowAbout();
|
||||
|
||||
buttonPanel.Controls.AddRange(new Control[] { _btnNew, _btnEdit, _btnDelete, _btnSync, _btnInfo });
|
||||
buttonPanel.Controls.AddRange(new Control[] { _btnNew, _btnEdit, _btnDelete, _btnSync, _btnSettings, _btnInfo });
|
||||
|
||||
// Statusbar
|
||||
_statusBar = new StatusStrip();
|
||||
@@ -283,6 +310,14 @@ namespace StarfaceOutlookSync.UI
|
||||
_statusLabel.Text = text;
|
||||
}
|
||||
|
||||
private void ShowSettings()
|
||||
{
|
||||
using (var settings = new SettingsForm())
|
||||
{
|
||||
settings.ShowDialog(this);
|
||||
}
|
||||
}
|
||||
|
||||
private void ShowAbout()
|
||||
{
|
||||
using (var about = new AboutForm())
|
||||
|
||||
Reference in New Issue
Block a user