/// <summary>
        /// Merges all colours.
        /// </summary>
        /// <param name="baseColour">The base colour.</param>
        /// <param name="darkColour">The dark colour.</param>
        /// <param name="middleColour">The middle colour.</param>
        /// <param name="lightColour">The light colour.</param>
        /// <param name="lightestColour">The lightest colour.</param>
        /// <param name="borderColour">The border colour.</param>
        /// <param name="alternativeNormalTextColour">The alternative normal text colour.</param>
        /// <param name="normalTextColour">The normal text colour.</param>
        /// <param name="disabledTextColour">The disabled text colour.</param>
        /// <param name="focusedTextColour">The focused text colour.</param>
        /// <param name="pressedTextColour">The pressed text colour.</param>
        /// <param name="disabledColour">The disabled colour.</param>
        /// <param name="linkNormalColour">The link normal colour.</param>
        /// <param name="linkFocusedColour">The link focused colour.</param>
        /// <param name="linkHoverColour">The link hover colour.</param>
        /// <param name="linkVisitedColour">The link visited colour.</param>
        /// <param name="customColourOne">The custom colour one.</param>
        /// <param name="customColourTwo">The custom colour two.</param>
        /// <param name="customColourThree">The custom colour three.</param>
        /// <param name="customColourFour">The custom colour four.</param>
        /// <param name="customColourFive">The custom colour five.</param>
        /// <param name="customTextColourOne">The custom text colour one.</param>
        /// <param name="customTextColourTwo">The custom text colour two.</param>
        /// <param name="customTextColourThree">The custom text colour three.</param>
        /// <param name="customTextColourFour">The custom text colour four.</param>
        /// <param name="customTextColourFive">The custom text colour five.</param>
        /// <param name="menuTextColour">The menu text colour.</param>
        /// <param name="statusTextColour">The status text colour.</param>
        /// <param name="ribbonTabTextColour">The ribbon tab text colour.</param>
        public static void MergeAllColours(Color baseColour, Color darkColour, Color middleColour, Color lightColour, Color lightestColour, Color borderColour, Color alternativeNormalTextColour, Color normalTextColour, Color disabledTextColour, Color focusedTextColour, Color pressedTextColour, Color disabledColour, Color linkNormalColour, Color linkFocusedColour, Color linkHoverColour, Color linkVisitedColour, Color customColourOne, Color customColourTwo, Color customColourThree, Color customColourFour, Color customColourFive, Color customTextColourOne, Color customTextColourTwo, Color customTextColourThree, Color customTextColourFour, Color customTextColourFive, Color menuTextColour, Color statusTextColour, Color ribbonTabTextColour)
        {
            ColourSettingsManager csm = new ColourSettingsManager();

            try
            {
            }
            catch (Exception exc)
            {
                ExceptionHandler.CaptureException(exc);
            }
        }
        public static bool AreColoursEmpty()
        {
            ColourSettingsManager colourSettingsManager = new ColourSettingsManager();

            if (colourSettingsManager.GetBaseColour() == Color.Empty || colourSettingsManager.GetDarkestColour() == Color.Empty || colourSettingsManager.GetMediumColour() == Color.Empty || colourSettingsManager.GetLightColour() == Color.Empty || colourSettingsManager.GetLightestColour() == Color.Empty || colourSettingsManager.GetCustomColourOne() == Color.Empty || colourSettingsManager.GetCustomColourTwo() == Color.Empty || colourSettingsManager.GetCustomColourThree() == Color.Empty || colourSettingsManager.GetCustomColourFour() == Color.Empty || colourSettingsManager.GetCustomColourFive() == Color.Empty || colourSettingsManager.GetCustomTextColourOne() == Color.Empty || colourSettingsManager.GetCustomTextColourTwo() == Color.Empty || colourSettingsManager.GetCustomTextColourThree() == Color.Empty || colourSettingsManager.GetCustomTextColourFour() == Color.Empty || colourSettingsManager.GetCustomTextColourFive() == Color.Empty || colourSettingsManager.GetLinkNormalColour() == Color.Empty || colourSettingsManager.GetLinkFocusedColour() == Color.Empty || colourSettingsManager.GetLinkHoverColour() == Color.Empty || colourSettingsManager.GetLinkNormalColour() == Color.Empty || colourSettingsManager.GetLinkVisitedColour() == Color.Empty || colourSettingsManager.GetBorderColour() == Color.Empty || colourSettingsManager.GetDisabledControlColour() == Color.Empty || colourSettingsManager.GetAlternativeNormalTextColour() == Color.Empty || colourSettingsManager.GetDisabledTextColour() == Color.Empty || colourSettingsManager.GetFocusedTextColour() == Color.Empty || colourSettingsManager.GetMenuTextColour() == Color.Empty || colourSettingsManager.GetNormalTextColour() == Color.Empty || colourSettingsManager.GetPressedTextColour() == Color.Empty || colourSettingsManager.GetRibbonTabTextColour() == Color.Empty || colourSettingsManager.GetStatusStripTextColour() == Color.Empty)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// Merges all the colour settings together.
        /// </summary>
        /// <param name="usePrompt">if set to <c>true</c> [use prompt].</param>
        public static void MergeAllColourSettings(bool usePrompt = false)
        {
            #region Variables
            ColourSettingsManager colourSettingsManager = new ColourSettingsManager();

            BasicPaletteColourManager basicPaletteColourManager = new BasicPaletteColourManager();

            CustomPaletteColourManager customPaletteColourManager = new CustomPaletteColourManager();

            CustomPaletteTextColourManager customPaletteTextColourManager = new CustomPaletteTextColourManager();

            LinkTextPaletteColourManager linkTextPaletteColourManager = new LinkTextPaletteColourManager();

            MiscellaneousPaletteColourManager miscellaneousPaletteColourManager = new MiscellaneousPaletteColourManager();

            TextPaletteColourManager textPaletteColourManager = new TextPaletteColourManager();
            #endregion

            if (usePrompt)
            {
                DialogResult response = KryptonMessageBox.Show("This action will merge all your colour settings together.\n\nDo you want to continue?", "Confirm Merge", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

                if (response == DialogResult.Yes)
                {
                    try
                    {
                        if (BasicPaletteColourManager.AreBasicPaletteColoursEmpty() != false)
                        {
                            colourSettingsManager.SetBaseColour(basicPaletteColourManager.GetBaseColour());

                            colourSettingsManager.SetDarkestColour(basicPaletteColourManager.GetDarkestColour());

                            colourSettingsManager.SetLightColour(basicPaletteColourManager.GetLightColour());

                            colourSettingsManager.SetLightestColour(basicPaletteColourManager.GetLightestColour());
                        }
                        else
                        {
                            basicPaletteColourManager.ResetSettings(true);

                            colourSettingsManager.SetBaseColour(basicPaletteColourManager.GetBaseColour());

                            colourSettingsManager.SetDarkestColour(basicPaletteColourManager.GetDarkestColour());

                            colourSettingsManager.SetLightColour(basicPaletteColourManager.GetLightColour());

                            colourSettingsManager.SetLightestColour(basicPaletteColourManager.GetLightestColour());
                        }

                        if (CustomPaletteColourManager.AreCustomPaletteColoursEmpty() != false)
                        {
                            colourSettingsManager.SetCustomColourOne(customPaletteColourManager.GetCustomColourOne());

                            colourSettingsManager.SetCustomColourTwo(customPaletteColourManager.GetCustomColourTwo());

                            colourSettingsManager.SetCustomColourThree(customPaletteColourManager.GetCustomColourThree());

                            colourSettingsManager.SetCustomColourFour(customPaletteColourManager.GetCustomColourFour());

                            colourSettingsManager.SetCustomColourFive(customPaletteColourManager.GetCustomColourFive());
                        }
                        else
                        {
                            customPaletteColourManager.ResetSettings(true);

                            colourSettingsManager.SetCustomColourOne(customPaletteColourManager.GetCustomColourOne());

                            colourSettingsManager.SetCustomColourTwo(customPaletteColourManager.GetCustomColourTwo());

                            colourSettingsManager.SetCustomColourThree(customPaletteColourManager.GetCustomColourThree());

                            colourSettingsManager.SetCustomColourFour(customPaletteColourManager.GetCustomColourFour());

                            colourSettingsManager.SetCustomColourFive(customPaletteColourManager.GetCustomColourFive());
                        }

                        if (CustomPaletteTextColourManager.AreCustomPaletteTextColoursEmpty() != false)
                        {
                            colourSettingsManager.SetCustomTextColourOne(customPaletteTextColourManager.GetCustomTextColourOne());

                            colourSettingsManager.SetCustomTextColourTwo(customPaletteTextColourManager.GetCustomTextColourTwo());

                            colourSettingsManager.SetCustomTextColourThree(customPaletteTextColourManager.GetCustomTextColourThree());

                            colourSettingsManager.SetCustomTextColourFour(customPaletteTextColourManager.GetCustomTextColourFour());

                            colourSettingsManager.SetCustomTextColourFive(customPaletteTextColourManager.GetCustomTextColourFive());
                        }
                        else
                        {
                            customPaletteTextColourManager.ResetSettings(true);

                            colourSettingsManager.SetCustomTextColourOne(customPaletteTextColourManager.GetCustomTextColourOne());

                            colourSettingsManager.SetCustomTextColourTwo(customPaletteTextColourManager.GetCustomTextColourTwo());

                            colourSettingsManager.SetCustomTextColourThree(customPaletteTextColourManager.GetCustomTextColourThree());

                            colourSettingsManager.SetCustomTextColourFour(customPaletteTextColourManager.GetCustomTextColourFour());

                            colourSettingsManager.SetCustomTextColourFive(customPaletteTextColourManager.GetCustomTextColourFive());
                        }

                        if (LinkTextPaletteColourManager.AreLinkTextPaletteColoursEmpty() != false)
                        {
                            colourSettingsManager.SetLinkDisabledColour(linkTextPaletteColourManager.GetLinkDisabledColour());

                            colourSettingsManager.SetLinkFocusedColour(linkTextPaletteColourManager.GetLinkFocusedColour());

                            colourSettingsManager.SetLinkHoverColour(linkTextPaletteColourManager.GetLinkHoverColour());

                            colourSettingsManager.SetLinkNormalColour(linkTextPaletteColourManager.GetLinkNormalColour());

                            colourSettingsManager.SetLinkVisitedColour(linkTextPaletteColourManager.GetLinkVisitedColour());
                        }
                        else
                        {
                            linkTextPaletteColourManager.ResetSettings(true);

                            colourSettingsManager.SetLinkDisabledColour(linkTextPaletteColourManager.GetLinkDisabledColour());

                            colourSettingsManager.SetLinkFocusedColour(linkTextPaletteColourManager.GetLinkFocusedColour());

                            colourSettingsManager.SetLinkHoverColour(linkTextPaletteColourManager.GetLinkHoverColour());

                            colourSettingsManager.SetLinkNormalColour(linkTextPaletteColourManager.GetLinkNormalColour());

                            colourSettingsManager.SetLinkVisitedColour(linkTextPaletteColourManager.GetLinkVisitedColour());
                        }

                        if (MiscellaneousPaletteColourManager.AreMiscellaneousPaletteColoursEmpty() != false)
                        {
                            colourSettingsManager.SetBorderColour(miscellaneousPaletteColourManager.GetBorderColour());

                            colourSettingsManager.SetDisabledControlColour(miscellaneousPaletteColourManager.GetDisabledControlColour());
                        }
                        else
                        {
                            miscellaneousPaletteColourManager.ResetSettings(true);

                            colourSettingsManager.SetBorderColour(miscellaneousPaletteColourManager.GetBorderColour());

                            colourSettingsManager.SetDisabledControlColour(miscellaneousPaletteColourManager.GetDisabledControlColour());
                        }

                        if (TextPaletteColourManager.AreTextPaletteColoursEmpty() != false)
                        {
                            colourSettingsManager.SetAlternativeNormalTextColour(textPaletteColourManager.GetAlternativeNormalTextColour());

                            colourSettingsManager.SetNormalTextColour(textPaletteColourManager.GetNormalTextColour());

                            colourSettingsManager.SetFocusedTextColour(textPaletteColourManager.GetFocusedTextColour());

                            colourSettingsManager.SetPressedTextColour(textPaletteColourManager.GetPressedTextColour());

                            colourSettingsManager.SetDisabledTextColour(textPaletteColourManager.GetDisabledTextColour());

                            colourSettingsManager.SetMenuTextColour(textPaletteColourManager.GetMenuTextColour());

                            colourSettingsManager.SetRibbonTabTextColour(textPaletteColourManager.GetRibbonTabTextColour());

                            colourSettingsManager.SetStatusStripTextColour(textPaletteColourManager.GetStatusStripTextColour());
                        }
                        else
                        {
                            textPaletteColourManager.ResetSettings(true);

                            colourSettingsManager.SetAlternativeNormalTextColour(textPaletteColourManager.GetAlternativeNormalTextColour());

                            colourSettingsManager.SetNormalTextColour(textPaletteColourManager.GetNormalTextColour());

                            colourSettingsManager.SetFocusedTextColour(textPaletteColourManager.GetFocusedTextColour());

                            colourSettingsManager.SetPressedTextColour(textPaletteColourManager.GetPressedTextColour());

                            colourSettingsManager.SetDisabledTextColour(textPaletteColourManager.GetDisabledTextColour());

                            colourSettingsManager.SetMenuTextColour(textPaletteColourManager.GetMenuTextColour());

                            colourSettingsManager.SetRibbonTabTextColour(textPaletteColourManager.GetRibbonTabTextColour());

                            colourSettingsManager.SetStatusStripTextColour(textPaletteColourManager.GetStatusStripTextColour());
                        }


                        colourSettingsManager.SaveColourSettings(true);
                    }
                    catch (Exception exc)
                    {
                        KryptonMessageBox.Show($"An unexpected error has occurred: { exc.Message }", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                        colourSettingsManager.ResetSettings();
                    }
                }
                else
                {
                    try
                    {
                        if (BasicPaletteColourManager.AreBasicPaletteColoursEmpty() != false)
                        {
                            colourSettingsManager.SetBaseColour(basicPaletteColourManager.GetBaseColour());

                            colourSettingsManager.SetDarkestColour(basicPaletteColourManager.GetDarkestColour());

                            colourSettingsManager.SetLightColour(basicPaletteColourManager.GetLightColour());

                            colourSettingsManager.SetLightestColour(basicPaletteColourManager.GetLightestColour());
                        }
                        else
                        {
                            basicPaletteColourManager.ResetSettings();

                            colourSettingsManager.SetBaseColour(basicPaletteColourManager.GetBaseColour());

                            colourSettingsManager.SetDarkestColour(basicPaletteColourManager.GetDarkestColour());

                            colourSettingsManager.SetLightColour(basicPaletteColourManager.GetLightColour());

                            colourSettingsManager.SetLightestColour(basicPaletteColourManager.GetLightestColour());
                        }

                        if (CustomPaletteColourManager.AreCustomPaletteColoursEmpty() != false)
                        {
                            colourSettingsManager.SetCustomColourOne(customPaletteColourManager.GetCustomColourOne());

                            colourSettingsManager.SetCustomColourTwo(customPaletteColourManager.GetCustomColourTwo());

                            colourSettingsManager.SetCustomColourThree(customPaletteColourManager.GetCustomColourThree());

                            colourSettingsManager.SetCustomColourFour(customPaletteColourManager.GetCustomColourFour());

                            colourSettingsManager.SetCustomColourFive(customPaletteColourManager.GetCustomColourFive());
                        }
                        else
                        {
                            customPaletteColourManager.ResetSettings();

                            colourSettingsManager.SetCustomColourOne(customPaletteColourManager.GetCustomColourOne());

                            colourSettingsManager.SetCustomColourTwo(customPaletteColourManager.GetCustomColourTwo());

                            colourSettingsManager.SetCustomColourThree(customPaletteColourManager.GetCustomColourThree());

                            colourSettingsManager.SetCustomColourFour(customPaletteColourManager.GetCustomColourFour());

                            colourSettingsManager.SetCustomColourFive(customPaletteColourManager.GetCustomColourFive());
                        }

                        if (CustomPaletteTextColourManager.AreCustomPaletteTextColoursEmpty() != false)
                        {
                            colourSettingsManager.SetCustomTextColourOne(customPaletteTextColourManager.GetCustomTextColourOne());

                            colourSettingsManager.SetCustomTextColourTwo(customPaletteTextColourManager.GetCustomTextColourTwo());

                            colourSettingsManager.SetCustomTextColourThree(customPaletteTextColourManager.GetCustomTextColourThree());

                            colourSettingsManager.SetCustomTextColourFour(customPaletteTextColourManager.GetCustomTextColourFour());

                            colourSettingsManager.SetCustomTextColourFive(customPaletteTextColourManager.GetCustomTextColourFive());
                        }
                        else
                        {
                            customPaletteTextColourManager.ResetSettings();

                            colourSettingsManager.SetCustomTextColourOne(customPaletteTextColourManager.GetCustomTextColourOne());

                            colourSettingsManager.SetCustomTextColourTwo(customPaletteTextColourManager.GetCustomTextColourTwo());

                            colourSettingsManager.SetCustomTextColourThree(customPaletteTextColourManager.GetCustomTextColourThree());

                            colourSettingsManager.SetCustomTextColourFour(customPaletteTextColourManager.GetCustomTextColourFour());

                            colourSettingsManager.SetCustomTextColourFive(customPaletteTextColourManager.GetCustomTextColourFive());
                        }

                        if (LinkTextPaletteColourManager.AreLinkTextPaletteColoursEmpty() != false)
                        {
                            colourSettingsManager.SetLinkDisabledColour(linkTextPaletteColourManager.GetLinkDisabledColour());

                            colourSettingsManager.SetLinkFocusedColour(linkTextPaletteColourManager.GetLinkFocusedColour());

                            colourSettingsManager.SetLinkHoverColour(linkTextPaletteColourManager.GetLinkHoverColour());

                            colourSettingsManager.SetLinkNormalColour(linkTextPaletteColourManager.GetLinkNormalColour());

                            colourSettingsManager.SetLinkVisitedColour(linkTextPaletteColourManager.GetLinkVisitedColour());
                        }
                        else
                        {
                            linkTextPaletteColourManager.ResetSettings();

                            colourSettingsManager.SetLinkDisabledColour(linkTextPaletteColourManager.GetLinkDisabledColour());

                            colourSettingsManager.SetLinkFocusedColour(linkTextPaletteColourManager.GetLinkFocusedColour());

                            colourSettingsManager.SetLinkHoverColour(linkTextPaletteColourManager.GetLinkHoverColour());

                            colourSettingsManager.SetLinkNormalColour(linkTextPaletteColourManager.GetLinkNormalColour());

                            colourSettingsManager.SetLinkVisitedColour(linkTextPaletteColourManager.GetLinkVisitedColour());
                        }

                        if (MiscellaneousPaletteColourManager.AreMiscellaneousPaletteColoursEmpty() != false)
                        {
                            colourSettingsManager.SetBorderColour(miscellaneousPaletteColourManager.GetBorderColour());

                            colourSettingsManager.SetDisabledControlColour(miscellaneousPaletteColourManager.GetDisabledControlColour());
                        }
                        else
                        {
                            miscellaneousPaletteColourManager.ResetSettings();

                            colourSettingsManager.SetBorderColour(miscellaneousPaletteColourManager.GetBorderColour());

                            colourSettingsManager.SetDisabledControlColour(miscellaneousPaletteColourManager.GetDisabledControlColour());
                        }

                        if (TextPaletteColourManager.AreTextPaletteColoursEmpty() != false)
                        {
                            colourSettingsManager.SetAlternativeNormalTextColour(textPaletteColourManager.GetAlternativeNormalTextColour());

                            colourSettingsManager.SetNormalTextColour(textPaletteColourManager.GetNormalTextColour());

                            colourSettingsManager.SetFocusedTextColour(textPaletteColourManager.GetFocusedTextColour());

                            colourSettingsManager.SetPressedTextColour(textPaletteColourManager.GetPressedTextColour());

                            colourSettingsManager.SetDisabledTextColour(textPaletteColourManager.GetDisabledTextColour());

                            colourSettingsManager.SetMenuTextColour(textPaletteColourManager.GetMenuTextColour());

                            colourSettingsManager.SetRibbonTabTextColour(textPaletteColourManager.GetRibbonTabTextColour());

                            colourSettingsManager.SetStatusStripTextColour(textPaletteColourManager.GetStatusStripTextColour());
                        }
                        else
                        {
                            textPaletteColourManager.ResetSettings();

                            colourSettingsManager.SetAlternativeNormalTextColour(textPaletteColourManager.GetAlternativeNormalTextColour());

                            colourSettingsManager.SetNormalTextColour(textPaletteColourManager.GetNormalTextColour());

                            colourSettingsManager.SetFocusedTextColour(textPaletteColourManager.GetFocusedTextColour());

                            colourSettingsManager.SetPressedTextColour(textPaletteColourManager.GetPressedTextColour());

                            colourSettingsManager.SetDisabledTextColour(textPaletteColourManager.GetDisabledTextColour());

                            colourSettingsManager.SetMenuTextColour(textPaletteColourManager.GetMenuTextColour());

                            colourSettingsManager.SetRibbonTabTextColour(textPaletteColourManager.GetRibbonTabTextColour());

                            colourSettingsManager.SetStatusStripTextColour(textPaletteColourManager.GetStatusStripTextColour());
                        }


                        colourSettingsManager.SaveColourSettings(usePrompt);
                    }
                    catch (Exception exc)
                    {
                        KryptonMessageBox.Show($"An unexpected error has occurred: { exc.Message }", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                        colourSettingsManager.ResetSettings();
                    }
                }
            }
        }