示例#1
0
文件: Saver.cs 项目: BahNahNah/dnSpy
        /// <summary>
        /// Saves all assemblies and returns true if all assemblies were saved to disk
        /// </summary>
        /// <param name="asms">All assemblies to save</param>
        /// <returns></returns>
        public static bool SaveAssemblies(IEnumerable<LoadedAssembly> asms)
        {
            var asmsAry = asms.ToArray();
            if (asmsAry.Length == 0)
                return true;

            if (asmsAry.Length == 1) {
                var optsData = new SaveModuleOptionsVM(asmsAry[0].ModuleDefinition);
                var optsWin = new SaveModuleOptions();
                optsWin.Owner = MainWindow.Instance;
                optsWin.DataContext = optsData;
                var res = optsWin.ShowDialog();
                if (res != true)
                    return false;

                var data = new SaveMultiModuleVM(optsData);
                var win = new SaveSingleModule();
                win.Owner = MainWindow.Instance;
                win.DataContext = data;
                data.Save();
                win.ShowDialog();
                return MarkAsSaved(data, asmsAry);
            }
            else {
                var data = new SaveMultiModuleVM(asmsAry.Select(a => a.ModuleDefinition));
                var win = new SaveMultiModule();
                win.Owner = MainWindow.Instance;
                win.DataContext = data;
                win.ShowDialog();
                return MarkAsSaved(data, asmsAry);
            }
        }
示例#2
0
        internal void ShowOptions(SaveModuleOptionsVM data)
        {
            if (data == null)
                return;

            var win = new SaveModuleOptions();
            win.Owner = this;
            var clone = data.Clone();
            win.DataContext = clone;
            var res = win.ShowDialog();
            if (res == true) {
                clone.CopyTo(data);
                ((SaveMultiModuleVM)DataContext).OnModuleSettingsSaved();
            }
        }
示例#3
0
        internal void ShowOptions(SaveModuleOptionsVM data)
        {
            if (data == null)
            {
                return;
            }

            var win = new SaveModuleOptions();

            win.Owner = this;
            var clone = data.Clone();

            win.DataContext = clone;
            var res = win.ShowDialog();

            if (res == true)
            {
                clone.CopyTo(data);
                ((SaveMultiModuleVM)DataContext).OnModuleSettingsSaved();
            }
        }
示例#4
0
文件: Saver.cs 项目: jorik041/dnSpy
        /// <summary>
        /// Saves all assemblies and returns true if all assemblies were saved to disk
        /// </summary>
        /// <param name="asms">All assemblies to save</param>
        /// <returns></returns>
        public static bool SaveAssemblies(IEnumerable <LoadedAssembly> asms)
        {
            var asmsAry = asms.ToArray();

            if (asmsAry.Length == 0)
            {
                return(true);
            }

            if (asmsAry.Length == 1)
            {
                var optsData = new SaveModuleOptionsVM(asmsAry[0].ModuleDefinition);
                var optsWin  = new SaveModuleOptions();
                optsWin.Owner       = MainWindow.Instance;
                optsWin.DataContext = optsData;
                var res = optsWin.ShowDialog();
                if (res != true)
                {
                    return(false);
                }

                var data = new SaveMultiModuleVM(optsData);
                var win  = new SaveSingleModule();
                win.Owner       = MainWindow.Instance;
                win.DataContext = data;
                data.Save();
                win.ShowDialog();
                return(MarkAsSaved(data, asmsAry));
            }
            else
            {
                var data = new SaveMultiModuleVM(asmsAry.Select(a => a.ModuleDefinition));
                var win  = new SaveMultiModule();
                win.Owner       = MainWindow.Instance;
                win.DataContext = data;
                win.ShowDialog();
                return(MarkAsSaved(data, asmsAry));
            }
        }