diff --git a/CSVLintNppPlugin/Forms/AboutForm.cs b/CSVLintNppPlugin/Forms/AboutForm.cs index 6d4815c..0cb1081 100644 --- a/CSVLintNppPlugin/Forms/AboutForm.cs +++ b/CSVLintNppPlugin/Forms/AboutForm.cs @@ -64,37 +64,37 @@ private void DisplayEasterEgg() string obj = ""; Image img = CSVLintNppPlugin.Properties.Resources.easteregg; - int easter = IsEaster(today); - if (easter > 0) - { - // March/April ?th, varies - msg = string.Format("Easter {0}day", (easter == 1 ? "Sun" : "Mon")); - obj = "an Easter egg"; - img = CSVLintNppPlugin.Properties.Resources.easteregg; - } - else - { - int daymonth = today.Month * 100 + today.Day; + int daymonth = today.Month * 100 + today.Day; - switch (daymonth) - { - case 317: // March 17th - msg = "St. Patrick's Day"; - obj = "a four-leaf clover"; - img = CSVLintNppPlugin.Properties.Resources.clover; - break; - case 1031: // October 31st - msg = "Halloween"; - obj = "a spooky pumpkin"; - img = CSVLintNppPlugin.Properties.Resources.pumpkin; - break; - case 101: // January 1st - case 1231: // December 31th - msg = "New Year" + (daymonth == 1231 ? "'s Eve" : ""); - obj = "an oliebol"; - img = CSVLintNppPlugin.Properties.Resources.oliebol; - break; - } + switch (daymonth) + { + case 422: // April 22nd + case 605: // June 5th + msg = (daymonth == 422 ? "Earth Day" : "World Environment Day") + ", support your local climate change organizations"; + obj = "a globe"; + img = CSVLintNppPlugin.Properties.Resources.earth; + break; + case 1031: // October 31st + msg = "Halloween"; + obj = "a spooky pumpkin"; + img = CSVLintNppPlugin.Properties.Resources.pumpkin; + break; + case 101: // January 1st + case 1231: // December 31th + msg = "New Year" + (daymonth == 1231 ? "'s Eve" : ""); + obj = "an oliebol"; + img = CSVLintNppPlugin.Properties.Resources.oliebol; + break; + default: + int easter = IsEaster(today); + if (easter > 0) + { + // March/April ?th, varies + msg = string.Format("Easter {0}day", (easter == 1 ? "Sun" : "Mon")); + obj = "an Easter egg"; + img = CSVLintNppPlugin.Properties.Resources.easteregg; + }; + break; }; // initialization easter egg @@ -110,7 +110,7 @@ private void DisplayEasterEgg() //private void displayEasterEgg_old() //{ // // tooltip initialization easter eggs - // helperTip.SetToolTip(picClover, "Happy St. Patricks day! You've found a four-leaf clover ;)"); + // helperTip.SetToolTip(picEarth, "Earth Day, support your local climate change organizations! You've found a globe ;)"); // helperTip.SetToolTip(picEasterEgg, "Happy Easter Day! You've found an Easter egg ;)"); // helperTip.SetToolTip(picPumpkin, "Happy Halloween! You've found a spooky pumpkin ;)"); // helperTip.SetToolTip(picOliebol, "Happy New Year! You've found an oliebol ;)"); @@ -126,7 +126,7 @@ private void DisplayEasterEgg() // { // int daymonth = (today.Month * 100 + today.Day); // - // if (daymonth == 317) picClover.Visible = true; // March 17th + // if (daymonth == 317) picEarth.Visible = true; // April 22nd // if (daymonth == 1031) picPumpkin.Visible = true; // October 31st // if (daymonth == 1231) picOliebol.Visible = true; // December 31th // if (daymonth == 101) picOliebol.Visible = true; // January 1st @@ -167,9 +167,9 @@ private void picEasterEgg_Click(object sender, EventArgs e) { // show image if (ForceEasterEgg <= 5) picEasterEgg.Image = CSVLintNppPlugin.Properties.Resources.easteregg; // click 5 times - else if (ForceEasterEgg <= 10) picEasterEgg.Image = CSVLintNppPlugin.Properties.Resources.clover; // click 5 more times etc. - else if (ForceEasterEgg <= 15) picEasterEgg.Image = CSVLintNppPlugin.Properties.Resources.pumpkin; - else picEasterEgg.Image = CSVLintNppPlugin.Properties.Resources.oliebol; + else if (ForceEasterEgg <= 10) picEasterEgg.Image = CSVLintNppPlugin.Properties.Resources.pumpkin; // click 5 more times etc. + else if (ForceEasterEgg <= 15) picEasterEgg.Image = CSVLintNppPlugin.Properties.Resources.oliebol; + else picEasterEgg.Image = CSVLintNppPlugin.Properties.Resources.earth; // update help text + counter helperTip.SetToolTip(picEasterEgg, "On certain days in the year you'll find an easter egg here ;)"); diff --git a/CSVLintNppPlugin/PluginInfrastructure/SettingsBase.cs b/CSVLintNppPlugin/PluginInfrastructure/SettingsBase.cs index e0f9d32..edc81e7 100644 --- a/CSVLintNppPlugin/PluginInfrastructure/SettingsBase.cs +++ b/CSVLintNppPlugin/PluginInfrastructure/SettingsBase.cs @@ -202,7 +202,7 @@ public void ShowDialog() ContextMenuStrip cm = new ContextMenuStrip(); - //var img = CSVLintNppPlugin.Properties.Resources.clover; + //var img = CSVLintNppPlugin.Properties.Resources.earth; //ContextMenuStrip cm = new ContextMenuStrip("Light mode (background colors)", img, colorMenuItem_Click); cm.Items.Add("Light mode (background colors)", CSVLintNppPlugin.Properties.Resources.setcolor1, colorMenuItem_Click); cm.Items.Add("Light mode (foreground colors)", CSVLintNppPlugin.Properties.Resources.setcolor2, colorMenuItem_Click); diff --git a/CSVLintNppPlugin/Properties/Resources.Designer.cs b/CSVLintNppPlugin/Properties/Resources.Designer.cs index 3de4c94..08b1f56 100644 --- a/CSVLintNppPlugin/Properties/Resources.Designer.cs +++ b/CSVLintNppPlugin/Properties/Resources.Designer.cs @@ -60,16 +60,6 @@ internal Resources() { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap clover { - get { - object obj = ResourceManager.GetObject("clover", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -109,7 +99,19 @@ internal static System.Drawing.Bitmap disksave { return ((System.Drawing.Bitmap)(obj)); } } - + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap earth + { + get + { + object obj = ResourceManager.GetObject("earth", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/CSVLintNppPlugin/Properties/Resources.resx b/CSVLintNppPlugin/Properties/Resources.resx index 446671f..5b6f7c6 100644 --- a/CSVLintNppPlugin/Properties/Resources.resx +++ b/CSVLintNppPlugin/Properties/Resources.resx @@ -124,9 +124,6 @@ ..\Resources\oliebol1_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\clover_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\pumpkin_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -154,4 +151,7 @@ ..\Resources\setcolor4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\earth_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/CSVLintNppPlugin/Resources/earth_32px.png b/CSVLintNppPlugin/Resources/earth_32px.png new file mode 100644 index 0000000..2175c09 Binary files /dev/null and b/CSVLintNppPlugin/Resources/earth_32px.png differ diff --git a/docs/readme.md b/docs/readme.md index 78650b3..1c4459e 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -330,6 +330,9 @@ Sort on **length of value** to sort on the character length of the values, for e Sort **ascending** start with low values, end with high values `0 -> 9, A -> Z` Sort **descending** start with high values, end with low values `Z -> A, 9 -> 0` +When sorting on value, text columns will be sorted alphabetically, integer and +decimal columns are sorted numerically and datetime values are sorted chronologically. + When sorting on a column that contains several of the same values, then the sort order for the lines with those values will not change. Meaning that lines with the same value will be in the sort order as they were before sorting. @@ -597,7 +600,18 @@ File and column metadata in [W3C CSV schema JSON](https://www.w3.org/TR/tabular- ### Datadictionary CSV ### -File and column metadata in CSV format. +Column metadata in CSV format, generates comma-separated metadata +which contains the following columns: + +| Column | Description | Example | +|-------------|--------------------------------------------------|-----------------------| +| Nr | Column sequence number | 1, 2, 3 etc | +| ColumnName | Column name | PAT_ID, VisitDate etc | +| DataType | String, Integer, Decimal, DateTime, Date or Time | | +| Width | Column maximum width total | | +| Decimals | Nr of decimals, only for DataType=Decimal | 1, 2, 3 etc | +| Mask | Mask only for DataType=Decimal or DateTime | #0.00, dd-MM-yyyy etc | +| Enumeration | Enumeration items separated by pipe character | No\|Yes\|Unknown | ### Python ### diff --git a/readme.md b/readme.md index 29b8416..099fcd0 100644 --- a/readme.md +++ b/readme.md @@ -124,7 +124,7 @@ right. It will check the input data for the following errors: * Non-numeric values in numeric columns, example value "n/a" when column datatype is Integer * Incorrect decimal separator, example value "12.34" when DecimalSymbol is set to comma * Too many decimals, example value "12.345" when NumberDigits=2. -* Incorrect date format, example value "12/31/2018" when DateTimeFormat=dd/mm/yyyy +* Incorrect date format, example value "12/31/2024" when DateTimeFormat=dd/mm/yyyy Roadmap/goals -------------