massive UI overhaul:

- user interface can now be toggled between
   - **split view**: classic ChanSort UI with new/ordered and old/full list side-by-side
   - **single-table**: simplified and more intuitive UI, but not quite as powerful
  When you choose to "Modify current list", the single-table view is used by default,
  otherwise the split view. But you can always toggle between them.
- added option to select a color theme. The UI now uses the "Office 2019 Colorful" theme by default,
  the old theme was "Office 2016 Blue".
- improved many keyboard shortcuts (open the drop-down menus to see the shortcuts)
- improved some icons to work better with dark themes
This commit is contained in:
Horst Beham
2021-07-26 00:14:21 +02:00
parent 356e5fe52a
commit 36ce58ea15
64 changed files with 3033 additions and 1055 deletions

View File

@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
namespace ChanSort.Api
@@ -96,15 +95,28 @@ namespace ChanSort.Api
{
if (channels.Count == 0)
return;
if (up && channels[0].GetPosition(this.SubListIndex) <= this.ChannelList.FirstProgramNumber)
return;
if (channels.Any(ch => ch.NewProgramNr < 0))
return;
int maxNr = this.ChannelList.Channels.Count == 0 ? 0 : this.ChannelList.Channels.Max(c => c.GetPosition(this.SubListIndex));
int delta = (up ? -1 : +1);
foreach (var channel in (up ? channels : channels.Reverse()))
{
int newProgramNr = channel.GetPosition(this.SubListIndex) + delta;
ChannelInfo channelAtNewPos =
this.ChannelList.Channels.FirstOrDefault(ch => ch.GetPosition(this.SubListIndex) == newProgramNr);
if (newProgramNr < 0) // can't move a channel up when it's not in the list
continue;
if (newProgramNr == 0) // "+" should work like "add at the end" when the channel is not in the list yet
{
newProgramNr = ++maxNr;
channel.SetPosition(this.SubListIndex, newProgramNr);
continue;
}
maxNr = Math.Max(maxNr, newProgramNr);
ChannelInfo channelAtNewPos = this.ChannelList.Channels.FirstOrDefault(ch => ch.GetPosition(this.SubListIndex) == newProgramNr);
if (channelAtNewPos != null)
channelAtNewPos.ChangePosition(this.SubListIndex, -delta);
channel.ChangePosition(this.SubListIndex, delta);

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
@@ -117,4 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Abortar</value>
</data>
</root>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
@@ -117,4 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Отменить</value>
</data>
</root>

View File

@@ -61,7 +61,7 @@
//
resources.ApplyResources(this.lnkDownload, "lnkDownload");
this.lnkDownload.Name = "lnkDownload";
this.lnkDownload.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("lnkDownload.Properties.Appearance.BackColor")));
this.lnkDownload.Properties.Appearance.BackColor = System.Drawing.Color.Transparent;
this.lnkDownload.Properties.Appearance.Options.UseBackColor = true;
this.lnkDownload.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
this.lnkDownload.OpenLink += new DevExpress.XtraEditors.Controls.OpenLinkEventHandler(this.lnkDownload_OpenLink);
@@ -106,7 +106,7 @@
//
resources.ApplyResources(this.lnkEmail, "lnkEmail");
this.lnkEmail.Name = "lnkEmail";
this.lnkEmail.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("lnkEmail.Properties.Appearance.BackColor")));
this.lnkEmail.Properties.Appearance.BackColor = System.Drawing.Color.Transparent;
this.lnkEmail.Properties.Appearance.Options.UseBackColor = true;
this.lnkEmail.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
this.lnkEmail.OpenLink += new DevExpress.XtraEditors.Controls.OpenLinkEventHandler(this.lnkEmail_OpenLink);
@@ -125,7 +125,7 @@
//
resources.ApplyResources(this.lnkLicense, "lnkLicense");
this.lnkLicense.Name = "lnkLicense";
this.lnkLicense.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("lnkLicense.Properties.Appearance.BackColor")));
this.lnkLicense.Properties.Appearance.BackColor = System.Drawing.Color.Transparent;
this.lnkLicense.Properties.Appearance.Options.UseBackColor = true;
this.lnkLicense.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
this.lnkLicense.OpenLink += new DevExpress.XtraEditors.Controls.OpenLinkEventHandler(this.lnkLicense_OpenLink);

View File

@@ -153,15 +153,13 @@
</data>
<data name="lnkDownload.EditValue" xml:space="preserve">
<value>http://github.com/PredatH0r/ChanSort</value>
<comment>@Invariant</comment></data>
<comment>@Invariant</comment>
</data>
<data name="lnkDownload.Location" type="System.Drawing.Point, System.Drawing">
<value>108, 90</value>
</data>
<data name="lnkDownload.Properties.Appearance.BackColor" type="System.Drawing.Color, System.Drawing">
<value>Transparent</value>
</data>
<data name="lnkDownload.Size" type="System.Drawing.Size, System.Drawing">
<value>205, 18</value>
<value>374, 18</value>
</data>
<data name="lnkDownload.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -198,13 +196,11 @@
</data>
<data name="lnkEmail.EditValue" xml:space="preserve">
<value>horst@beham.biz</value>
<comment>@Invariant</comment></data>
<comment>@Invariant</comment>
</data>
<data name="lnkEmail.Location" type="System.Drawing.Point, System.Drawing">
<value>108, 31</value>
</data>
<data name="lnkEmail.Properties.Appearance.BackColor" type="System.Drawing.Color, System.Drawing">
<value>Transparent</value>
</data>
<data name="lnkEmail.Size" type="System.Drawing.Size, System.Drawing">
<value>97, 18</value>
</data>
@@ -282,13 +278,11 @@
</data>
<data name="lnkLicense.EditValue" xml:space="preserve">
<value>GNU GPLv3</value>
<comment>@Invariant</comment></data>
<comment>@Invariant</comment>
</data>
<data name="lnkLicense.Location" type="System.Drawing.Point, System.Drawing">
<value>108, 66</value>
</data>
<data name="lnkLicense.Properties.Appearance.BackColor" type="System.Drawing.Color, System.Drawing">
<value>Transparent</value>
</data>
<data name="lnkLicense.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 18</value>
</data>
@@ -396,7 +390,8 @@
</data>
<data name="txtAuthor.Text" xml:space="preserve">
<value>Horst Beham</value>
<comment>@Invariant</comment></data>
<comment>@Invariant</comment>
</data>
<data name="&gt;&gt;txtAuthor.Name" xml:space="preserve">
<value>txtAuthor</value>
</data>

View File

@@ -176,6 +176,12 @@
<DependentUpon>ReferenceListForm.cs</DependentUpon>
</Compile>
<Compile Include="Settings.cs" />
<Compile Include="SkinPickerForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SkinPickerForm.Designer.cs">
<DependentUpon>SkinPickerForm.cs</DependentUpon>
</Compile>
<Compile Include="TextInputForm.cs">
<SubType>Form</SubType>
</Compile>
@@ -428,6 +434,36 @@
<EmbeddedResource Include="ReferenceListForm.tr.resx">
<DependentUpon>ReferenceListForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SkinPickerForm.cs.resx">
<DependentUpon>SkinPickerForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SkinPickerForm.de.resx">
<DependentUpon>SkinPickerForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SkinPickerForm.es.resx">
<DependentUpon>SkinPickerForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SkinPickerForm.hu.resx">
<DependentUpon>SkinPickerForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SkinPickerForm.pl.resx">
<DependentUpon>SkinPickerForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SkinPickerForm.pt.resx">
<DependentUpon>SkinPickerForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SkinPickerForm.resx">
<DependentUpon>SkinPickerForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SkinPickerForm.ro.resx">
<DependentUpon>SkinPickerForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SkinPickerForm.ru.resx">
<DependentUpon>SkinPickerForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SkinPickerForm.tr.resx">
<DependentUpon>SkinPickerForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TextInputForm.resx">
<DependentUpon>TextInputForm.cs</DependentUpon>
</EmbeddedResource>
@@ -541,15 +577,9 @@
<ItemGroup>
<None Include="Resources\Donate.bmp" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\btn_donateCC_LG.gif" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\paypal-button.txt" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\btn_donateCC_LG_de.gif" />
</ItemGroup>
<ItemGroup>
<None Include="ReferenceLists\at_astra192E_orf-freehd.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -568,6 +598,8 @@
<Content Include="ChanSort.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Resources\btn_donateCC_LG.png" />
<Content Include="Resources\btn_donateCC_LG_de.png" />
<None Include="ReferenceLists\it_hotbird130E_tivusat_EasyHD_&amp;_FTA.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

View File

@@ -50,7 +50,55 @@ namespace ChanSort.Ui
// rawImageCollection
//
this.rawImageCollection.ImageStream = ((DevExpress.Utils.ImageCollectionStreamer)(resources.GetObject("rawImageCollection.ImageStream")));
this.rawImageCollection.Images.SetKeyName(0, "0000.png");
this.rawImageCollection.Images.SetKeyName(1, "0001.png");
this.rawImageCollection.Images.SetKeyName(2, "0002.png");
this.rawImageCollection.Images.SetKeyName(3, "0003.png");
this.rawImageCollection.Images.SetKeyName(4, "0004.png");
this.rawImageCollection.Images.SetKeyName(5, "0005.png");
this.rawImageCollection.Images.SetKeyName(6, "0006.png");
this.rawImageCollection.Images.SetKeyName(7, "0007.png");
this.rawImageCollection.Images.SetKeyName(8, "0008.png");
this.rawImageCollection.Images.SetKeyName(9, "0009.png");
this.rawImageCollection.Images.SetKeyName(10, "0010.png");
this.rawImageCollection.Images.SetKeyName(11, "0011.png");
this.rawImageCollection.Images.SetKeyName(12, "0012.png");
this.rawImageCollection.Images.SetKeyName(13, "0013.png");
this.rawImageCollection.Images.SetKeyName(14, "0014.png");
this.rawImageCollection.Images.SetKeyName(15, "0015.png");
this.rawImageCollection.Images.SetKeyName(16, "0016.png");
this.rawImageCollection.Images.SetKeyName(17, "0017.png");
this.rawImageCollection.Images.SetKeyName(18, "0018.png");
this.rawImageCollection.Images.SetKeyName(19, "0019.png");
this.rawImageCollection.Images.SetKeyName(20, "0020.png");
this.rawImageCollection.Images.SetKeyName(21, "0021.png");
this.rawImageCollection.Images.SetKeyName(22, "0022.png");
this.rawImageCollection.Images.SetKeyName(23, "0023.png");
this.rawImageCollection.Images.SetKeyName(24, "0024.png");
this.rawImageCollection.Images.SetKeyName(25, "0025.png");
this.rawImageCollection.Images.SetKeyName(26, "0026.png");
this.rawImageCollection.Images.SetKeyName(27, "0027.png");
this.rawImageCollection.Images.SetKeyName(28, "0028.png");
this.rawImageCollection.Images.SetKeyName(29, "0029.png");
this.rawImageCollection.Images.SetKeyName(30, "0030.png");
this.rawImageCollection.Images.SetKeyName(31, "0031.png");
this.rawImageCollection.Images.SetKeyName(32, "0032.png");
this.rawImageCollection.Images.SetKeyName(33, "0033.png");
this.rawImageCollection.Images.SetKeyName(34, "0034.png");
this.rawImageCollection.Images.SetKeyName(35, "0035.png");
this.rawImageCollection.Images.SetKeyName(36, "0036.png");
this.rawImageCollection.Images.SetKeyName(37, "0037.png");
this.rawImageCollection.Images.SetKeyName(38, "0038.png");
this.rawImageCollection.Images.SetKeyName(39, "0039.png");
this.rawImageCollection.Images.SetKeyName(40, "0040.png");
this.rawImageCollection.Images.SetKeyName(41, "0041.png");
this.rawImageCollection.Images.SetKeyName(42, "0042.png");
this.rawImageCollection.Images.SetKeyName(43, "0043.png");
this.rawImageCollection.Images.SetKeyName(44, "0044.png");
this.rawImageCollection.Images.SetKeyName(45, "0045.png");
this.rawImageCollection.Images.SetKeyName(46, "0046.png");
this.rawImageCollection.Images.SetKeyName(47, "0047.png");
this.rawImageCollection.Images.SetKeyName(48, "0048.png");
((System.ComponentModel.ISupportInitialize)(this.rawImageCollection)).EndInit();
}

File diff suppressed because it is too large Load Diff

View File

@@ -48,10 +48,10 @@
this.colOutSource = new DevExpress.XtraGrid.Columns.GridColumn();
this.colUid1 = new DevExpress.XtraGrid.Columns.GridColumn();
this.repositoryItemTextEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemTextEdit();
this.lblHotkeyLeft = new DevExpress.XtraEditors.LabelControl();
this.pnlEditControls = new DevExpress.XtraEditors.PanelControl();
this.btnToggleFavH = new DevExpress.XtraEditors.SimpleButton();
this.btnSearchLeft = new DevExpress.XtraEditors.SimpleButton();
this.globalImageCollection1 = new ChanSort.Ui.GlobalImageCollection(this.components);
this.btnToggleFavH = new DevExpress.XtraEditors.SimpleButton();
this.btnToggleFavG = new DevExpress.XtraEditors.SimpleButton();
this.btnToggleFavF = new DevExpress.XtraEditors.SimpleButton();
this.btnToggleLock = new DevExpress.XtraEditors.SimpleButton();
@@ -102,8 +102,7 @@
this.colLogicalIndex = new DevExpress.XtraGrid.Columns.GridColumn();
this.colSignalSource = new DevExpress.XtraGrid.Columns.GridColumn();
this.colDebug = new DevExpress.XtraGrid.Columns.GridColumn();
this.lblHotkeyRight = new DevExpress.XtraEditors.LabelControl();
this.panelControl3 = new DevExpress.XtraEditors.PanelControl();
this.pnlEditControlRight = new DevExpress.XtraEditors.PanelControl();
this.btnSearch = new DevExpress.XtraEditors.SimpleButton();
this.lblPredefinedList = new DevExpress.XtraEditors.LabelControl();
this.btnRemoveRight = new DevExpress.XtraEditors.SimpleButton();
@@ -127,6 +126,8 @@
this.miQuit = new DevExpress.XtraBars.BarButtonItem();
this.miRecentFiles = new DevExpress.XtraBars.BarListItem();
this.miEdit = new DevExpress.XtraBars.BarSubItem();
this.miMoveUp = new DevExpress.XtraBars.BarButtonItem();
this.miMoveDown = new DevExpress.XtraBars.BarButtonItem();
this.miAddChannel = new DevExpress.XtraBars.BarButtonItem();
this.miRemove = new DevExpress.XtraBars.BarButtonItem();
this.miRenameChannel = new DevExpress.XtraBars.BarButtonItem();
@@ -146,7 +147,8 @@
this.miTvSettings = new DevExpress.XtraBars.BarButtonItem();
this.miCleanupChannels = new DevExpress.XtraBars.BarButtonItem();
this.mnuOptions = new DevExpress.XtraBars.BarSubItem();
this.barSubItem1 = new DevExpress.XtraBars.BarSubItem();
this.miSplitView = new DevExpress.XtraBars.BarButtonItem();
this.mnuLanguage = new DevExpress.XtraBars.BarSubItem();
this.miEnglish = new DevExpress.XtraBars.BarButtonItem();
this.miCzech = new DevExpress.XtraBars.BarButtonItem();
this.miGerman = new DevExpress.XtraBars.BarButtonItem();
@@ -163,6 +165,7 @@
this.miIsoCharSets = new DevExpress.XtraBars.BarListItem();
this.miUtf16BigEndian = new DevExpress.XtraBars.BarButtonItem();
this.miUtf16LittleEndian = new DevExpress.XtraBars.BarButtonItem();
this.miTheme = new DevExpress.XtraBars.BarButtonItem();
this.miShowWarningsAfterLoad = new DevExpress.XtraBars.BarCheckItem();
this.miAllowEditPredefinedLists = new DevExpress.XtraBars.BarButtonItem();
this.miExplorerIntegration = new DevExpress.XtraBars.BarButtonItem();
@@ -179,9 +182,8 @@
this.miSelectFavListC = new DevExpress.XtraBars.BarButtonItem();
this.miSelectFavListD = new DevExpress.XtraBars.BarButtonItem();
this.miSelectFavListE = new DevExpress.XtraBars.BarButtonItem();
this.miGotoLeftFilter = new DevExpress.XtraBars.BarButtonItem();
this.miSearch = new DevExpress.XtraBars.BarButtonItem();
this.miGotoLeftList = new DevExpress.XtraBars.BarButtonItem();
this.miRightListFilter = new DevExpress.XtraBars.BarButtonItem();
this.miGotoRightList = new DevExpress.XtraBars.BarButtonItem();
this.miFontSmall = new DevExpress.XtraBars.BarButtonItem();
this.miFontMedium = new DevExpress.XtraBars.BarButtonItem();
@@ -196,13 +198,10 @@
this.barDockControlBottom = new DevExpress.XtraBars.BarDockControl();
this.barDockControlLeft = new DevExpress.XtraBars.BarDockControl();
this.barDockControlRight = new DevExpress.XtraBars.BarDockControl();
this.miMoveUp = new DevExpress.XtraBars.BarButtonItem();
this.miMoveDown = new DevExpress.XtraBars.BarButtonItem();
this.lblInsertMode = new DevExpress.XtraEditors.LabelControl();
this.txtSetSlot = new DevExpress.XtraEditors.ButtonEdit();
this.lblSetProgramNr = new DevExpress.XtraEditors.LabelControl();
this.picDonate = new DevExpress.XtraEditors.PictureEdit();
this.defaultLookAndFeel1 = new DevExpress.LookAndFeel.DefaultLookAndFeel(this.components);
this.splashScreenManager1 = new DevExpress.XtraSplashScreen.SplashScreenManager(this, typeof(global::ChanSort.Ui.WaitForm1), true, true);
this.grpTopPanel = new DevExpress.XtraEditors.GroupControl();
this.rbInsertSwap = new DevExpress.XtraEditors.CheckEdit();
@@ -238,8 +237,8 @@
((System.ComponentModel.ISupportInitialize)(this.gridRight)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gviewRight)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckedComboBoxEdit2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl3)).BeginInit();
this.panelControl3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pnlEditControlRight)).BeginInit();
this.pnlEditControlRight.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.barManager1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.txtSetSlot.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.picDonate.Properties)).BeginInit();
@@ -279,7 +278,6 @@
// grpOutputList
//
this.grpOutputList.Controls.Add(this.gridLeft);
this.grpOutputList.Controls.Add(this.lblHotkeyLeft);
this.grpOutputList.Controls.Add(this.pnlEditControls);
resources.ApplyResources(this.grpOutputList, "grpOutputList");
this.grpOutputList.Name = "grpOutputList";
@@ -298,7 +296,6 @@
this.repositoryItemTextEdit1});
this.gridLeft.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
this.gviewLeft});
this.gridLeft.ProcessGridKey += new System.Windows.Forms.KeyEventHandler(this.gridLeft_ProcessGridKey);
this.gridLeft.DragDrop += new System.Windows.Forms.DragEventHandler(this.gridLeft_DragDrop);
this.gridLeft.DragOver += new System.Windows.Forms.DragEventHandler(this.gridLeft_DragOver);
this.gridLeft.GiveFeedback += new System.Windows.Forms.GiveFeedbackEventHandler(this.grid_GiveFeedback);
@@ -341,6 +338,7 @@
this.gviewLeft.OptionsView.ShowAutoFilterRow = true;
this.gviewLeft.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
this.gviewLeft.OptionsView.ShowGroupPanel = false;
this.gviewLeft.OptionsView.ShowIndicator = false;
this.gviewLeft.SortInfo.AddRange(new DevExpress.XtraGrid.Columns.GridColumnSortInfo[] {
new DevExpress.XtraGrid.Columns.GridColumnSortInfo(this.colOutSlot, DevExpress.Data.ColumnSortOrder.Ascending)});
this.gviewLeft.RowClick += new DevExpress.XtraGrid.Views.Grid.RowClickEventHandler(this.gviewLeft_RowClick);
@@ -465,13 +463,9 @@
this.repositoryItemTextEdit1.Mask.MaskType = ((DevExpress.XtraEditors.Mask.MaskType)(resources.GetObject("repositoryItemTextEdit1.Mask.MaskType")));
this.repositoryItemTextEdit1.Name = "repositoryItemTextEdit1";
//
// lblHotkeyLeft
//
resources.ApplyResources(this.lblHotkeyLeft, "lblHotkeyLeft");
this.lblHotkeyLeft.Name = "lblHotkeyLeft";
//
// pnlEditControls
//
this.pnlEditControls.Controls.Add(this.btnSearchLeft);
this.pnlEditControls.Controls.Add(this.btnToggleFavH);
this.pnlEditControls.Controls.Add(this.btnToggleFavG);
this.pnlEditControls.Controls.Add(this.btnToggleFavF);
@@ -489,6 +483,16 @@
resources.ApplyResources(this.pnlEditControls, "pnlEditControls");
this.pnlEditControls.Name = "pnlEditControls";
//
// btnSearchLeft
//
resources.ApplyResources(this.btnSearchLeft, "btnSearchLeft");
this.btnSearchLeft.Appearance.FontStyleDelta = ((System.Drawing.FontStyle)(resources.GetObject("btnSearchLeft.Appearance.FontStyleDelta")));
this.btnSearchLeft.Appearance.Options.UseFont = true;
this.btnSearchLeft.ImageOptions.ImageIndex = ((int)(resources.GetObject("btnSearchLeft.ImageOptions.ImageIndex")));
this.btnSearchLeft.ImageOptions.ImageList = this.globalImageCollection1;
this.btnSearchLeft.Name = "btnSearchLeft";
this.btnSearchLeft.Click += new System.EventHandler(this.btnSearch_Click);
//
// btnToggleFavH
//
resources.ApplyResources(this.btnToggleFavH, "btnToggleFavH");
@@ -600,8 +604,7 @@
// grpInputList
//
this.grpInputList.Controls.Add(this.gridRight);
this.grpInputList.Controls.Add(this.lblHotkeyRight);
this.grpInputList.Controls.Add(this.panelControl3);
this.grpInputList.Controls.Add(this.pnlEditControlRight);
resources.ApplyResources(this.grpInputList, "grpInputList");
this.grpInputList.Name = "grpInputList";
this.grpInputList.Enter += new System.EventHandler(this.grpInputList_Enter);
@@ -621,6 +624,7 @@
this.gridRight.ProcessGridKey += new System.Windows.Forms.KeyEventHandler(this.gridRight_ProcessGridKey);
this.gridRight.DragDrop += new System.Windows.Forms.DragEventHandler(this.gridRight_DragDrop);
this.gridRight.DragEnter += new System.Windows.Forms.DragEventHandler(this.gridRight_DragEnter);
this.gridRight.DragOver += new System.Windows.Forms.DragEventHandler(this.gridRight_DragOver);
this.gridRight.GiveFeedback += new System.Windows.Forms.GiveFeedbackEventHandler(this.grid_GiveFeedback);
//
// gviewRight
@@ -679,11 +683,13 @@
this.gviewRight.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
this.gviewRight.OptionsView.ShowGroupExpandCollapseButtons = false;
this.gviewRight.OptionsView.ShowGroupPanel = false;
this.gviewRight.OptionsView.ShowIndicator = false;
this.gviewRight.SortInfo.AddRange(new DevExpress.XtraGrid.Columns.GridColumnSortInfo[] {
new DevExpress.XtraGrid.Columns.GridColumnSortInfo(this.colSlotOld, DevExpress.Data.ColumnSortOrder.Ascending)});
this.gviewRight.RowClick += new DevExpress.XtraGrid.Views.Grid.RowClickEventHandler(this.gviewRight_RowClick);
this.gviewRight.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(this.gviewRight_RowCellStyle);
this.gviewRight.PopupMenuShowing += new DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventHandler(this.gviewRight_PopupMenuShowing);
this.gviewRight.SelectionChanged += new DevExpress.Data.SelectionChangedEventHandler(this.gviewRight_SelectionChanged);
this.gviewRight.ShowingEditor += new System.ComponentModel.CancelEventHandler(this.gview_ShowingEditor);
this.gviewRight.ShownEditor += new System.EventHandler(this.gview_ShownEditor);
this.gviewRight.FocusedRowChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(this.gviewRight_FocusedRowChanged);
@@ -724,6 +730,7 @@
this.colSlotNew.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.colSlotNew.FieldName = "Position";
this.colSlotNew.Name = "colSlotNew";
this.colSlotNew.SortMode = DevExpress.XtraGrid.ColumnSortMode.Custom;
this.colSlotNew.UnboundType = DevExpress.Data.UnboundColumnType.Integer;
//
// colSource
@@ -949,21 +956,16 @@
this.colDebug.Name = "colDebug";
this.colDebug.OptionsColumn.AllowEdit = false;
//
// lblHotkeyRight
// pnlEditControlRight
//
resources.ApplyResources(this.lblHotkeyRight, "lblHotkeyRight");
this.lblHotkeyRight.Name = "lblHotkeyRight";
//
// panelControl3
//
this.panelControl3.Controls.Add(this.btnSearch);
this.panelControl3.Controls.Add(this.lblPredefinedList);
this.panelControl3.Controls.Add(this.btnRemoveRight);
this.panelControl3.Controls.Add(this.btnAddAll);
this.panelControl3.Controls.Add(this.btnClearRightFilter);
this.panelControl3.Controls.Add(this.btnAdd);
resources.ApplyResources(this.panelControl3, "panelControl3");
this.panelControl3.Name = "panelControl3";
this.pnlEditControlRight.Controls.Add(this.btnSearch);
this.pnlEditControlRight.Controls.Add(this.lblPredefinedList);
this.pnlEditControlRight.Controls.Add(this.btnRemoveRight);
this.pnlEditControlRight.Controls.Add(this.btnAddAll);
this.pnlEditControlRight.Controls.Add(this.btnClearRightFilter);
this.pnlEditControlRight.Controls.Add(this.btnAdd);
resources.ApplyResources(this.pnlEditControlRight, "pnlEditControlRight");
this.pnlEditControlRight.Name = "pnlEditControlRight";
//
// btnSearch
//
@@ -1034,7 +1036,7 @@
this.barManager1.Images = this.globalImageCollection1;
this.barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] {
this.mnuOptions,
this.barSubItem1,
this.mnuLanguage,
this.miEnglish,
this.miGerman,
this.miFile,
@@ -1081,9 +1083,8 @@
this.miPrint,
this.miRenumFavByPrNr,
this.mnuAccessibility,
this.miGotoLeftFilter,
this.miSearch,
this.miGotoLeftList,
this.miRightListFilter,
this.miGotoRightList,
this.miSelectFavList0,
this.miSelectFavListA,
@@ -1114,9 +1115,11 @@
this.miUtf16BigEndian,
this.miUtf16LittleEndian,
this.miHungarian,
this.miResetAndRestart});
this.miResetAndRestart,
this.miSplitView,
this.miTheme});
this.barManager1.MainMenu = this.bar1;
this.barManager1.MaxItemId = 113;
this.barManager1.MaxItemId = 115;
this.barManager1.ShowFullMenus = true;
//
// bar1
@@ -1143,7 +1146,9 @@
new DevExpress.XtraBars.LinkPersistInfo(this.barSubItem2, true),
new DevExpress.XtraBars.LinkPersistInfo(this.miTvSettings),
new DevExpress.XtraBars.LinkPersistInfo(this.mnuOptions, true),
new DevExpress.XtraBars.LinkPersistInfo(this.barSubItem1),
new DevExpress.XtraBars.LinkPersistInfo(this.miSplitView),
new DevExpress.XtraBars.LinkPersistInfo(this.mnuLanguage),
new DevExpress.XtraBars.LinkPersistInfo(this.miTheme),
new DevExpress.XtraBars.LinkPersistInfo(this.mnuAccessibility, true),
new DevExpress.XtraBars.LinkPersistInfo(this.mnuHelp),
new DevExpress.XtraBars.LinkPersistInfo(this.miAbout)});
@@ -1308,6 +1313,8 @@
this.miEdit.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0");
this.miEdit.Id = 22;
this.miEdit.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
new DevExpress.XtraBars.LinkPersistInfo(this.miMoveUp),
new DevExpress.XtraBars.LinkPersistInfo(this.miMoveDown),
new DevExpress.XtraBars.LinkPersistInfo(this.miAddChannel),
new DevExpress.XtraBars.LinkPersistInfo(this.miRemove),
new DevExpress.XtraBars.LinkPersistInfo(this.miRenameChannel),
@@ -1325,6 +1332,26 @@
new DevExpress.XtraBars.LinkPersistInfo(this.miCopyCsv)});
this.miEdit.Name = "miEdit";
//
// miMoveUp
//
resources.ApplyResources(this.miMoveUp, "miMoveUp");
this.miMoveUp.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0");
this.miMoveUp.Id = 45;
this.miMoveUp.ImageOptions.ImageIndex = ((int)(resources.GetObject("miMoveUp.ImageOptions.ImageIndex")));
this.miMoveUp.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.Up));
this.miMoveUp.Name = "miMoveUp";
this.miMoveUp.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miMoveUp_ItemClick);
//
// miMoveDown
//
resources.ApplyResources(this.miMoveDown, "miMoveDown");
this.miMoveDown.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0");
this.miMoveDown.Id = 46;
this.miMoveDown.ImageOptions.ImageIndex = ((int)(resources.GetObject("miMoveDown.ImageOptions.ImageIndex")));
this.miMoveDown.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.Down));
this.miMoveDown.Name = "miMoveDown";
this.miMoveDown.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miMoveDown_ItemClick);
//
// miAddChannel
//
resources.ApplyResources(this.miAddChannel, "miAddChannel");
@@ -1341,7 +1368,7 @@
this.miRemove.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0");
this.miRemove.Id = 25;
this.miRemove.ImageOptions.ImageIndex = ((int)(resources.GetObject("miRemove.ImageOptions.ImageIndex")));
this.miRemove.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X));
this.miRemove.ItemShortcut = new DevExpress.XtraBars.BarShortcut(System.Windows.Forms.Keys.Delete);
this.miRemove.Name = "miRemove";
this.miRemove.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miRemove_ItemClick);
//
@@ -1496,8 +1523,10 @@
this.mnuOptions.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d");
this.mnuOptions.Id = 34;
this.mnuOptions.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.barSubItem1, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
new DevExpress.XtraBars.LinkPersistInfo(this.miSplitView),
new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.mnuLanguage, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.mnuCharset, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
new DevExpress.XtraBars.LinkPersistInfo(this.miTheme),
new DevExpress.XtraBars.LinkPersistInfo(this.miShowWarningsAfterLoad),
new DevExpress.XtraBars.LinkPersistInfo(this.miAllowEditPredefinedLists),
new DevExpress.XtraBars.LinkPersistInfo(this.miExplorerIntegration),
@@ -1505,13 +1534,23 @@
new DevExpress.XtraBars.LinkPersistInfo(this.miResetAndRestart)});
this.mnuOptions.Name = "mnuOptions";
//
// barSubItem1
// miSplitView
//
resources.ApplyResources(this.barSubItem1, "barSubItem1");
this.barSubItem1.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d");
this.barSubItem1.Id = 0;
this.barSubItem1.ImageOptions.ImageIndex = ((int)(resources.GetObject("barSubItem1.ImageOptions.ImageIndex")));
this.barSubItem1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
this.miSplitView.ButtonStyle = DevExpress.XtraBars.BarButtonStyle.Check;
resources.ApplyResources(this.miSplitView, "miSplitView");
this.miSplitView.Down = true;
this.miSplitView.Id = 113;
this.miSplitView.ImageOptions.ImageIndex = ((int)(resources.GetObject("miSplitView.ImageOptions.ImageIndex")));
this.miSplitView.Name = "miSplitView";
this.miSplitView.DownChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.miSplitView_DownChanged);
//
// mnuLanguage
//
resources.ApplyResources(this.mnuLanguage, "mnuLanguage");
this.mnuLanguage.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d");
this.mnuLanguage.Id = 0;
this.mnuLanguage.ImageOptions.ImageIndex = ((int)(resources.GetObject("mnuLanguage.ImageOptions.ImageIndex")));
this.mnuLanguage.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
new DevExpress.XtraBars.LinkPersistInfo(this.miEnglish),
new DevExpress.XtraBars.LinkPersistInfo(this.miCzech),
new DevExpress.XtraBars.LinkPersistInfo(this.miGerman),
@@ -1522,8 +1561,8 @@
new DevExpress.XtraBars.LinkPersistInfo(this.miRomanian),
new DevExpress.XtraBars.LinkPersistInfo(this.miRussian),
new DevExpress.XtraBars.LinkPersistInfo(this.miTurkish)});
this.barSubItem1.Name = "barSubItem1";
this.barSubItem1.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionInMenu;
this.mnuLanguage.Name = "mnuLanguage";
this.mnuLanguage.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionInMenu;
//
// miEnglish
//
@@ -1681,6 +1720,14 @@
this.miUtf16LittleEndian.Name = "miUtf16LittleEndian";
this.miUtf16LittleEndian.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miUtf16LittleEndian_ItemClick);
//
// miTheme
//
resources.ApplyResources(this.miTheme, "miTheme");
this.miTheme.Id = 114;
this.miTheme.ImageOptions.ImageIndex = ((int)(resources.GetObject("miTheme.ImageOptions.ImageIndex")));
this.miTheme.Name = "miTheme";
this.miTheme.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miTheme_ItemClick);
//
// miShowWarningsAfterLoad
//
resources.ApplyResources(this.miShowWarningsAfterLoad, "miShowWarningsAfterLoad");
@@ -1726,9 +1773,8 @@
this.mnuAccessibility.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
new DevExpress.XtraBars.LinkPersistInfo(this.mnuGotoChannelList),
new DevExpress.XtraBars.LinkPersistInfo(this.mnuGotoFavList),
new DevExpress.XtraBars.LinkPersistInfo(this.miGotoLeftFilter),
new DevExpress.XtraBars.LinkPersistInfo(this.miSearch),
new DevExpress.XtraBars.LinkPersistInfo(this.miGotoLeftList),
new DevExpress.XtraBars.LinkPersistInfo(this.miRightListFilter),
new DevExpress.XtraBars.LinkPersistInfo(this.miGotoRightList),
new DevExpress.XtraBars.LinkPersistInfo(this.miFontSmall, true),
new DevExpress.XtraBars.LinkPersistInfo(this.miFontMedium),
@@ -1836,14 +1882,14 @@
this.miSelectFavListE.Tag = "5";
this.miSelectFavListE.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miSelectFavList_ItemClick);
//
// miGotoLeftFilter
// miSearch
//
resources.ApplyResources(this.miGotoLeftFilter, "miGotoLeftFilter");
this.miGotoLeftFilter.CategoryGuid = new System.Guid("9cf38b78-167f-4d95-b848-8a3c913209c4");
this.miGotoLeftFilter.Id = 67;
this.miGotoLeftFilter.ItemShortcut = new DevExpress.XtraBars.BarShortcut(System.Windows.Forms.Keys.F3);
this.miGotoLeftFilter.Name = "miGotoLeftFilter";
this.miGotoLeftFilter.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miGotoLeftFilter_ItemClick);
resources.ApplyResources(this.miSearch, "miSearch");
this.miSearch.CategoryGuid = new System.Guid("9cf38b78-167f-4d95-b848-8a3c913209c4");
this.miSearch.Id = 67;
this.miSearch.ItemShortcut = new DevExpress.XtraBars.BarShortcut(System.Windows.Forms.Keys.F3);
this.miSearch.Name = "miSearch";
this.miSearch.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miSearch_ItemClick);
//
// miGotoLeftList
//
@@ -1854,15 +1900,6 @@
this.miGotoLeftList.Name = "miGotoLeftList";
this.miGotoLeftList.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miGotoLeftList_ItemClick);
//
// miRightListFilter
//
resources.ApplyResources(this.miRightListFilter, "miRightListFilter");
this.miRightListFilter.CategoryGuid = new System.Guid("9cf38b78-167f-4d95-b848-8a3c913209c4");
this.miRightListFilter.Id = 68;
this.miRightListFilter.ItemShortcut = new DevExpress.XtraBars.BarShortcut(System.Windows.Forms.Keys.F5);
this.miRightListFilter.Name = "miRightListFilter";
this.miRightListFilter.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miRightListFilter_ItemClick);
//
// miGotoRightList
//
resources.ApplyResources(this.miGotoRightList, "miGotoRightList");
@@ -1975,24 +2012,6 @@
resources.ApplyResources(this.barDockControlRight, "barDockControlRight");
this.barDockControlRight.Manager = this.barManager1;
//
// miMoveUp
//
resources.ApplyResources(this.miMoveUp, "miMoveUp");
this.miMoveUp.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0");
this.miMoveUp.Id = 45;
this.miMoveUp.ImageOptions.ImageIndex = ((int)(resources.GetObject("miMoveUp.ImageOptions.ImageIndex")));
this.miMoveUp.Name = "miMoveUp";
this.miMoveUp.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miMoveUp_ItemClick);
//
// miMoveDown
//
resources.ApplyResources(this.miMoveDown, "miMoveDown");
this.miMoveDown.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0");
this.miMoveDown.Id = 46;
this.miMoveDown.ImageOptions.ImageIndex = ((int)(resources.GetObject("miMoveDown.ImageOptions.ImageIndex")));
this.miMoveDown.Name = "miMoveDown";
this.miMoveDown.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miMoveDown_ItemClick);
//
// lblInsertMode
//
resources.ApplyResources(this.lblInsertMode, "lblInsertMode");
@@ -2031,10 +2050,6 @@
this.picDonate.Properties.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Zoom;
this.picDonate.Click += new System.EventHandler(this.picDonate_Click);
//
// defaultLookAndFeel1
//
this.defaultLookAndFeel1.LookAndFeel.SkinName = "Office 2010 Blue";
//
// grpTopPanel
//
this.grpTopPanel.Controls.Add(this.rbInsertSwap);
@@ -2199,7 +2214,6 @@
this.splitContainerControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.grpOutputList)).EndInit();
this.grpOutputList.ResumeLayout(false);
this.grpOutputList.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.gridLeft)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dsChannels)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gviewLeft)).EndInit();
@@ -2209,13 +2223,12 @@
this.pnlEditControls.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.grpInputList)).EndInit();
this.grpInputList.ResumeLayout(false);
this.grpInputList.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.gridRight)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gviewRight)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckedComboBoxEdit2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl3)).EndInit();
this.panelControl3.ResumeLayout(false);
this.panelControl3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pnlEditControlRight)).EndInit();
this.pnlEditControlRight.ResumeLayout(false);
this.pnlEditControlRight.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.barManager1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.txtSetSlot.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picDonate.Properties)).EndInit();
@@ -2241,8 +2254,6 @@
}
#endregion
private DevExpress.LookAndFeel.DefaultLookAndFeel defaultLookAndFeel1;
private XGridControl gridRight;
private XGridView gviewRight;
private System.Windows.Forms.BindingSource dsChannels;
@@ -2261,14 +2272,12 @@
private DevExpress.XtraGrid.Columns.GridColumn colOutName;
private DevExpress.XtraEditors.SimpleButton btnDown;
private DevExpress.XtraEditors.SimpleButton btnUp;
private DevExpress.XtraEditors.LabelControl lblHotkeyLeft;
private DevExpress.XtraEditors.LabelControl lblHotkeyRight;
private DevExpress.XtraEditors.ButtonEdit txtSetSlot;
private DevExpress.XtraEditors.LabelControl lblSetProgramNr;
private DevExpress.XtraGrid.Columns.GridColumn colEncrypted;
private DevExpress.XtraBars.BarManager barManager1;
private DevExpress.XtraBars.Bar bar1;
private DevExpress.XtraBars.BarSubItem barSubItem1;
private DevExpress.XtraBars.BarSubItem mnuLanguage;
private DevExpress.XtraBars.BarButtonItem miGerman;
private DevExpress.XtraBars.BarButtonItem miEnglish;
private DevExpress.XtraBars.BarDockControl barDockControlTop;
@@ -2307,7 +2316,7 @@
private DevExpress.XtraEditors.SplitContainerControl splitContainerControl1;
private DevExpress.XtraEditors.PanelControl pnlEditControls;
private DevExpress.XtraEditors.GroupControl grpTopPanel;
private DevExpress.XtraEditors.PanelControl panelControl3;
private DevExpress.XtraEditors.PanelControl pnlEditControlRight;
private DevExpress.XtraEditors.LabelControl lblInsertMode;
private DevExpress.XtraGrid.Columns.GridColumn colOutFav;
private DevExpress.XtraEditors.SimpleButton btnRenum;
@@ -2382,9 +2391,8 @@
private DevExpress.XtraGrid.Columns.GridColumn colProvider;
private DevExpress.XtraBars.BarButtonItem miRenumFavByPrNr;
private DevExpress.XtraBars.BarSubItem mnuAccessibility;
private DevExpress.XtraBars.BarButtonItem miGotoLeftFilter;
private DevExpress.XtraBars.BarButtonItem miSearch;
private DevExpress.XtraBars.BarButtonItem miGotoLeftList;
private DevExpress.XtraBars.BarButtonItem miRightListFilter;
private DevExpress.XtraBars.BarButtonItem miGotoRightList;
private DevExpress.XtraBars.PopupMenu popupInputSource;
private DevExpress.XtraBars.PopupMenu popupFavList;
@@ -2430,6 +2438,9 @@
private DevExpress.XtraBars.BarButtonItem miHungarian;
private DevExpress.XtraEditors.SimpleButton btnSearch;
private DevExpress.XtraBars.BarButtonItem miResetAndRestart;
private DevExpress.XtraEditors.SimpleButton btnSearchLeft;
private DevExpress.XtraBars.BarButtonItem miSplitView;
private DevExpress.XtraBars.BarButtonItem miTheme;
}
}

View File

@@ -17,6 +17,7 @@ using ChanSort.Api;
using ChanSort.Ui.Printing;
using ChanSort.Ui.Properties;
using DevExpress.Data;
using DevExpress.LookAndFeel;
using DevExpress.Utils;
using DevExpress.XtraBars;
using DevExpress.XtraEditors;
@@ -53,6 +54,7 @@ namespace ChanSort.Ui
private GridView lastFocusedGrid;
private int subListIndex;
private SizeF absScaleFactor = new SizeF(1,1);
private bool splitView = true;
#region ctor()
@@ -60,7 +62,9 @@ namespace ChanSort.Ui
{
if (!string.IsNullOrEmpty(Config.Default.Language))
Thread.CurrentThread.CurrentUICulture = new CultureInfo(Config.Default.Language);
this.LookAndFeel.SetSkinStyle("Office 2010 Blue");
//this.LookAndFeel.SetSkinStyle("Office 2010 Blue");
UserLookAndFeel.Default.SkinName = Config.Default.SkinName;
InitializeComponent();
var version = this.GetType().Assembly.GetName().Version;
@@ -115,6 +119,7 @@ namespace ChanSort.Ui
}
ChannelList.DefaultVisibleColumns = defaultColumns;
this.UpdateMenu(true); // disable menu items that depend on an open file
}
#endregion
@@ -166,6 +171,8 @@ namespace ChanSort.Ui
internal ChannelList CurrentChannelList { get; private set; }
private GridView EditorGridView => this.miSplitView.Down ? this.gviewLeft : this.gviewRight;
#region IsLeftGridSortedByNewProgNr
private bool IsLeftGridSortedByNewProgNr
@@ -680,6 +687,9 @@ namespace ChanSort.Ui
this.DataRoot.ApplyCurrentProgramNumbers();
this.RefreshGrid(this.gviewLeft, this.gviewRight);
}
this.gviewRight.FocusedRowHandle = 0;
this.miSplitView.Down = res != DialogResult.No;
}
#endregion
@@ -994,61 +1004,97 @@ namespace ChanSort.Ui
#region AddChannels()
private void AddChannels()
private void AddChannels(bool focusAutoFilterRow = false)
{
if (this.rbInsertSwap.Checked)
{
this.SwapChannels();
return;
}
var selectedChannels = this.GetSelectedChannels(gviewRight);
if (selectedChannels.Count == 0) return;
ChannelInfo lastInsertedChannel;
this.gviewLeft.BeginDataUpdate();
this.gviewRight.BeginDataUpdate();
// remove all the selected channels which are about to be added.
// This may require an adjustment of the insert position when channels are removed in front of it and gaps are closed.
var insertSlot = this.CurrentChannelList.InsertProgramNumber;
if (insertSlot == 1 && this.rbInsertAfter.Checked && this.gviewLeft.RowCount == 0)
insertSlot = 0;
var contextRow = (ChannelInfo)this.gviewLeft.GetFocusedRow();
if (contextRow != null)
{
if (!(this.rbInsertBefore.Checked && insertSlot == contextRow.NewProgramNr || this.rbInsertAfter.Checked && insertSlot == contextRow.NewProgramNr + 1))
contextRow = null;
}
this.RemoveChannels(gviewRight, this.cbCloseGap.Checked);
if (contextRow != null)
this.CurrentChannelList.InsertProgramNumber = this.rbInsertBefore.Checked ? contextRow.NewProgramNr : contextRow.NewProgramNr + 1;
else
this.CurrentChannelList.InsertProgramNumber = insertSlot;
try
{
lastInsertedChannel = this.Editor.AddChannels(selectedChannels);
this.UpdateInsertSlotTextBox();
if (!this.splitView)
{
var rh = this.gviewRight.FocusedRowHandle;
this.gviewRight.BeginDataUpdate();
var chans = this.CurrentChannelList.Channels;
int newNr = chans.Count == 0 ? 1 : chans.Max(ch => ch.GetPosition(this.subListIndex)) + 1;
this.Editor.SetSlotNumber(this.GetSelectedChannels(this.gviewRight).Where(ch => ch.GetPosition(this.subListIndex) < 0).ToList(), newNr, false, this.cbCloseGap.Checked);
this.gviewRight.EndDataUpdate();
if (focusAutoFilterRow)
this.FocusAutoFilterRow();
else
{
this.BeginInvoke((Action) (() =>
{
this.gviewRight.BeginUpdate();
this.gviewRight.ClearSelection();
this.gviewRight.FocusedRowHandle = Math.Min(rh, this.gviewRight.RowCount - 1);
this.gviewRight.SelectRow(this.gviewRight.FocusedRowHandle);
this.gviewRight.EndUpdate();
}));
}
return;
}
if (this.rbInsertSwap.Checked)
{
this.SwapChannels();
return;
}
var selectedChannels = this.GetSelectedChannels(gviewRight);
if (selectedChannels.Count == 0) return;
ChannelInfo lastInsertedChannel;
this.gviewLeft.BeginDataUpdate();
this.gviewRight.BeginDataUpdate();
// remove all the selected channels which are about to be added.
// This may require an adjustment of the insert position when channels are removed in front of it and gaps are closed.
var insertSlot = this.CurrentChannelList.InsertProgramNumber;
if (insertSlot == 1 && this.rbInsertAfter.Checked && this.gviewLeft.RowCount == 0)
insertSlot = 0;
var contextRow = (ChannelInfo) this.gviewLeft.GetFocusedRow();
if (contextRow != null)
{
if (!(this.rbInsertBefore.Checked && insertSlot == contextRow.NewProgramNr || this.rbInsertAfter.Checked && insertSlot == contextRow.NewProgramNr + 1))
contextRow = null;
}
this.RemoveChannels(gviewRight, this.cbCloseGap.Checked);
if (contextRow != null)
this.CurrentChannelList.InsertProgramNumber = this.rbInsertBefore.Checked ? contextRow.NewProgramNr : contextRow.NewProgramNr + 1;
else
this.CurrentChannelList.InsertProgramNumber = insertSlot;
try
{
lastInsertedChannel = this.Editor.AddChannels(selectedChannels);
this.UpdateInsertSlotTextBox();
}
finally
{
this.gviewRight.EndDataUpdate();
this.gviewLeft.EndDataUpdate();
}
if (lastInsertedChannel == null)
{
this.NavigateToChannel(selectedChannels[0], this.gviewLeft);
return;
}
var index = this.CurrentChannelList.Channels.IndexOf(lastInsertedChannel);
var rowHandle = this.gviewLeft.GetRowHandle(index);
if (this.rbInsertBefore.Checked)
++rowHandle;
this.SelectFocusedRow(this.gviewLeft, rowHandle);
}
finally
{
this.gviewRight.EndDataUpdate();
this.gviewLeft.EndDataUpdate();
this.UpdateMenu();
}
if (lastInsertedChannel == null)
{
this.NavigateToChannel(selectedChannels[0], this.gviewLeft);
return;
}
var index = this.CurrentChannelList.Channels.IndexOf(lastInsertedChannel);
var rowHandle = this.gviewLeft.GetRowHandle(index);
if (this.rbInsertBefore.Checked)
++rowHandle;
this.SelectFocusedRow(this.gviewLeft, rowHandle);
}
#endregion
@@ -1112,8 +1158,9 @@ namespace ChanSort.Ui
var selectedChannels = this.GetSelectedChannels(grid);
if (selectedChannels.Count == 0) return;
var focusedRow = this.gviewLeft.FocusedRowHandle - selectedChannels.Count;
if (!gviewLeft.IsLastRow)
var gview = this.EditorGridView;
var focusedRow = gview.FocusedRowHandle - selectedChannels.Count;
if (!gview.IsLastRow)
++focusedRow;
if (focusedRow < 0) focusedRow = 0;
this.gviewRight.BeginDataUpdate();
@@ -1127,7 +1174,7 @@ namespace ChanSort.Ui
this.gviewLeft.EndDataUpdate();
this.gviewRight.EndDataUpdate();
}
this.SelectFocusedRow(this.gviewLeft, focusedRow);
this.SelectFocusedRow(gview, focusedRow);
this.UpdateInsertSlotTextBox();
}
@@ -1150,20 +1197,23 @@ namespace ChanSort.Ui
private void MoveChannels(bool up)
{
if (!this.IsLeftGridSortedByNewProgNr) return;
var selectedChannels = this.GetSelectedChannels(this.gviewLeft);
//if (this.splitView ? this.colOutSlot.SortIndex != 0 : this.colSlotNew.SortIndex != 0) // moving up/down only makes sense when ordered by new program number
// return;
var gview = this.EditorGridView;
var selectedChannels = this.GetSelectedChannels(gview);
if (selectedChannels.Count == 0) return;
this.gviewLeft.BeginDataUpdate();
gview.BeginDataUpdate();
try
{
this.Editor.MoveChannels(selectedChannels, up);
}
finally
{
this.gviewLeft.EndDataUpdate();
gview.EndDataUpdate();
}
this.UpdateInsertSlotNumber();
this.UpdateMenu();
}
#endregion
@@ -1324,7 +1374,7 @@ namespace ChanSort.Ui
this.ClearLeftFilter();
this.ClearRightFilter();
this.mruFiles.Clear();
this.mruFiles.AddRange(Config.Default.MruFiles);
this.mruFiles.AddRange(Config.Default.MruFiles.Where(File.Exists));
this.UpdateMruMenu();
this.miExplorerIntegration.Down = Config.Default.ExplorerIntegration;
@@ -1361,6 +1411,8 @@ namespace ChanSort.Ui
col.Width = (int) (col.Width / Config.Default.ScaleFactor.Width);
}
}
this.miSplitView.Down = Config.Default.SplitView; // will change column visibility and must happen after restoring the grid layout
}
#endregion
@@ -1370,7 +1422,7 @@ namespace ChanSort.Ui
private void SelectLanguageMenuItem()
{
this.barManager1.ForceLinkCreate();
foreach (BarItemLink itemLink in this.barSubItem1.ItemLinks)
foreach (BarItemLink itemLink in this.mnuLanguage.ItemLinks)
{
if (Config.Default.Language.StartsWith((string) itemLink.Item.Tag))
{
@@ -1541,6 +1593,7 @@ namespace ChanSort.Ui
return false;
var source = list.SignalSource;
if (col == this.colSlotOld && !this.splitView) return false;
if (col == this.colFavorites) return this.DataRoot.SupportedFavorites != 0;
if (col == this.colOutFav) return this.DataRoot.SupportedFavorites != 0;
if (col == this.colPrNr) return this.subListIndex > 0;
@@ -1579,7 +1632,7 @@ namespace ChanSort.Ui
private void SetFavorite(string fav, bool set)
{
if (string.IsNullOrEmpty(fav)) return;
if (string.IsNullOrEmpty(fav) || !this.mnuFavSet.Enabled) return;
int idx = char.ToUpper(fav[0]) - 'A';
if (idx < 0 || idx >= this.mnuFavSet.ItemLinks.Count || this.subListIndex == idx + 1) return;
var list = this.GetSelectedChannels(this.lastFocusedGrid);
@@ -1655,9 +1708,12 @@ namespace ChanSort.Ui
private void UpdateMenu(bool afterFileLoad = false)
{
var fileLoaded = this.DataRoot != null;
var isRight = this.lastFocusedGrid == this.gviewRight;
var isRight = this.splitView && this.lastFocusedGrid == this.gviewRight;
var mayEdit = fileLoaded && this.CurrentChannelList != null && (!this.CurrentChannelList.ReadOnly || this.miAllowEditPredefinedLists.Down);
var gview = this.EditorGridView;
var sel = this.GetSelectedChannels(gview);
foreach (BarItemLink link in this.miEdit.ItemLinks)
link.Item.Enabled = mayEdit;
@@ -1666,15 +1722,16 @@ namespace ChanSort.Ui
this.btnRemoveLeft.Enabled = mayEdit;
this.btnRemoveRight.Enabled = mayEdit;
this.btnRenum.Enabled = mayEdit;
this.btnToggleFavA.Enabled = mayEdit && (this.DataRoot.SupportedFavorites & Favorites.A) != 0 && this.subListIndex != 1;
this.btnToggleFavB.Enabled = mayEdit && (this.DataRoot.SupportedFavorites & Favorites.B) != 0 && this.subListIndex != 2;
this.btnToggleFavC.Enabled = mayEdit && (this.DataRoot.SupportedFavorites & Favorites.C) != 0 && this.subListIndex != 3;
this.btnToggleFavD.Enabled = mayEdit && (this.DataRoot.SupportedFavorites & Favorites.D) != 0 && this.subListIndex != 4;
this.btnToggleFavE.Enabled = mayEdit && (this.DataRoot.SupportedFavorites & Favorites.E) != 0 && this.subListIndex != 5;
this.btnToggleFavF.Enabled = mayEdit && (this.DataRoot.SupportedFavorites & Favorites.F) != 0 && this.subListIndex != 6;
this.btnToggleFavG.Enabled = mayEdit && (this.DataRoot.SupportedFavorites & Favorites.G) != 0 && this.subListIndex != 7;
this.btnToggleFavH.Enabled = mayEdit && (this.DataRoot.SupportedFavorites & Favorites.H) != 0 && this.subListIndex != 8;
this.btnToggleLock.Enabled = mayEdit && this.DataRoot.CanLock;
var hasPrNr = sel.Any(ch => ch.NewProgramNr >= 0); // only channels with a PrNr can be favorites
this.btnToggleFavA.Enabled = hasPrNr && mayEdit && (this.DataRoot.SupportedFavorites & Favorites.A) != 0 && this.subListIndex != 1;
this.btnToggleFavB.Enabled = hasPrNr && mayEdit && (this.DataRoot.SupportedFavorites & Favorites.B) != 0 && this.subListIndex != 2;
this.btnToggleFavC.Enabled = hasPrNr && mayEdit && (this.DataRoot.SupportedFavorites & Favorites.C) != 0 && this.subListIndex != 3;
this.btnToggleFavD.Enabled = hasPrNr && mayEdit && (this.DataRoot.SupportedFavorites & Favorites.D) != 0 && this.subListIndex != 4;
this.btnToggleFavE.Enabled = hasPrNr && mayEdit && (this.DataRoot.SupportedFavorites & Favorites.E) != 0 && this.subListIndex != 5;
this.btnToggleFavF.Enabled = hasPrNr && mayEdit && (this.DataRoot.SupportedFavorites & Favorites.F) != 0 && this.subListIndex != 6;
this.btnToggleFavG.Enabled = hasPrNr && mayEdit && (this.DataRoot.SupportedFavorites & Favorites.G) != 0 && this.subListIndex != 7;
this.btnToggleFavH.Enabled = hasPrNr && mayEdit && (this.DataRoot.SupportedFavorites & Favorites.H) != 0 && this.subListIndex != 8;
this.btnToggleLock.Enabled = hasPrNr && mayEdit && this.DataRoot.CanLock;
if (afterFileLoad)
{
@@ -1688,9 +1745,14 @@ namespace ChanSort.Ui
this.miSaveReferenceFile.Enabled = fileLoaded;
this.miExcelExport.Enabled = fileLoaded;
this.miPrint.Enabled = fileLoaded;
this.miSearch.Enabled = this.btnSearchLeft.Enabled = this.btnSearch.Enabled = fileLoaded;
this.btnClearLeftFilter.Enabled = this.btnClearRightFilter.Enabled = fileLoaded;
this.mnuGotoChannelList.Enabled = fileLoaded;
this.mnuGotoFavList.Enabled = fileLoaded;
this.miGotoLeftList.Enabled = this.miGotoRightList.Enabled = fileLoaded;
}
this.miAddChannel.Enabled = fileLoaded && isRight;
this.miAddChannel.Enabled = mayEdit; // && isRight;
var visRight = isRight ? BarItemVisibility.Always : BarItemVisibility.Never;
var visLeft = isRight ? BarItemVisibility.Never : BarItemVisibility.Always;
@@ -1699,17 +1761,15 @@ namespace ChanSort.Ui
this.miRenum.Visibility = visLeft;
this.miMoveUp.Visibility = visLeft;
this.miMoveDown.Visibility = visLeft;
this.miAddChannel.Visibility = visRight;
//this.miAddChannel.Visibility = visRight;
this.miSkipOn.Enabled = this.miSkipOff.Enabled = this.currentTvSerializer?.Features.CanSkipChannels ?? false;
this.miLockOn.Enabled = this.miLockOff.Enabled = this.currentTvSerializer?.Features.CanLockChannels ?? false;
this.miHideOn.Enabled = this.miHideOff.Enabled = this.currentTvSerializer?.Features.CanHideChannels ?? false;
var isLeftGridSortedByNewProgNr = this.IsLeftGridSortedByNewProgNr;
var sel = this.gviewLeft.GetSelectedRows();
var channel = sel.Length == 0 ? null : (ChannelInfo) this.gviewLeft.GetRow(sel[0]);
this.miMoveUp.Enabled = this.btnUp.Enabled = mayEdit && this.subListIndex >= 0 && isLeftGridSortedByNewProgNr && channel != null
var channel = sel.FirstOrDefault();
this.miMoveUp.Enabled = this.btnUp.Enabled = mayEdit && this.subListIndex >= 0 && channel != null
&& channel.GetPosition(this.subListIndex) > this.CurrentChannelList.FirstProgramNumber;
this.miMoveDown.Enabled = this.btnDown.Enabled = mayEdit && isLeftGridSortedByNewProgNr;
this.miMoveDown.Enabled = this.btnDown.Enabled = mayEdit;
this.miTvSettings.Enabled = this.currentTvSerializer != null && this.currentTvSerializer.Features.DeviceSettings;
this.miCleanupChannels.Enabled = this.currentTvSerializer != null && this.currentTvSerializer.Features.CleanUpChannelData;
@@ -1848,7 +1908,7 @@ namespace ChanSort.Ui
private void ToggleFavorite(string fav)
{
var list = this.GetSelectedChannels(this.gviewLeft);
var list = this.GetSelectedChannels(this.EditorGridView);
if (list.Count == 0) return;
var value = (Favorites) Enum.Parse(typeof (Favorites), fav);
this.SetFavorite(fav, (list[0].Favorites & value) == 0);
@@ -1861,7 +1921,7 @@ namespace ChanSort.Ui
private void ToggleLock()
{
var list = this.GetSelectedChannels(this.gviewLeft);
var list = this.GetSelectedChannels(this.EditorGridView);
if (list.Count == 0) return;
var setLock = !list[0].Lock;
foreach (var channel in list)
@@ -1985,7 +2045,6 @@ namespace ChanSort.Ui
// UI events
#region MainForm_Shown
private void MainForm_Shown(object sender, EventArgs e)
{
this.TryExecute(this.LoadSettings);
@@ -1994,6 +2053,8 @@ namespace ChanSort.Ui
var args = Environment.GetCommandLineArgs();
if (args.Length > 1)
this.TryExecute(() => this.LoadFiles(null, args[args.Length - 1]));
else if (this.mruFiles.Count > 0)
this.TryExecute(() => this.LoadFiles(null, this.mruFiles[0]));
}
#endregion
@@ -2194,20 +2255,26 @@ namespace ChanSort.Ui
return;
}
grid_DragOver(this.gviewLeft, e);
}
private void grid_DragOver(GridView gview, DragEventArgs e)
{
// this event is called on the current target of the drag operation
var point = this.gridLeft.PointToClient(MousePosition);
var hit = this.gviewLeft.CalcHitInfo(point);
var grid = gview.GridControl;
var point = grid.PointToClient(MousePosition);
var hit = gview.CalcHitInfo(point);
if (hit.RowHandle >= 0)
{
var vi = (GridViewInfo) this.gviewLeft.GetViewInfo();
var vi = (GridViewInfo) gview.GetViewInfo();
var rowInfo = vi.GetGridRowInfo(hit.RowHandle);
var dropChannel = (ChannelInfo) this.gviewLeft.GetRow(hit.RowHandle);
var dropChannel = (ChannelInfo) gview.GetRow(hit.RowHandle);
var moveUp = this.dragDropInfo.SourcePosition < 0 || dropChannel.GetPosition(this.subListIndex) <= this.dragDropInfo.SourcePosition;
if (moveUp && point.Y < rowInfo.Bounds.Top + rowInfo.Bounds.Height/2)
this.dragDropInfo.EditMode = EditMode.InsertBefore;
else if (!moveUp && point.Y > rowInfo.Bounds.Top + rowInfo.Bounds.Height/2)
this.dragDropInfo.EditMode = EditMode.InsertAfter;
else if (this.dragDropInfo.SourceView == this.gviewLeft)
else if (this.dragDropInfo.SourceView == this.gviewLeft && this.splitView)
this.dragDropInfo.EditMode = EditMode.Swap;
else if (moveUp)
this.dragDropInfo.EditMode = EditMode.InsertAfter;
@@ -2237,29 +2304,7 @@ namespace ChanSort.Ui
return;
}
if (this.dragDropInfo.DropRowHandle < 0) return;
this.curEditMode = this.dragDropInfo.EditMode;
var dropChannel = (ChannelInfo) this.gviewLeft.GetRow(this.dragDropInfo.DropRowHandle);
var selectedChannels = this.GetSelectedChannels(this.dragDropInfo.SourceView);
int newProgNr;
var dropPos = dropChannel.GetPosition(this.subListIndex);
if (this.dragDropInfo.EditMode != EditMode.InsertAfter || !this.cbCloseGap.Checked)
newProgNr = dropPos;
else
{
var numberOfChannelsToMoveDown = 0;
foreach (var channel in selectedChannels)
{
var curPos = channel.GetPosition(this.subListIndex);
if (curPos != -1 && curPos <= dropPos)
++numberOfChannelsToMoveDown;
}
newProgNr = dropPos + 1 - numberOfChannelsToMoveDown;
}
this.Editor.SetSlotNumber(selectedChannels, newProgNr, this.dragDropInfo.EditMode == EditMode.Swap, this.cbCloseGap.Checked);
this.RefreshGrid(this.gviewLeft, this.gviewRight);
grid_DragDrop(this.gviewLeft);
}
catch (Exception ex)
{
@@ -2267,26 +2312,34 @@ namespace ChanSort.Ui
}
}
#endregion
#region gridLeft_ProcessGridKey
private void gridLeft_ProcessGridKey(object sender, KeyEventArgs e)
private void grid_DragDrop(GridView gview)
{
if (this.CurrentChannelList != null && this.CurrentChannelList.ReadOnly)
if (this.dragDropInfo.DropRowHandle < 0)
return;
if (gviewLeft.ActiveEditor != null)
return;
if (e.KeyCode == Keys.Delete)
TryExecute(() => this.RemoveChannels(this.gviewLeft, this.cbCloseGap.Checked));
else if (e.KeyCode == Keys.Add)
TryExecute(() => this.MoveChannels(false));
else if (e.KeyCode == Keys.Subtract)
TryExecute(() => this.MoveChannels(true));
this.curEditMode = this.dragDropInfo.EditMode;
var dropChannel = (ChannelInfo) gview.GetRow(this.dragDropInfo.DropRowHandle);
var selectedChannels = this.GetSelectedChannels(this.dragDropInfo.SourceView);
int newProgNr;
var dropPos = dropChannel.GetPosition(this.subListIndex);
if (this.dragDropInfo.EditMode != EditMode.InsertAfter || !this.cbCloseGap.Checked)
newProgNr = dropPos;
else
return;
e.Handled = true;
e.SuppressKeyPress = true;
{
var numberOfChannelsToMoveDown = 0;
foreach (var channel in selectedChannels)
{
var curPos = channel.GetPosition(this.subListIndex);
if (curPos != -1 && curPos <= dropPos)
++numberOfChannelsToMoveDown;
}
newProgNr = dropPos + 1 - numberOfChannelsToMoveDown;
}
this.Editor.SetSlotNumber(selectedChannels, newProgNr, this.dragDropInfo.EditMode == EditMode.Swap, this.cbCloseGap.Checked);
this.RefreshGrid(this.gviewLeft, this.gviewRight);
}
#endregion
@@ -2422,26 +2475,42 @@ namespace ChanSort.Ui
private void gridRight_ProcessGridKey(object sender, KeyEventArgs e)
{
if (this.gviewRight.ActiveEditor != null)
return;
if (e.KeyCode == Keys.Enter && this.CurrentChannelList != null && !this.CurrentChannelList.ReadOnly)
if (e.KeyCode == Keys.Enter && this.CurrentChannelList != null)
{
TryExecute(this.AddChannels);
if (this.gviewRight.FocusedRowHandle == GridControl.AutoFilterRowHandle)
this.gviewRight.FocusedRowHandle = 0;
else if (this.gviewRight.ActiveEditor == null && !this.CurrentChannelList.ReadOnly)
{
this.AddChannels((e.Modifiers & Keys.Control) != 0);
}
else
return;
e.Handled = true;
}
}
#endregion
#region gridRight_DragEnter, DragDrop
#region gridRight_DragEnter, DragOver, DragDrop
private void gridRight_DragEnter(object sender, DragEventArgs e)
{
MainForm_DragEnter(sender, e);
}
private void gridRight_DragOver(object sender, DragEventArgs e)
{
if (!this.splitView)
this.grid_DragOver(this.gviewRight, e);
}
private void gridRight_DragDrop(object sender, DragEventArgs e)
{
MainForm_DragDrop(sender, e);
if (this.splitView)
MainForm_DragDrop(sender, e);
else
this.grid_DragDrop(this.gviewRight);
}
#endregion
@@ -2450,10 +2519,18 @@ namespace ChanSort.Ui
private void gviewRight_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
{
this.gviewRight.SelectRow(e.FocusedRowHandle);
this.UpdateMenu();
}
#endregion
#region gviewRight_SelectionChanged
private void gviewRight_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
this.UpdateMenu();
}
#endregion
#region gviewRight_CustomColumnDisplayText
private void gviewRight_CustomColumnDisplayText(object sender, CustomColumnDisplayTextEventArgs e)
@@ -2484,10 +2561,14 @@ namespace ChanSort.Ui
e.Appearance.ForeColor = Color.Red;
e.Appearance.Options.UseForeColor = true;
}
else if (channel.GetPosition(this.subListIndex) != -1)
else
{
e.Appearance.ForeColor = Color.Gray;
e.Appearance.Options.UseForeColor = true;
var pos = channel.GetPosition(this.subListIndex);
if (this.splitView ? pos != -1 : pos == -1) // in simple view show unassigned programs gray, in split view show assigned programs gray
{
e.Appearance.ForeColor = Color.Gray;
e.Appearance.Options.UseForeColor = true;
}
}
}
@@ -2504,7 +2585,7 @@ namespace ChanSort.Ui
TryExecute(this.SwapChannels);
}
else
TryExecute(this.AddChannels);
TryExecute(() => this.AddChannels());
// rows were re-arranged and the pending MouseDown event handler would focus+select the wrong row again
this.dontFocusClickedRow = true;
@@ -2553,7 +2634,7 @@ namespace ChanSort.Ui
#region gviewRight_CustomColumnSort
private void gviewRight_CustomColumnSort(object sender, CustomColumnSortEventArgs e)
{
if (e.Column == this.colSlotOld)
if (e.Column == this.colSlotOld || e.Column == this.colSlotNew)
{
// sort unassigned channels (PrNr = -1) to the bottom of the list
var ch1 = (int)this.gviewRight.GetListSourceRowCellValue(e.ListSourceRowIndex1, e.Column);
@@ -2621,7 +2702,7 @@ namespace ChanSort.Ui
private void btnAdd_Click(object sender, EventArgs e)
{
TryExecute(this.AddChannels);
TryExecute(() => this.AddChannels());
}
#endregion
@@ -2740,21 +2821,23 @@ namespace ChanSort.Ui
this.gviewRight.PostEditor();
this.gviewLeft.PostEditor();
Config.Default.WindowSize = Tools.Unscale(this.WindowState == FormWindowState.Normal ? this.ClientSize : this.RestoreBounds.Size, this.absScaleFactor);
Config.Default.Encoding = this.defaultEncoding.WebName;
Config.Default.Language = Thread.CurrentThread.CurrentUICulture.Name;
Config.Default.LeftPanelWidth = this.splitContainerControl1.SplitterPosition.Unscale(this.absScaleFactor.Width);
Config.Default.ShowWarningsAfterLoading = this.miShowWarningsAfterLoad.Checked;
Config.Default.CloseGaps = this.cbCloseGap.Checked;
Config.Default.MruFiles.Clear();
Config.Default.MruFiles.AddRange(this.mruFiles);
Config.Default.ExplorerIntegration = this.miExplorerIntegration.Down;
Config.Default.CheckForUpdates = this.miCheckUpdates.Down;
Config.Default.LeftGridLayout = this.gviewLeft.SaveLayoutToXml();
Config.Default.RightGridLayout = this.gviewRight.SaveLayoutToXml();
Config.Default.ScaleFactor = this.absScaleFactor;
var config = Config.Default;
config.WindowSize = Tools.Unscale(this.WindowState == FormWindowState.Normal ? this.ClientSize : this.RestoreBounds.Size, this.absScaleFactor);
config.Encoding = this.defaultEncoding.WebName;
config.Language = Thread.CurrentThread.CurrentUICulture.Name;
config.LeftPanelWidth = this.splitContainerControl1.SplitterPosition.Unscale(this.absScaleFactor.Width);
config.ShowWarningsAfterLoading = this.miShowWarningsAfterLoad.Checked;
config.CloseGaps = this.cbCloseGap.Checked;
config.MruFiles.Clear();
config.MruFiles.AddRange(this.mruFiles);
config.ExplorerIntegration = this.miExplorerIntegration.Down;
config.CheckForUpdates = this.miCheckUpdates.Down;
config.SplitView = this.miSplitView.Down;
config.LeftGridLayout = this.gviewLeft.SaveLayoutToXml();
config.RightGridLayout = this.gviewRight.SaveLayoutToXml();
config.ScaleFactor = this.absScaleFactor;
Config.Default.Save();
config.Save();
}
#endregion
@@ -2763,20 +2846,40 @@ namespace ChanSort.Ui
private void ClearLeftFilter()
{
this.gviewLeft.BeginUpdate();
this.gviewLeft.BeginSort();
this.gviewLeft.ClearColumnsFilter();
this.colOutSlot.FilterInfo = new ColumnFilterInfo("[Position]<>-1");
if (this.gviewLeft.SortedColumns.Count != 1 || this.colOutSlot.SortIndex != 0 || this.colOutSlot.SortOrder != ColumnSortOrder.Ascending)
{
this.gviewLeft.ClearSorting();
this.colOutSlot.SortIndex = 0;
this.colOutSlot.SortOrder = ColumnSortOrder.Ascending;
}
this.gviewLeft.EndSort();
this.gviewLeft.EndUpdate();
}
private void ClearRightFilter()
{
//var focus = this.gviewRight.GetDataSourceRowIndex(this.gviewRight.FocusedRowHandle);
this.gviewRight.BeginUpdate();
this.gviewRight.BeginSort();
this.gviewRight.ClearColumnsFilter();
this.colSlotOld.FilterInfo = new ColumnFilterInfo("[OldProgramNr]<>-1");
if (this.subListIndex > 0 && !this.CurrentChannelList.IsMixedSourceFavoritesList)
this.colPrNr.FilterInfo = new ColumnFilterInfo("[NewProgramNr]<>-1");
var sortCol = this.splitView ? this.colSlotOld : this.colSlotNew;
if (this.gviewRight.SortedColumns.Count != 1 || sortCol.SortIndex != 0 || sortCol.SortOrder != ColumnSortOrder.Ascending)
{
this.gviewRight.ClearSorting();
sortCol.SortIndex = 0;
sortCol.SortOrder = ColumnSortOrder.Ascending;
}
this.gviewRight.EndSort();
this.gviewRight.TopRowIndex = 0;
this.gviewRight.FocusedRowHandle = 0;
this.gviewRight.EndUpdate();
}
#endregion
@@ -2810,13 +2913,6 @@ namespace ChanSort.Ui
}
}
private void FocusRightListFilter()
{
this.gviewRight.FocusedRowHandle = GridControl.AutoFilterRowHandle;
this.gviewRight.FocusedColumn = this.colName;
this.gridRight.Focus();
}
private void FocusLeftList()
{
if (this.gviewLeft.SelectedRowsCount > 0)
@@ -2826,11 +2922,14 @@ namespace ChanSort.Ui
}
}
private void FocusLeftListFilter()
private void FocusAutoFilterRow()
{
this.gviewLeft.FocusedRowHandle = GridControl.AutoFilterRowHandle;
this.gviewLeft.FocusedColumn = this.colOutName;
this.gridLeft.Focus();
var left = this.gridLeft.ContainsFocus;
var gview = left ? this.gviewLeft : this.gviewRight;
gview.FocusedRowHandle = GridControl.AutoFilterRowHandle;
gview.FocusedColumn = left ? this.colOutName : colName;
gview.Focus();
gview.ShowEditor();
}
#endregion
@@ -2942,12 +3041,19 @@ namespace ChanSort.Ui
private void miAddChannel_ItemClick(object sender, ItemClickEventArgs e)
{
this.TryExecute(this.AddChannels);
this.TryExecute(() => this.AddChannels());
}
private void miMoveDown_ItemClick(object sender, ItemClickEventArgs e)
{
this.TryExecute(() => this.MoveChannels(false));
this.TryExecute(() =>
{
var chans = this.GetSelectedChannels(this.EditorGridView);
if (chans.All(ch => ch.GetPosition(this.subListIndex) < 0)) // miMoveDown has hotkey "+", which should act as AddChannels for unassigned channels
this.AddChannels();
else
this.MoveChannels(false);
});
}
private void miMoveUp_ItemClick(object sender, ItemClickEventArgs e)
@@ -3035,6 +3141,61 @@ namespace ChanSort.Ui
#region Settings menu
#region miSplitView_DownChanged
private void miSplitView_DownChanged(object sender, ItemClickEventArgs e)
{
var split = this.splitView = this.miSplitView.Down;
this.SuspendRedraw();
this.SuspendLayout();
this.gviewRight.ClearSorting();
if (split)
{
this.grpInputList.Controls.Remove(this.pnlEditControls);
this.grpOutputList.Controls.Add(this.pnlEditControls);
this.pnlEditControlRight.Visible = true;
this.splitContainerControl1.PanelVisibility = SplitPanelVisibility.Both;
this.pnlEditControlRight.Controls.Add(this.lblPredefinedList);
this.lblPredefinedList.Left = this.btnSearch.Right + ScaleHelper.ScaleHorizontal(30);
this.colSlotOld.SortIndex = 0;
var rowIndex = this.gviewRight.GetDataSourceRowIndex(this.gviewRight.FocusedRowHandle);
this.gviewLeft.ClearSelection();
this.gviewLeft.FocusedRowHandle = Math.Max(0, this.gviewLeft.GetRowHandle(rowIndex));
this.gviewLeft.SelectRow(this.gviewLeft.FocusedRowHandle);
}
else
{
if (this.gridLeft.ContainsFocus)
this.gridRight.Focus();
this.pnlEditControlRight.Visible = false;
this.grpOutputList.Controls.Remove(this.pnlEditControls);
this.grpInputList.Controls.Add(this.pnlEditControls);
this.splitContainerControl1.PanelVisibility = SplitPanelVisibility.Panel2;
this.pnlEditControls.Controls.Add(this.lblPredefinedList);
this.lblPredefinedList.Left = this.btnSearchLeft.Right + ScaleHelper.ScaleHorizontal(30);
this.ClearRightFilter();
this.colSlotNew.SortIndex = 0;
this.colSlotOld.SortIndex = 1;
var rowIndex = this.gviewLeft.GetDataSourceRowIndex(this.gviewLeft.FocusedRowHandle);
this.gviewRight.ClearSelection();
this.gviewRight.FocusedRowHandle = Math.Max(0, this.gviewRight.GetRowHandle(rowIndex));
this.gviewRight.SelectRow(this.gviewRight.FocusedRowHandle);
this.lastFocusedGrid = this.gviewRight;
}
this.gviewRight.SetColumnVisibility(colSlotOld, split);
this.grpInputList.ShowCaption = split;
this.lblInsertMode.Enabled = this.rbInsertAfter.Enabled = this.rbInsertBefore.Enabled = this.rbInsertSwap.Enabled = split;
this.ResumeLayout();
this.ResumeRedraw();
this.UpdateMenu();
}
#endregion
#region Character set menu
private void miUtf8Charset_ItemClick(object sender, ItemClickEventArgs e)
@@ -3095,6 +3256,14 @@ namespace ChanSort.Ui
#endregion
#region miTheme_ItemClick
private void miTheme_ItemClick(object sender, ItemClickEventArgs e)
{
using var dlg = new SkinPickerForm();
dlg.ShowDialog(this);
}
#endregion
#region miResetAndRestart_ItemClick
private void miResetAndRestart_ItemClick(object sender, ItemClickEventArgs e)
{
@@ -3148,9 +3317,9 @@ namespace ChanSort.Ui
}
}
private void miGotoLeftFilter_ItemClick(object sender, ItemClickEventArgs e)
private void miSearch_ItemClick(object sender, ItemClickEventArgs e)
{
TryExecute(this.FocusLeftListFilter);
TryExecute(this.FocusAutoFilterRow);
}
private void miGotoLeftList_ItemClick(object sender, ItemClickEventArgs e)
@@ -3158,11 +3327,6 @@ namespace ChanSort.Ui
TryExecute(this.FocusLeftList);
}
private void miRightListFilter_ItemClick(object sender, ItemClickEventArgs e)
{
TryExecute(this.FocusRightListFilter);
}
private void miGotoRightList_ItemClick(object sender, ItemClickEventArgs e)
{
TryExecute(this.FocusRightList);
@@ -3359,7 +3523,7 @@ namespace ChanSort.Ui
private void btnClearLeftFilter_Click(object sender, EventArgs e)
{
TryExecute(this.ClearLeftFilter);
TryExecute(this.miSplitView.Down ? this.ClearLeftFilter : this.ClearRightFilter);
}
private void btnClearRightFilter_Click(object sender, EventArgs e)
@@ -3372,10 +3536,11 @@ namespace ChanSort.Ui
#region btnSearch_Click
private void btnSearch_Click(object sender, EventArgs e)
{
this.gviewRight.FocusedRowHandle = GridControl.AutoFilterRowHandle;
this.gviewRight.FocusedColumn = colName;
this.gridRight.Focus();
this.gviewRight.ShowEditor();
var gview = this.EditorGridView;
gview.FocusedRowHandle = GridControl.AutoFilterRowHandle;
gview.FocusedColumn = colName;
gview.GridControl.Focus();
gview.ShowEditor();
}
#endregion
@@ -3383,7 +3548,7 @@ namespace ChanSort.Ui
private void btnRemoveLeft_Click(object sender, EventArgs e)
{
TryExecute(() => this.RemoveChannels(this.gviewLeft, this.cbCloseGap.Checked));
TryExecute(() => this.RemoveChannels(this.EditorGridView, this.cbCloseGap.Checked));
}
private void btnRemoveRight_Click(object sender, EventArgs e)

View File

@@ -123,7 +123,7 @@
<data name="bar1.Text" xml:space="preserve">
<value>Nástroje</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<data name="mnuLanguages.Caption" xml:space="preserve">
<value>&amp;Jazyk</value>
</data>
<data name="barSubItem2.Caption" xml:space="preserve">
@@ -420,7 +420,7 @@
<data name="miFileInformation.Caption" xml:space="preserve">
<value>Informace o souboru</value>
</data>
<data name="miGotoLeftFilter.Caption" xml:space="preserve">
<data name="miSearch.Caption" xml:space="preserve">
<value>&amp;Filtr levého seznamu</value>
</data>
<data name="miGotoLeftList.Caption" xml:space="preserve">
@@ -612,4 +612,7 @@
<data name="btnToggleFavH.AccessibleDescription" xml:space="preserve">
<value>Přepnout oblíbené H</value>
</data>
<data name="miTheme.Caption" xml:space="preserve">
<value>Barevné schéma</value>
</data>
</root>

View File

@@ -396,7 +396,7 @@ speziellen Anbieter, Satelliten oder Länderlisten aus.</value>
<data name="mnuCharset.Caption" xml:space="preserve">
<value>&amp;Zeichensatz</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<data name="mnuLanguages.Caption" xml:space="preserve">
<value>&amp;Sprache</value>
</data>
<data name="mnuOptions.Caption" xml:space="preserve">
@@ -525,7 +525,7 @@ speziellen Anbieter, Satelliten oder Länderlisten aus.</value>
<data name="miSelectFavListE.Caption" xml:space="preserve">
<value>Favoriten E</value>
</data>
<data name="miGotoLeftFilter.Caption" xml:space="preserve">
<data name="miSearch.Caption" xml:space="preserve">
<value>Filterzeile in der &amp;linken Liste</value>
</data>
<data name="miGotoLeftList.Caption" xml:space="preserve">
@@ -682,4 +682,7 @@ speziellen Anbieter, Satelliten oder Länderlisten aus.</value>
<data name="miResetAndRestart.Hint" xml:space="preserve">
<value>Löscht alle Benutzereinstellungen und startet das Programm neu</value>
</data>
<data name="miTheme.Caption" xml:space="preserve">
<value>Farbschema</value>
</data>
</root>

View File

@@ -267,7 +267,7 @@
<data name="mnuOptions.Caption" xml:space="preserve">
<value>&amp;Ajustes</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<data name="mnuLanguages.Caption" xml:space="preserve">
<value>&amp;Idioma</value>
</data>
<data name="mnuCharset.Caption" xml:space="preserve">
@@ -339,7 +339,7 @@
<data name="miSelectFavListE.Caption" xml:space="preserve">
<value>Favoritos E</value>
</data>
<data name="miGotoLeftFilter.Caption" xml:space="preserve">
<data name="miSearch.Caption" xml:space="preserve">
<value>Filtro lista &amp;izquierda</value>
</data>
<data name="miGotoLeftList.Caption" xml:space="preserve">
@@ -663,4 +663,7 @@
<data name="miCopyCsv.Caption" xml:space="preserve">
<value>Copiar lista al portapapeles</value>
</data>
<data name="miTheme.Caption" xml:space="preserve">
<value>Esquema de colores</value>
</data>
</root>

View File

@@ -276,7 +276,7 @@
<data name="mnuOptions.Caption" xml:space="preserve">
<value>&amp;Beállítások</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<data name="mnuLanguages.Caption" xml:space="preserve">
<value>&amp;Nyelv</value>
</data>
<data name="mnuCharset.Caption" xml:space="preserve">
@@ -348,7 +348,7 @@
<data name="miSelectFavListE.Caption" xml:space="preserve">
<value>Kedvenc E</value>
</data>
<data name="miGotoLeftFilter.Caption" xml:space="preserve">
<data name="miSearch.Caption" xml:space="preserve">
<value>&amp;Bal lista szűrő</value>
</data>
<data name="miGotoLeftList.Caption" xml:space="preserve">
@@ -666,4 +666,7 @@
<data name="splitContainerControl1.Text" xml:space="preserve">
<value>splitContainerControl1</value>
</data>
<data name="miTheme.Caption" xml:space="preserve">
<value>Színösszeállítás</value>
</data>
</root>

View File

@@ -276,7 +276,7 @@
<data name="mnuOptions.Caption" xml:space="preserve">
<value>&amp;Ustawienia</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<data name="mnuLanguages.Caption" xml:space="preserve">
<value>&amp;Język</value>
</data>
<data name="mnuCharset.Caption" xml:space="preserve">
@@ -348,7 +348,7 @@
<data name="miSelectFavListE.Caption" xml:space="preserve">
<value>Ulubione E</value>
</data>
<data name="miGotoLeftFilter.Caption" xml:space="preserve">
<data name="miSearch.Caption" xml:space="preserve">
<value>&amp;Filtr listy po lewej stronie</value>
</data>
<data name="miGotoLeftList.Caption" xml:space="preserve">
@@ -666,4 +666,7 @@
<data name="splitContainerControl1.Text" xml:space="preserve">
<value>splitContainerControl1</value>
</data>
<data name="miTheme.Caption" xml:space="preserve">
<value>Schemat kolorów</value>
</data>
</root>

View File

@@ -227,7 +227,7 @@
<data name="mnuCharset.Caption" xml:space="preserve">
<value>&amp;Tabela de caracteres</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<data name="mnuLanguages.Caption" xml:space="preserve">
<value>&amp;Idioma</value>
</data>
<data name="mnuOptions.Caption" xml:space="preserve">
@@ -370,4 +370,7 @@
WIeWYGkVXQEL
</value>
</data>
<data name="miTheme.Caption" xml:space="preserve">
<value>Esquema de cores</value>
</data>
</root>

View File

@@ -123,16 +123,16 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="splitContainerControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 110</value>
<value>0, 111</value>
</data>
<metadata name="dsChannels.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>361, 17</value>
<value>194, 17</value>
</metadata>
<data name="gridLeft.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="gridLeft.Location" type="System.Drawing.Point, System.Drawing">
<value>2, 54</value>
<value>2, 56</value>
</data>
<data name="gviewLeft.Appearance.FocusedRow.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8.25pt, style=Bold</value>
@@ -270,7 +270,7 @@
<value>Numeric</value>
</data>
<data name="gridLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>499, 368</value>
<value>499, 382</value>
</data>
<data name="gridLeft.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -279,7 +279,7 @@
<value>gridLeft</value>
</data>
<data name="&gt;&gt;gridLeft.Type" xml:space="preserve">
<value>ChanSort.XGridControl, ChanSort, Version=1.0.7834.5663, Culture=neutral, PublicKeyToken=null</value>
<value>ChanSort.XGridControl, ChanSort, Version=1.0.7876.42315, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;gridLeft.Parent" xml:space="preserve">
<value>grpOutputList</value>
@@ -287,41 +287,17 @@
<data name="&gt;&gt;gridLeft.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lblHotkeyLeft.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
<data name="btnSearchLeft.AccessibleDescription" xml:space="preserve">
<value>Search for a channel</value>
</data>
<data name="lblHotkeyLeft.Location" type="System.Drawing.Point, System.Drawing">
<value>2, 422</value>
<data name="btnSearchLeft.Appearance.FontStyleDelta" type="System.Drawing.FontStyle, System.Drawing">
<value>Strikeout</value>
</data>
<data name="lblHotkeyLeft.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>2, 2, 2, 2</value>
</data>
<data name="lblHotkeyLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>302, 17</value>
</data>
<data name="lblHotkeyLeft.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="lblHotkeyLeft.Text" xml:space="preserve">
<value>F3: Filter | F4: List | -: move up | +: move down | Del: remove</value>
</data>
<data name="&gt;&gt;lblHotkeyLeft.Name" xml:space="preserve">
<value>lblHotkeyLeft</value>
</data>
<data name="&gt;&gt;lblHotkeyLeft.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lblHotkeyLeft.Parent" xml:space="preserve">
<value>grpOutputList</value>
</data>
<data name="&gt;&gt;lblHotkeyLeft.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="btnToggleFavH.AccessibleDescription" xml:space="preserve">
<value>Toggle Favorite H</value>
<data name="btnSearchLeft.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>18</value>
</data>
<metadata name="globalImageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>600, 17</value>
<value>433, 17</value>
</metadata>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
@@ -339,7 +315,7 @@
<value>0, 5</value>
</data>
<data name="pageProgNr.Size" type="System.Drawing.Size, System.Drawing">
<value>1391, 0</value>
<value>1395, 0</value>
</data>
<data name="pageProgNr.Text" xml:space="preserve">
<value>Pr#</value>
@@ -378,7 +354,7 @@
<value>Top</value>
</data>
<data name="grpSubList.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 83</value>
<value>0, 84</value>
</data>
<data name="grpSubList.Size" type="System.Drawing.Size, System.Drawing">
<value>1402, 27</value>
@@ -408,7 +384,7 @@
<value>256, 6</value>
</data>
<metadata name="barManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>475, 17</value>
<value>308, 17</value>
</metadata>
<data name="miFile.Caption" xml:space="preserve">
<value>&amp;File</value>
@@ -485,6 +461,18 @@
<data name="miEdit.Caption" xml:space="preserve">
<value>&amp;Edit</value>
</data>
<data name="miMoveUp.Caption" xml:space="preserve">
<value>Move up</value>
</data>
<data name="miMoveUp.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>24</value>
</data>
<data name="miMoveDown.Caption" xml:space="preserve">
<value>Move down</value>
</data>
<data name="miMoveDown.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>25</value>
</data>
<data name="miAddChannel.Caption" xml:space="preserve">
<value>&amp;Add channels</value>
</data>
@@ -561,7 +549,7 @@
<value>Copy list to clipboard</value>
</data>
<data name="miCopyCsv.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>43</value>
<value>32</value>
</data>
<data name="barSubItem2.Caption" xml:space="preserve">
<value>TV-Set</value>
@@ -581,10 +569,16 @@
<data name="mnuOptions.Caption" xml:space="preserve">
<value>&amp;Settings</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<data name="miSplitView.Caption" xml:space="preserve">
<value>Split View</value>
</data>
<data name="miSplitView.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>48</value>
</data>
<data name="mnuLanguage.Caption" xml:space="preserve">
<value>&amp;Language</value>
</data>
<data name="barSubItem1.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<data name="mnuLanguage.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="miEnglish.Caption" xml:space="preserve">
@@ -671,6 +665,12 @@
<data name="miUtf16LittleEndian.Caption" xml:space="preserve">
<value>UTF-16 Little Endian (Unicode LSB first)</value>
</data>
<data name="miTheme.Caption" xml:space="preserve">
<value>Theme</value>
</data>
<data name="miTheme.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>43</value>
</data>
<data name="miShowWarningsAfterLoad.Caption" xml:space="preserve">
<value>Show warnings after loading file</value>
</data>
@@ -737,15 +737,12 @@
<data name="miSelectFavListE.Caption" xml:space="preserve">
<value>Favorites E</value>
</data>
<data name="miGotoLeftFilter.Caption" xml:space="preserve">
<value>&amp;Left list filter</value>
<data name="miSearch.Caption" xml:space="preserve">
<value>&amp;Search</value>
</data>
<data name="miGotoLeftList.Caption" xml:space="preserve">
<value>Left list</value>
</data>
<data name="miRightListFilter.Caption" xml:space="preserve">
<value>&amp;Right list filter</value>
</data>
<data name="miGotoRightList.Caption" xml:space="preserve">
<value>Right list</value>
</data>
@@ -786,7 +783,7 @@
<data name="barManager1.Categories" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v21.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMS4xLCBWZXJzaW9uPTIx
LjEuMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
LjEuNC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe
@@ -796,7 +793,7 @@
<data name="barManager1.Categories1" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v21.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMS4xLCBWZXJzaW9uPTIx
LjEuMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
LjEuNC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw
@@ -806,7 +803,7 @@
<data name="barManager1.Categories2" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v21.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMS4xLCBWZXJzaW9uPTIx
LjEuMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
LjEuNC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu
@@ -816,7 +813,7 @@
<data name="barManager1.Categories3" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v21.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMS4xLCBWZXJzaW9uPTIx
LjEuMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
LjEuNC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC
X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc
@@ -826,7 +823,7 @@
<data name="barManager1.Categories4" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v21.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYyMS4xLCBWZXJzaW9uPTIx
LjEuMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
LjEuNC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAADUFjY2Vzc2liaWxpdHkE/P///wtTeXN0ZW0uR3VpZAsA
AAACX2ECX2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICeIvz
@@ -840,7 +837,7 @@
<value>0, 0</value>
</data>
<data name="barDockControlTop.Size" type="System.Drawing.Size, System.Drawing">
<value>1402, 26</value>
<value>1402, 27</value>
</data>
<data name="&gt;&gt;barDockControlTop.Name" xml:space="preserve">
<value>barDockControlTop</value>
@@ -879,10 +876,10 @@
<value>Left</value>
</data>
<data name="barDockControlLeft.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 26</value>
<value>0, 27</value>
</data>
<data name="barDockControlLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 525</value>
<value>0, 524</value>
</data>
<data name="&gt;&gt;barDockControlLeft.Name" xml:space="preserve">
<value>barDockControlLeft</value>
@@ -900,10 +897,10 @@
<value>Right</value>
</data>
<data name="barDockControlRight.Location" type="System.Drawing.Point, System.Drawing">
<value>1402, 26</value>
<value>1402, 27</value>
</data>
<data name="barDockControlRight.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 525</value>
<value>0, 524</value>
</data>
<data name="&gt;&gt;barDockControlRight.Name" xml:space="preserve">
<value>barDockControlRight</value>
@@ -917,18 +914,6 @@
<data name="&gt;&gt;barDockControlRight.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="miMoveUp.Caption" xml:space="preserve">
<value>Move up</value>
</data>
<data name="miMoveUp.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>24</value>
</data>
<data name="miMoveDown.Caption" xml:space="preserve">
<value>Move down</value>
</data>
<data name="miMoveDown.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>25</value>
</data>
<data name="rbInsertSwap.Properties.Caption" xml:space="preserve">
<value>swap</value>
</data>
@@ -937,7 +922,7 @@
<value>Default</value>
</data>
<data name="rbInsertSwap.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 19</value>
<value>48, 20</value>
</data>
<data name="rbInsertSwap.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
@@ -964,7 +949,7 @@
<value>after</value>
</data>
<data name="rbInsertAfter.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 19</value>
<value>47, 20</value>
</data>
<data name="rbInsertAfter.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@@ -988,7 +973,7 @@
<value>before</value>
</data>
<data name="rbInsertBefore.Size" type="System.Drawing.Size, System.Drawing">
<value>54, 19</value>
<value>55, 20</value>
</data>
<data name="rbInsertBefore.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
@@ -1015,7 +1000,7 @@
<value>Close gap when moving/deleting a channel</value>
</data>
<data name="cbCloseGap.Size" type="System.Drawing.Size, System.Drawing">
<value>322, 19</value>
<value>322, 18</value>
</data>
<data name="cbCloseGap.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
@@ -1090,7 +1075,7 @@
<value>0, 33</value>
</data>
<data name="pageEmpty.Size" type="System.Drawing.Size, System.Drawing">
<value>1212, 0</value>
<value>1216, 0</value>
</data>
<data name="pageEmpty.Text" xml:space="preserve">
<value>No channel lists</value>
@@ -1189,7 +1174,7 @@
<value>Top</value>
</data>
<data name="grpTopPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 26</value>
<value>0, 27</value>
</data>
<data name="grpTopPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>1402, 57</value>
@@ -1225,7 +1210,7 @@
<value>gviewLeft</value>
</data>
<data name="&gt;&gt;gviewLeft.Type" xml:space="preserve">
<value>ChanSort.XGridView, ChanSort, Version=1.0.7834.5663, Culture=neutral, PublicKeyToken=null</value>
<value>ChanSort.XGridView, ChanSort, Version=1.0.7876.42315, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;colIndex1.Name" xml:space="preserve">
<value>colIndex1</value>
@@ -1309,13 +1294,13 @@
<value>globalImageCollection1</value>
</data>
<data name="&gt;&gt;globalImageCollection1.Type" xml:space="preserve">
<value>ChanSort.Ui.GlobalImageCollection, ChanSort, Version=1.0.7834.5663, Culture=neutral, PublicKeyToken=null</value>
<value>ChanSort.Ui.GlobalImageCollection, ChanSort, Version=1.0.7876.42315, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;gviewRight.Name" xml:space="preserve">
<value>gviewRight</value>
</data>
<data name="&gt;&gt;gviewRight.Type" xml:space="preserve">
<value>ChanSort.XGridView, ChanSort, Version=1.0.7834.5663, Culture=neutral, PublicKeyToken=null</value>
<value>ChanSort.XGridView, ChanSort, Version=1.0.7876.42315, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;colIndex.Name" xml:space="preserve">
<value>colIndex</value>
@@ -1623,6 +1608,18 @@
<data name="&gt;&gt;miEdit.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;miMoveUp.Name" xml:space="preserve">
<value>miMoveUp</value>
</data>
<data name="&gt;&gt;miMoveUp.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;miMoveDown.Name" xml:space="preserve">
<value>miMoveDown</value>
</data>
<data name="&gt;&gt;miMoveDown.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;miAddChannel.Name" xml:space="preserve">
<value>miAddChannel</value>
</data>
@@ -1737,10 +1734,16 @@
<data name="&gt;&gt;mnuOptions.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;barSubItem1.Name" xml:space="preserve">
<value>barSubItem1</value>
<data name="&gt;&gt;miSplitView.Name" xml:space="preserve">
<value>miSplitView</value>
</data>
<data name="&gt;&gt;barSubItem1.Type" xml:space="preserve">
<data name="&gt;&gt;miSplitView.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;mnuLanguage.Name" xml:space="preserve">
<value>mnuLanguage</value>
</data>
<data name="&gt;&gt;mnuLanguage.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;miEnglish.Name" xml:space="preserve">
@@ -1839,6 +1842,12 @@
<data name="&gt;&gt;miUtf16LittleEndian.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;miTheme.Name" xml:space="preserve">
<value>miTheme</value>
</data>
<data name="&gt;&gt;miTheme.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;miShowWarningsAfterLoad.Name" xml:space="preserve">
<value>miShowWarningsAfterLoad</value>
</data>
@@ -1935,10 +1944,10 @@
<data name="&gt;&gt;miSelectFavListE.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;miGotoLeftFilter.Name" xml:space="preserve">
<value>miGotoLeftFilter</value>
<data name="&gt;&gt;miSearch.Name" xml:space="preserve">
<value>miSearch</value>
</data>
<data name="&gt;&gt;miGotoLeftFilter.Type" xml:space="preserve">
<data name="&gt;&gt;miSearch.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;miGotoLeftList.Name" xml:space="preserve">
@@ -1947,12 +1956,6 @@
<data name="&gt;&gt;miGotoLeftList.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;miRightListFilter.Name" xml:space="preserve">
<value>miRightListFilter</value>
</data>
<data name="&gt;&gt;miRightListFilter.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;miGotoRightList.Name" xml:space="preserve">
<value>miGotoRightList</value>
</data>
@@ -2013,24 +2016,6 @@
<data name="&gt;&gt;miAbout.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;miMoveUp.Name" xml:space="preserve">
<value>miMoveUp</value>
</data>
<data name="&gt;&gt;miMoveUp.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;miMoveDown.Name" xml:space="preserve">
<value>miMoveDown</value>
</data>
<data name="&gt;&gt;miMoveDown.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;defaultLookAndFeel1.Name" xml:space="preserve">
<value>defaultLookAndFeel1</value>
</data>
<data name="&gt;&gt;defaultLookAndFeel1.Type" xml:space="preserve">
<value>DevExpress.LookAndFeel.DefaultLookAndFeel, DevExpress.Utils.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;splashScreenManager1.Name" xml:space="preserve">
<value>splashScreenManager1</value>
</data>
@@ -2068,11 +2053,38 @@
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="SharedImageCollection.Timestamp" type="System.DateTime, mscorlib">
<value>06/13/2021 03:12:37</value>
<value>07/25/2021 23:42:00</value>
</data>
<data name="SharedImageCollection.ImageSize" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="btnSearchLeft.Location" type="System.Drawing.Point, System.Drawing">
<value>444, 5</value>
</data>
<data name="btnSearchLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>23, 23</value>
</data>
<data name="btnSearchLeft.TabIndex" type="System.Int32, mscorlib">
<value>19</value>
</data>
<data name="btnSearchLeft.ToolTip" xml:space="preserve">
<value>Search channel by name</value>
</data>
<data name="&gt;&gt;btnSearchLeft.Name" xml:space="preserve">
<value>btnSearchLeft</value>
</data>
<data name="&gt;&gt;btnSearchLeft.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnSearchLeft.Parent" xml:space="preserve">
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnSearchLeft.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="btnToggleFavH.AccessibleDescription" xml:space="preserve">
<value>Toggle Favorite H</value>
</data>
<data name="btnToggleFavH.Location" type="System.Drawing.Point, System.Drawing">
<value>307, 5</value>
</data>
@@ -2095,7 +2107,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnToggleFavH.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<data name="btnToggleFavG.AccessibleDescription" xml:space="preserve">
<value>Toggle Favorite G</value>
@@ -2122,7 +2134,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnToggleFavG.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="btnToggleFavF.AccessibleDescription" xml:space="preserve">
<value>Toggle Favorite F</value>
@@ -2149,7 +2161,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnToggleFavF.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="btnToggleLock.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>15</value>
@@ -2179,7 +2191,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnToggleLock.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="btnToggleFavE.AccessibleDescription" xml:space="preserve">
<value>Toggle Favorite E</value>
@@ -2206,7 +2218,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnToggleFavE.ZOrder" xml:space="preserve">
<value>4</value>
<value>5</value>
</data>
<data name="btnToggleFavD.AccessibleDescription" xml:space="preserve">
<value>Toggle Favorite D</value>
@@ -2233,7 +2245,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnToggleFavD.ZOrder" xml:space="preserve">
<value>5</value>
<value>6</value>
</data>
<data name="btnToggleFavC.AccessibleDescription" xml:space="preserve">
<value>Toggle Favorite C</value>
@@ -2260,7 +2272,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnToggleFavC.ZOrder" xml:space="preserve">
<value>6</value>
<value>7</value>
</data>
<data name="btnToggleFavB.AccessibleDescription" xml:space="preserve">
<value>Toggle Favorite B</value>
@@ -2287,7 +2299,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnToggleFavB.ZOrder" xml:space="preserve">
<value>7</value>
<value>8</value>
</data>
<data name="btnToggleFavA.AccessibleDescription" xml:space="preserve">
<value>Toggle Favorite A</value>
@@ -2314,7 +2326,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnToggleFavA.ZOrder" xml:space="preserve">
<value>8</value>
<value>9</value>
</data>
<data name="btnClearLeftFilter.AccessibleDescription" xml:space="preserve">
<value>Remove channel filter criteria from sorted channel list</value>
@@ -2326,7 +2338,7 @@
<value>28</value>
</data>
<data name="btnClearLeftFilter.Location" type="System.Drawing.Point, System.Drawing">
<value>372, 4</value>
<value>372, 5</value>
</data>
<data name="btnClearLeftFilter.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 23</value>
@@ -2350,7 +2362,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnClearLeftFilter.ZOrder" xml:space="preserve">
<value>9</value>
<value>10</value>
</data>
<data name="btnRenum.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>22</value>
@@ -2380,7 +2392,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnRenum.ZOrder" xml:space="preserve">
<value>10</value>
<value>11</value>
</data>
<data name="btnDown.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>25</value>
@@ -2410,7 +2422,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnDown.ZOrder" xml:space="preserve">
<value>11</value>
<value>12</value>
</data>
<data name="btnUp.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>24</value>
@@ -2440,7 +2452,7 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnUp.ZOrder" xml:space="preserve">
<value>12</value>
<value>13</value>
</data>
<data name="btnRemoveLeft.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>11</value>
@@ -2470,13 +2482,13 @@
<value>pnlEditControls</value>
</data>
<data name="&gt;&gt;btnRemoveLeft.ZOrder" xml:space="preserve">
<value>13</value>
<value>14</value>
</data>
<data name="pnlEditControls.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="pnlEditControls.Location" type="System.Drawing.Point, System.Drawing">
<value>2, 21</value>
<value>2, 23</value>
</data>
<data name="pnlEditControls.Size" type="System.Drawing.Size, System.Drawing">
<value>499, 33</value>
@@ -2494,7 +2506,7 @@
<value>grpOutputList</value>
</data>
<data name="&gt;&gt;pnlEditControls.ZOrder" xml:space="preserve">
<value>2</value>
<value>1</value>
</data>
<data name="grpOutputList.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
@@ -2503,7 +2515,7 @@
<value>0, 0</value>
</data>
<data name="grpOutputList.Size" type="System.Drawing.Size, System.Drawing">
<value>503, 441</value>
<value>503, 440</value>
</data>
<data name="grpOutputList.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -2542,7 +2554,7 @@
<value>Fill</value>
</data>
<data name="gridRight.Location" type="System.Drawing.Point, System.Drawing">
<value>2, 54</value>
<value>2, 56</value>
</data>
<data name="gviewRight.Appearance.FocusedRow.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8.25pt, style=Bold</value>
@@ -2556,6 +2568,10 @@
<data name="colSlotOld.Caption" xml:space="preserve">
<value>Old Pos</value>
</data>
<assembly alias="DevExpress.XtraGrid.v21.1" name="DevExpress.XtraGrid.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="colSlotOld.Fixed" type="DevExpress.XtraGrid.Columns.FixedStyle, DevExpress.XtraGrid.v21.1">
<value>Left</value>
</data>
<data name="colSlotOld.ToolTip" xml:space="preserve">
<value>Old position</value>
</data>
@@ -2571,6 +2587,9 @@
<data name="colSlotNew.Caption" xml:space="preserve">
<value>New Pos</value>
</data>
<data name="colSlotNew.Fixed" type="DevExpress.XtraGrid.Columns.FixedStyle, DevExpress.XtraGrid.v21.1">
<value>Left</value>
</data>
<data name="colSlotNew.ToolTip" xml:space="preserve">
<value>New position</value>
</data>
@@ -2598,6 +2617,9 @@
<data name="colName.Caption" xml:space="preserve">
<value>Channel name</value>
</data>
<data name="colName.Fixed" type="DevExpress.XtraGrid.Columns.FixedStyle, DevExpress.XtraGrid.v21.1">
<value>Left</value>
</data>
<data name="colName.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@@ -2896,7 +2918,7 @@
<value>Signal source</value>
</data>
<data name="gridRight.Size" type="System.Drawing.Size, System.Drawing">
<value>889, 368</value>
<value>885, 382</value>
</data>
<data name="gridRight.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -2905,7 +2927,7 @@
<value>gridRight</value>
</data>
<data name="&gt;&gt;gridRight.Type" xml:space="preserve">
<value>ChanSort.XGridControl, ChanSort, Version=1.0.7834.5663, Culture=neutral, PublicKeyToken=null</value>
<value>ChanSort.XGridControl, ChanSort, Version=1.0.7876.42315, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;gridRight.Parent" xml:space="preserve">
<value>grpInputList</value>
@@ -2913,36 +2935,6 @@
<data name="&gt;&gt;gridRight.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lblHotkeyRight.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
</data>
<data name="lblHotkeyRight.Location" type="System.Drawing.Point, System.Drawing">
<value>2, 422</value>
</data>
<data name="lblHotkeyRight.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>2, 2, 2, 2</value>
</data>
<data name="lblHotkeyRight.Size" type="System.Drawing.Size, System.Drawing">
<value>153, 17</value>
</data>
<data name="lblHotkeyRight.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="lblHotkeyRight.Text" xml:space="preserve">
<value>F5: Filter | F6: List | Enter: add</value>
</data>
<data name="&gt;&gt;lblHotkeyRight.Name" xml:space="preserve">
<value>lblHotkeyRight</value>
</data>
<data name="&gt;&gt;lblHotkeyRight.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lblHotkeyRight.Parent" xml:space="preserve">
<value>grpInputList</value>
</data>
<data name="&gt;&gt;lblHotkeyRight.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="btnSearch.AccessibleDescription" xml:space="preserve">
<value>Search for a channel</value>
</data>
@@ -2971,7 +2963,7 @@
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnSearch.Parent" xml:space="preserve">
<value>panelControl3</value>
<value>pnlEditControlRight</value>
</data>
<data name="&gt;&gt;btnSearch.ZOrder" xml:space="preserve">
<value>0</value>
@@ -2980,7 +2972,7 @@
<value>Tahoma, 12pt, style=Bold</value>
</data>
<data name="lblPredefinedList.Location" type="System.Drawing.Point, System.Drawing">
<value>419, 5</value>
<value>312, 8</value>
</data>
<data name="lblPredefinedList.Size" type="System.Drawing.Size, System.Drawing">
<value>372, 19</value>
@@ -3004,7 +2996,7 @@
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lblPredefinedList.Parent" xml:space="preserve">
<value>panelControl3</value>
<value>pnlEditControlRight</value>
</data>
<data name="&gt;&gt;lblPredefinedList.ZOrder" xml:space="preserve">
<value>1</value>
@@ -3034,7 +3026,7 @@
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnRemoveRight.Parent" xml:space="preserve">
<value>panelControl3</value>
<value>pnlEditControlRight</value>
</data>
<data name="&gt;&gt;btnRemoveRight.ZOrder" xml:space="preserve">
<value>2</value>
@@ -3064,7 +3056,7 @@
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnAddAll.Parent" xml:space="preserve">
<value>panelControl3</value>
<value>pnlEditControlRight</value>
</data>
<data name="&gt;&gt;btnAddAll.ZOrder" xml:space="preserve">
<value>3</value>
@@ -3100,7 +3092,7 @@
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnClearRightFilter.Parent" xml:space="preserve">
<value>panelControl3</value>
<value>pnlEditControlRight</value>
</data>
<data name="&gt;&gt;btnClearRightFilter.ZOrder" xml:space="preserve">
<value>4</value>
@@ -3130,34 +3122,34 @@
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnAdd.Parent" xml:space="preserve">
<value>panelControl3</value>
<value>pnlEditControlRight</value>
</data>
<data name="&gt;&gt;btnAdd.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="panelControl3.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<data name="pnlEditControlRight.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>
</data>
<data name="panelControl3.Location" type="System.Drawing.Point, System.Drawing">
<value>2, 21</value>
<data name="pnlEditControlRight.Location" type="System.Drawing.Point, System.Drawing">
<value>2, 23</value>
</data>
<data name="panelControl3.Size" type="System.Drawing.Size, System.Drawing">
<value>889, 33</value>
<data name="pnlEditControlRight.Size" type="System.Drawing.Size, System.Drawing">
<value>885, 33</value>
</data>
<data name="panelControl3.TabIndex" type="System.Int32, mscorlib">
<data name="pnlEditControlRight.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;panelControl3.Name" xml:space="preserve">
<value>panelControl3</value>
<data name="&gt;&gt;pnlEditControlRight.Name" xml:space="preserve">
<value>pnlEditControlRight</value>
</data>
<data name="&gt;&gt;panelControl3.Type" xml:space="preserve">
<data name="&gt;&gt;pnlEditControlRight.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;panelControl3.Parent" xml:space="preserve">
<data name="&gt;&gt;pnlEditControlRight.Parent" xml:space="preserve">
<value>grpInputList</value>
</data>
<data name="&gt;&gt;panelControl3.ZOrder" xml:space="preserve">
<value>2</value>
<data name="&gt;&gt;pnlEditControlRight.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="grpInputList.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
@@ -3166,7 +3158,7 @@
<value>0, 0</value>
</data>
<data name="grpInputList.Size" type="System.Drawing.Size, System.Drawing">
<value>893, 441</value>
<value>889, 440</value>
</data>
<data name="grpInputList.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -3202,7 +3194,7 @@
<value>1</value>
</data>
<data name="splitContainerControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>1402, 441</value>
<value>1402, 440</value>
</data>
<data name="splitContainerControl1.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@@ -3222,19 +3214,16 @@
<data name="&gt;&gt;splitContainerControl1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="defaultLookAndFeel1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>194, 17</value>
</metadata>
<metadata name="popupContext.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>781, 17</value>
<value>614, 17</value>
</metadata>
<metadata name="timerEditDelay.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>911, 17</value>
<value>744, 17</value>
</metadata>
<metadata name="popupInputSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1042, 17</value>
<value>875, 17</value>
</metadata>
<metadata name="popupFavList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1196, 17</value>
<value>1029, 17</value>
</metadata>
</root>

View File

@@ -264,7 +264,7 @@
<data name="mnuOptions.Caption" xml:space="preserve">
<value>&amp;Setări</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<data name="mnuLanguages.Caption" xml:space="preserve">
<value>&amp;Limba</value>
</data>
<data name="mnuCharset.Caption" xml:space="preserve">
@@ -327,7 +327,7 @@
<data name="miSelectFavListE.Caption" xml:space="preserve">
<value>Favorite E</value>
</data>
<data name="miGotoLeftFilter.Caption" xml:space="preserve">
<data name="miSearch.Caption" xml:space="preserve">
<value>Filtru de listă &amp;stânga</value>
</data>
<data name="miGotoLeftList.Caption" xml:space="preserve">
@@ -630,4 +630,7 @@ furnizor specific, satelit sau liste de țări.</value>
<data name="btnToggleFavH.AccessibleDescription" xml:space="preserve">
<value>Comutați pe Favorite H</value>
</data>
<data name="miTheme.Caption" xml:space="preserve">
<value>Schema de culori</value>
</data>
</root>

View File

@@ -339,7 +339,7 @@
<data name="mnuCharset.Caption" xml:space="preserve">
<value>Набор символов</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<data name="mnuLanguages.Caption" xml:space="preserve">
<value>Язык</value>
</data>
<data name="mnuOptions.Caption" xml:space="preserve">
@@ -468,4 +468,7 @@
<data name="colIndex1.Caption" xml:space="preserve">
<value>Индекс пр.</value>
</data>
<data name="miTheme.Caption" xml:space="preserve">
<value>Цветовая схема</value>
</data>
</root>

View File

@@ -276,7 +276,7 @@
<data name="mnuOptions.Caption" xml:space="preserve">
<value>Ayarlar</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<data name="mnuLanguages.Caption" xml:space="preserve">
<value>Dil</value>
</data>
<data name="mnuCharset.Caption" xml:space="preserve">
@@ -348,7 +348,7 @@
<data name="miSelectFavListE.Caption" xml:space="preserve">
<value>Favoriler E</value>
</data>
<data name="miGotoLeftFilter.Caption" xml:space="preserve">
<data name="miSearch.Caption" xml:space="preserve">
<value>Sol liste filtresi</value>
</data>
<data name="miGotoLeftList.Caption" xml:space="preserve">
@@ -666,4 +666,7 @@
<data name="splitContainerControl1.Text" xml:space="preserve">
<value>bölünmüşBirimKontrolü1</value>
</data>
<data name="miTheme.Caption" xml:space="preserve">
<value>Renk uyumu</value>
</data>
</root>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
@@ -117,4 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Abortar</value>
</data>
</root>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
@@ -117,4 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Отменить</value>
</data>
</root>

View File

@@ -62,6 +62,9 @@ namespace ChanSort.Ui.Properties
/// </summary>
public SizeF ScaleFactor { get; set; }
public bool SplitView { get; set; } = true;
public string SkinName { get; set; } = "Office 2019 Colorful";
private bool allowSave = true;
public void Save()

View File

@@ -206,7 +206,7 @@ Möchten Sie fortfahren?</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Donate" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\btn_donateCC_LG_de.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<value>..\Resources\btn_donateCC_LG_de.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="MainForm_SaveFiles_ErrorTitle" xml:space="preserve">
<value>Schreibfehler</value>

View File

@@ -200,7 +200,7 @@ Do you want to continue?</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Donate" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\btn_donateCC_LG.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<value>..\Resources\btn_donateCC_LG.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="paypal_button" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\paypal-button.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>

View File

@@ -0,0 +1,7 @@
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.GalleryControl, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

117
source/ChanSort/SkinPickerForm.Designer.cs generated Normal file
View File

@@ -0,0 +1,117 @@
namespace ChanSort.Ui
{
partial class SkinPickerForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SkinPickerForm));
this.gallery = new DevExpress.XtraBars.Ribbon.GalleryControl();
this.galleryControlClient1 = new DevExpress.XtraBars.Ribbon.GalleryControlClient();
this.panelControl1 = new DevExpress.XtraEditors.PanelControl();
this.btnCancel = new DevExpress.XtraEditors.SimpleButton();
this.btnOk = new DevExpress.XtraEditors.SimpleButton();
this.btnReset = new DevExpress.XtraEditors.SimpleButton();
((System.ComponentModel.ISupportInitialize)(this.gallery)).BeginInit();
this.gallery.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.panelControl1)).BeginInit();
this.panelControl1.SuspendLayout();
this.SuspendLayout();
//
// gallery
//
resources.ApplyResources(this.gallery, "gallery");
this.gallery.Controls.Add(this.galleryControlClient1);
//
//
//
this.gallery.Gallery.AllowFilter = false;
this.gallery.Gallery.ColumnCount = 8;
this.gallery.Gallery.ImageSize = new System.Drawing.Size(48, 48);
this.gallery.Gallery.ShowItemText = true;
this.gallery.Gallery.ShowScrollBar = DevExpress.XtraBars.Ribbon.Gallery.ShowScrollBar.Auto;
this.gallery.Name = "gallery";
//
// galleryControlClient1
//
resources.ApplyResources(this.galleryControlClient1, "galleryControlClient1");
this.galleryControlClient1.GalleryControl = this.gallery;
//
// panelControl1
//
resources.ApplyResources(this.panelControl1, "panelControl1");
this.panelControl1.Controls.Add(this.btnCancel);
this.panelControl1.Controls.Add(this.btnOk);
this.panelControl1.Controls.Add(this.btnReset);
this.panelControl1.Name = "panelControl1";
//
// btnCancel
//
resources.ApplyResources(this.btnCancel, "btnCancel");
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Name = "btnCancel";
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// btnOk
//
resources.ApplyResources(this.btnOk, "btnOk");
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.Name = "btnOk";
this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
//
// btnReset
//
resources.ApplyResources(this.btnReset, "btnReset");
this.btnReset.Name = "btnReset";
this.btnReset.Click += new System.EventHandler(this.btnReset_Click);
//
// SkinPickerForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.gallery);
this.Controls.Add(this.panelControl1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
this.Name = "SkinPickerForm";
this.Load += new System.EventHandler(this.SkinPicker_Load);
((System.ComponentModel.ISupportInitialize)(this.gallery)).EndInit();
this.gallery.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.panelControl1)).EndInit();
this.panelControl1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraBars.Ribbon.GalleryControl gallery;
private DevExpress.XtraBars.Ribbon.GalleryControlClient galleryControlClient1;
private DevExpress.XtraEditors.PanelControl panelControl1;
private DevExpress.XtraEditors.SimpleButton btnCancel;
private DevExpress.XtraEditors.SimpleButton btnOk;
private DevExpress.XtraEditors.SimpleButton btnReset;
}
}

View File

@@ -0,0 +1,63 @@
using System;
using ChanSort.Ui.Properties;
using DevExpress.LookAndFeel;
using DevExpress.XtraEditors;
namespace ChanSort.Ui
{
public partial class SkinPickerForm : XtraForm
{
string initialSkinName;
public SkinPickerForm()
{
InitializeComponent();
}
private void SkinPicker_Load(object sender, EventArgs e)
{
this.initialSkinName = UserLookAndFeel.Default.SkinName;
DevExpress.XtraBars.Helpers.SkinHelper.InitSkinGallery(gallery);
gallery.Gallery.ColumnCount = 8;
gallery.Gallery.AllowFilter = false;
gallery.Gallery.FixedImageSize = true;
gallery.Gallery.ImageSize = new System.Drawing.Size(48, 48);
gallery.Gallery.FixedHoverImageSize = true;
gallery.Gallery.HoverImageSize = new System.Drawing.Size(48, 48);
gallery.Gallery.ShowItemText = true;
gallery.Gallery.ShowScrollBar = DevExpress.XtraBars.Ribbon.Gallery.ShowScrollBar.Auto;
foreach (var galItem in gallery.Gallery.GetAllItems())
{
galItem.Caption = galItem.Caption.Replace("DevExpress", "DX");
galItem.Image = galItem.HoverImage;
}
}
private void btnReset_Click(object sender, EventArgs e)
{
foreach (var galItem in gallery.Gallery.GetAllItems())
{
if (galItem.Caption == UserLookAndFeel.Default.SkinName)
{
galItem.Checked = true;
break;
}
}
UserLookAndFeel.Default.SkinName = "The Bezier";
}
private void btnOk_Click(object sender, EventArgs e)
{
Config.Default.SkinName = UserLookAndFeel.Default.SkinName;
Config.Default.Save();
this.Close();
}
private void btnCancel_Click(object sender, EventArgs e)
{
UserLookAndFeel.Default.SkinName = this.initialSkinName;
this.Close();
}
}
}

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Storno</value>
</data>
<data name="btnOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Barevné schéma</value>
</data>
</root>

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Abbrechen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Farbschema</value>
</data>
<data name="btnOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
</root>

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Cancelar</value>
</data>
<data name="btnOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Esquema de colores</value>
</data>
</root>

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Mégse</value>
</data>
<data name="btnOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Színösszeállítás</value>
</data>
</root>

View File

@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnOk.Text" xml:space="preserve">
<value>Dobrze</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Schemat kolorów</value>
</data>
</root>

View File

@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Abortar</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Esquema de cores</value>
</data>
</root>

View File

@@ -0,0 +1,291 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="btnReset.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;galleryControlClient1.Parent" xml:space="preserve">
<value>gallery</value>
</data>
<data name="&gt;&gt;gallery.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;btnOk.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnOk.Name" xml:space="preserve">
<value>btnOk</value>
</data>
<data name="&gt;&gt;btnOk.Parent" xml:space="preserve">
<value>panelControl1</value>
</data>
<data name="panelControl1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;galleryControlClient1.Name" xml:space="preserve">
<value>galleryControlClient1</value>
</data>
<data name="&gt;&gt;gallery.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.GalleryControl, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;galleryControlClient1.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.GalleryControlClient, DevExpress.XtraBars.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="panelControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 527</value>
</data>
<data name="&gt;&gt;galleryControlClient1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>984, 562</value>
</data>
<data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 23</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="btnOk.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="btnOk.Size" type="System.Drawing.Size, System.Drawing">
<value>84, 23</value>
</data>
<data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;btnCancel.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="gallery.Size" type="System.Drawing.Size, System.Drawing">
<value>984, 527</value>
</data>
<data name="btnOk.Location" type="System.Drawing.Point, System.Drawing">
<value>788, 7</value>
</data>
<data name="btnReset.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 7</value>
</data>
<data name="galleryControlClient1.Location" type="System.Drawing.Point, System.Drawing">
<value>2, 2</value>
</data>
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
<value>888, 7</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>
</data>
<data name="&gt;&gt;btnReset.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnOk.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="gallery.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;panelControl1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;btnCancel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="btnOk.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;panelControl1.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>SkinPickerForm</value>
</data>
<data name="&gt;&gt;panelControl1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="btnCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;btnCancel.Parent" xml:space="preserve">
<value>panelControl1</value>
</data>
<data name="&gt;&gt;btnReset.Parent" xml:space="preserve">
<value>panelControl1</value>
</data>
<data name="btnReset.Text" xml:space="preserve">
<value>Use default theme</value>
</data>
<data name="btnCancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="galleryControlClient1.Size" type="System.Drawing.Size, System.Drawing">
<value>980, 523</value>
</data>
<data name="&gt;&gt;gallery.Name" xml:space="preserve">
<value>gallery</value>
</data>
<data name="&gt;&gt;btnReset.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="btnReset.Size" type="System.Drawing.Size, System.Drawing">
<value>158, 23</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="&gt;&gt;gallery.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="panelControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>984, 35</value>
</data>
<data name="&gt;&gt;btnReset.Name" xml:space="preserve">
<value>btnReset</value>
</data>
<data name="&gt;&gt;btnCancel.Name" xml:space="preserve">
<value>btnCancel</value>
</data>
<data name="gallery.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="btnOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="gallery.Text" xml:space="preserve">
<value>galleryControl1</value>
</data>
<data name="gallery.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Theme</value>
</data>
<data name="&gt;&gt;panelControl1.Name" xml:space="preserve">
<value>panelControl1</value>
</data>
<data name="panelControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Anulare</value>
</data>
<data name="btnOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Schema de culori</value>
</data>
</root>

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Отменить</value>
</data>
<data name="btnOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Цветовая схема</value>
</data>
</root>

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Vazgeç</value>
</data>
<data name="btnOk.Text" xml:space="preserve">
<value>TAMAM</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Renk uyumu</value>
</data>
</root>

View File

@@ -8,7 +8,7 @@
<applicationSettings>
<DevExpress.LookAndFeel.Design.AppSettings>
<setting name="DefaultAppSkin" serializeAs="String">
<value></value>
<value>Skin/Office 2019 Colorful</value>
</setting>
<setting name="DefaultPalette" serializeAs="String">
<value></value>
@@ -65,7 +65,6 @@
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 605 B

After

Width:  |  Height:  |  Size: 680 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 512 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 B

After

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 487 B

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 B

After

Width:  |  Height:  |  Size: 704 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 417 B

After

Width:  |  Height:  |  Size: 674 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 325 B

After

Width:  |  Height:  |  Size: 758 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 312 B

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 949 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 B

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 B

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 371 B

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 494 B

After

Width:  |  Height:  |  Size: 855 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 394 B

After

Width:  |  Height:  |  Size: 400 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

View File

@@ -1,6 +1,16 @@
ChanSort Change Log
===================
2021-07-26
- user interface can now be toggled between
- **split view**: classic ChanSort UI with new/ordered and old/full list side-by-side
- **single-table**: simplified and more intuitive UI, but not quite as powerful
When you choose to "Modify current list", the single-table view is used by default,
otherwise the split view. But you can always toggle between them.
- added option to select a color theme. The UI now uses the "Office 2019 Colorful" theme by default,
the old theme was "Office 2016 Blue".
- improved many keyboard shortcuts (open the drop-down menus to see the shortcuts)
2021-07-25
- DVBS_Program.csv, DVBS_CHANNEL_TABLE.csv, MSxxxx_DVBS_CHANNEL_TABLE.csv:
Various versions of these files are used by Blaupunkt, Dyon, Hisense, Sharp and many others