private void SaveSettings_Click(object sender, EventArgs e) { if (File.Exists(TxtVideoDbLocation.Text) & File.Exists(TxtPseudoTvSettingsLocation.Text) & File.Exists(TxtAddonDatabaseLocation.Text)) { KodiVersion = PseudoTvUtils.GetKodiVersion(TxtVideoDbLocation.Text); if (PseudoTvUtils.TestMySqlLite(TxtVideoDbLocation.Text) != true) return; //Now, update all settings Settings.Default.DatabaseType = 0; Settings.Default.VideoDatabaseLocation = TxtVideoDbLocation.Text; Settings.Default.PseudoTvSettingsLocation = TxtPseudoTvSettingsLocation.Text; Settings.Default.AddonDatabaseLocation = TxtAddonDatabaseLocation.Text; Settings.Default.KodiVersion = (int)KodiVersion; Settings.Default.Save(); //Refresh everything _mainWindow.RefreshAll(); _mainWindow.RefreshTvGuide(); Visible = false; _mainWindow.Focus(); } else if (!string.IsNullOrEmpty(TxtMySqlServer.Text) & !string.IsNullOrEmpty(TxtMySqlUserId.Text) & !string.IsNullOrEmpty(TxtMySqlDatabase.Text) & File.Exists(TxtPseudoTvSettingsLocation.Text) & File.Exists(TxtAddonDatabaseLocation.Text)) { var connectionString = "server=" + TxtMySqlServer.Text + "; user id=" + TxtMySqlUserId.Text + "; password="******"; database=" + TxtMySqlDatabase.Text + "; port=" + TxtMySqlPort.Text; if (!PseudoTvUtils.TestMySql(connectionString)) return; //Now, update all settings Settings.Default.DatabaseType = 1; Settings.Default.MySqlConnectionString = connectionString; Settings.Default.PseudoTvSettingsLocation = TxtPseudoTvSettingsLocation.Text; Settings.Default.AddonDatabaseLocation = TxtAddonDatabaseLocation.Text; Settings.Default.KodiVersion = (int)KodiVersion; Settings.Default.Save(); //Refresh everything _mainWindow.RefreshAll(); _mainWindow.RefreshTvGuide(); Visible = false; _mainWindow.Focus(); } }
private void FindKodiSettings() { var folderKodi = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\kodi\\userdata"; var folderXbmc = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\.xbmc\\userdata"; string databaseFolder = null; string addonDataFolder = null; if ((Directory.Exists(folderKodi))) { databaseFolder = folderKodi + "\\Database"; addonDataFolder = folderKodi + "\\addon_data"; } else if ((Directory.Exists(folderXbmc))) { databaseFolder = folderXbmc + "\\Database"; addonDataFolder = folderXbmc + "\\addon_data"; } else { return; } var regex = new Regex("(Addons|MyVideos)(\\d+).db"); var databaseDir = new DirectoryInfo(databaseFolder); var filelist = databaseDir.GetFiles(); foreach (var file in filelist) { var match = regex.Match(file.Name); if (!match.Success) continue; switch (match.Groups[1].Value) { case "MyVideos": KodiVersion = PseudoTvUtils.GetKodiVersion(file.Name); TxtVideoDbLocation.Text = file.FullName; break; case "Addons": TxtAddonDatabaseLocation.Text = file.FullName; break; } } //C:\Users\%CurrentUser%\AppData\Roaming\Kodi\userdata\addon_data\script.pseudotv.live\settings2.xml if ((File.Exists(addonDataFolder + "\\script.pseudotv.live\\settings2.xml"))) { TxtPseudoTvSettingsLocation.Text = addonDataFolder + "\\script.pseudotv.live\\settings2.xml"; } switch (KodiVersion) { case KodiVersion.Gotham: XbmcVersion.SelectedIndex = 0; break; case KodiVersion.Helix: XbmcVersion.SelectedIndex = 1; break; case KodiVersion.Isengard: XbmcVersion.SelectedIndex = 2; break; case KodiVersion.Jarvis: XbmcVersion.SelectedIndex = 3; break; } }