Beispiel #1
0
        public SessionSettings(ILSpySettings spySettings)
        {
            XElement doc = spySettings["SessionSettings"];

            XElement filterSettings = doc.Element("FilterSettings");

            if (filterSettings == null)
            {
                filterSettings = new XElement("FilterSettings");
            }

            this.FilterSettings = new FilterSettings(filterSettings);

            this.ActiveAssemblyList = Unescape((string)doc.Element("ActiveAssemblyList"));

            this.WindowState  = FromString((string)doc.Element("WindowState"), WindowState.Normal);
            this.IsFullScreen = FromString((string)doc.Element("IsFullScreen"), false);
            var winBoundsString = (string)doc.Element("WindowBounds");

            if (winBoundsString != null)
            {
                this.WindowBounds = FromString(winBoundsString, DefaultWindowBounds);
            }
            this.LeftColumnWidth           = FromString((string)doc.Element("LeftColumnWidth"), 0.0);
            this.WordWrap                  = FromString((string)doc.Element("WordWrap"), false);
            this.HighlightCurrentLine      = FromString((string)doc.Element("HighlightCurrentLine"), true);
            this.TopPaneSettings.Name      = FromString((string)doc.Element("TopPaneName"), string.Empty);
            this.TopPaneSettings.Height    = FromString((string)doc.Element("TopPaneHeight"), 200.0);
            this.BottomPaneSettings.Name   = FromString((string)doc.Element("BottomPaneName"), string.Empty);
            this.BottomPaneSettings.Height = FromString((string)doc.Element("BottomPaneHeight"), 200.0);
            this.ThemeName                 = (string)doc.Element("ThemeName") ?? dnSpy.dntheme.Themes.DefaultThemeName;

            var ignoreXml = doc.Element("IgnoredWarnings");

            if (ignoreXml != null)
            {
                foreach (var child in ignoreXml.Elements("Warning"))
                {
                    var id = Unescape((string)child);
                    if (id != null)
                    {
                        IgnoredWarnings.Add(id);
                    }
                }
            }

            var groups = doc.Element("TabGroups");

            if (groups == null)
            {
                this.TabsFound           = false;
                this.SavedTabGroupsState = new SavedTabGroupsState();
            }
            else
            {
                this.TabsFound           = true;
                this.SavedTabGroupsState = SavedTabGroupsState.FromXml(groups);
            }
        }
Beispiel #2
0
        public static SavedTabGroupsState FromXml(XElement child)
        {
            var savedState = new SavedTabGroupsState();

            savedState.Index = (int)child.Attribute("index");
            savedState.IsHorizontal = (bool)child.Attribute("is-horizontal");

            foreach (var group in child.Elements("TabGroup"))
                savedState.Groups.Add(SavedTabGroupState.FromXml(group));

            return savedState;
        }
Beispiel #3
0
        public static SavedTabGroupsState FromXml(XElement child)
        {
            var savedState = new SavedTabGroupsState();

            savedState.Index        = (int)child.Attribute("index");
            savedState.IsHorizontal = (bool)child.Attribute("is-horizontal");

            foreach (var group in child.Elements("TabGroup"))
            {
                savedState.Groups.Add(SavedTabGroupState.FromXml(group));
            }

            return(savedState);
        }
Beispiel #4
0
		SavedTabGroupsState CreateSavedTabGroupsState()
		{
			var state = new SavedTabGroupsState();
			state.IsHorizontal = tabGroupsManager.IsHorizontal;
			state.Index = tabGroupsManager.ActiveIndex;
			foreach (var tabManager in tabGroupsManager.AllTabGroups)
				state.Groups.Add(CreateSavedTabGroupState(tabManager));
			return state;
		}
Beispiel #5
0
		void RestoreTabGroups(SavedTabGroupsState savedGroups)
		{
			Debug.Assert(tabGroupsManager.AllTabGroups.Count == 1);
			bool first = true;
			foreach (var savedGroupState in savedGroups.Groups) {
				var tabManager = first ? tabGroupsManager.ActiveTabGroup : tabGroupsManager.CreateTabGroup(savedGroups.IsHorizontal);
				first = false;
				foreach (var savedTabState in savedGroupState.Tabs) {
					var tabState = CreateNewTabState(tabManager, Languages.GetLanguage(savedTabState.Language));
					CreateTabState(tabState, savedTabState);
				}

				tabManager.SetSelectedIndex(savedGroupState.Index);
			}

			tabGroupsManager.SetSelectedIndex(savedGroups.Index);
		}