private void PreferenceSaveBtn_Click(object sender, RoutedEventArgs e)
        {
            // get all save preferences
            Color selectedColor = (Color)colorPickerControl.SelectedColor;

            // get background color
            Color selectedBckColor = (Color)backgroundColorPickerControl.SelectedColor;


            // create new prefeence obj
            Preference pref = new Preference();

            pref.FontColor       = selectedColor;
            pref.FontFamily      = new FontFamily(PreferenceFontFamilyCombo.SelectedValue.ToString());
            pref.FontSize        = Math.Round(PreferenceFontSizeSlider.Value, 2);
            pref.BackgroundColor = selectedBckColor;


            // get time format
            bool is12TimeFormat = PreferenceTimeFormat12RadioBtn.IsChecked == true ? true : false;

            pref.Is12HrFormat = is12TimeFormat;

            // send data back to main window
            // invoke delegate
            preferenceDelegate.Invoke(pref);

            // close this window
            this.Close();
        }