private void user_reset_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult result = MessageBox.Show(Lang.get_error("reset_click_msg", lang_list.SelectedIndex.ToString()), "ChaosModV",
                                                      MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (result == MessageBoxResult.Yes)
            {
                m_configFile.ResetFile();

                m_effectsFile.ResetFile();

                result = MessageBox.Show(Lang.get_error("reset_twitch_msg", lang_list.SelectedIndex.ToString()), "ChaosModV",//"Do you want to reset your Twitch settings too?", "ChaosModV",
                                         MessageBoxButton.YesNo, MessageBoxImage.Question);

                if (result == MessageBoxResult.Yes)
                {
                    m_twitchFile.ResetFile();
                    ParseTwitchFile();

                    // Ensure all options are disabled in twitch tab again
                    TwitchTabHandleAgreed();
                }

                Init();

                MessageBox.Show(Lang.get_error("reset_complete_msg", lang_list.SelectedIndex.ToString()), "ChaosModV", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
        private void user_save_Click(object sender, RoutedEventArgs e)
        {
            WriteConfigFile();
            WriteTwitchFile();
            WriteEffectsFile();

            // Reload saved config to show the "new" (saved) settings
            ParseConfigFile();
            ParseTwitchFile();

            MessageBox.Show(Lang.get_error("save_complete_msg", lang_list.SelectedIndex.ToString()), "ChaosModV", MessageBoxButton.OK, MessageBoxImage.Information);
        }
        private void Init()
        {
            InitializeComponent();

            if (!m_initializedTitle)
            {
                m_initializedTitle = true;

                Title += " (v" + Info.VERSION + ")";
            }

            CheckForUpdates();

            ParseConfigFile();
            ParseTwitchFile();

            InitEffectsTreeView();

            ParseEffectsFile();

            InitTwitchTab();

            // Check write permissions
            try
            {
                if (!File.Exists(".writetest"))
                {
                    using (File.Create(".writetest"))
                    {
                    }

                    File.Delete(".writetest");
                }
            }
            catch (UnauthorizedAccessException)
            {
                MessageBox.Show(Lang.get_error("no_write_permission_msg", CultureInfo.InstalledUICulture.ToString()), Lang.get_error("no_write_permission_title", CultureInfo.InstalledUICulture.ToString()),
                                MessageBoxButton.OK, MessageBoxImage.Error);

                Application.Current.Shutdown();
            }
        }