diff --git a/.idea/.idea.DiscImageChef/.idea/contentModel.xml b/.idea/.idea.DiscImageChef/.idea/contentModel.xml index 84ded96c4..53b6ed816 100644 --- a/.idea/.idea.DiscImageChef/.idea/contentModel.xml +++ b/.idea/.idea.DiscImageChef/.idea/contentModel.xml @@ -1297,6 +1297,8 @@ + + diff --git a/CICMMetadata b/CICMMetadata index dcd1bebbe..ebde6d67e 160000 --- a/CICMMetadata +++ b/CICMMetadata @@ -1 +1 @@ -Subproject commit dcd1bebbe7fe3bc984ed37540840b8aedea24b5c +Subproject commit ebde6d67e1c91e981222516a9e25d98bf3d9bb05 diff --git a/DiscImageChef.Gui/DiscImageChef.Gui.csproj b/DiscImageChef.Gui/DiscImageChef.Gui.csproj index f0dd397d0..594f669f9 100644 --- a/DiscImageChef.Gui/DiscImageChef.Gui.csproj +++ b/DiscImageChef.Gui/DiscImageChef.Gui.csproj @@ -1,29 +1,30 @@  - - DiscImageChef.Gui - DiscImageChef.Gui - $(Version) - true - 4.5.99.1693 - Claunia.com - Copyright © {copyright:2011} Natalia Portillo - The Disc Image Chef - The Disc Image Chef - $(Version) - net461;netstandard2.0 - - - $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} - true - true - - - - - - - - - - + + DiscImageChef.Gui + DiscImageChef.Gui + $(Version) + true + 4.5.99.1693 + Claunia.com + Copyright © {copyright:2011} Natalia Portillo + The Disc Image Chef + The Disc Image Chef + $(Version) + net461;netstandard2.0 + + + $(Version)-{chash:8} built by {mname} in $(Configuration){!:, modified} + true + true + + + + + + + + + + + \ No newline at end of file diff --git a/DiscImageChef.Gui/dlgEncodings.xeto b/DiscImageChef.Gui/dlgEncodings.xeto new file mode 100644 index 000000000..ff673448c --- /dev/null +++ b/DiscImageChef.Gui/dlgEncodings.xeto @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DiscImageChef.Gui/dlgEncodings.xeto.cs b/DiscImageChef.Gui/dlgEncodings.xeto.cs new file mode 100644 index 000000000..6d8387a5f --- /dev/null +++ b/DiscImageChef.Gui/dlgEncodings.xeto.cs @@ -0,0 +1,119 @@ +// /*************************************************************************** +// The Disc Image Chef +// ---------------------------------------------------------------------------- +// +// Filename : dlgPlugins.xeto.cs +// Author(s) : Natalia Portillo +// +// Component : Plugins dialog. +// +// --[ Description ] ---------------------------------------------------------- +// +// Implements the plugins dialog. +// +// --[ License ] -------------------------------------------------------------- +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General public License for more details. +// +// You should have received a copy of the GNU General public License +// along with this program. If not, see . +// +// ---------------------------------------------------------------------------- +// Copyright © 2011-2018 Natalia Portillo +// ****************************************************************************/ + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using Eto.Forms; +using Eto.Serialization.Xaml; + +namespace DiscImageChef.Gui +{ + public class dlgEncodings : Dialog + { + ObservableCollection encodings; + + public dlgEncodings() + { + XamlReader.Load(this); + + DefaultButton = btnClose; + DisplayMode = DialogDisplayMode.Attached; + + encodings = new ObservableCollection(); + + grdEncodings.DataStore = encodings; + grdEncodings.Columns.Add(new GridColumn + { + DataCell = new TextBoxCell + { + Binding = Binding.Property(r => r.Name) + }, + HeaderText = "Code", + Sortable = true + }); + grdEncodings.Columns.Add(new GridColumn + { + DataCell = new TextBoxCell + { + Binding = + Binding + .Property(r => r.DisplayName) + }, + HeaderText = "Name", + Sortable = true + }); + grdEncodings.AllowMultipleSelection = false; + grdEncodings.AllowColumnReordering = true; + } + + protected override void OnLoadComplete(EventArgs e) + { + base.OnLoadComplete(e); + + encodings.Clear(); + + List _encodings = Encoding + .GetEncodings().Select(info => new CommonEncodingInfo + { + Name = info.Name, + DisplayName = + info.GetEncoding().EncodingName + }).ToList(); + _encodings.AddRange(Claunia.Encoding.Encoding.GetEncodings() + .Select(info => new CommonEncodingInfo + { + Name = info.Name, DisplayName = info.DisplayName + })); + + foreach(CommonEncodingInfo encoding in _encodings.OrderBy(t => t.DisplayName)) encodings.Add(encoding); + } + + protected void OnBtnClose(object sender, EventArgs e) + { + Close(); + } + + class CommonEncodingInfo + { + public string Name { get; set; } + public string DisplayName { get; set; } + } + + #region XAML controls + GridView grdEncodings; + Button btnClose; + #endregion + } +} \ No newline at end of file diff --git a/DiscImageChef.Gui/frmMain.xeto b/DiscImageChef.Gui/frmMain.xeto index 86ff1bcb1..85afee3f5 100644 --- a/DiscImageChef.Gui/frmMain.xeto +++ b/DiscImageChef.Gui/frmMain.xeto @@ -53,6 +53,7 @@ + diff --git a/DiscImageChef.Gui/frmMain.xeto.cs b/DiscImageChef.Gui/frmMain.xeto.cs index af1bbef15..28009da54 100644 --- a/DiscImageChef.Gui/frmMain.xeto.cs +++ b/DiscImageChef.Gui/frmMain.xeto.cs @@ -159,6 +159,11 @@ namespace DiscImageChef.Gui new dlgPlugins().ShowModal(this); } + protected void OnMenuEncodings(object sender, EventArgs e) + { + new dlgEncodings().ShowModal(this); + } + #region XAML IDs TreeGridItem devicesRoot; GridView grdFiles;