Example #1
0
 private static void AddACategory(string categoryName, Outlook.OlCategoryColor color)
 {
     Outlook.Categories categories =
         ThisAddIn.zmiennaDoSettinngs.Session.Categories;
     if (!CategoryExists(categoryName))
     {
         _ = categories.Add(categoryName,
                            color);
     }
 }
Example #2
0
 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);
        }
Example #4
0
        /// <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 "));
 }
Example #9
0
 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);
        }