private void LoadAdvancedOptions()
        {
            bool?obNoMin = null;

            if (MonoWorkarounds.IsRequired(1418))
            {
                obNoMin = true;
            }

            m_lvAdvanced.Columns.Add(string.Empty);             // Resize below

            m_cdxAdvanced = new CheckedLVItemDXList(m_lvAdvanced, true);

            ListViewGroup lvg = new ListViewGroup(KPRes.StartAndExit);

            m_lvAdvanced.Groups.Add(lvg);
            m_cdxAdvanced.CreateItem(Program.Config.Application.Start, "OpenLastFile",
                                     lvg, KPRes.AutoRememberOpenLastFile);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "LimitToSingleInstance",
                                     lvg, KPRes.LimitSingleInstance);
            m_cdxAdvanced.CreateItem(Program.Config.Application.Start, "CheckForUpdate",
                                     lvg, KPRes.CheckForUpdAtStart);
            m_cdxAdvanced.CreateItem(Program.Config.Application.Start, "MinimizedAndLocked",
                                     lvg, KPRes.StartMinimizedAndLocked, obNoMin);
            m_cdxAdvanced.CreateItem(Program.Config.Application.FileClosing, "AutoSave",
                                     lvg, KPRes.AutoSaveAtExit);
            m_cdxAdvanced.CreateItem(Program.Config.Application, "AutoSaveAfterEntryEdit",
                                     lvg, KPRes.AutoSaveAfterEntryEdit);

            lvg = new ListViewGroup(KPRes.AfterDatabaseOpen);
            m_lvAdvanced.Groups.Add(lvg);
            m_cdxAdvanced.CreateItem(Program.Config.Application.FileOpening, "ShowExpiredEntries",
                                     lvg, KPRes.AutoShowExpiredEntries);
            m_cdxAdvanced.CreateItem(Program.Config.Application.FileOpening, "ShowSoonToExpireEntries",
                                     lvg, KPRes.AutoShowSoonToExpireEntries);

            lvg = new ListViewGroup(KPRes.AutoType);
            m_lvAdvanced.Groups.Add(lvg);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeMatchByTitle",
                                     lvg, KPRes.AutoTypeMatchByTitle);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeMatchByUrlInTitle",
                                     lvg, KPRes.AutoTypeMatchByUrlInTitle);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeMatchByUrlHostInTitle",
                                     lvg, KPRes.AutoTypeMatchByUrlHostInTitle);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeMatchByTagInTitle",
                                     lvg, KPRes.AutoTypeMatchByTagInTitle);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeExpiredCanMatch",
                                     lvg, KPRes.ExpiredEntriesCanMatch);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeAlwaysShowSelDialog",
                                     lvg, KPRes.AutoTypeAlwaysShowSelDialog);

            lvg = new ListViewGroup(KPRes.AutoType + " - " + KPRes.SendingNoun);
            m_lvAdvanced.Groups.Add(lvg);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypePrependInitSequenceForIE",
                                     lvg, KPRes.AutoTypePrependInitSeqForIE);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeReleaseAltWithKeyPress",
                                     lvg, KPRes.AutoTypeReleaseAltWithKeyPress);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeAdjustKeyboardLayout",
                                     lvg, KPRes.SameKeybLayout);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeAllowInterleaved",
                                     lvg, KPRes.InterleavedKeySending);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeCancelOnWindowChange",
                                     lvg, KPRes.AutoTypeCancelOnWindowChange);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeCancelOnTitleChange",
                                     lvg, KPRes.AutoTypeCancelOnTitleChange);

            lvg = new ListViewGroup(KPRes.IOConnectionLong);
            m_lvAdvanced.Groups.Add(lvg);
            m_cdxAdvanced.CreateItem(Program.Config.Application, "VerifyWrittenFileAfterSaving",
                                     lvg, KPRes.VerifyWrittenFileAfterSave);
            m_cdxAdvanced.CreateItem(Program.Config.Application, "UseTransactedFileWrites",
                                     lvg, KPRes.UseTransactedDatabaseWrites);
            m_cdxAdvanced.CreateItem(Program.Config.Application, "FileTxExtra",
                                     lvg, KPRes.FileTxExtra + " (" + KPRes.Slow + ")");
            m_cdxAdvanced.CreateItem(Program.Config.Application, "UseFileLocks",
                                     lvg, KPRes.UseFileLocks + " " + KPRes.NotRecommended);
            m_cdxAdvanced.CreateItem(Program.Config.Application, "SaveForceSync",
                                     lvg, KPRes.SaveForceSync);
            m_cdxAdvanced.CreateItem(Program.Config.Security, "SslCertsAcceptInvalid",
                                     lvg, KPRes.SslCertsAcceptInvalid);

            lvg = new ListViewGroup(KPRes.Advanced);
            m_lvAdvanced.Groups.Add(lvg);

            if (!Program.Config.Integration.SearchKeyFiles)
            {
                Program.Config.Integration.SearchKeyFilesOnRemovableMedia = false;
            }
            ListViewItem lviSearch = m_cdxAdvanced.CreateItem(
                Program.Config.Integration, "SearchKeyFiles",
                lvg, KPRes.SearchKeyFiles);
            ListViewItem lviSearchRmv = m_cdxAdvanced.CreateItem(
                Program.Config.Integration, "SearchKeyFilesOnRemovableMedia",
                lvg, KPRes.SearchKeyFilesAlsoOnRemovable);

            m_cdxAdvanced.AddLink(lviSearch, lviSearchRmv, CheckItemLinkType.UncheckedUnchecked);
            m_cdxAdvanced.AddLink(lviSearchRmv, lviSearch, CheckItemLinkType.CheckedChecked);

            m_cdxAdvanced.CreateItem(Program.Config.Defaults, "RememberKeySources",
                                     lvg, KPRes.RememberKeySources);
            m_cdxAdvanced.CreateItem(Program.Config.Application, "RememberWorkingDirectories",
                                     lvg, KPRes.RememberWorkingDirectories);
            m_cdxAdvanced.CreateItem(Program.Config.UI.Hiding, "SeparateHidingSettings",
                                     lvg, KPRes.RememberHidingSettings);
            m_cdxAdvanced.CreateItem(Program.Config.UI.Hiding, "UnhideButtonAlsoUnhidesSource",
                                     lvg, KPRes.UnhideSourceCharactersToo);
            m_cdxAdvanced.CreateItem(Program.Config.Defaults, "TanExpiresOnUse",
                                     lvg, KPRes.TanExpiresOnUse);
            m_cdxAdvanced.CreateItem(Program.Config.Defaults, "RecycleBinCollapse",
                                     lvg, KPRes.RecycleBinCollapse);
            m_cdxAdvanced.CreateItem(Program.Config.UI, "SecureDesktopPlaySound",
                                     lvg, KPRes.SecDeskPlaySound);
            m_cdxAdvanced.CreateItem(Program.Config.UI, "OptimizeForScreenReader",
                                     lvg, KPRes.OptimizeForScreenReader);

            m_cdxAdvanced.UpdateData(false);
            UIUtil.ResizeColumns(m_lvAdvanced, true);

            if (AppConfigEx.IsOptionEnforced(Program.Config.Integration, "ProxyType") ||
                AppConfigEx.IsOptionEnforced(Program.Config.Integration, "ProxyAddress"))
            {
                m_btnProxy.Enabled = false;
            }
        }
Exemple #2
0
        private void LoadAdvancedOptions()
        {
            m_lvAdvanced.Columns.Add(string.Empty, 200);             // Resize below

            m_cdxAdvanced = new CheckedLVItemDXList(m_lvAdvanced, true);

            ListViewGroup lvg = new ListViewGroup(KPRes.StartAndExit);

            m_lvAdvanced.Groups.Add(lvg);
            m_cdxAdvanced.CreateItem(Program.Config.Application.Start, "OpenLastFile",
                                     lvg, KPRes.AutoRememberOpenLastFile);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "LimitToSingleInstance",
                                     lvg, KPRes.LimitSingleInstance);
            m_cdxAdvanced.CreateItem(Program.Config.Application.Start, "CheckForUpdate",
                                     lvg, KPRes.CheckForUpdAtStart);
            m_cdxAdvanced.CreateItem(Program.Config.Application.Start, "MinimizedAndLocked",
                                     lvg, KPRes.StartMinimizedAndLocked);
            m_cdxAdvanced.CreateItem(Program.Config.Application.FileClosing, "AutoSave",
                                     lvg, KPRes.AutoSaveAtExit);

            lvg = new ListViewGroup(KPRes.AfterDatabaseOpen);
            m_lvAdvanced.Groups.Add(lvg);
            m_cdxAdvanced.CreateItem(Program.Config.Application.FileOpening, "ShowExpiredEntries",
                                     lvg, KPRes.AutoShowExpiredEntries);
            m_cdxAdvanced.CreateItem(Program.Config.Application.FileOpening, "ShowSoonToExpireEntries",
                                     lvg, KPRes.AutoShowSoonToExpireEntries);

            lvg = new ListViewGroup(KPRes.AutoType);
            m_lvAdvanced.Groups.Add(lvg);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeMatchByTitle",
                                     lvg, KPRes.AutoTypeMatchByTitle);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeMatchByUrlInTitle",
                                     lvg, KPRes.AutoTypeMatchByUrlInTitle);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeMatchByUrlHostInTitle",
                                     lvg, KPRes.AutoTypeMatchByUrlHostInTitle);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeMatchByTagInTitle",
                                     lvg, KPRes.AutoTypeMatchByTagInTitle);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypePrependInitSequenceForIE",
                                     lvg, KPRes.AutoTypePrependInitSeqForIE);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeReleaseAltWithKeyPress",
                                     lvg, KPRes.AutoTypeReleaseAltWithKeyPress);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeAdjustKeyboardLayout",
                                     lvg, KPRes.SameKeybLayout);
            m_cdxAdvanced.CreateItem(Program.Config.Integration, "AutoTypeCancelOnWindowChange",
                                     lvg, KPRes.AutoTypeCancelOnWindowChange);

            lvg = new ListViewGroup(KPRes.Advanced);
            m_lvAdvanced.Groups.Add(lvg);

            if (!Program.Config.Integration.SearchKeyFiles)
            {
                Program.Config.Integration.SearchKeyFilesOnRemovableMedia = false;
            }
            ListViewItem lviSearch = m_cdxAdvanced.CreateItem(
                Program.Config.Integration, "SearchKeyFiles",
                lvg, KPRes.SearchKeyFiles);
            ListViewItem lviSearchRmv = m_cdxAdvanced.CreateItem(
                Program.Config.Integration, "SearchKeyFilesOnRemovableMedia",
                lvg, KPRes.SearchKeyFilesAlsoOnRemovable);

            m_cdxAdvanced.AddLink(lviSearch, lviSearchRmv, CheckItemLinkType.UncheckedUnchecked);
            m_cdxAdvanced.AddLink(lviSearchRmv, lviSearch, CheckItemLinkType.CheckedChecked);

            m_cdxAdvanced.CreateItem(Program.Config.Defaults, "RememberKeySources",
                                     lvg, KPRes.RememberKeySources);
            m_cdxAdvanced.CreateItem(Program.Config.UI.Hiding, "SeparateHidingSettings",
                                     lvg, KPRes.RememberHidingSettings);
            m_cdxAdvanced.CreateItem(Program.Config.UI.Hiding, "UnhideButtonAlsoUnhidesSource",
                                     lvg, KPRes.UnhideSourceCharactersToo);
            m_cdxAdvanced.CreateItem(Program.Config.Application, "VerifyWrittenFileAfterSaving",
                                     lvg, KPRes.VerifyWrittenFileAfterSave);
            m_cdxAdvanced.CreateItem(Program.Config.Application, "UseTransactedFileWrites",
                                     lvg, KPRes.UseTransactedDatabaseWrites);
            m_cdxAdvanced.CreateItem(Program.Config.Application, "UseFileLocks",
                                     lvg, KPRes.UseFileLocks + " " + KPRes.NotRecommended);
            m_cdxAdvanced.CreateItem(Program.Config.Defaults, "TanExpiresOnUse",
                                     lvg, KPRes.TanExpiresOnUse);
            m_cdxAdvanced.CreateItem(Program.Config.Defaults, "RecycleBinCollapse",
                                     lvg, KPRes.RecycleBinCollapse);
            m_cdxAdvanced.CreateItem(Program.Config.UI, "SecureDesktopPlaySound",
                                     lvg, KPRes.SecDeskPlaySound);
            m_cdxAdvanced.CreateItem(Program.Config.UI, "OptimizeForScreenReader",
                                     lvg, KPRes.OptimizeForScreenReader);

            m_cdxAdvanced.UpdateData(false);
            m_lvAdvanced.Columns[0].Width = m_lvAdvanced.ClientRectangle.Width -
                                            UIUtil.GetVScrollBarWidth() - 1;

            if (AppConfigEx.IsOptionEnforced(Program.Config.Integration, "ProxyType") ||
                AppConfigEx.IsOptionEnforced(Program.Config.Integration, "ProxyAddress"))
            {
                m_btnProxy.Enabled = false;
            }
        }
        private void LoadGuiOptions()
        {
            m_strInitialTsRenderer = Program.Config.UI.ToolStripRenderer;

            bool?obNoMin = null;

            if (MonoWorkarounds.IsRequired(1418))
            {
                obNoMin = true;
            }

            m_lvGuiOptions.Columns.Add(KPRes.Options);             // Resize below

            ListViewGroup lvg = new ListViewGroup(KPRes.MainWindow);

            m_lvGuiOptions.Groups.Add(lvg);
            Debug.Assert(lvg.ListView == m_lvGuiOptions);

            m_cdxGuiOptions = new CheckedLVItemDXList(m_lvGuiOptions, true);

            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "MinimizeToTray",
                                       lvg, KPRes.MinimizeToTray);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "DropToBackAfterClipboardCopy",
                                       lvg, KPRes.DropToBackOnCopy);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "MinimizeAfterClipboardCopy",
                                       lvg, KPRes.MinimizeAfterCopy);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "MinimizeAfterAutoType",
                                       lvg, KPRes.MinimizeAfterAutoType);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "MinimizeAfterLocking",
                                       lvg, KPRes.MinimizeAfterLocking);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "MinimizeAfterOpeningDatabase",
                                       lvg, KPRes.MinimizeAfterOpeningDatabase, obNoMin);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "CloseButtonMinimizesWindow",
                                       lvg, KPRes.CloseButtonMinimizes);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "EscMinimizesToTray",
                                       lvg, KPRes.EscMinimizesToTray);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "ShowFullPathInTitle",
                                       lvg, KPRes.ShowFullPathInTitleBar);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "DisableSaveIfNotModified",
                                       lvg, KPRes.DisableSaveIfNotModified);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "HideCloseDatabaseButton",
                                       lvg, KPRes.HideCloseDatabaseTb);
            m_cdxGuiOptions.CreateItem(Program.Config.UI, "ShowAdvAutoTypeCommands",
                                       lvg, KPRes.ShowAdvAutoTypeCommands);

            lvg = new ListViewGroup(KPRes.EntryList);
            m_lvGuiOptions.Groups.Add(lvg);
            // m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "ShowGridLines",
            //	m_lvGuiOptions, lvg, KPRes.ShowGridLines);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "EntryListAutoResizeColumns",
                                       lvg, KPRes.EntryListAutoResizeColumns);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "EntryListAlternatingBgColors",
                                       lvg, KPRes.AlternatingBgColors);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "CopyUrlsInsteadOfOpening",
                                       lvg, KPRes.CopyUrlsInsteadOfOpening);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "EntrySelGroupSel",
                                       lvg, KPRes.EntrySelGroupSel);

            if (!Program.Config.MainWindow.EntryListShowDerefData)
            {
                Debug.Assert(!Program.Config.MainWindow.EntryListShowDerefDataAsync);
                Program.Config.MainWindow.EntryListShowDerefDataAsync = false;
            }
            ListViewItem lviDeref = m_cdxGuiOptions.CreateItem(
                Program.Config.MainWindow, "EntryListShowDerefData",
                lvg, KPRes.ShowDerefData + " (" + KPRes.Slow + ")");
            ListViewItem lviDerefAsync = m_cdxGuiOptions.CreateItem(
                Program.Config.MainWindow, "EntryListShowDerefDataAsync",
                lvg, KPRes.ShowDerefDataAsync + " (" + KPRes.IncompatibleWithSorting + ")");

            m_cdxGuiOptions.AddLink(lviDeref, lviDerefAsync, CheckItemLinkType.UncheckedUnchecked);
            m_cdxGuiOptions.AddLink(lviDerefAsync, lviDeref, CheckItemLinkType.CheckedChecked);

            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "EntryListShowDerefDataAndRefs",
                                       lvg, KPRes.ShowDerefDataAndRefs);

            // lvg = new ListViewGroup(KPRes.EntryView);
            // m_lvGuiOptions.Groups.Add(lvg);
            // m_cdxGuiOptions.CreateItem(Program.Config.MainWindow.EntryView, "HideProtectedCustomStrings",
            //	lvg, KPRes.EntryViewHideProtectedCustomStrings);

            lvg = new ListViewGroup(KPRes.QuickSearchTb);
            m_lvGuiOptions.Groups.Add(lvg);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "QuickFindSearchInPasswords",
                                       lvg, KPRes.QuickSearchInPwFields);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "QuickFindExcludeExpired",
                                       lvg, KPRes.QuickSearchExclExpired);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "QuickFindDerefData",
                                       lvg, KPRes.QuickSearchDerefData + " (" + KPRes.Slow + ")");
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "FocusResultsAfterQuickFind",
                                       lvg, KPRes.FocusResultsAfterQuickSearch);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "FocusQuickFindOnRestore",
                                       lvg, KPRes.FocusQuickFindOnRestore);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "FocusQuickFindOnUntray",
                                       lvg, KPRes.FocusQuickFindOnUntray);

            lvg = new ListViewGroup(KPRes.TrayIcon);
            m_lvGuiOptions.Groups.Add(lvg);
            m_cdxGuiOptions.CreateItem(Program.Config.UI.TrayIcon, "ShowOnlyIfTrayed",
                                       lvg, KPRes.ShowTrayOnlyIfTrayed);
            m_cdxGuiOptions.CreateItem(Program.Config.UI.TrayIcon, "GrayIcon",
                                       lvg, KPRes.TrayIconGray);
            m_cdxGuiOptions.CreateItem(Program.Config.UI.TrayIcon, "SingleClickDefault",
                                       lvg, KPRes.TrayIconSingleClick);

            lvg = new ListViewGroup(KPRes.Dialogs);
            m_lvGuiOptions.Groups.Add(lvg);
            m_cdxGuiOptions.CreateItem(Program.Config.UI, "ShowRecycleConfirmDialog",
                                       lvg, KPRes.RecycleShowConfirm);
            m_cdxGuiOptions.CreateItem(Program.Config.UI, "ShowDbMntncResultsDialog",
                                       lvg, KPRes.DbMntncResults);
            m_cdxGuiOptions.CreateItem(Program.Config.UI, "ShowEmSheetDialog",
                                       lvg, KPRes.EmergencySheetAsk);

            lvg = new ListViewGroup(KPRes.Advanced);
            m_lvGuiOptions.Groups.Add(lvg);
            m_cdxGuiOptions.CreateItem(Program.Config.UI, "RepeatPasswordOnlyWhenHidden",
                                       lvg, KPRes.RepeatOnlyWhenHidden);
            // m_cdxGuiOptions.CreateItem(Program.Config.UI, "UseCustomToolStripRenderer",
            //	lvg, KPRes.UseCustomToolStripRenderer);
            m_cdxGuiOptions.CreateItem(Program.Config.UI, "TreeViewShowLines",
                                       lvg, KPRes.TreeViewShowLines);
            m_cdxGuiOptions.CreateItem(Program.Config.UI, "ForceSystemFontUnix",
                                       lvg, KPRes.ForceSystemFontUnix);

            m_cdxGuiOptions.UpdateData(false);
            UIUtil.ResizeColumns(m_lvGuiOptions, true);

            try { m_numMruCount.Value = Program.Config.Application.MostRecentlyUsed.MaxItemCount; }
            catch (Exception) { Debug.Assert(false); m_numMruCount.Value = AceMru.DefaultMaxItemCount; }
            if (AppConfigEx.IsOptionEnforced(Program.Config.Application.MostRecentlyUsed, "MaxItemCount"))
            {
                m_lblMruCount.Enabled = false;
                m_numMruCount.Enabled = false;
            }

            m_argbAltItemBg            = Program.Config.MainWindow.EntryListAlternatingBgColor;
            m_cbCustomAltColor.Checked = (m_argbAltItemBg != 0);
            UpdateButtonImages();

            if (AppConfigEx.IsOptionEnforced(Program.Config.UI, "StandardFont"))
            {
                m_btnSelFont.Enabled = false;
            }
            if (AppConfigEx.IsOptionEnforced(Program.Config.UI, "PasswordFont") ||
                MonoWorkarounds.IsRequired(5795))
            {
                m_btnSelPwFont.Enabled = false;
            }
        }
Exemple #4
0
        private void LoadGuiOptions()
        {
            m_bInitialTsRenderer = Program.Config.UI.UseCustomToolStripRenderer;

            m_lvGuiOptions.Columns.Add(KPRes.Options, 200);             // Resize below

            ListViewGroup lvg = new ListViewGroup(KPRes.MainWindow);

            m_lvGuiOptions.Groups.Add(lvg);
            Debug.Assert(lvg.ListView == m_lvGuiOptions);

            m_cdxGuiOptions = new CheckedLVItemDXList(m_lvGuiOptions, true);

            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "CloseButtonMinimizesWindow",
                                       lvg, KPRes.CloseButtonMinimizes);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "MinimizeToTray",
                                       lvg, KPRes.MinimizeToTray);
            m_cdxGuiOptions.CreateItem(Program.Config.UI.TrayIcon, "ShowOnlyIfTrayed",
                                       lvg, KPRes.ShowTrayOnlyIfTrayed);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "ShowFullPathInTitle",
                                       lvg, KPRes.ShowFullPathInTitleBar);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "DropToBackAfterClipboardCopy",
                                       lvg, KPRes.DropToBackOnCopy);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "MinimizeAfterClipboardCopy",
                                       lvg, KPRes.MinimizeAfterCopy);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "MinimizeAfterLocking",
                                       lvg, KPRes.MinimizeAfterLocking);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "MinimizeAfterOpeningDatabase",
                                       lvg, KPRes.MinimizeAfterOpeningDatabase);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "DisableSaveIfNotModified",
                                       lvg, KPRes.DisableSaveIfNotModified);

            lvg = new ListViewGroup(KPRes.EntryList);
            m_lvGuiOptions.Groups.Add(lvg);
            // m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "ShowGridLines",
            //	m_lvGuiOptions, lvg, KPRes.ShowGridLines);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "EntryListAutoResizeColumns",
                                       lvg, KPRes.EntryListAutoResizeColumns);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "EntryListAlternatingBgColors",
                                       lvg, KPRes.AlternatingBgColors);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "CopyUrlsInsteadOfOpening",
                                       lvg, KPRes.CopyUrlsInsteadOfOpening);

            if (!Program.Config.MainWindow.EntryListShowDerefData)
            {
                Debug.Assert(!Program.Config.MainWindow.EntryListShowDerefDataAsync);
                Program.Config.MainWindow.EntryListShowDerefDataAsync = false;
            }
            ListViewItem lviDeref = m_cdxGuiOptions.CreateItem(
                Program.Config.MainWindow, "EntryListShowDerefData",
                lvg, KPRes.ShowDerefData + " (" + KPRes.Slow + ")");
            ListViewItem lviDerefAsync = m_cdxGuiOptions.CreateItem(
                Program.Config.MainWindow, "EntryListShowDerefDataAsync",
                lvg, KPRes.ShowDerefDataAsync + " (" + KPRes.IncompatibleWithSorting + ")");

            m_cdxGuiOptions.AddLink(lviDeref, lviDerefAsync, CheckItemLinkType.UncheckedUnchecked);
            m_cdxGuiOptions.AddLink(lviDerefAsync, lviDeref, CheckItemLinkType.CheckedChecked);

            // lvg = new ListViewGroup(KPRes.EntryView);
            // m_lvGuiOptions.Groups.Add(lvg);
            // m_cdxGuiOptions.CreateItem(Program.Config.MainWindow.EntryView, "HideProtectedCustomStrings",
            //	lvg, KPRes.EntryViewHideProtectedCustomStrings);

            lvg = new ListViewGroup(KPRes.QuickSearchTb);
            m_lvGuiOptions.Groups.Add(lvg);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "QuickFindSearchInPasswords",
                                       lvg, KPRes.QuickSearchInPwFields);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "QuickFindExcludeExpired",
                                       lvg, KPRes.QuickSearchExclExpired);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "QuickFindDerefData",
                                       lvg, KPRes.QuickSearchDerefData + " (" + KPRes.Slow + ")");
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "FocusResultsAfterQuickFind",
                                       lvg, KPRes.FocusResultsAfterQuickSearch);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "FocusQuickFindOnRestore",
                                       lvg, KPRes.FocusQuickFindOnRestore);
            m_cdxGuiOptions.CreateItem(Program.Config.MainWindow, "FocusQuickFindOnUntray",
                                       lvg, KPRes.FocusQuickFindOnUntray);

            lvg = new ListViewGroup(KPRes.Advanced);
            m_lvGuiOptions.Groups.Add(lvg);
            m_cdxGuiOptions.CreateItem(Program.Config.UI, "RepeatPasswordOnlyWhenHidden",
                                       lvg, KPRes.RepeatOnlyWhenHidden);
            m_cdxGuiOptions.CreateItem(Program.Config.UI, "UseCustomToolStripRenderer",
                                       lvg, KPRes.UseCustomToolStripRenderer);
            m_cdxGuiOptions.CreateItem(Program.Config.UI, "ForceSystemFontUnix",
                                       lvg, KPRes.ForceSystemFontUnix);
            m_cdxGuiOptions.CreateItem(Program.Config.UI, "ShowDbMntncResultsDialog",
                                       lvg, KPRes.DbMntncResults);

            m_cdxGuiOptions.UpdateData(false);
            m_lvGuiOptions.Columns[0].Width = m_lvGuiOptions.ClientRectangle.Width -
                                              UIUtil.GetVScrollBarWidth() - 1;

            try { m_numMruCount.Value = Program.Config.Application.MostRecentlyUsed.MaxItemCount; }
            catch (Exception) { Debug.Assert(false); m_numMruCount.Value = AceMru.DefaultMaxItemCount; }
            if (AppConfigEx.IsOptionEnforced(Program.Config.Application.MostRecentlyUsed, "MaxItemCount"))
            {
                m_lblMruCount.Enabled = false;
                m_numMruCount.Enabled = false;
            }

            if (AppConfigEx.IsOptionEnforced(Program.Config.UI, "StandardFont"))
            {
                m_btnSelFont.Enabled = false;
            }
            if (AppConfigEx.IsOptionEnforced(Program.Config.UI, "PasswordFont"))
            {
                m_btnSelPwFont.Enabled = false;
            }
        }