From 2df7308923b8dd907fca3bf30ca9984a5d91001c Mon Sep 17 00:00:00 2001 From: Steven Cohn Date: Sat, 23 Dec 2023 11:06:56 -0500 Subject: [PATCH 1/4] Fix Favorites dialog sizing --- .../Favorites/FavoritesDialog.Designer.cs | 43 +++++++++++-------- .../Commands/Favorites/FavoritesDialog.resx | 6 --- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/OneMore/Commands/Favorites/FavoritesDialog.Designer.cs b/OneMore/Commands/Favorites/FavoritesDialog.Designer.cs index a4578f5eb8..ef680089e3 100644 --- a/OneMore/Commands/Favorites/FavoritesDialog.Designer.cs +++ b/OneMore/Commands/Favorites/FavoritesDialog.Designer.cs @@ -43,8 +43,8 @@ private void InitializeComponent() this.contextMenu = new System.Windows.Forms.ContextMenuStrip(this.components); this.addButton = new System.Windows.Forms.ToolStripMenuItem(); this.checkButton = new System.Windows.Forms.ToolStripMenuItem(); - this.manageButton = new System.Windows.Forms.ToolStripMenuItem(); this.sortByNameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.manageButton = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.gridView)).BeginInit(); this.buttonPanel.SuspendLayout(); this.searchPanel.SuspendLayout(); @@ -71,7 +71,7 @@ private void InitializeComponent() this.gridView.RowHeadersWidth = 30; this.gridView.RowTemplate.Height = 28; this.gridView.ShowEditingIcon = false; - this.gridView.Size = new System.Drawing.Size(778, 425); + this.gridView.Size = new System.Drawing.Size(778, 410); this.gridView.TabIndex = 0; this.gridView.CellContentDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.ChooseByDoubleClick); this.gridView.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.ValidateOnCellFormatting); @@ -98,16 +98,17 @@ private void InitializeComponent() this.buttonPanel.Controls.Add(this.goButton); this.buttonPanel.Controls.Add(this.cancelButton); this.buttonPanel.Dock = System.Windows.Forms.DockStyle.Bottom; - this.buttonPanel.Location = new System.Drawing.Point(0, 499); + this.buttonPanel.Location = new System.Drawing.Point(0, 484); this.buttonPanel.Name = "buttonPanel"; - this.buttonPanel.Size = new System.Drawing.Size(778, 45); + this.buttonPanel.Padding = new System.Windows.Forms.Padding(8); + this.buttonPanel.Size = new System.Drawing.Size(778, 60); this.buttonPanel.TabIndex = 4; // // goButton // this.goButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.goButton.DialogResult = System.Windows.Forms.DialogResult.OK; - this.goButton.Location = new System.Drawing.Point(526, 3); + this.goButton.Location = new System.Drawing.Point(518, 11); this.goButton.Name = "goButton"; this.goButton.Size = new System.Drawing.Size(120, 38); this.goButton.TabIndex = 0; @@ -119,7 +120,7 @@ private void InitializeComponent() // this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.cancelButton.Location = new System.Drawing.Point(652, 3); + this.cancelButton.Location = new System.Drawing.Point(644, 11); this.cancelButton.Name = "cancelButton"; this.cancelButton.Size = new System.Drawing.Size(120, 38); this.cancelButton.TabIndex = 1; @@ -140,6 +141,7 @@ private void InitializeComponent() // // menuButton // + this.menuButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.menuButton.FlatAppearance.BorderSize = 0; this.menuButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.menuButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); @@ -154,10 +156,12 @@ private void InitializeComponent() // // searchBox // + this.searchBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.searchBox.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.searchBox.Location = new System.Drawing.Point(138, 18); this.searchBox.Name = "searchBox"; - this.searchBox.Size = new System.Drawing.Size(385, 28); + this.searchBox.Size = new System.Drawing.Size(566, 28); this.searchBox.TabIndex = 0; this.searchBox.KeyUp += new System.Windows.Forms.KeyEventHandler(this.FilterRowOnKeyUp); // @@ -179,13 +183,13 @@ private void InitializeComponent() this.sortByNameToolStripMenuItem, this.manageButton}); this.contextMenu.Name = "contextMenu"; - this.contextMenu.Size = new System.Drawing.Size(249, 165); + this.contextMenu.Size = new System.Drawing.Size(233, 132); // // addButton // this.addButton.Image = global::River.OneMoreAddIn.Properties.Resources.Journal; this.addButton.Name = "addButton"; - this.addButton.Size = new System.Drawing.Size(248, 32); + this.addButton.Size = new System.Drawing.Size(232, 32); this.addButton.Text = "Add Current Page"; this.addButton.Click += new System.EventHandler(this.AddCurrentPage); // @@ -193,26 +197,26 @@ private void InitializeComponent() // this.checkButton.Image = global::River.OneMoreAddIn.Properties.Resources.CheckMark; this.checkButton.Name = "checkButton"; - this.checkButton.Size = new System.Drawing.Size(248, 32); + this.checkButton.Size = new System.Drawing.Size(232, 32); this.checkButton.Text = "Check Favorites"; this.checkButton.Click += new System.EventHandler(this.CheckFavorites); // - // manageButton - // - this.manageButton.Image = global::River.OneMoreAddIn.Properties.Resources.Hammer; - this.manageButton.Name = "manageButton"; - this.manageButton.Size = new System.Drawing.Size(248, 32); - this.manageButton.Text = "Manage Favorites"; - this.manageButton.Click += new System.EventHandler(this.ManageFavorites); - // // sortByNameToolStripMenuItem // this.sortByNameToolStripMenuItem.Image = global::River.OneMoreAddIn.Properties.Resources.DownArrow; this.sortByNameToolStripMenuItem.Name = "sortByNameToolStripMenuItem"; - this.sortByNameToolStripMenuItem.Size = new System.Drawing.Size(248, 32); + this.sortByNameToolStripMenuItem.Size = new System.Drawing.Size(232, 32); this.sortByNameToolStripMenuItem.Text = "Sort By Name"; this.sortByNameToolStripMenuItem.Click += new System.EventHandler(this.SortFavorites); // + // manageButton + // + this.manageButton.Image = global::River.OneMoreAddIn.Properties.Resources.Hammer; + this.manageButton.Name = "manageButton"; + this.manageButton.Size = new System.Drawing.Size(232, 32); + this.manageButton.Text = "Manage Favorites"; + this.manageButton.Click += new System.EventHandler(this.ManageFavorites); + // // FavoritesDialog // this.AcceptButton = this.goButton; @@ -223,6 +227,7 @@ private void InitializeComponent() this.Controls.Add(this.gridView); this.Controls.Add(this.searchPanel); this.Controls.Add(this.buttonPanel); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; diff --git a/OneMore/Commands/Favorites/FavoritesDialog.resx b/OneMore/Commands/Favorites/FavoritesDialog.resx index edb9d8e279..04b9ad8626 100644 --- a/OneMore/Commands/Favorites/FavoritesDialog.resx +++ b/OneMore/Commands/Favorites/FavoritesDialog.resx @@ -123,12 +123,6 @@ True - - True - - - True - 17, 17 From bfc1f4a31bb83ff1cd8612b3cc6101c13a1aa6db Mon Sep 17 00:00:00 2001 From: Steven Cohn Date: Sat, 23 Dec 2023 11:07:29 -0500 Subject: [PATCH 2/4] Trigger hashtag page deletion --- OneMore/Commands/Tagging/HashtagProvider.cs | 22 ++++++--------------- OneMore/Commands/Tagging/HashtagsDB.sql | 2 +- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/OneMore/Commands/Tagging/HashtagProvider.cs b/OneMore/Commands/Tagging/HashtagProvider.cs index b7545ea80e..a97480b1ff 100644 --- a/OneMore/Commands/Tagging/HashtagProvider.cs +++ b/OneMore/Commands/Tagging/HashtagProvider.cs @@ -226,15 +226,10 @@ public void DeletePhantoms(List knownIDs, string sectionID, string secti cmd.CommandText = "SELECT moreID, pageID FROM hashtag_page WHERE sectionID = @sid"; cmd.Parameters.AddWithValue("@sid", sectionID); - using var dtagcmd = con.CreateCommand(); - dtagcmd.CommandType = CommandType.Text; - dtagcmd.CommandText = "DELETE FROM hashtag WHERE moreID = @mid"; - dtagcmd.Parameters.Add("@mid", DbType.String); - - using var dpagcmd = con.CreateCommand(); - dpagcmd.CommandType = CommandType.Text; - dpagcmd.CommandText = "DELETE FROM hashtag_page WHERE pageID = @pid"; - dpagcmd.Parameters.Add("@pid", DbType.String); + using var delcmd = con.CreateCommand(); + delcmd.CommandType = CommandType.Text; + delcmd.CommandText = "DELETE FROM hashtag_page WHERE pageID = @pid"; + delcmd.Parameters.Add("@pid", DbType.String); using var transaction = con.BeginTransaction(); var count = 0; @@ -247,13 +242,8 @@ public void DeletePhantoms(List knownIDs, string sectionID, string secti var pageID = reader.GetString(1); if (!knownIDs.Contains(pageID)) { - var moreID = reader.GetString(0); - - dtagcmd.Parameters["@mid"].Value = moreID; - dtagcmd.ExecuteNonQuery(); - - dpagcmd.Parameters["@pid"].Value = pageID; - dpagcmd.ExecuteNonQuery(); + delcmd.Parameters["@pid"].Value = pageID; + delcmd.ExecuteNonQuery(); count++; } } diff --git a/OneMore/Commands/Tagging/HashtagsDB.sql b/OneMore/Commands/Tagging/HashtagsDB.sql index 955d8e87c4..48db2e8ff6 100644 --- a/OneMore/Commands/Tagging/HashtagsDB.sql +++ b/OneMore/Commands/Tagging/HashtagsDB.sql @@ -1,5 +1,5 @@ CREATE TABLE IF NOT EXISTS hashtag_scanner (scannerID INTEGER PRIMARY KEY UNIQUE NOT NULL, version NUMERIC (12) UNIQUE NOT NULL, scanTime TEXT NOT NULL); -CREATE TABLE IF NOT EXISTS hashtag (tag TEXT NOT NULL, moreID TEXT NOT NULL, objectID TEXT NOT NULL, snippet TEXT, lastModified TEXT NOT NULL, PRIMARY KEY (tag, objectID)); +CREATE TABLE IF NOT EXISTS hashtag (tag TEXT NOT NULL, moreID TEXT NOT NULL, objectID TEXT NOT NULL, snippet TEXT, lastModified TEXT NOT NULL, PRIMARY KEY (tag, objectID), CONSTRAINT FK_moreID FOREIGN KEY (moreID) REFERENCES hashtag_page (moreID) ON DELETE CASCADE); CREATE TABLE IF NOT EXISTS hashtag_page (moreID PRIMARY KEY, pageID TEXT NOT NULL, titleID TEXT NOT NULL, notebookID TEXT NOT NULL, sectionID TEXT NOT NULL, path TEXT, name TEXT); CREATE INDEX IF NOT EXISTS IDX_moreID ON hashtag (moreID); CREATE INDEX IF NOT EXISTS IDX_pageID ON hashtag_page (pageID); From 56c1e28b8f8b606a698f1b93603cc4dd5d0c105e Mon Sep 17 00:00:00 2001 From: Steven Cohn Date: Sat, 23 Dec 2023 21:07:50 -0500 Subject: [PATCH 3/4] refactor emojis --- OneMore/AddInCommands.cs | 10 +- OneMore/Commands/Extras/SortCommand.cs | 4 +- OneMore/Commands/Page/Emojis.cs | 226 ----------- .../References/LinkReferencesCommand.cs | 3 +- .../References/RefreshPageLinksCommand.cs | 3 +- .../Emoji}/EmojiDialog.Designer.cs | 20 +- .../{Page => Snippets/Emoji}/EmojiDialog.cs | 3 +- .../{Page => Snippets/Emoji}/EmojiDialog.resx | 0 OneMore/Commands/Snippets/Emoji/Emojis.cs | 187 +++++++++ OneMore/Commands/Snippets/Emoji/Emojis.json | 196 ++++++++++ .../Snippets/Emoji/Images}/Architecture.png | Bin .../Snippets/Emoji/Images}/Automobile.png | Bin .../Snippets/Emoji/Images/BallotBox.png | Bin 0 -> 311 bytes .../Commands/Snippets/Emoji/Images/Bell.png | Bin 0 -> 567 bytes .../Snippets/Emoji/Images}/Bullet.png | Bin .../Snippets/Emoji/Images}/Calendar.png | Bin .../Snippets/Emoji/Images}/Camera.png | Bin .../Snippets/Emoji/Images}/CheckMark.png | Bin .../Snippets/Emoji/Images}/Circle.png | Bin .../Snippets/Emoji/Images/Clipboard.png | Bin 0 -> 678 bytes .../Snippets/Emoji/Images}/Cloud.png | Bin .../Snippets/Emoji/Images}/Copyright.png | Bin .../Snippets/Emoji/Images}/Cross.png | Bin .../Snippets/Emoji/Images}/Cyclist.png | Bin .../Snippets/Emoji/Images}/Envelope.png | Bin .../Snippets/Emoji/Images}/Eyes.png | Bin .../Snippets/Emoji/Images}/Family.png | Bin .../Snippets/Emoji/Images}/Financial.png | Bin .../Snippets/Emoji/Images}/Flag.png | Bin .../Commands/Snippets/Emoji/Images/Folder.png | Bin 0 -> 419 bytes .../Commands/Snippets/Emoji/Images/Globe.png | Bin 0 -> 1042 bytes .../Snippets/Emoji/Images}/Hammer.png | Bin .../Commands/Snippets/Emoji/Images/Heart.png | Bin 0 -> 638 bytes .../Snippets/Emoji/Images/Interrobang.png | Bin 0 -> 793 bytes .../Snippets/Emoji/Images}/Journal.png | Bin .../Snippets/Emoji/Images}/LeftwardsArrow.png | Bin .../Commands/Snippets/Emoji/Images/Lock.png | Bin 0 -> 620 bytes .../Snippets/Emoji/Images}/Memo.png | Bin .../Snippets/Emoji/Images}/Passwords.png | Bin .../Snippets/Emoji/Images}/Pencil.png | Bin .../Snippets/Emoji/Images}/Pushpin.png | Bin .../Snippets/Emoji/Images/Recycle.png | Bin 0 -> 982 bytes .../Emoji/Images}/RightwardsArrow.png | Bin .../Snippets/Emoji/Images}/Section.png | Bin .../Snippets/Emoji/Images}/Shazam.png | Bin .../Snippets/Emoji/Images}/Smiley.png | Bin .../Snippets/Emoji/Images}/Software.png | Bin .../Snippets/Emoji/Images}/Sports.png | Bin .../Snippets/Emoji/Images/SportsEU.png | Bin 0 -> 1392 bytes .../Snippets/Emoji/Images}/Star.png | Bin .../Snippets/Emoji/Images}/Summary.png | Bin .../Snippets/Emoji/Images}/Tasks.png | Bin .../Commands/Snippets/Emoji/Images/Tools.png | Bin 0 -> 1000 bytes .../Snippets/Emoji/Images}/Travel.png | Bin .../Commands/Snippets/Emoji/Images/Video.png | Bin 0 -> 993 bytes .../Snippets/Emoji/Images/Warning.png | Bin 0 -> 639 bytes .../Snippets/Emoji/Images}/Watch.png | Bin .../Snippets/Emoji/Images}/XMark.png | Bin .../InsertEmojiCommand.cs} | 10 +- .../Helpers/Extensions/StringExtensions.cs | 17 +- OneMore/OneMore.csproj | 95 +++-- OneMore/Properties/Resources.Designer.cs | 361 ++++++++++++++++-- OneMore/Properties/Resources.ar-SA.resx | 78 +++- OneMore/Properties/Resources.de-DE.resx | 78 +++- OneMore/Properties/Resources.es-ES.resx | 78 +++- OneMore/Properties/Resources.fr-FR.resx | 78 +++- OneMore/Properties/Resources.he-IL.resx | 78 +++- OneMore/Properties/Resources.nl-NL.resx | 78 +++- OneMore/Properties/Resources.pl-PL.resx | 78 +++- OneMore/Properties/Resources.pt-BR.resx | 78 +++- OneMore/Properties/Resources.resx | 219 ++++++++--- OneMore/Properties/Resources.zh-CN.resx | 76 +++- OneMore/Ribbon/Ribbon.xml | 12 +- Templates/OneNote_Keyboard_Shortcuts.zip | Bin 21895 -> 22617 bytes 74 files changed, 1583 insertions(+), 483 deletions(-) delete mode 100644 OneMore/Commands/Page/Emojis.cs rename OneMore/Commands/{Page => Snippets/Emoji}/EmojiDialog.Designer.cs (78%) rename OneMore/Commands/{Page => Snippets/Emoji}/EmojiDialog.cs (97%) rename OneMore/Commands/{Page => Snippets/Emoji}/EmojiDialog.resx (100%) create mode 100644 OneMore/Commands/Snippets/Emoji/Emojis.cs create mode 100644 OneMore/Commands/Snippets/Emoji/Emojis.json rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Architecture.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Automobile.png (100%) create mode 100644 OneMore/Commands/Snippets/Emoji/Images/BallotBox.png create mode 100644 OneMore/Commands/Snippets/Emoji/Images/Bell.png rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Bullet.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Calendar.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Camera.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/CheckMark.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Circle.png (100%) create mode 100644 OneMore/Commands/Snippets/Emoji/Images/Clipboard.png rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Cloud.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Copyright.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Cross.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Cyclist.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Envelope.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Eyes.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Family.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Financial.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Flag.png (100%) create mode 100644 OneMore/Commands/Snippets/Emoji/Images/Folder.png create mode 100644 OneMore/Commands/Snippets/Emoji/Images/Globe.png rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Hammer.png (100%) create mode 100644 OneMore/Commands/Snippets/Emoji/Images/Heart.png create mode 100644 OneMore/Commands/Snippets/Emoji/Images/Interrobang.png rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Journal.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/LeftwardsArrow.png (100%) create mode 100644 OneMore/Commands/Snippets/Emoji/Images/Lock.png rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Memo.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Passwords.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Pencil.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Pushpin.png (100%) create mode 100644 OneMore/Commands/Snippets/Emoji/Images/Recycle.png rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/RightwardsArrow.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Section.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Shazam.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Smiley.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Software.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Sports.png (100%) create mode 100644 OneMore/Commands/Snippets/Emoji/Images/SportsEU.png rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Star.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Summary.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Tasks.png (100%) create mode 100644 OneMore/Commands/Snippets/Emoji/Images/Tools.png rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Travel.png (100%) create mode 100644 OneMore/Commands/Snippets/Emoji/Images/Video.png create mode 100644 OneMore/Commands/Snippets/Emoji/Images/Warning.png rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/Watch.png (100%) rename OneMore/{Properties/Emoji => Commands/Snippets/Emoji/Images}/XMark.png (100%) rename OneMore/Commands/{Page/EmojiCommand.cs => Snippets/InsertEmojiCommand.cs} (93%) diff --git a/OneMore/AddInCommands.cs b/OneMore/AddInCommands.cs index 6d5d839fe7..2053a20715 100644 --- a/OneMore/AddInCommands.cs +++ b/OneMore/AddInCommands.cs @@ -51,11 +51,6 @@ public async Task AddFormulaCmd(IRibbonControl control) => await factory.Run(); - [Command("ribEmojiButton_Label", Keys.None, "ribEditMenu")] - public async Task EmojiCmd(IRibbonControl control) - => await factory.Run(); - - public async Task AnalyzeCmd(IRibbonControl control) => await factory.Run(); @@ -450,6 +445,11 @@ public async Task InsertDoubleLineCmd(IRibbonControl control) => await factory.Run('═'); + [Command("ribInsertEmojiButton_Label", Keys.Alt | Keys.F12, "ribSnippetsMenu")] + public async Task InsertEmojiCmd(IRibbonControl control) + => await factory.Run(); + + [Command("ribInsertExpandButton_Label", Keys.None, "ribSnippetsMenu")] public async Task InsertExpandCmd(IRibbonControl control) => await factory.Run(); diff --git a/OneMore/Commands/Extras/SortCommand.cs b/OneMore/Commands/Extras/SortCommand.cs index 7898f0c4ce..791e68a01f 100644 --- a/OneMore/Commands/Extras/SortCommand.cs +++ b/OneMore/Commands/Extras/SortCommand.cs @@ -116,8 +116,10 @@ private void SortPages(SortBy sorting, bool ascending, bool children) var tree = new List(); MakePageTree(tree, pages, 0, 1); + using var emojis = new Emojis(); + var cleaner = new Func((e) => sorting == SortBy.Name - ? Emojis.RemoveEmojis(e.Attribute("name").Value) + ? emojis.RemoveEmojis(e.Attribute("name").Value) : sorting == SortBy.Created ? e.Attribute("dateTime").Value : e.Attribute("lastModifiedTime").Value diff --git a/OneMore/Commands/Page/Emojis.cs b/OneMore/Commands/Page/Emojis.cs deleted file mode 100644 index 8a559018ec..0000000000 --- a/OneMore/Commands/Page/Emojis.cs +++ /dev/null @@ -1,226 +0,0 @@ -//************************************************************************************************ -// Copyright © 2016 Steven M Cohn. All rights reserved. -//************************************************************************************************ - -namespace River.OneMoreAddIn.Commands -{ - using System; - using System.Collections.Generic; - using System.Drawing; - using System.Linq; - using System.Text; - using Resx = Properties.Resources; - - - internal interface IEmoji - { - public string Symbol { get; } - public string Name { get; } - public string Color { get; } - - } - - - internal sealed class Emoji : IEmoji, IDisposable - { - public Emoji(string symbol, string name, Image image, string color = null) - { - Symbol = symbol; - Name = name; - Image = image; - Color = color; - } - - #region Lifecycle - private bool disposedValue; - - private void Dispose(bool disposing) - { - if (!disposedValue) - { - if (disposing) - { - Image?.Dispose(); - } - - disposedValue = true; - } - } - - public void Dispose() - { - Dispose(disposing: true); - GC.SuppressFinalize(this); - } - #endregion Lifecycle - - public string Symbol { get; set; } - public string Name { get; set; } - public Image Image { get; set; } - public string Color { get; set; } - } - - - internal class Emojis : IDisposable - { - - private readonly Emoji[] map = - { - new Emoji("🚩", Resx.Emoji_Important, Resx.Flag), // 1F6A9 Triangular Flag On Post - new Emoji("📐", Resx.Emoji_Architecture, Resx.Architecture), // 1F4D0 Triangular Ruler - new Emoji("🚗", Resx.Emoji_Automobile, Resx.Automobile), // 1F697 Automobile - new Emoji("●", Resx.Emoji_Bullet, Resx.Bullet, "#0070C0"), // 25CF Black Circle - new Emoji("📆", Resx.Emoji_Calendar, Resx.Calendar), // 1F4C6 Tear-Off Calendar - new Emoji("✓", Resx.Emoji_CheckMark, Resx.CheckMark, "#70AD47"), // 2713 Check Mark - new Emoji("⭕", Resx.Emoji_Circle, Resx.Circle), // 2B55 Heavy Large Circle - new Emoji("☁", Resx.Emoji_Cloud, Resx.Cloud), // 2601 Cloud - new Emoji("©", Resx.Emoji_Copyright, Resx.Copyright), // 00A9 Copyright - new Emoji("❌", Resx.Emoji_CrossMark, Resx.Cross), // 274C Cross Mark - new Emoji("🚴", Resx.Emoji_Cycling, Resx.Cyclist), // 1F684 Bicyclist - new Emoji("✉", Resx.Emoji_Email, Resx.Envelope), // 2709 Envelope - new Emoji("👀", Resx.Emoji_Eyes, Resx.Eyes), // 1F440 Eyes - new Emoji("👪", Resx.Emoji_Family, Resx.Family), // 1F46A Family - new Emoji("💲", Resx.Emoji_Financial, Resx.Financial), // 1F4B2 Heavy Dollar Sign - new Emoji("🔨", Resx.Emoji_Hammer, Resx.Hammer), // 1F528 Hammer - new Emoji("📷", Resx.Emoji_Images, Resx.Camera), // 1F4F7 Camera - new Emoji("📓", Resx.Emoji_Journal, Resx.Journal), // 1F4D3 Notebook - new Emoji("←", Resx.Emoji_LeftwardsArrow, Resx.LeftwardsArrow, "#0070C0"), // 2190 Leftwards Arrow - new Emoji("📝", Resx.Emoji_Memo, Resx.Memo), // 1F4DD Memo - new Emoji("🔑", Resx.Emoji_Passwords, Resx.Passwords), // 1F511 Key - new Emoji("✏", Resx.Emoji_Pencil, Resx.Pencil), // 270F Pencil - new Emoji("📌", Resx.Emoji_Pushpin, Resx.Pushpin), // 1F4CC Pushpin - new Emoji("→", Resx.Emoji_RightwardsArrow, Resx.RightwardsArrow, "#0070C0"), // 2192 Righwards Arrow - new Emoji("§", Resx.Emoji_Section, Resx.Section), // 00A7 Section - new Emoji("⚡", Resx.Emoji_Shazam, Resx.Shazam), // 26A1 Lightning - new Emoji("🙂", Resx.Emoji_Smiley, Resx.Smiley), // 1F642 Smiley - new Emoji("💾", Resx.Emoji_Software, Resx.Software), // 1F4BE Floppy Disk - new Emoji("⚾", Resx.Emoji_Sports, Resx.Sports), // 26BE Baseball - new Emoji("⭐", Resx.Emoji_Star, Resx.Star), // 2B50 White Medium Star - new Emoji("∑", Resx.Emoji_Summary, Resx.Summary), // 2211 N-Ary Summation - new Emoji("☑", Resx.Emoji_Tasks, Resx.Tasks), // 2611 Ballot Box - new Emoji("🛩", Resx.Emoji_Travel, Resx.Travel), // 1F6E9 Airplane - new Emoji("⌚", Resx.Emoji_Watch, Resx.Watch), // 231A Watch - new Emoji("✗", Resx.Emoji_XMark, Resx.XMark, "#E84C22") // 2717 X Mark - }; - - - #region Lifecycle - private bool disposedValue; - - - protected virtual void Dispose(bool disposing) - { - if (!disposedValue) - { - if (disposing) - { - foreach (var entry in map) - { - entry.Dispose(); - } - } - - disposedValue = true; - } - } - - public void Dispose() - { - Dispose(disposing: true); - GC.SuppressFinalize(this); - } - #endregion Lifecycle - - - /// - /// Gets an array of emoji names - /// - /// An array of strings - public string[] GetNames() => map.Select(e => e.Name).ToArray(); - - - /// - /// Parses a comma-delimeted string of emoji symbols and returns a collection of the - /// corresponding Emoji - /// - /// A string of emoji symbols delimeted by commas - /// A collection of IEmoji - public IEnumerable ParseSymbols(string symbols) - { - var parts = symbols.Split(','); - return map.Where(e => parts.Contains(e.Symbol)).Select(e => e); - } - - - /// - /// Gets the indexed emoji - /// - /// The index of the emoji - /// An Emoji instance describing the emoji - public Emoji this[int index] => map[index]; - - - /// - /// Removes emojis from the given string. Used by various commands to "clean" their - /// page titles before further modifications. - /// - /// A string to modify - /// A new string without emojis - public static string RemoveEmojis(string value) - { - // these lists are aut-generated from my own emojis.linq... - - // single-char emojis - var singles = new List { - (char)0x00A7, // § section - (char)0x00A9, // © copyright - (char)0x2190, // ← left arrow - (char)0x2192, // → right arrow - (char)0x2211, // ∑ summarize - (char)0x231A, // ⌚ watch - (char)0x25CF, // ● bullet - (char)0x2601, // ☁ cloud - (char)0x2611, // ☑ ballot check - (char)0x26A1, // ⚡shazam - (char)0x26BE, // ⚾ sports - (char)0x2709, // ✉ camera - (char)0x270F, // ✏ pencil - (char)0x2713, // ✓ checkmark - (char)0x2717, // ✗ xmark - (char)0x274C, // ❌ cross - (char)0x2B50, // ⭐ star - (char)0x2B55 // ⭕ circle - }; - - // double-char emojis, all have first char 0xD83D - var doubleMarker = (char)0xD83D; - - var doubles = new List { - (char)0xDC40, (char)0xDC6A, (char)0xDCB2, (char)0xDCBE, (char)0xDCC6, (char)0xDCCC, - (char)0xDCD0, (char)0xDCD3, (char)0xDCDD, (char)0xDCF7, (char)0xDD11, (char)0xDD28, - (char)0xDE42, (char)0xDE97, (char)0xDEA9, (char)0xDEB4, (char)0xDEE9 - }; - - var builder = new StringBuilder(value); - int i; - - foreach (var c in singles) - { - if ((i = builder.IndexOf(c)) >= 0) - { - builder.Remove(i, 1); - } - } - - while (((i = builder.IndexOf(doubleMarker)) >= 0) && (i < builder.Length - 1)) - { - if (doubles.Contains(builder[i + 1])) - { - builder.Remove(i, 2); - } - } - - return builder.ToString(); - } - } -} diff --git a/OneMore/Commands/References/LinkReferencesCommand.cs b/OneMore/Commands/References/LinkReferencesCommand.cs index 0d7863f0aa..24db8c4002 100644 --- a/OneMore/Commands/References/LinkReferencesCommand.cs +++ b/OneMore/Commands/References/LinkReferencesCommand.cs @@ -252,7 +252,8 @@ private string Unstamp(string title) } // strip emojis (Segoe UI Emoji font) - title = Emojis.RemoveEmojis(title); + using var emojis = new Emojis(); + title = emojis.RemoveEmojis(title); return title.Trim(); } diff --git a/OneMore/Commands/References/RefreshPageLinksCommand.cs b/OneMore/Commands/References/RefreshPageLinksCommand.cs index 85d9cde1ce..266fddcf82 100644 --- a/OneMore/Commands/References/RefreshPageLinksCommand.cs +++ b/OneMore/Commands/References/RefreshPageLinksCommand.cs @@ -161,7 +161,8 @@ private string Unstamp(string title) } // strip emojis (Segoe UI Emoji font) - title = Emojis.RemoveEmojis(title); + using var emojis = new Emojis(); + title = emojis.RemoveEmojis(title); return title.Trim(); } diff --git a/OneMore/Commands/Page/EmojiDialog.Designer.cs b/OneMore/Commands/Snippets/Emoji/EmojiDialog.Designer.cs similarity index 78% rename from OneMore/Commands/Page/EmojiDialog.Designer.cs rename to OneMore/Commands/Snippets/Emoji/EmojiDialog.Designer.cs index 3dc0428194..591ed6a409 100644 --- a/OneMore/Commands/Page/EmojiDialog.Designer.cs +++ b/OneMore/Commands/Snippets/Emoji/EmojiDialog.Designer.cs @@ -37,8 +37,9 @@ private void InitializeComponent () // // cancelButton // + this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.cancelButton.Location = new System.Drawing.Point(268, 478); + this.cancelButton.Location = new System.Drawing.Point(276, 494); this.cancelButton.Name = "cancelButton"; this.cancelButton.Size = new System.Drawing.Size(99, 38); this.cancelButton.TabIndex = 2; @@ -48,8 +49,9 @@ private void InitializeComponent () // // okButton // + this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK; - this.okButton.Location = new System.Drawing.Point(164, 478); + this.okButton.Location = new System.Drawing.Point(171, 494); this.okButton.Name = "okButton"; this.okButton.Size = new System.Drawing.Size(99, 38); this.okButton.TabIndex = 1; @@ -59,13 +61,16 @@ private void InitializeComponent () // // iconBox // + this.iconBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.iconBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.iconBox.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.iconBox.FormattingEnabled = true; - this.iconBox.Location = new System.Drawing.Point(16, 62); + this.iconBox.Location = new System.Drawing.Point(12, 62); this.iconBox.Name = "iconBox"; this.iconBox.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; - this.iconBox.Size = new System.Drawing.Size(349, 394); + this.iconBox.Size = new System.Drawing.Size(363, 420); this.iconBox.TabIndex = 0; this.iconBox.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.DrawIconItem); this.iconBox.MeasureItem += new System.Windows.Forms.MeasureItemEventHandler(this.MeasureIconItemSIze); @@ -76,7 +81,7 @@ private void InitializeComponent () this.introLabel.AutoSize = true; this.introLabel.Location = new System.Drawing.Point(14, 26); this.introLabel.Name = "introLabel"; - this.introLabel.Size = new System.Drawing.Size(328, 20); + this.introLabel.Size = new System.Drawing.Size(253, 20); this.introLabel.TabIndex = 4; this.introLabel.Text = "Select one or more emojis to insert"; // @@ -86,15 +91,16 @@ private void InitializeComponent () this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = this.cancelButton; - this.ClientSize = new System.Drawing.Size(387, 534); + this.ClientSize = new System.Drawing.Size(387, 544); this.Controls.Add(this.introLabel); this.Controls.Add(this.iconBox); this.Controls.Add(this.okButton); this.Controls.Add(this.cancelButton); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(400, 600); this.Name = "EmojiDialog"; this.ShowInTaskbar = false; this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; diff --git a/OneMore/Commands/Page/EmojiDialog.cs b/OneMore/Commands/Snippets/Emoji/EmojiDialog.cs similarity index 97% rename from OneMore/Commands/Page/EmojiDialog.cs rename to OneMore/Commands/Snippets/Emoji/EmojiDialog.cs index c9f0d57e93..a371f9af72 100644 --- a/OneMore/Commands/Page/EmojiDialog.cs +++ b/OneMore/Commands/Snippets/Emoji/EmojiDialog.cs @@ -1,5 +1,5 @@ //************************************************************************************************ -// Copyright © 2016 Steven M Cohn. All rights reserved. +// Copyright © 2016 Steven M Cohn. All rights reserved. //************************************************************************************************ #pragma warning disable IDE0042 // variable can be deconstructed @@ -30,6 +30,7 @@ public EmojiDialog() InitializeComponent(); emojis = new Emojis(); + emojis.LoadImages(); iconBox.ItemHeight = 26; iconBox.Items.AddRange(emojis.GetNames()); diff --git a/OneMore/Commands/Page/EmojiDialog.resx b/OneMore/Commands/Snippets/Emoji/EmojiDialog.resx similarity index 100% rename from OneMore/Commands/Page/EmojiDialog.resx rename to OneMore/Commands/Snippets/Emoji/EmojiDialog.resx diff --git a/OneMore/Commands/Snippets/Emoji/Emojis.cs b/OneMore/Commands/Snippets/Emoji/Emojis.cs new file mode 100644 index 0000000000..3f55ff1148 --- /dev/null +++ b/OneMore/Commands/Snippets/Emoji/Emojis.cs @@ -0,0 +1,187 @@ +//************************************************************************************************ +// Copyright © 2016 Steven M Cohn. All rights reserved. +//************************************************************************************************ + +namespace River.OneMoreAddIn.Commands +{ + using Newtonsoft.Json; + using System; + using System.Collections.Generic; + using System.Drawing; + using System.IO; + using System.Linq; + using System.Text; + using Resx = Properties.Resources; + + + internal interface IEmoji : IDisposable + { + public string Glyph { get; } + public string Color { get; } + + } + + + internal sealed class Emoji : IEmoji + { + public Emoji(string glyph, string resID, string color = null) + { + Glyph = glyph; + ResID = resID; + Color = color; + + Name = Resx.ResourceManager.GetString($"Emoji_{resID}"); + if (string.IsNullOrWhiteSpace(Name)) + { + Name = $"Resx.Emoji_{resID}"; + } + } + + #region Lifecycle + private bool disposedValue; + + private void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + Image?.Dispose(); + } + + disposedValue = true; + } + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + #endregion Lifecycle + + public string Glyph { get; set; } + public string ResID { get; set; } + public string Name { get; set; } + public string Color { get; set; } + public Image Image { get; set; } + } + + + internal class Emojis : Loggable, IDisposable + { + private List map; + + + public Emojis() + { + // Emojis.json must be stored as UTF-8 Text in Resources.resx + map = JsonConvert.DeserializeObject>(Resx.Emojis); + } + + + #region Lifecycle + private bool disposedValue; + + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + foreach (var item in map) + { + item.Dispose(); + } + } + + disposedValue = true; + } + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + #endregion Lifecycle + + + /// + /// Gets an array of emoji names + /// + /// An array of strings + public string[] GetNames() => map.Select(e => e.Name).ToArray(); + + + /// + /// Parses a comma-delimeted string of emoji symbols and returns a collection of the + /// corresponding Emoji + /// + /// A string of emoji symbols delimeted by commas + /// A collection of IEmoji + public IEnumerable ParseSymbols(string symbols) + { + var parts = symbols.Split(','); + return map.Where(e => parts.Contains(e.Glyph)).Select(e => e); + } + + + /// + /// Gets the indexed emoji + /// + /// The index of the emoji + /// An Emoji instance describing the emoji + public Emoji this[int index] => map[index]; + + + /// + /// Load each emoji image from resources + /// + public void LoadImages() + { + foreach (var emoji in map) + { + emoji.Image = ((Bitmap)Resx.ResourceManager.GetObject(emoji.ResID)); + } + } + + + /// + /// Removes emojis from the given string. + /// Used by various commands to "clean" their page titles before further modifications. + /// + /// A string to modify + /// A new string without emojis + public string RemoveEmojis(string value) + { + var builder = new StringBuilder(value); + + foreach (var glyph in map.Select(m => m.Glyph)) + { + var index = 0; + do + { + index = builder.IndexOf(glyph[0], index); + if (index >= 0 && glyph.Length == 1) + { + builder.Remove(index, 1); + } + else if (index >= 0 && index <= builder.Length - 2) + { + if (builder[index + 1] == glyph[1]) + { + builder.Remove(index, 2); + } + else + { + index++; + } + } + } while (index >= 0 && index < builder.Length); + } + + return builder.ToString(); + } + } +} diff --git a/OneMore/Commands/Snippets/Emoji/Emojis.json b/OneMore/Commands/Snippets/Emoji/Emojis.json new file mode 100644 index 0000000000..7053844eb6 --- /dev/null +++ b/OneMore/Commands/Snippets/Emoji/Emojis.json @@ -0,0 +1,196 @@ +[ + { + "glyph": "📐", + "resID": "Architecture" + }, + { + "glyph": "🚗", + "resID": "Automobile" + }, + { + "glyph": "☐", + "resID": "BallotBox", + "color": "#5B9BD5" + }, + { + "glyph": "🔔", + "resID": "Bell" + }, + { + "glyph": "●", + "resID": "Bullet", + "color": "#0070C0" + }, + { + "glyph": "📆", + "resID": "Calendar" + }, + { + "glyph": "📷", + "resID": "Camera" + }, + { + "glyph": "✓", + "resID": "CheckMark", + "color": "#00B050" + }, + { + "glyph": "⭕", + "resID": "Circle" + }, + { + "glyph": "📋", + "resID": "Clipboard" + }, + { + "glyph": "☁", + "resID": "Cloud" + }, + { + "glyph": "©", + "resID": "Copyright" + }, + { + "glyph": "❌", + "resID": "Cross" + }, + { + "glyph": "🚴", + "resID": "Cycling" + }, + { + "glyph": "✉", + "resID": "Envelope" + }, + { + "glyph": "👀", + "resID": "Eyes" + }, + { + "glyph": "👪", + "resID": "Family" + }, + { + "glyph": "💲", + "resID": "Financial" + }, + { + "glyph": "🚩", + "resID": "Flag" + }, + { + "glyph": "📁", + "resID": "Folder" + }, + { + "glyph": "🌐", + "resID": "Globe" + }, + { + "glyph": "🔨", + "resID": "Hammer" + }, + { + "glyph": "⁉", + "resID": "Interrobang" + }, + { + "glyph": "📓", + "resID": "Journal" + }, + { + "glyph": "←", + "resID": "LeftwardsArrow", + "color": "#0070C0" + }, + { + "glyph": "🔒", + "resID": "Lock" + }, + { + "glyph": "📝", + "resID": "Memo" + }, + { + "glyph": "🔑", + "resID": "Passwords" + }, + { + "glyph": "✏", + "resID": "Pencil" + }, + { + "glyph": "📌", + "resID": "Pushpin" + }, + { + "glyph": "♻", + "resID": "Recycle" + }, + { + "glyph": "→", + "resID": "RightwardsArrow", + "color": "#0070C0" + }, + { + "glyph": "§", + "resID": "Section" + }, + { + "glyph": "⚡", + "resID": "Shazam" + }, + { + "glyph": "🙂", + "resID": "Smiley" + }, + { + "glyph": "💾", + "resID": "Software" + }, + { + "glyph": "⚾", + "resID": "Sports" + }, + { + "glyph": "⚽", + "resID": "SportsEU" + }, + { + "glyph": "⭐", + "resID": "Star" + }, + { + "glyph": "∑", + "resID": "Summary" + }, + { + "glyph": "☑", + "resID": "Tasks" + }, + { + "glyph": "⚒", + "resID": "Tools" + }, + { + "glyph": "🛩", + "resID": "Travel" + }, + { + "glyph": "🎥", + "resID": "Video" + }, + { + "glyph": "⚠", + "resID": "Warning" + }, + { + "glyph": "⌚", + "resID": "Watch" + }, + { + "glyph": "✗", + "resID": "XMark", + "color": "#C00000" + } +] diff --git a/OneMore/Properties/Emoji/Architecture.png b/OneMore/Commands/Snippets/Emoji/Images/Architecture.png similarity index 100% rename from OneMore/Properties/Emoji/Architecture.png rename to OneMore/Commands/Snippets/Emoji/Images/Architecture.png diff --git a/OneMore/Properties/Emoji/Automobile.png b/OneMore/Commands/Snippets/Emoji/Images/Automobile.png similarity index 100% rename from OneMore/Properties/Emoji/Automobile.png rename to OneMore/Commands/Snippets/Emoji/Images/Automobile.png diff --git a/OneMore/Commands/Snippets/Emoji/Images/BallotBox.png b/OneMore/Commands/Snippets/Emoji/Images/BallotBox.png new file mode 100644 index 0000000000000000000000000000000000000000..0d6c50ee9354156f5817119717e2c2b6f5642ab0 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!84vNjv*f2$r7y0d=d*yWd79uc~SAT@4OiQ z!kVClJ-g1lHM6cW)ez^|5V>J_)$#Il-DpWR^~4nlf)6frvh%e6Nd3p8o6yMB$S6F; zjqQ&@)7;tJjzKLIXO8k*<5rx=V8(4A63Db6(jm0rEK^U#LY9Qh5A3Hb<2sObkYB@B zwBc-%e!wg(hS{wD7npPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0nAB6K~zXf)s?$X z!cY{(4@6`zCYTrjV^r`Jv4%2PY&x;;R}LqZ9!Z z9}y5uD;IjNtscO>v_%K~B{%mwU()mS_B1X0DQIFLM>p4Rv9yE}cT2FFSr5xEd8KPH zj@Gw0a5sgL^tp64(@S%E=pe2MaCC<*8vU((=os>402OwkrQ_*QC>7Ds(gfg}-*EQ_ z#?a7V8bE0>TRsT2Fwv}e1wTM=A>;07Zbw6f=?qwE*+O%L48YZzoMMb=04=PevH*zz z$oxkzQQ4}XQ>Sf6~-qZsbOZPzk8a!>IH#FoiMALjN0Tk4TJ1rH4E1TTqf$5b~Q&;FjbeeVFf8wM_vG4H8-1%j&P$*ZyY!-T-AlvWNjQ)oB0#002ovPDHLk FV1k*m?3w@o literal 0 HcmV?d00001 diff --git a/OneMore/Properties/Emoji/Bullet.png b/OneMore/Commands/Snippets/Emoji/Images/Bullet.png similarity index 100% rename from OneMore/Properties/Emoji/Bullet.png rename to OneMore/Commands/Snippets/Emoji/Images/Bullet.png diff --git a/OneMore/Properties/Emoji/Calendar.png b/OneMore/Commands/Snippets/Emoji/Images/Calendar.png similarity index 100% rename from OneMore/Properties/Emoji/Calendar.png rename to OneMore/Commands/Snippets/Emoji/Images/Calendar.png diff --git a/OneMore/Properties/Emoji/Camera.png b/OneMore/Commands/Snippets/Emoji/Images/Camera.png similarity index 100% rename from OneMore/Properties/Emoji/Camera.png rename to OneMore/Commands/Snippets/Emoji/Images/Camera.png diff --git a/OneMore/Properties/Emoji/CheckMark.png b/OneMore/Commands/Snippets/Emoji/Images/CheckMark.png similarity index 100% rename from OneMore/Properties/Emoji/CheckMark.png rename to OneMore/Commands/Snippets/Emoji/Images/CheckMark.png diff --git a/OneMore/Properties/Emoji/Circle.png b/OneMore/Commands/Snippets/Emoji/Images/Circle.png similarity index 100% rename from OneMore/Properties/Emoji/Circle.png rename to OneMore/Commands/Snippets/Emoji/Images/Circle.png diff --git a/OneMore/Commands/Snippets/Emoji/Images/Clipboard.png b/OneMore/Commands/Snippets/Emoji/Images/Clipboard.png new file mode 100644 index 0000000000000000000000000000000000000000..7e225f2482d91a9b8f0f67f85277c8a046d1e749 GIT binary patch literal 678 zcmV;X0$KfuP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0y{}WK~zXf)s;zr%$K!QUW4!7ikWB7}lq+^A5Y zY8#8%YSLnCJLa=aNi!ebJ2~3SO_&KnKp&W#xhLnI_nvzW3H})@tNJpRowH`2ELcn5 zn``9uL?Zi#O6Jz5>KApCmNvQ+#-4N(7;Zu0h2A|LorNU8o@B%yYmRU z@0OvYGlkd%Dape*>?{r}`!jhJ{%8umV=0t%y_KBP)UZX#Ic8l#iN)|ZC3zFRmYW^x z08yZWP&kHoEYbZ*L=dL9HcDh|#4B21S9Dg3Kfv(0Q{?Rt?G@_t_aLP+-`Ew!$?ILg zU*IUpMZkcXUq)`#`^lGSON&+?2^WC|nmWCDV44QK+59AH<024%LSx~D%;))lU9vWP zub>}Ow9Td{N?tdC5Z-2==7`%-~JKx|{%h?VjF#WSqe zY1zg=^dfGI_jUlWf-I|GvX=@PTbn5S*ryZeP^yn{xbOynbY_E9aKd&o#3^!2fE$L{ zq~v?>sSoYsj?)sNfI`+AgO4UpK7&wkrE7AIC~$FkK`P&2SwI{uh!NIDaS8XulOerymoh!{bi1j=f4N|1&0IxPppyMf&c&j M07*qoM6N<$g5o1EApigX literal 0 HcmV?d00001 diff --git a/OneMore/Properties/Emoji/Cloud.png b/OneMore/Commands/Snippets/Emoji/Images/Cloud.png similarity index 100% rename from OneMore/Properties/Emoji/Cloud.png rename to OneMore/Commands/Snippets/Emoji/Images/Cloud.png diff --git a/OneMore/Properties/Emoji/Copyright.png b/OneMore/Commands/Snippets/Emoji/Images/Copyright.png similarity index 100% rename from OneMore/Properties/Emoji/Copyright.png rename to OneMore/Commands/Snippets/Emoji/Images/Copyright.png diff --git a/OneMore/Properties/Emoji/Cross.png b/OneMore/Commands/Snippets/Emoji/Images/Cross.png similarity index 100% rename from OneMore/Properties/Emoji/Cross.png rename to OneMore/Commands/Snippets/Emoji/Images/Cross.png diff --git a/OneMore/Properties/Emoji/Cyclist.png b/OneMore/Commands/Snippets/Emoji/Images/Cyclist.png similarity index 100% rename from OneMore/Properties/Emoji/Cyclist.png rename to OneMore/Commands/Snippets/Emoji/Images/Cyclist.png diff --git a/OneMore/Properties/Emoji/Envelope.png b/OneMore/Commands/Snippets/Emoji/Images/Envelope.png similarity index 100% rename from OneMore/Properties/Emoji/Envelope.png rename to OneMore/Commands/Snippets/Emoji/Images/Envelope.png diff --git a/OneMore/Properties/Emoji/Eyes.png b/OneMore/Commands/Snippets/Emoji/Images/Eyes.png similarity index 100% rename from OneMore/Properties/Emoji/Eyes.png rename to OneMore/Commands/Snippets/Emoji/Images/Eyes.png diff --git a/OneMore/Properties/Emoji/Family.png b/OneMore/Commands/Snippets/Emoji/Images/Family.png similarity index 100% rename from OneMore/Properties/Emoji/Family.png rename to OneMore/Commands/Snippets/Emoji/Images/Family.png diff --git a/OneMore/Properties/Emoji/Financial.png b/OneMore/Commands/Snippets/Emoji/Images/Financial.png similarity index 100% rename from OneMore/Properties/Emoji/Financial.png rename to OneMore/Commands/Snippets/Emoji/Images/Financial.png diff --git a/OneMore/Properties/Emoji/Flag.png b/OneMore/Commands/Snippets/Emoji/Images/Flag.png similarity index 100% rename from OneMore/Properties/Emoji/Flag.png rename to OneMore/Commands/Snippets/Emoji/Images/Flag.png diff --git a/OneMore/Commands/Snippets/Emoji/Images/Folder.png b/OneMore/Commands/Snippets/Emoji/Images/Folder.png new file mode 100644 index 0000000000000000000000000000000000000000..8d81f2cafbbad0f47bc486fc17f41769c88f1f82 GIT binary patch literal 419 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc4Hlj*jv*f2$r7I$1ihLM{_kJk&#+QnK#s>? zqroR`YX?ge<_)a>|J(05y}>@D^P%vpn+6BOP98{zteO!x;V7S$lSu;8w{Kxz; zo?~+3^v1@yvmHYwHwI2{7glkY#p=S$$Hum{cDm%%iZ2R|E~N}S@3w~@)LFqVcK7%9 zjBStV`Lu3+|Ig3-xPRX1GiuWU0C1wX*~#Ja<}Py z#K73Lh4sG!i>~euE~Nyq3x||A1sIKI2zvz!Z)oO-ViS}&p!0)m=}JzAR)srEQ@Yw` zF(ff^ivtZvc=U&L*#Q~8&HsJ&EW7fVy<2~S-Gv&qr@Wa54lpo0RdPRHR5!H(7_bbU Lu6{1-oD!MPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1E)zuK~zXf-IZHU zTvZgu|Hr|Rn`g->`*B2(vn6^cu-@kMs1qD`QU@`Q}`YH1jZL%ny87fi8Urx zd}vall9oy}$fZ!2nNpYz%(P&~?QhN5b8sx>rTXGOvuB^RX6<$PuXXn5zeeEqeKEW0 zuFU5(lHHaz{*)TxQb(QC)2zi*Q_$nh_Qbvce*Ddy|1PiB?>ev81M$bDv83*dw*^gJ zRfRnRD_ke{+9H~jQVesTqd*% z@j!qtm(;#ScE=BpE!lm&Ds5pkOrSKG8nOlH2mwp?q;Kb>b&?rNV1HNoY*vKZMHNMt ze{nk(3WC)~!?WF5J=Go@vgas(yXB@nTF_|cK`0=5!^CxIhG}`P8;X$E($cwg=~bvJ z6TKsSHA^Mfzr{JjB=S#G^!|{h+k#*uqUhHRjc&!HV@au{o&^na@O+HJ9VW9HymhUY zTbP@E61WL9f!95Uu2jTdLBnPn1z5ykJv^tpCXEpv9cm5bhv6_zMSz>3sMcnQ9JOpy z2ciJQ`%)tntmDewr~0u>qVdD&Jibck`z-1a(r(0^_IQ8wM}!N-%%RkHY3 zK$H)U1VI$w3j!>oe8IwlEF(He7UK+EL#R?=Q@Y4H&U{3(2tDVq9pa_y_49Xig(~UY z2Yo>hQ52`N9i(SCY-`xOLR-SiwtAlkZ9D&_Yv-I{fJrOs=z*ykj5-hn=%QIgvRU+U zlIbwRG-J6RRyd>D-HM9X-(c_JiZMh1jy7wep1GdRdIcq?AaI)ImAvW!K;azI*TM94 zc-7BLPl@5^N$8TvRd4deE6)AkuY*Uy)1Atl?Fu04A9vA>%NHO75#26AIO7byD#R2YV7sDn;x z(#zcC<7Abi@)(Uh)h8~CT~tw2L1x)aol9$U69*?CH*rV0z<4&{Ajf2tcN%lDiwg4m zSMa--ur~)aKU5p^g7-Kn2B|o49;SFU>P8mh~2a>Zl+AWxc$V%>Hz1O)%ok|96o70{oU1P<{0=VE_OC M07*qoM6N<$f*6Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0uxC@K~zXfV;J&) z5lW+gzi0Mu|9j=U$N%?242+tp3``cL4_E})6rs{^091GJ@0}ZZ|L+0~GS&mBdk9pg z0F?#<6bt@8-@o@)QI*sG8{eQJP{1b1z*yXSls!z_2E_gU`tYG&d1ba()fIGJVvp3< zhl(I9`2S)5r(dB3y#L=o1uy^`17rSzKWyI5U;K(Hmcgs8a?MHhFnJ3Q4{pJq83F(Q z%)Aff;R2!z43Zxi7@q%v@^Jt*cLt`NovYXc7{i%B{Qv*YzWTd`kl`Tkny}#@@M|Z- z|HB`-KuoX&48PxeVR#B=Q4Rcm`_czQLo9gx0qAckgD+pe6vP54F(zQ#P!%wWNrGvx z1&oZ2`b?hGv_Xr3QBQIQhz0Qh5U{v~L0MD)CVmWT8jPMGCfouB%YK>EE;B29cC3}w1bMk0oLLg z2L3Ea`u}I*Stt(&kPKm9o?CvHRgw+Ea1g+20SNrvT=oBV%T{3d0u?|8MwtxE9qC7b zE(aImWP^W~mjD0hW%~bzp*|D?+1>kzDIJLi|G!;a^{c?+{}1c%|342rr>@~6889#a Y0Hh?NS+jd|Bme*a07*qoM6N<$g3mz_IsgCw literal 0 HcmV?d00001 diff --git a/OneMore/Commands/Snippets/Emoji/Images/Interrobang.png b/OneMore/Commands/Snippets/Emoji/Images/Interrobang.png new file mode 100644 index 0000000000000000000000000000000000000000..bc20a767fd236a8d3bd33d1af376f0cbdf2a3832 GIT binary patch literal 793 zcmV+!1LpjRP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0m6X%e?H5dD7CYy{Uf`b19Qd6Az%P!9h)k z$N{|_qy$GKm8?eI3-gntpAs<0P3D{`fDlk_)jF`AkjFQpi|@6tEV+PSRxa zdJ?}8ZzCbFMg3kZAU@aQMp@p%=X#WXBijOcT3;Avvrs>fuNzICI?FkP$z*u+u}G zpmUIf6`Y-1M-pJ>dsr_+D1fnTMat1M>Kwp|50bW`p1a-8c8WL2mICa~#jj-lw*dSC X-l-8_VJ9}Z00000NkvXXu0mjfN^4~O literal 0 HcmV?d00001 diff --git a/OneMore/Properties/Emoji/Journal.png b/OneMore/Commands/Snippets/Emoji/Images/Journal.png similarity index 100% rename from OneMore/Properties/Emoji/Journal.png rename to OneMore/Commands/Snippets/Emoji/Images/Journal.png diff --git a/OneMore/Properties/Emoji/LeftwardsArrow.png b/OneMore/Commands/Snippets/Emoji/Images/LeftwardsArrow.png similarity index 100% rename from OneMore/Properties/Emoji/LeftwardsArrow.png rename to OneMore/Commands/Snippets/Emoji/Images/LeftwardsArrow.png diff --git a/OneMore/Commands/Snippets/Emoji/Images/Lock.png b/OneMore/Commands/Snippets/Emoji/Images/Lock.png new file mode 100644 index 0000000000000000000000000000000000000000..0e9b334d5eab941ba8ae5bba83f4432c78e2537f GIT binary patch literal 620 zcmV-y0+aoTP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0s%=xK~zXf-IPmj z(?Ar3&lso1P1+LbrZFPvgCwF=BUN3{1&AdQ4+(w*5_`6+*`cap%`afX26p@dB&x0u zY9$~|lP0xVC4`U=*MlFo2s@M5snkus%^4q$=J?KB56&A#8cM6aS37L9Qyr5b7N3AN zGkbVNl~VM2AfW-=YJS+?Ej>8ya&ibJBavGCv5->c$q^!v4&xd{MUyUHFu~ zF5*Y;tGzFqX@1fnCn}eLt1owymGuG{F1`THjf%PTM7LUGjEn}Bf44oRGq)KW0$bGX z!ETzfV>l<{`{=MU@bSBv#K)~9cK?tOfye>9uUR~OoyEr6ES|s7u|vLqIH^nIfbSI* z$22zgCh_@z9{L%&MP1T9=5s$$pua-SG_jWU#sU(gE|DvU*^92vdgHrys>pjo5zY_( zkC6^JBECL6j{qOR0AC0AY2n`e8Xn)S;^8t`5eNoYq(Y{12YB|VjwP9l2m}Jg?G~}` zlrysg7P!290gP!G`R1##6xYca0Vxl5{e=8V0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D18Ye{K~zXf-IQ%; zlV=o$@8@l58*5rgtQuWbKWd89iv3Y+D>BnAZpuIu6=i~M9SWO>3WAD)lz}2x6)cEz zFx1t-oIflo?KZ#Cs?Cbp#eSH^R_#Z$wP};K#3XBu`8Z9JG|{nt^ZN6i`+i=Y^FHUf zdGWtT@G~w%=4X|4mog5ebm9TA=|ho_hbwcoywu5snyr{f{EUn3UX`ZgkEeJ%pkOD+ z;K*NC`Qp#%HlkX#V)D)gWH;0wx%Wuw_0{fLJ7$NSz>m{ajZ;0ILY6Uk=ZNZl+ewR? z2U+>ZRv>k*8xEEMBsD%0Zs^iWv3IH%w_n^7xEs$u`6hgGKh2Y{Ns_T(yjE0=q+>xE z>nLJ2AnN}8^8H&{6YC%{=yJcr3H4IsvJ*l!6WR%AXB9!r213lx>+?Q$u9vgnM_Gi^ z1)V7AzKMryjWR9iV`zn#!!m-nBT{BBHv9!Hy4VL2Vz`F-T5M`De&zz^W%!1mj@E_B#a|e8t9q^bs17 zLb=%XRbq6?25@=E!gUNB=H#DSM>h{*GF79pkN##Eb_d?>VWY>zVhqC@3tke{vy4Eb zeX8D_Gldo7ZNmPVh8$L74ce@?=9hU{Fq#Av6rL_;t1l>QMbKfr-R~{bqa-RSrpD{| zrIP}&4J^@!p`m=xI^AD~@TIOyQ;MF<)jus2Lc?x|=Jvy+?Y%SEC>3L0?hJMruLWi8 zH)i?Ez|hHcqk60PlKzLVyeMCLV7nW3Bq1<77Uq4Y%J0`e1i_@%07*qoM6N<$ Ef+*V6UH||9 literal 0 HcmV?d00001 diff --git a/OneMore/Properties/Emoji/RightwardsArrow.png b/OneMore/Commands/Snippets/Emoji/Images/RightwardsArrow.png similarity index 100% rename from OneMore/Properties/Emoji/RightwardsArrow.png rename to OneMore/Commands/Snippets/Emoji/Images/RightwardsArrow.png diff --git a/OneMore/Properties/Emoji/Section.png b/OneMore/Commands/Snippets/Emoji/Images/Section.png similarity index 100% rename from OneMore/Properties/Emoji/Section.png rename to OneMore/Commands/Snippets/Emoji/Images/Section.png diff --git a/OneMore/Properties/Emoji/Shazam.png b/OneMore/Commands/Snippets/Emoji/Images/Shazam.png similarity index 100% rename from OneMore/Properties/Emoji/Shazam.png rename to OneMore/Commands/Snippets/Emoji/Images/Shazam.png diff --git a/OneMore/Properties/Emoji/Smiley.png b/OneMore/Commands/Snippets/Emoji/Images/Smiley.png similarity index 100% rename from OneMore/Properties/Emoji/Smiley.png rename to OneMore/Commands/Snippets/Emoji/Images/Smiley.png diff --git a/OneMore/Properties/Emoji/Software.png b/OneMore/Commands/Snippets/Emoji/Images/Software.png similarity index 100% rename from OneMore/Properties/Emoji/Software.png rename to OneMore/Commands/Snippets/Emoji/Images/Software.png diff --git a/OneMore/Properties/Emoji/Sports.png b/OneMore/Commands/Snippets/Emoji/Images/Sports.png similarity index 100% rename from OneMore/Properties/Emoji/Sports.png rename to OneMore/Commands/Snippets/Emoji/Images/Sports.png diff --git a/OneMore/Commands/Snippets/Emoji/Images/SportsEU.png b/OneMore/Commands/Snippets/Emoji/Images/SportsEU.png new file mode 100644 index 0000000000000000000000000000000000000000..8a856bc7a6180b1f566ebc5aa13527a72d1b5e89 GIT binary patch literal 1392 zcmV-$1&{iPP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1qDe&K~zXfy_J7# zQ&kklzwh+h{=w-(xUV`aJk(xDmnYZ7B77!nPENg{}#(TD*P4G9>L_=gfB#uy^O z1dSvPh<_lc(U8EVaT#NVEu%2#I@htaZtdvWmF~5D?R(zWzI7dp#DDbjPkZh;_ndpr zIrlvL*HF^$eequog|CmKE#2chktk@*3M_XpX!4Z%tU9{BV0C{M3?STzPMvGJZ8~zD zg3ZW)F*De;jt3(uQyl!)Q~04b1HVy)16%Bq%`T-Szi|QX2@vcU4!m(DS8Y|>Fv>D` zwk3nD&Dnx;3C^d+H$6Zl6T#(y1meq$_+*PUXr-vdl1Y(y0lcRMeY>t|+-{i_Rb`WC zc~K9KUQ(9eKdZr>^RrvCc(5UWfKrPSZ`%ZQWnW!CKAAKI48*>atsXD;Q8_-wjB!_rNtuo0K&*<&)#;K`=jk9nDfgTOpdv6 zsaJteR6J?H@jzcMyd%?au1;bLDX%!Wel|pOP6b^os!)qTn zd+RBxQM96kSn%iXqAIjX&XJbk_^A@-A{;rZc?Ig7v(7~XR5qrtdwUP|y*`1~rR3lS z6E;_;(bma(BqPxAE_Qv?TmduBVLIf)x#M#DI3;OIpo`U-55wf3l+Q>K(BM{}#~YO- zvTtBSfG(CH`R>Ebi44pZdM>vmaN;}rH|SNU9%C^i2>qf+Cu5{WVHsH418DRt!(*G$ zc&B*50@{ic%Hn+(2uy;#E0960B56%wT9N@ZwBSX#MwH}G%b-_l;IPvuq?gB&FVDam zRN-0~k8K+{G%d=3oit&1bQs>LFf5K5ICVPo|DnY9?H*jyByng32_|kQ9n2?r+y?S_ zqe10BX~e%JDB@WE!tdC0Jm~K07An&@IWJWsMDwEJ?#y zmrqt68Y>OqrzQ=EsFJvK?PeiJLIJ< zk_I$ImDjdDLCv)JmcXV>qWiQGI}TLh>rMv_9%j&fYxcC_xVVLz{Z}xOO2b;bod9Q3 z5-nuLOn1fcOSK8lnW)v0a&DTQJ2WVaKEuF#-j1U;N>V^h*Z6n{8|wy<$*Ewhu)^-B zf}YfejdJMfj6%KAf=9K}`0xmab^Bcx*P5uOrQLJWbi+=4dc2KAVoerJrNzxsxN_Bi zsmgkI8p*hD6`YGORZED3|N8jTSWU>HN9;xwMrX%$ zT@okvkUqa_T(H3mzCAgG4)UtDzUqp%Hpu3E3qG2j+?lYV^U`hfhm(l7v^e~VJ>b?*`Imb)3kDF$#A9QBUW{3eb!C)eSplp{ yz$yig?g-f;ljGqg4R$tL6RVtxxt{$00saAtPRxZmbIc9^0000^WH literal 0 HcmV?d00001 diff --git a/OneMore/Properties/Emoji/Star.png b/OneMore/Commands/Snippets/Emoji/Images/Star.png similarity index 100% rename from OneMore/Properties/Emoji/Star.png rename to OneMore/Commands/Snippets/Emoji/Images/Star.png diff --git a/OneMore/Properties/Emoji/Summary.png b/OneMore/Commands/Snippets/Emoji/Images/Summary.png similarity index 100% rename from OneMore/Properties/Emoji/Summary.png rename to OneMore/Commands/Snippets/Emoji/Images/Summary.png diff --git a/OneMore/Properties/Emoji/Tasks.png b/OneMore/Commands/Snippets/Emoji/Images/Tasks.png similarity index 100% rename from OneMore/Properties/Emoji/Tasks.png rename to OneMore/Commands/Snippets/Emoji/Images/Tasks.png diff --git a/OneMore/Commands/Snippets/Emoji/Images/Tools.png b/OneMore/Commands/Snippets/Emoji/Images/Tools.png new file mode 100644 index 0000000000000000000000000000000000000000..c1650430b140dac40ef7a55c33cccb2da117130a GIT binary patch literal 1000 zcmV>P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1AR$EK~zXf-IU8u z6Hye0&rnK9r)VumR1`#!0?I=S5{(i8qlS=ZB$4A1kJ1S@2^enf>zqiK zU*oW%Kog$|S;_Q-R=ZO#{z69J8hbX|))W?}N{I%SmoxK55QWQ zz~sFOWtD{=VkqiD80iae+?P)s&llpjq|k647c2~$4v#Ex1AJu}nv{g|L?m2>WVRRj zZLq-CK?09GI$x2V28y7r4<+bQ^>9o_W${%)#*w#sXi91T1eh9Pc|(kJ$n+5WD4I~ zA9-qhU*EJ(TnR5Y83r7VWthSJF1%98q zzoK_U3a7va(|U`0^=1;neKR}?2*2J4rTH4!3?H%wGBlhuJ$BU8d<46bGq))>Gc0AqyFx_cQY5nety{wcul9t=NbbBp!H$|9JS zlt68s#Tdg-l8F)<=>)N*0K=y-JjWL<5S|XXRgLDN(!2?kf5m{y4g3=t}Q@te|`=hPpW;xe9=(Lm8e_8(8@Z@cMt8Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D19nM7K~zXf)s)#! zQ&AAczguphR9YxhN=0aE5K-H>g_yXY#<&tR8ui6DO*B3kA2jjVzrgrl+!Ny(V_b0G z5j3_!8w6`qv@OU|DAu;xYJ2JNE{9uc5hd}(Uvk^|=1ga%_slu??_ub-OqbK?c|XXR z0Ts#@+ME??W*%JPdQX0q!fF9lnct zAMum7kNQuZ?k*phTp;qg6-Q3BZ>BN>F_`o;dSAMdqC-GCDGOSb3NC;adslJmbMM3+ z>O!sp#l?(VDbnOYBO#ZlOhbx^Bur7!5XgeDl7-2f+Mc0g5}|M^LR-dSN)-z|)!+#D z_Ec1*Ar-LXzcvncj3Iom$ML3vPz@C17s6=BrwRynB;c|q&`&k=D)6gvhLMN`nCyAh zWouFixEKLPZKz6Nn;ydin;BKZJthf${Gc`z$%^H+;B1CjLmg?PricVTzBqBya<<_M zVsiFBz^cAiZK&znyRp(jJsD)20}{2j9o+uX+D7&0Xs~q8YOJ*uA1zWdJE>EIM1xm* zqAGK#K6kdDN1TI}SH})Gs_X+p!fVTtyko=a3|O~&ldpCfVmPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0u)I^K~zXf?UUb2 zQ(+j#zth=R+34qjk`MxkSY1h7L^u5)5V|QZ0>z8|g)Y44(klmEG_>?45c&xVCPWr# zR8TM^aC4gub2{dPIkA&WJ89d~`=0Y)<@q(iyZXT4eZJqb^FHVMo@e;Cpsyc^63GuN zcNQwgUeU`lM3J*UC|P*Uwj(vXI+N(Vf^}J_yD<0UvgTDmRSjtM-59db-@n~>;G@q| zpIF&aU4nR5Gb&;&S5PdG?&W&UQITHg!Wzd0wD7QiLQzy@4Bt<}-#(2{PTmoT((lj9 z$`0EGMA=nLh5WiIBcGRVuVPlw9V`X+QKr<#$`tzq>A~GtQCXNV4}6KVvoOW7ff&m? zGGSIWtc84HY$L1;SSJ|oKB|wU6C&ZvKnn{4rVU7WEe<@vstPLMIvR_aK454-q)Z?c ztkK4DJLG#$QsJlJOpOV0;Q$upSZ^W>7eyI!$}4RvU_*?`WrV`yz;%Zlva1+MgOK&3a| zFml_cIXgweW5v}R*snJrWeD*{+JD9Yx47!{QbV4AM_hZjmWVyQ2hiA|x{kPyv-ck> ZfL}+6xdUQNJaPa4002ovPDHLkV1nNQ9%ujn literal 0 HcmV?d00001 diff --git a/OneMore/Properties/Emoji/Watch.png b/OneMore/Commands/Snippets/Emoji/Images/Watch.png similarity index 100% rename from OneMore/Properties/Emoji/Watch.png rename to OneMore/Commands/Snippets/Emoji/Images/Watch.png diff --git a/OneMore/Properties/Emoji/XMark.png b/OneMore/Commands/Snippets/Emoji/Images/XMark.png similarity index 100% rename from OneMore/Properties/Emoji/XMark.png rename to OneMore/Commands/Snippets/Emoji/Images/XMark.png diff --git a/OneMore/Commands/Page/EmojiCommand.cs b/OneMore/Commands/Snippets/InsertEmojiCommand.cs similarity index 93% rename from OneMore/Commands/Page/EmojiCommand.cs rename to OneMore/Commands/Snippets/InsertEmojiCommand.cs index b01ecbd542..c6c21aa302 100644 --- a/OneMore/Commands/Page/EmojiCommand.cs +++ b/OneMore/Commands/Snippets/InsertEmojiCommand.cs @@ -1,5 +1,5 @@ //************************************************************************************************ -// Copyright © 2016 Steven M Cohn. All rights reserved. +// Copyright © 2016 Steven M Cohn. All rights reserved. //************************************************************************************************ namespace River.OneMoreAddIn.Commands @@ -16,13 +16,13 @@ namespace River.OneMoreAddIn.Commands /// /// Insert one or more selected symbols from the Segoe UI Emoji char set /// - internal class EmojiCommand : Command + internal class InsertEmojiCommand : Command { private const string ReplayElementName = "symbols"; private IEnumerable emojis; - public EmojiCommand() + public InsertEmojiCommand() { } @@ -79,7 +79,7 @@ private async Task InsertSymbols() var color = emoji.Color == null ? string.Empty : $"color:{emoji.Color}"; builder.Append( - $"{emoji.Symbol}"); + $"{emoji.Glyph}"); } var text = builder.ToString(); @@ -118,7 +118,7 @@ public override XElement GetReplayArguments() { return new XElement( ReplayElementName, - string.Join(",", emojis.Select(e => e.Symbol)) + string.Join(",", emojis.Select(e => e.Glyph)) ); } diff --git a/OneMore/Helpers/Extensions/StringExtensions.cs b/OneMore/Helpers/Extensions/StringExtensions.cs index b92e2560af..29bd020c75 100644 --- a/OneMore/Helpers/Extensions/StringExtensions.cs +++ b/OneMore/Helpers/Extensions/StringExtensions.cs @@ -322,17 +322,20 @@ public static XElement ToXmlWrapper(this string s) // StringBuilder... - public static int IndexOf(this StringBuilder s, char c) + public static int IndexOf(this StringBuilder s, char c, int startAt = 0) { - int i = 0; - while (i < s.Length) + if (startAt >= 0 && startAt < s.Length) { - if (s[i] == c) + int i = startAt; + while (i < s.Length) { - return i; - } + if (s[i] == c) + { + return i; + } - i++; + i++; + } } return -1; diff --git a/OneMore/OneMore.csproj b/OneMore/OneMore.csproj index 67a56162cb..5a8ec0fb01 100644 --- a/OneMore/OneMore.csproj +++ b/OneMore/OneMore.csproj @@ -173,7 +173,7 @@ NavigatorWindow.cs - + UserControl @@ -696,7 +696,7 @@ - + @@ -945,10 +945,10 @@ Component - + Form - + EmojiDialog.cs @@ -1075,6 +1075,19 @@ + + + + + + + + + + + + + @@ -1086,7 +1099,8 @@ PreserveNewest - + + PreserveNewest @@ -1138,30 +1152,30 @@ PreserveNewest - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - + + + + @@ -1181,17 +1195,17 @@ - - - - - - - - - - - + + + + + + + + + + + @@ -1276,6 +1290,7 @@ FavoritesDialog.cs + Designer CrawlWebPageDialog.cs @@ -1412,7 +1427,7 @@ CropImageDialog.cs - + EmojiDialog.cs diff --git a/OneMore/Properties/Resources.Designer.cs b/OneMore/Properties/Resources.Designer.cs index d9f8203305..76312e29ee 100644 --- a/OneMore/Properties/Resources.Designer.cs +++ b/OneMore/Properties/Resources.Designer.cs @@ -566,6 +566,26 @@ internal static System.Drawing.Bitmap Automobile { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap BallotBox { + get { + object obj = ResourceManager.GetObject("BallotBox", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Bell { + get { + object obj = ResourceManager.GetObject("Bell", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized string similar to Could not mark anchor point. Select a word or phrase from one paragraph. See log file for details.. /// @@ -860,6 +880,16 @@ internal static string ClearLog_Title { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Clipboard { + get { + object obj = ResourceManager.GetObject("Clipboard", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1381,9 +1411,9 @@ internal static string CustomStylesFilename { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap Cyclist { + internal static System.Drawing.Bitmap Cycling { get { - object obj = ResourceManager.GetObject("Cyclist", resourceCulture); + object obj = ResourceManager.GetObject("Cycling", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -1752,6 +1782,24 @@ internal static string Emoji_Automobile { } } + /// + /// Looks up a localized string similar to Ballot Box. + /// + internal static string Emoji_BallotBox { + get { + return ResourceManager.GetString("Emoji_BallotBox", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bell. + /// + internal static string Emoji_Bell { + get { + return ResourceManager.GetString("Emoji_Bell", resourceCulture); + } + } + /// /// Looks up a localized string similar to Bullet. /// @@ -1770,6 +1818,15 @@ internal static string Emoji_Calendar { } } + /// + /// Looks up a localized string similar to Camera. + /// + internal static string Emoji_Camera { + get { + return ResourceManager.GetString("Emoji_Camera", resourceCulture); + } + } + /// /// Looks up a localized string similar to Check Mark. /// @@ -1788,6 +1845,15 @@ internal static string Emoji_Circle { } } + /// + /// Looks up a localized string similar to Clipboard. + /// + internal static string Emoji_Clipboard { + get { + return ResourceManager.GetString("Emoji_Clipboard", resourceCulture); + } + } + /// /// Looks up a localized string similar to Cloud. /// @@ -1860,6 +1926,33 @@ internal static string Emoji_Financial { } } + /// + /// Looks up a localized string similar to Flag. + /// + internal static string Emoji_Flag { + get { + return ResourceManager.GetString("Emoji_Flag", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Folder. + /// + internal static string Emoji_Folder { + get { + return ResourceManager.GetString("Emoji_Folder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Globe. + /// + internal static string Emoji_Globe { + get { + return ResourceManager.GetString("Emoji_Globe", resourceCulture); + } + } + /// /// Looks up a localized string similar to Hammer. /// @@ -1869,6 +1962,15 @@ internal static string Emoji_Hammer { } } + /// + /// Looks up a localized string similar to Heart. + /// + internal static string Emoji_Heart { + get { + return ResourceManager.GetString("Emoji_Heart", resourceCulture); + } + } + /// /// Looks up a localized string similar to Images. /// @@ -1879,11 +1981,11 @@ internal static string Emoji_Images { } /// - /// Looks up a localized string similar to Important. + /// Looks up a localized string similar to Interrobang. /// - internal static string Emoji_Important { + internal static string Emoji_Interrobrang { get { - return ResourceManager.GetString("Emoji_Important", resourceCulture); + return ResourceManager.GetString("Emoji_Interrobrang", resourceCulture); } } @@ -1905,6 +2007,15 @@ internal static string Emoji_LeftwardsArrow { } } + /// + /// Looks up a localized string similar to Lock. + /// + internal static string Emoji_Lock { + get { + return ResourceManager.GetString("Emoji_Lock", resourceCulture); + } + } + /// /// Looks up a localized string similar to Memo. /// @@ -1941,6 +2052,15 @@ internal static string Emoji_Pushpin { } } + /// + /// Looks up a localized string similar to Recycle. + /// + internal static string Emoji_Recycle { + get { + return ResourceManager.GetString("Emoji_Recycle", resourceCulture); + } + } + /// /// Looks up a localized string similar to Rightwards Arrow. /// @@ -1995,6 +2115,15 @@ internal static string Emoji_Sports { } } + /// + /// Looks up a localized string similar to Sports EU. + /// + internal static string Emoji_SportsEU { + get { + return ResourceManager.GetString("Emoji_SportsEU", resourceCulture); + } + } + /// /// Looks up a localized string similar to Star. /// @@ -2014,7 +2143,7 @@ internal static string Emoji_Summary { } /// - /// Looks up a localized string similar to Tasks. + /// Looks up a localized string similar to Task. /// internal static string Emoji_Tasks { get { @@ -2022,6 +2151,15 @@ internal static string Emoji_Tasks { } } + /// + /// Looks up a localized string similar to Tools. + /// + internal static string Emoji_Tools { + get { + return ResourceManager.GetString("Emoji_Tools", resourceCulture); + } + } + /// /// Looks up a localized string similar to Travel. /// @@ -2031,6 +2169,24 @@ internal static string Emoji_Travel { } } + /// + /// Looks up a localized string similar to Video. + /// + internal static string Emoji_Video { + get { + return ResourceManager.GetString("Emoji_Video", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Warning. + /// + internal static string Emoji_Warning { + get { + return ResourceManager.GetString("Emoji_Warning", resourceCulture); + } + } + /// /// Looks up a localized string similar to Watch. /// @@ -2067,6 +2223,49 @@ internal static string EmojiDialog_Text { } } + /// + /// Looks up a localized string similar to [ + /// { + /// "glyph": "📐", + /// "resID": "Architecture" + /// }, + /// { + /// "glyph": "🚗", + /// "resID": "Automobile" + /// }, + /// { + /// "glyph": "☐", + /// "resID": "BallotBox", + /// "color": "#5B9BD5" + /// }, + /// { + /// "glyph": "🔔", + /// "resID": "Bell" + /// }, + /// { + /// "glyph": "●", + /// "resID": "Bullet", + /// "color": "#0070C0" + /// }, + /// { + /// "glyph": "📆", + /// "resID": "Calendar" + /// }, + /// { + /// "glyph": "📷", + /// "resID": "Camera" + /// }, + /// { + /// "glyph": "✓", + /// "resID": "CheckMark", + /// "color": "#00B0 [rest of string was truncated]";. + /// + internal static string Emojis { + get { + return ResourceManager.GetString("Emojis", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -2468,6 +2667,16 @@ internal static System.Drawing.Bitmap Flag { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Folder { + get { + object obj = ResourceManager.GetObject("Folder", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -2687,6 +2896,16 @@ internal static string GetImagesCommand_Cite { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Globe { + get { + object obj = ResourceManager.GetObject("Globe", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -2727,8 +2946,8 @@ internal static string HashtagDialogs_introLabel_Text { /// /// Looks up a localized string similar to CREATE TABLE IF NOT EXISTS hashtag_scanner (scannerID INTEGER PRIMARY KEY UNIQUE NOT NULL, version NUMERIC (12) UNIQUE NOT NULL, scanTime TEXT NOT NULL); - ///CREATE TABLE IF NOT EXISTS hashtag (tag TEXT NOT NULL, moreID TEXT NOT NULL, objectID TEXT NOT NULL, snippet TEXT, lastModified TEXT NOT NULL, PRIMARY KEY (tag, objectID)); - ///CREATE TABLE IF NOT EXISTS hashtag_page (moreID PRIMARY KEY, pageID TEXT NOT NULL, titleID TEXT NOT NULL, notebookID TEXT NOT NULL, sectionID TEXT NOT NULL, path TEXT, name TEXT, toke [rest of string was truncated]";. + ///CREATE TABLE IF NOT EXISTS hashtag (tag TEXT NOT NULL, moreID TEXT NOT NULL, objectID TEXT NOT NULL, snippet TEXT, lastModified TEXT NOT NULL, PRIMARY KEY (tag, objectID), CONSTRAINT FK_moreID FOREIGN KEY (moreID) REFERENCES hashtag_page (moreID) ON DELETE CASCADE); + ///CREATE TABLE IF NOT EXISTS hashtag_page (moreID PRIMARY KEY, pageID TEXT NOT NULL, titleI [rest of string was truncated]";. /// internal static string HashtagsDB { get { @@ -2772,6 +2991,16 @@ internal static string HashtagSheet_Title { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Heart { + get { + object obj = ResourceManager.GetObject("Heart", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized string similar to No formulas found on this page. /// @@ -3530,6 +3759,16 @@ internal static string InsertTocDialog_topBox_Text { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Interrobang { + get { + object obj = ResourceManager.GetObject("Interrobang", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -3787,6 +4026,16 @@ internal static string LoadStyleTheme_Title { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Lock { + get { + object obj = ResourceManager.GetObject("Lock", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -5093,6 +5342,16 @@ internal static string RecalculateFormulaCommand_NoFormula { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Recycle { + get { + object obj = ResourceManager.GetObject("Recycle", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -6848,24 +7107,6 @@ internal static string ribEmbedSubpageButton_Screentip { } } - /// - /// Looks up a localized string similar to Insert Emoji. - /// - internal static string ribEmojiButton_Label { - get { - return ResourceManager.GetString("ribEmojiButton_Label", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Insert one or more emojis. - /// - internal static string ribEmojiButton_Screentip { - get { - return ResourceManager.GetString("ribEmojiButton_Screentip", resourceCulture); - } - } - /// /// Looks up a localized string similar to Enable Spell Check. /// @@ -7343,6 +7584,24 @@ internal static string ribInsertDoubleLineButton_Screentip { } } + /// + /// Looks up a localized string similar to Emoji. + /// + internal static string ribInsertEmojiButton_Label { + get { + return ResourceManager.GetString("ribInsertEmojiButton_Label", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Insert one or more emojis. + /// + internal static string ribInsertEmojiButton_Screentip { + get { + return ResourceManager.GetString("ribInsertEmojiButton_Screentip", resourceCulture); + } + } + /// /// Looks up a localized string similar to Expand/Collapse. /// @@ -10232,6 +10491,26 @@ internal static System.Drawing.Bitmap Sports { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Sports1 { + get { + object obj = ResourceManager.GetObject("Sports1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap SportsEU { + get { + object obj = ResourceManager.GetObject("SportsEU", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized string similar to The page must contain two or more background images. /// @@ -10976,6 +11255,16 @@ internal static string ToggleDttmDialog_toggleGroup_Text { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Tools { + get { + object obj = ResourceManager.GetObject("Tools", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -11133,6 +11422,26 @@ internal static string UpdateDialog_versionLabel_Text { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Video { + get { + object obj = ResourceManager.GetObject("Video", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Warning { + get { + object obj = ResourceManager.GetObject("Warning", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/OneMore/Properties/Resources.ar-SA.resx b/OneMore/Properties/Resources.ar-SA.resx index cdd854d895..8a4dd4e88c 100644 --- a/OneMore/Properties/Resources.ar-SA.resx +++ b/OneMore/Properties/Resources.ar-SA.resx @@ -742,6 +742,14 @@ سيارة emoji + + صندوق الإقتراع + emoji + + + جرس + emoji + رصاصة emoji @@ -750,6 +758,10 @@ التقويم emoji + + آلة تصوير + emoji + علامة الاختيار emoji @@ -758,6 +770,10 @@ دائرة emoji + + الحافظة + emoji + سحاب emoji @@ -790,16 +806,32 @@ الأمور المالية emoji + + علَم + emoji + + + مجلد + emoji + + + الكرة الأرضية + emoji + شاكوش emoji + + قلب + emoji + الصور emoji - - مهم + + Interrobang emoji @@ -810,6 +842,10 @@ سهم لليسار emoji + + قفل + emoji + مذكرة emoji @@ -826,6 +862,10 @@ دبوس التثبيت emoji + + إعادة التدوير + emoji + سهم لليمين emoji @@ -850,6 +890,10 @@ رياضات emoji + + رياضة الاتحاد الأوروبي + emoji + نجمة emoji @@ -859,13 +903,25 @@ emoji - مهام + مهمة + emoji + + + أدوات emoji السفر emoji + + فيديو + emoji + + + تحذير + emoji + راقب emoji @@ -2828,14 +2884,6 @@ ISO-code then comma then language name تضمين محتوى صفحة أخرى في الصفحة الحالية ribbon item screentip - - أدخل رمز تعبيري - ribbon edit - - - أدخل واحدًا أو أكثر من الرموز التعبيرية - ribbon edit - تمكين التدقيق الإملائي Ribbon OneMore menu item, no spell check on this page @@ -3048,6 +3096,14 @@ ISO-code then comma then language name أدخل خط أفقي مزدوج (Shift + Alt + Equals) Ribbon OneMore menu item, Extras... + + الرموز التعبيرية + ribbon snippets + + + أدخل واحدًا أو أكثر من الرموز التعبيرية + ribbon snippets + توسيع الانهيار Ribbon OneMore menu item, Snippets... diff --git a/OneMore/Properties/Resources.de-DE.resx b/OneMore/Properties/Resources.de-DE.resx index 79d0f5c894..30eb52ceb2 100644 --- a/OneMore/Properties/Resources.de-DE.resx +++ b/OneMore/Properties/Resources.de-DE.resx @@ -739,6 +739,14 @@ Schriftart der letzten Spalte Automobil emoji + + Wahlurne + emoji + + + Glocke + emoji + Kugel emoji @@ -747,6 +755,10 @@ Schriftart der letzten Spalte Kalender emoji + + Kamera + emoji + Häkchen emoji @@ -755,6 +767,10 @@ Schriftart der letzten Spalte Kreis emoji + + Zwischenablage + emoji + Wolke emoji @@ -787,16 +803,32 @@ Schriftart der letzten Spalte Finanziell emoji + + Flagge + emoji + + + Ordner + emoji + + + Globus + emoji + Hammer emoji + + Herz + emoji + Bilder emoji - - Wichtig + + Interrobang emoji @@ -807,6 +839,10 @@ Schriftart der letzten Spalte Pfeil nach links emoji + + Sperren + emoji + Memo emoji @@ -823,6 +859,10 @@ Schriftart der letzten Spalte Reißzwecke emoji + + Recyceln + emoji + Pfeil nach rechts emoji @@ -847,6 +887,10 @@ Schriftart der letzten Spalte Sport emoji + + Sport EU + emoji + Star emoji @@ -856,13 +900,25 @@ Schriftart der letzten Spalte emoji - Aufgaben + Aufgabe + emoji + + + Werkzeuge emoji Reise emoji + + Video + emoji + + + Warnung + emoji + Uhr emoji @@ -2824,14 +2880,6 @@ Polaroid Inhalte einer anderen Seite in die aktuelle Seite einbetten ribbon item screentip - - Emoji einfügen - ribbon edit - - - Fügen Sie ein oder mehrere Emojis ein - ribbon edit - Rechtschreibprüfung aktivieren Ribbon OneMore menu item, no spell check on this page @@ -3044,6 +3092,14 @@ Polaroid Doppelte horizontale Linie einfügen (Umschalt + Alt + Gleich) Ribbon OneMore menu item, Extras... + + Emoji + ribbon snippets + + + Fügen Sie ein oder mehrere Emojis ein + ribbon snippets + Expandieren kollabieren Ribbon OneMore menu item, Snippets... diff --git a/OneMore/Properties/Resources.es-ES.resx b/OneMore/Properties/Resources.es-ES.resx index a4df87f8de..7d7a783f5b 100644 --- a/OneMore/Properties/Resources.es-ES.resx +++ b/OneMore/Properties/Resources.es-ES.resx @@ -742,6 +742,14 @@ Fuente de la última columna Automóvil emoji + + Urna electoral + emoji + + + Campana + emoji + Bala emoji @@ -750,6 +758,10 @@ Fuente de la última columna Calendario emoji + + Cámara + emoji + Marca de verificación emoji @@ -758,6 +770,10 @@ Fuente de la última columna Circulo emoji + + Portapapeles + emoji + Nube emoji @@ -790,16 +806,32 @@ Fuente de la última columna Financiero emoji + + Bandera + emoji + + + Carpeta + emoji + + + Globo + emoji + Martillo emoji + + Corazón + emoji + Imagenes emoji - - Importante + + Interrobang emoji @@ -810,6 +842,10 @@ Fuente de la última columna Flecha hacia la izquierda emoji + + Cerrar + emoji + Memorándum emoji @@ -826,6 +862,10 @@ Fuente de la última columna Chincheta emoji + + Reciclar + emoji + Flecha hacia la derecha emoji @@ -850,6 +890,10 @@ Fuente de la última columna Deportes emoji + + Deportes UE + emoji + Estrella emoji @@ -859,13 +903,25 @@ Fuente de la última columna emoji - Tareas + Tarea + emoji + + + Herramientas emoji Viajar emoji + + Video + emoji + + + Advertencia + emoji + Reloj emoji @@ -2828,14 +2884,6 @@ polaroid Insertar contenido de otra página en la página actual ribbon item screentip - - Insertar emojis - ribbon edit - - - Inserta uno o más emojis - ribbon edit - Habilitar el corrector ortográfico Ribbon OneMore menu item, no spell check on this page @@ -3048,6 +3096,14 @@ polaroid Insertar doble línea horizontal (Mayús + Alt + Igual) Ribbon OneMore menu item, Extras... + + emojis + ribbon snippets + + + Inserta uno o más emojis + ribbon snippets + Expandir el colapso Ribbon OneMore menu item, Snippets... diff --git a/OneMore/Properties/Resources.fr-FR.resx b/OneMore/Properties/Resources.fr-FR.resx index 018b6ee36e..3dd67c1636 100644 --- a/OneMore/Properties/Resources.fr-FR.resx +++ b/OneMore/Properties/Resources.fr-FR.resx @@ -739,6 +739,14 @@ Police de la dernière colonne Voiture emoji + + Urne électorale + emoji + + + Cloche + emoji + Balle emoji @@ -747,6 +755,10 @@ Police de la dernière colonne Calendrier emoji + + Caméra + emoji + Coche emoji @@ -755,6 +767,10 @@ Police de la dernière colonne Cercle emoji + + Presse-papiers + emoji + Nuage emoji @@ -787,16 +803,32 @@ Police de la dernière colonne Financier emoji + + Drapeau + emoji + + + Dossier + emoji + + + Globe + emoji + Marteau emoji + + Cœur + emoji + Images emoji - - Important + + Interrobang emoji @@ -807,6 +839,10 @@ Police de la dernière colonne Flèche vers la gauche emoji + + Verrouillage + emoji + Note emoji @@ -823,6 +859,10 @@ Police de la dernière colonne Punaise emoji + + Recycler + emoji + Flèche vers la droite emoji @@ -847,6 +887,10 @@ Police de la dernière colonne Des sports emoji + + Sports UE + emoji + Étoile emoji @@ -856,13 +900,25 @@ Police de la dernière colonne emoji - Tâches + Tâche + emoji + + + Outils emoji Voyage emoji + + Vidéo + emoji + + + Avertissement + emoji + Regarder emoji @@ -2824,14 +2880,6 @@ Polaroïd Intégrer le contenu d'une autre page dans la page actuelle ribbon item screentip - - Insérer un émoji - ribbon edit - - - Insérez un ou plusieurs emojis - ribbon edit - Activer la vérification orthographique Ribbon OneMore menu item, no spell check on this page @@ -3044,6 +3092,14 @@ Polaroïd Insérer une double ligne horizontale (Shift + Alt + Equals) Ribbon OneMore menu item, Extras... + + Émoji + ribbon snippets + + + Insérez un ou plusieurs emojis + ribbon snippets + Développer/Réduire Ribbon OneMore menu item, Snippets... diff --git a/OneMore/Properties/Resources.he-IL.resx b/OneMore/Properties/Resources.he-IL.resx index cdc9fa4de7..f397f7287b 100644 --- a/OneMore/Properties/Resources.he-IL.resx +++ b/OneMore/Properties/Resources.he-IL.resx @@ -753,6 +753,14 @@ Total Row Font מְכוֹנִית emoji + + קלפי + emoji + + + פַּעֲמוֹן + emoji + כַּדוּר emoji @@ -761,6 +769,10 @@ Total Row Font לוּחַ שָׁנָה emoji + + מַצלֵמָה + emoji + בדוק את סימן emoji @@ -769,6 +781,10 @@ Total Row Font מעגל emoji + + לוח כתיבה + emoji + ענן emoji @@ -801,16 +817,32 @@ Total Row Font כַּספִּי emoji + + דֶגֶל + emoji + + + תיקיה + emoji + + + גלוֹבּוּס + emoji + פטיש emoji + + לֵב + emoji + תמונות emoji - - חָשׁוּב + + Interrobang emoji @@ -821,6 +853,10 @@ Total Row Font חץ שמאלה emoji + + לנעול + emoji + תַזכִּיר emoji @@ -837,6 +873,10 @@ Total Row Font יתד דחיפה emoji + + לְמַחְזֵר + emoji + חץ ימין emoji @@ -861,6 +901,10 @@ Total Row Font ספורט emoji + + האיחוד האירופי ספורט + emoji + כוכב emoji @@ -870,13 +914,25 @@ Total Row Font emoji - משימות + מְשִׁימָה + emoji + + + כלים emoji לִנְסוֹעַ emoji + + וִידֵאוֹ + emoji + + + אַזהָרָה + emoji + שעון emoji @@ -2849,14 +2905,6 @@ ISO-code then comma then language name הטמע תוכן של דף אחר בדף הנוכחי ribbon item screentip - - הכנס אימוג'י - ribbon edit - - - הכנס אימוג'י אחד או יותר - ribbon edit - אפשר בדיקת איות Ribbon OneMore menu item, no spell check on this page @@ -3069,6 +3117,14 @@ ISO-code then comma then language name הוסף קו אופקי כפול (Shift + Alt + שווה) Ribbon OneMore menu item, Extras... + + אימוג'י + ribbon snippets + + + הכנס אימוג'י אחד או יותר + ribbon snippets + להרחיב לצמצם Ribbon OneMore menu item, Snippets... diff --git a/OneMore/Properties/Resources.nl-NL.resx b/OneMore/Properties/Resources.nl-NL.resx index d1c98e8cda..943a270b17 100644 --- a/OneMore/Properties/Resources.nl-NL.resx +++ b/OneMore/Properties/Resources.nl-NL.resx @@ -743,6 +743,14 @@ Lettertype laatste kolom Auto emoji + + Stembus + emoji + + + Klok + emoji + Kogel emoji @@ -751,6 +759,10 @@ Lettertype laatste kolom Kalender emoji + + Camera + emoji + Vinkje emoji @@ -759,6 +771,10 @@ Lettertype laatste kolom Cirkel emoji + + Klembord + emoji + Wolk emoji @@ -791,16 +807,32 @@ Lettertype laatste kolom Financieel emoji + + Vlag + emoji + + + Map + emoji + + + Wereldbol + emoji + Hamer emoji + + Hart + emoji + Afbeeldingen emoji - - Belangrijk + + Interrobang emoji @@ -811,6 +843,10 @@ Lettertype laatste kolom Pijl naar links emoji + + Slot + emoji + Memo emoji @@ -827,6 +863,10 @@ Lettertype laatste kolom Punaise emoji + + Recyclen + emoji + Pijl naar rechts emoji @@ -851,6 +891,10 @@ Lettertype laatste kolom Sport emoji + + Sport EU + emoji + Ster emoji @@ -860,13 +904,25 @@ Lettertype laatste kolom emoji - Taken + Taak + emoji + + + Hulpmiddelen emoji Reizen emoji + + Video + emoji + + + Waarschuwing + emoji + Kijk maar emoji @@ -2829,14 +2885,6 @@ Polaroid Inhoud van een andere pagina insluiten in de huidige pagina ribbon item screentip - - Emoji invoegen - ribbon edit - - - Voeg een of meer emoji's in - ribbon edit - Spellingcontrole inschakelen Ribbon OneMore menu item, no spell check on this page @@ -3049,6 +3097,14 @@ Polaroid Dubbele horizontale lijn invoegen (Shift + Alt + Equals) Ribbon OneMore menu item, Extras... + + Emoji + ribbon snippets + + + Voeg een of meer emoji's in + ribbon snippets + Uitvouwen/samenvouwen Ribbon OneMore menu item, Snippets... diff --git a/OneMore/Properties/Resources.pl-PL.resx b/OneMore/Properties/Resources.pl-PL.resx index a153db9764..47a7ea42d9 100644 --- a/OneMore/Properties/Resources.pl-PL.resx +++ b/OneMore/Properties/Resources.pl-PL.resx @@ -751,6 +751,14 @@ Czcionka ostatniej kolumny Samochód emoji + + Urna wyborcza + emoji + + + Dzwonek + emoji + Pocisk emoji @@ -759,6 +767,10 @@ Czcionka ostatniej kolumny Kalendarz emoji + + Kamera + emoji + Zaznacz emoji @@ -767,6 +779,10 @@ Czcionka ostatniej kolumny Koło emoji + + Schowek + emoji + Chmura emoji @@ -799,16 +815,32 @@ Czcionka ostatniej kolumny Budżetowy emoji + + Flaga + emoji + + + Teczka + emoji + + + Glob + emoji + Młot emoji + + Serce + emoji + Obrazy emoji - - Ważny + + Interrobang emoji @@ -819,6 +851,10 @@ Czcionka ostatniej kolumny Strzałka w lewo emoji + + Zamek + emoji + Notatka emoji @@ -835,6 +871,10 @@ Czcionka ostatniej kolumny Pushpin. emoji + + Recykling + emoji + Strzałka w prawo emoji @@ -859,6 +899,10 @@ Czcionka ostatniej kolumny Sporty emoji + + Sport UE + emoji + Gwiazda emoji @@ -868,13 +912,25 @@ Czcionka ostatniej kolumny emoji - Zadania + Zadanie + emoji + + + Narzędzia emoji Podróż emoji + + Wideo + emoji + + + Ostrzeżenie + emoji + Zegarek emoji @@ -2841,14 +2897,6 @@ Polaroid Umieść zawartość innej strony na bieżącą stronę ribbon item screentip - - Wstaw emoji - ribbon edit - - - Wstaw jeden lub więcej emoji - ribbon edit - Włącz sprawdzanie pisowni Ribbon OneMore menu item, no spell check on this page @@ -3061,6 +3109,14 @@ Polaroid Włóż podwójną linię poziomą (Shift + Alt + Equals) Ribbon OneMore menu item, Extras... + + Emoji + ribbon snippets + + + Wstaw jeden lub więcej emoji + ribbon snippets + Rozwiń/Zwiń Ribbon OneMore menu item, Snippets... diff --git a/OneMore/Properties/Resources.pt-BR.resx b/OneMore/Properties/Resources.pt-BR.resx index fcfb1fd172..d5bdd54d09 100644 --- a/OneMore/Properties/Resources.pt-BR.resx +++ b/OneMore/Properties/Resources.pt-BR.resx @@ -743,6 +743,14 @@ Fonte da última coluna Automóvel emoji + + Urnas + emoji + + + Sino + emoji + Bala emoji @@ -751,6 +759,10 @@ Fonte da última coluna Calendário emoji + + Câmera + emoji + marca de verificação emoji @@ -759,6 +771,10 @@ Fonte da última coluna Círculo emoji + + Prancheta + emoji + Nuvem emoji @@ -791,16 +807,32 @@ Fonte da última coluna Financeiro emoji + + Bandeira + emoji + + + Pasta + emoji + + + Globo + emoji + Martelo emoji + + Coração + emoji + Imagens emoji - - Importante + + Interrobang emoji @@ -811,6 +843,10 @@ Fonte da última coluna Seta para a esquerda emoji + + Trancar + emoji + Memorando emoji @@ -827,6 +863,10 @@ Fonte da última coluna Alfinete emoji + + Reciclar + emoji + Seta para a direita emoji @@ -851,6 +891,10 @@ Fonte da última coluna Esportes emoji + + Desporto UE + emoji + Estrela emoji @@ -860,13 +904,25 @@ Fonte da última coluna emoji - Tarefas + Tarefa + emoji + + + Ferramentas emoji Viagem emoji + + Vídeo + emoji + + + Aviso + emoji + Ver emoji @@ -2829,14 +2885,6 @@ Polaroid. Incorporar conteúdo de outra página na página atual ribbon item screentip - - Inserir emoji - ribbon edit - - - Insira um ou mais emojis - ribbon edit - Ativar verificação ortográfica Ribbon OneMore menu item, no spell check on this page @@ -3049,6 +3097,14 @@ Polaroid. Inserir linha horizontal dupla (Shift + Alt + igual) Ribbon OneMore menu item, Extras... + + Emoji + ribbon snippets + + + Insira um ou mais emojis + ribbon snippets + Expandir/Recolher Ribbon OneMore menu item, Snippets... diff --git a/OneMore/Properties/Resources.resx b/OneMore/Properties/Resources.resx index f4bdec4d80..3bb06498e9 100644 --- a/OneMore/Properties/Resources.resx +++ b/OneMore/Properties/Resources.resx @@ -757,6 +757,14 @@ Last Column Font Automobile emoji + + Ballot Box + emoji + + + Bell + emoji + Bullet emoji @@ -765,6 +773,10 @@ Last Column Font Calendar emoji + + Camera + emoji + Check Mark emoji @@ -773,6 +785,10 @@ Last Column Font Circle emoji + + Clipboard + emoji + Cloud emoji @@ -805,16 +821,32 @@ Last Column Font Financial emoji + + Flag + emoji + + + Folder + emoji + + + Globe + emoji + Hammer emoji + + Heart + emoji + Images emoji - - Important + + Interrobang emoji @@ -825,6 +857,10 @@ Last Column Font Leftwards Arrow emoji + + Lock + emoji + Memo emoji @@ -841,6 +877,10 @@ Last Column Font Pushpin emoji + + Recycle + emoji + Rightwards Arrow emoji @@ -865,6 +905,10 @@ Last Column Font Sports emoji + + Sports EU + emoji + Star emoji @@ -874,13 +918,25 @@ Last Column Font emoji - Tasks + Task + emoji + + + Tools emoji Travel emoji + + Video + emoji + + + Warning + emoji + Watch emoji @@ -2869,14 +2925,6 @@ Polaroid Embed content of another page into the current page ribbon references - - Insert Emoji - ribbon edit - - - Insert one or more emojis - ribbon edit - Enable Spell Check ribbon edit @@ -3089,6 +3137,14 @@ Polaroid Insert double horizontal line (Shift + Alt + Equals) ribbon snippets + + Emoji + ribbon snippets + + + Insert one or more emojis + ribbon snippets + Expand/Collapse ribbon snippets @@ -4913,122 +4969,164 @@ In this section Word Counts page title - - ..\ribbon\images\ribinsertnoteboxbutton.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\ribbon\images\ribinsertwarnboxbutton.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\ribbon\images\ribnavigatorbutton.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Ribbon\Images\ribSearchHashtagsButton.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - emoji\architecture.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\Architecture.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\automobile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\automobile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\BallotBox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\Bell.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\bullet.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\bullet.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\calendar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\calendar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\camera.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\camera.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\checkmark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\checkmark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\circle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\circle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\Clipboard.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\cloud.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\cloud.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\copyright.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\copyright.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\cross.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\cross.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - emoji\cyclist.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Commands\Snippets\Emoji\Images\cyclist.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\envelope.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\envelope.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\eyes.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\eyes.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\family.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\family.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\financial.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\financial.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\flag.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\flag.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\Folder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\Globe.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\hammer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\hammer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\Heart.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\Interrobang.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\journal.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\journal.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\leftwardsarrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\leftwardsarrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\Lock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\memo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\memo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\passwords.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\passwords.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\pencil.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\pencil.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\pushpin.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\pushpin.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\Recycle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\rightwardsarrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\rightwardsarrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\section.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\section.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\shazam.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\shazam.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\smiley.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\smiley.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\software.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\software.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\sports.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\sports.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\Sports.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\SportsEU.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\star.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\star.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\summary.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\summary.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\tasks.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\tasks.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\Tools.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\travel.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\travel.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\Video.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Commands\Snippets\Emoji\Images\Warning.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\watch.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\watch.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - emoji\xmark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Commands\Snippets\Emoji\Images\xmark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\ribbon\images\ribinsertnoteboxbutton.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\ribbon\images\ribinsertwarnboxbutton.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\ribbon\images\ribnavigatorbutton.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Ribbon\Images\ribSearchHashtagsButton.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a images\bold.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -5165,6 +5263,9 @@ In this section images\uparrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Commands\Snippets\Emoji\Emojis.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + ..\commands\snippets\infoboxthemes.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 diff --git a/OneMore/Properties/Resources.zh-CN.resx b/OneMore/Properties/Resources.zh-CN.resx index 4479150740..83743dba75 100644 --- a/OneMore/Properties/Resources.zh-CN.resx +++ b/OneMore/Properties/Resources.zh-CN.resx @@ -743,6 +743,14 @@ OneNote 将自动关闭 汽车 emoji + + 选票箱 + emoji + + + + emoji + 子弹 emoji @@ -751,6 +759,10 @@ OneNote 将自动关闭 日历 emoji + + 相机 + emoji + 复选标记 emoji @@ -759,6 +771,10 @@ OneNote 将自动关闭 emoji + + 剪贴板 + emoji + emoji @@ -791,16 +807,32 @@ OneNote 将自动关闭 金融 emoji + + 旗帜 + emoji + + + 文件夹 + emoji + + + 地球 + emoji + 锤子 emoji + + + emoji + 图片 emoji - - 重要 + + 因特罗邦 emoji @@ -811,6 +843,10 @@ OneNote 将自动关闭 向左箭头 emoji + + + emoji + 备忘录 emoji @@ -827,6 +863,10 @@ OneNote 将自动关闭 emoji + + 回收 + emoji + 向右箭头 emoji @@ -851,6 +891,10 @@ OneNote 将自动关闭 体育 emoji + + 体育欧盟 + emoji + emoji @@ -863,10 +907,22 @@ OneNote 将自动关闭 任务 emoji + + 工具 + emoji + 旅行 emoji + + 视频 + emoji + + + 警告 + emoji + 手表 emoji @@ -2831,14 +2887,6 @@ ISO-code then comma then language name 将另一个页面的内容嵌入到当前页面 ribbon item screentip - - 插入表情符号 - ribbon edit - - - 插入一个或多个表情符号 - ribbon edit - 启用拼写检查 Ribbon OneMore menu item, no spell check on this page @@ -3051,6 +3099,14 @@ ISO-code then comma then language name 插入双水平线 (Shift + Alt + Equals) Ribbon OneMore menu item, Extras... + + 表情符号 + ribbon snippets + + + 插入一个或多个表情符号 + ribbon snippets + 展开/折叠 Ribbon OneMore menu item, Snippets... diff --git a/OneMore/Ribbon/Ribbon.xml b/OneMore/Ribbon/Ribbon.xml index b288357a17..79464ecaba 100644 --- a/OneMore/Ribbon/Ribbon.xml +++ b/OneMore/Ribbon/Ribbon.xml @@ -116,6 +116,12 @@ getLabel="GetRibbonLabel" getScreentip="GetRibbonScreentip" onAction="InsertDateCmd"/> +