void Populate(bool clear) { encodings = TextEncoding.ConversionEncodings; if (encodings == null || encodings.Length == 0) { encodings = new TextEncoding [] { TextEncoding.GetEncoding(TextEncoding.DefaultEncoding) } } ; BeginUpdate(); if (clear) { Items.Clear(); } if (showAutoDetected) { Items.Add(GettextCatalog.GetString("Auto Detected")); } foreach (var encoding in TextEncoding.ConversionEncodings) { Items.Add(String.Format("{0} ({1})", encoding.Name, encoding.Id)); } Items.Add(GettextCatalog.GetString("Add or Remove...")); EndUpdate(); }
protected void OnRespond(object o, ResponseArgs args) { if (args.ResponseId != Gtk.ResponseType.Ok) { return; } TreeIter iter; var list = new List <int> (); if (storeSelected.GetIterFirst(out iter)) { do { var enc = (int)storeSelected.GetValue(iter, 2); list.Add(enc); } while (storeSelected.IterNext(ref iter)); } TextEncoding.ConversionEncodings = list.Select((id) => TextEncoding.GetEncoding(id)).ToArray(); }
protected override bool RunDefault() { var win = new FileSelectorDialog(Title, Action.ToGtkAction()); win.SelectedEncoding = TextEncoding.GetEncoding(Encoding); win.ShowEncodingSelector = ShowEncodingSelector; win.ShowViewerSelector = ShowViewerSelector; bool pathAlreadySet = false; win.CurrentFolderChanged += (s, e) => { var selectedPath = data.OnDirectoryChanged(this, win.CurrentFolder); if (selectedPath.IsNull) { return; } data.SelectedFiles = new FilePath [] { selectedPath }; pathAlreadySet = true; win.Respond(Gtk.ResponseType.Cancel); }; SetDefaultProperties(win); try { var result = MessageService.RunCustomDialog(win, TransientFor ?? MessageService.RootWindow); if (result == (int)Gtk.ResponseType.Ok) { GetDefaultProperties(win); data.Encoding = win.SelectedEncoding?.Encoding; data.CloseCurrentWorkspace = win.CloseCurrentWorkspace; data.SelectedViewer = win.SelectedViewer; return(true); } else { return(pathAlreadySet); } } finally { win.Destroy(); win.Dispose(); } }
protected void OnRespond(object o, ResponseArgs args) { if (args.ResponseId != Gtk.ResponseType.Ok) { return; } TreeIter iter; ArrayList list = new ArrayList(); if (storeSelected.GetIterFirst(out iter)) { do { string id = (string)storeSelected.GetValue(iter, 1); TextEncoding enc = TextEncoding.GetEncoding(id); list.Add(enc); }while (storeSelected.IterNext(ref iter)); } TextEncoding.ConversionEncodings = (TextEncoding[])list.ToArray(typeof(TextEncoding)); }
void Populate(bool clear) { if (clear) { Menu.RemoveAllItems(); } encodings = TextEncoding.ConversionEncodings; if (encodings == null || encodings.Length == 0) { encodings = new TextEncoding [] { TextEncoding.GetEncoding(TextEncoding.DefaultEncoding) } } ; if (autoDetectedItem != null) { Menu.AddItem(autoDetectedItem); Cell.MenuItem = autoDetectedItem; Menu.AddItem(NSMenuItem.SeparatorItem); } int i = 1; foreach (var e in MonoDevelop.Projects.Text.TextEncoding.ConversionEncodings) { Menu.AddItem(new NSMenuItem() { Title = string.Format("{0} ({1})", e.Name, e.Id), Tag = i++, Target = this, Action = itemActivationSel, }); } Menu.AddItem(NSMenuItem.SeparatorItem); Menu.AddItem(addRemoveItem); }
protected override IEnumerable <(NSControl control, string text)> OnGetAccessoryBoxControls(OpenFileDialogData data, NSSavePanel panel, out SaveState saveState) { List <(NSControl, string)> controls = new List <(NSControl, string)> (); SelectEncodingPopUpButton encodingSelector = null; NSPopUpButton viewerSelector = null; NSButton closeSolutionButton = null; List <FileViewer> currentViewers = null; if (data.ShowEncodingSelector) { encodingSelector = new SelectEncodingPopUpButton(data.Action != FileChooserAction.Save); encodingSelector.SelectedEncoding = TextEncoding.GetEncoding(data.Encoding); controls.Add((encodingSelector, GettextCatalog.GetString("Encoding:"))); } if (data.ShowViewerSelector && panel is NSOpenPanel) { currentViewers = new List <FileViewer> (); viewerSelector = new NSPopUpButton { Enabled = false, }; if (encodingSelector != null || IdeApp.Workspace.IsOpen) { viewerSelector.Activated += delegate { var idx = viewerSelector.IndexOfSelectedItem; bool workbenchViewerSelected = idx == 0 && currentViewers [0] == null; if (encodingSelector != null) { encodingSelector.Enabled = !workbenchViewerSelected; } if (closeSolutionButton != null) { if (closeSolutionButton.Enabled != workbenchViewerSelected) { closeSolutionButton.Enabled = workbenchViewerSelected; closeSolutionButton.State = workbenchViewerSelected ? NSCellStateValue.On : NSCellStateValue.Off; } } }; } if (IdeApp.Workspace.IsOpen) { closeSolutionButton = new NSButton { Title = GettextCatalog.GetString("Close current workspace"), Enabled = false, State = NSCellStateValue.Off, }; closeSolutionButton.SetButtonType(NSButtonType.Switch); closeSolutionButton.SizeToFit(); controls.Add((closeSolutionButton, string.Empty)); } controls.Add((viewerSelector, GettextCatalog.GetString("Open With:"))); } saveState = new SaveState(encodingSelector, viewerSelector, closeSolutionButton, currentViewers); return(controls); }
string GenerateOptions(DotNetProjectConfiguration configuration, VBCompilerParameters compilerparameters, VBProjectParameters projectparameters, string outputFileName) { DotNetProject project = (DotNetProject)configuration.ParentItem; StringBuilder sb = new StringBuilder(); sb.AppendFormat("\"-out:{0}\"", outputFileName); sb.AppendLine(); sb.AppendLine("-nologo"); sb.AppendLine("-utf8output"); sb.AppendLine("-quiet"); sb.AppendFormat("-debug:{0}", compilerparameters.DebugType); sb.AppendLine(); if (compilerparameters.Optimize) { sb.AppendLine("-optimize+"); } if (projectparameters.OptionStrict) { sb.AppendLine("-optionstrict+"); } else { sb.AppendLine("-optionstrict-"); } if (projectparameters.OptionExplicit) { sb.AppendLine("-optionexplicit+"); } else { sb.AppendLine("-optionexplicit-"); } if (projectparameters.BinaryOptionCompare) { sb.AppendLine("-optioncompare:binary"); } else { sb.AppendLine("-optioncompare:text"); } if (projectparameters.OptionInfer) { sb.AppendLine("-optioninfer+"); } else { sb.AppendLine("-optioninfer-"); } string mytype = projectparameters.MyType; if (!string.IsNullOrEmpty(mytype)) { sb.AppendFormat("-define:_MYTYPE=\\\"{0}\\\"", mytype); sb.AppendLine(); } string win32IconPath = projectparameters.ApplicationIcon; if (!string.IsNullOrEmpty(win32IconPath) && File.Exists(win32IconPath)) { sb.AppendFormat("\"-win32icon:{0}\"", win32IconPath); sb.AppendLine(); } if (!string.IsNullOrEmpty(projectparameters.CodePage)) { TextEncoding enc = TextEncoding.GetEncoding(projectparameters.CodePage); sb.AppendFormat("-codepage:{0}", enc.CodePage); sb.AppendLine(); } if (!string.IsNullOrEmpty(project.DefaultNamespace)) { sb.AppendFormat("-rootnamespace:{0}", project.DefaultNamespace); sb.AppendLine(); } if (!string.IsNullOrEmpty(compilerparameters.DefineConstants)) { sb.AppendFormat("\"-define:{0}\"", compilerparameters.DefineConstants); sb.AppendLine(); } if (compilerparameters.DefineDebug) { sb.AppendLine("-define:DEBUG=-1"); } if (compilerparameters.DefineTrace) { sb.AppendLine("-define:TRACE=-1"); } if (compilerparameters.WarningsDisabled) { sb.AppendLine("-nowarn"); } else if (!string.IsNullOrEmpty(compilerparameters.NoWarn)) { sb.AppendFormat("-nowarn:{0}", compilerparameters.NoWarn); sb.AppendLine(); } if (!string.IsNullOrEmpty(compilerparameters.WarningsAsErrors)) { sb.AppendFormat("-warnaserror+:{0}", compilerparameters.WarningsAsErrors); sb.AppendLine(); } if (configuration.SignAssembly) { if (File.Exists(configuration.AssemblyKeyFile)) { sb.AppendFormat("\"-keyfile:{0}\"", configuration.AssemblyKeyFile); sb.AppendLine(); } } if (!string.IsNullOrEmpty(compilerparameters.DocumentationFile)) { sb.AppendFormat("\"-doc:{0}\"", compilerparameters.DocumentationFile); sb.AppendLine(); } if (!string.IsNullOrEmpty(projectparameters.StartupObject) && projectparameters.StartupObject != "Sub Main") { sb.Append("-main:"); sb.Append(projectparameters.StartupObject); sb.AppendLine(); } if (compilerparameters.RemoveIntegerChecks) { sb.AppendLine("-removeintchecks+"); } if (!string.IsNullOrEmpty(compilerparameters.AdditionalParameters)) { sb.Append(compilerparameters.AdditionalParameters); sb.AppendLine(); } switch (configuration.CompileTarget) { case CompileTarget.Exe: sb.AppendLine("-target:exe"); break; case CompileTarget.WinExe: sb.AppendLine("-target:winexe"); break; case CompileTarget.Library: sb.AppendLine("-target:library"); break; case CompileTarget.Module: sb.AppendLine("-target:module"); break; default: throw new NotSupportedException("unknown compile target:" + configuration.CompileTarget); } return(sb.ToString()); }