private static void AddACategory(string categoryName, Outlook.OlCategoryColor color) { Outlook.Categories categories = ThisAddIn.zmiennaDoSettinngs.Session.Categories; if (!CategoryExists(categoryName)) { _ = categories.Add(categoryName, color); } }
private void btnEval_Click(object sender, EventArgs e) { try { Outlook.OlCategoryColor color = Utils.GetOutlookColorFromRgb("#FF" + txtInput.Text.Trim()); lblResult.Text = color.ToString(); //lblResult.BackColor = Utils.OutlookColorsRgb[color]; } catch (Exception) { } }
/// <summary> /// Get the Outlook category name for a given category colour. /// If category not yet used, new one added of the form "OGCS [colour]" /// </summary> /// <param name="olCategory">The Outlook category to search by</param> /// <param name="categoryName">Optional: The Outlook category name to also search by</param> /// <returns>The matching category name</returns> public String FindName(Outlook.OlCategoryColor olCategory, String categoryName = null) { if (olCategory == Outlook.OlCategoryColor.olCategoryColorNone) { return(""); } Outlook.Category failSafeCategory = null; foreach (Outlook.Category category in this.categories) { if (category.Color == olCategory) { if (categoryName == null) { if (category.Name.StartsWith("OGCS ")) { return(category.Name); } } else { if (category.Name == categoryName) { return(category.Name); } if (category.Name.StartsWith("OGCS ")) { failSafeCategory = category; } } } } if (failSafeCategory != null) { log.Warn("Failed to find Outlook category " + olCategory.ToString() + " with name '" + categoryName + "'"); log.Debug("Using category with name \"" + failSafeCategory.Name + "\" instead."); return(failSafeCategory.Name); } log.Debug("Did not find Outlook category " + olCategory.ToString() + (categoryName == null ? "" : " \"" + categoryName + "\"")); Outlook.Category newCategory = categories.Add("OGCS " + FriendlyCategoryName(olCategory), olCategory); log.Info("Added new Outlook category \"" + newCategory.Name + "\" for " + newCategory.Color.ToString()); return(newCategory.Name); }
/// <summary> /// Get the Outlook category name for a given category colour. /// If category not yet used, new one added of the form "OGCS [colour]" /// </summary> /// <param name="olCategory">The Outlook category to search by</param> /// <returns>The matching category name</returns> public String FindName(Outlook.OlCategoryColor olCategory) { if (olCategory == Outlook.OlCategoryColor.olCategoryColorNone) { return(""); } foreach (Outlook.Category category in this.categories) { if (category.Color == olCategory && category.Name.StartsWith("OGCS ")) { return(category.Name); } } Outlook.Category newCategory = categories.Add("OGCS " + FriendlyCategoryName(olCategory), olCategory); return(newCategory.Name); }
private static void UpdateCategory(Outlook.Application app, string name, Outlook.OlCategoryColor color) { Outlook.Categories allCats = app.GetNamespace("MAPI").Categories; bool found = false; for (int i = 1; i <= allCats.Count; i++) { if (allCats[i].Name == name) { allCats[i].Color = color; found = true; break; } } if (!found) { app.GetNamespace("MAPI").Categories.Add(name, color, null); } }
/// <summary> /// Convert from Outlook category colour to Color /// </summary> public static Color RgbColour(Outlook.OlCategoryColor colour) { log.Fine("Converting " + colour + " to RGB value."); return(Colours[colour]); }
public ColourInfo(Outlook.OlCategoryColor category, Color colour, String name = "") { this.Text = string.IsNullOrEmpty(name) ? OutlookOgcs.Categories.FriendlyCategoryName(category) : name; this.Colour = colour; this.OutlookCategory = category; }
public static String FriendlyCategoryName(Outlook.OlCategoryColor olCategory) { return(olCategory.ToString().Replace("olCategoryColor", "").Replace("Dark", "Dark ")); }
public static string GetRgbFromOutlookColor(Outlook.OlCategoryColor color) { //Tabbles needs # and alpha value in addition to RGB return("#FF" + OutlookColorsStr[color]); }
/// <summary> /// The color scheme for Outlook is not the same as of Windows Forms, so this method tries to do a best effor in matching them /// </summary> /// <param name="col">Color of the category</param> /// <returns>Resulting color to be displayed</returns> private Color TranslateCategoryColor(Outlook.OlCategoryColor col) { Color result = Color.Black; switch (col) { case Outlook.OlCategoryColor.olCategoryColorNone: // Nothing break; case Outlook.OlCategoryColor.olCategoryColorRed: result = Color.Red; break; case Outlook.OlCategoryColor.olCategoryColorOrange: result = Color.Orange; break; case Outlook.OlCategoryColor.olCategoryColorPeach: result = Color.PeachPuff; break; case Outlook.OlCategoryColor.olCategoryColorYellow: result = Color.Yellow; break; case Outlook.OlCategoryColor.olCategoryColorGreen: result = Color.Green; break; case Outlook.OlCategoryColor.olCategoryColorTeal: result = Color.Teal; break; case Outlook.OlCategoryColor.olCategoryColorOlive: result = Color.Olive; break; case Outlook.OlCategoryColor.olCategoryColorBlue: result = Color.Blue; break; case Outlook.OlCategoryColor.olCategoryColorPurple: result = Color.Purple; break; case Outlook.OlCategoryColor.olCategoryColorMaroon: result = Color.Maroon; break; case Outlook.OlCategoryColor.olCategoryColorSteel: result = Color.LightSteelBlue; break; case Outlook.OlCategoryColor.olCategoryColorDarkSteel: result = Color.SteelBlue; break; case Outlook.OlCategoryColor.olCategoryColorGray: result = Color.Gray; break; case Outlook.OlCategoryColor.olCategoryColorDarkGray: result = Color.DarkGray; break; case Outlook.OlCategoryColor.olCategoryColorBlack: result = Color.Black; break; case Outlook.OlCategoryColor.olCategoryColorDarkRed: result = Color.DarkRed; break; case Outlook.OlCategoryColor.olCategoryColorDarkOrange: result = Color.DarkOrange; break; case Outlook.OlCategoryColor.olCategoryColorDarkPeach: result = Color.DarkSalmon; break; case Outlook.OlCategoryColor.olCategoryColorDarkYellow: result = Color.DarkGoldenrod; break; case Outlook.OlCategoryColor.olCategoryColorDarkGreen: result = Color.DarkGreen; break; case Outlook.OlCategoryColor.olCategoryColorDarkTeal: result = Color.DarkCyan; break; case Outlook.OlCategoryColor.olCategoryColorDarkOlive: result = Color.DarkOliveGreen; break; case Outlook.OlCategoryColor.olCategoryColorDarkBlue: result = Color.DarkBlue; break; case Outlook.OlCategoryColor.olCategoryColorDarkPurple: result = Color.DarkViolet; break; case Outlook.OlCategoryColor.olCategoryColorDarkMaroon: result = Color.DarkKhaki; break; default: break; } return(result); }