From a5163a09e377567ea32cd066a00c5c872e17cad5 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sun, 7 Oct 2018 22:36:42 +0100 Subject: [PATCH] Show sessions in image info GUI. --- DiscImageChef.Gui/Panels/pnlImageInfo.xeto | 7 ++++ DiscImageChef.Gui/Panels/pnlImageInfo.xeto.cs | 40 +++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/DiscImageChef.Gui/Panels/pnlImageInfo.xeto b/DiscImageChef.Gui/Panels/pnlImageInfo.xeto index ae41d5254..c5f6aa13e 100644 --- a/DiscImageChef.Gui/Panels/pnlImageInfo.xeto +++ b/DiscImageChef.Gui/Panels/pnlImageInfo.xeto @@ -82,6 +82,13 @@ + + + + + + + \ No newline at end of file diff --git a/DiscImageChef.Gui/Panels/pnlImageInfo.xeto.cs b/DiscImageChef.Gui/Panels/pnlImageInfo.xeto.cs index 4a08b152a..c9257635c 100644 --- a/DiscImageChef.Gui/Panels/pnlImageInfo.xeto.cs +++ b/DiscImageChef.Gui/Panels/pnlImageInfo.xeto.cs @@ -43,6 +43,7 @@ using DiscImageChef.Devices; using DiscImageChef.Gui.Tabs; using Eto.Forms; using Eto.Serialization.Xaml; +using Session = DiscImageChef.CommonTypes.Structs.Session; namespace DiscImageChef.Gui.Panels { @@ -641,6 +642,43 @@ namespace DiscImageChef.Gui.Panels tabSdMmcInfo tabSdMmcInfo = new tabSdMmcInfo(); tabSdMmcInfo.LoadData(deviceType, cid, csd, ocr, extendedCsd, scr); tabInfos.Pages.Add(tabSdMmcInfo); + + try + { + if(imageFormat.Sessions != null && imageFormat.Sessions.Count > 0) + { + TreeGridItemCollection sessionList = new TreeGridItemCollection(); + + treeSessions.Columns.Add(new GridColumn {HeaderText = "Session", DataCell = new TextBoxCell(0)}); + treeSessions.Columns.Add(new GridColumn + { + HeaderText = "First track", DataCell = new TextBoxCell(1) + }); + treeSessions.Columns.Add(new GridColumn {HeaderText = "Last track", DataCell = new TextBoxCell(2)}); + treeSessions.Columns.Add(new GridColumn {HeaderText = "Start", DataCell = new TextBoxCell(3)}); + treeSessions.Columns.Add(new GridColumn {HeaderText = "End", DataCell = new TextBoxCell(4)}); + + treeSessions.AllowMultipleSelection = false; + treeSessions.ShowHeader = true; + treeSessions.DataStore = sessionList; + + foreach(Session session in imageFormat.Sessions) + sessionList.Add(new TreeGridItem + { + Values = new object[] + { + session.SessionSequence, session.StartTrack, session.EndTrack, + session.StartSector, session.EndSector + } + }); + + tabSessions.Visible = true; + } + } + catch + { + // ignored + } } #region XAML controls @@ -680,6 +718,8 @@ namespace DiscImageChef.Gui.Panels TreeGridView treeMediaTags; GroupBox grpSectorTags; TreeGridView treeSectorTags; + TabPage tabSessions; + TreeGridView treeSessions; #pragma warning restore 169 #pragma warning restore 649 #endregion