From: <nor...@us...> - 2007-08-13 23:44:59
|
Revision: 833 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=833&view=rev Author: northern_sky Date: 2007-08-13 16:44:56 -0700 (Mon, 13 Aug 2007) Log Message: ----------- made dbhandler real singelton,fixed a viewbug Modified Paths: -------------- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Database/DatabaseHandler.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/FileDetailsForm.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SettingsBase.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SettingsRoot.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SetupForm.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/GUIPrograms.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Imports/GamebaseImport.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Imports/MameImport.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItem.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemDirectoryCache.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemFactory.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemGrouper.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/BaseItem.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/FileItem.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/FilelinkItem.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/ProgramUtils.cs trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/ProgramViewHandler.cs Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Database/DatabaseHandler.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Database/DatabaseHandler.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Database/DatabaseHandler.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -41,32 +41,33 @@ { /// <summary> /// DBhandling methods + /// Singleton. Dont allow any instance of this class /// </summary> - public class DatabaseHandler + public sealed class DatabaseHandler { + private SQLiteConnection sqlLiteConnection = null; + private List<ApplicationItem> globalApplicationItemList = new List<ApplicationItem>(); + private readonly string DATABASEFILE = "myProgramsAltDatabaseV1.db3"; - private static SQLiteConnection sqlLiteConn = null; + private static DatabaseHandler instance = new DatabaseHandler(); + // Explicit static constructor to tell C# compiler + // not to mark type as beforefieldinit + static DatabaseHandler() { } - static List<ApplicationItem> globalApplicationItemList = new List<ApplicationItem>(); - private const string DATABASEFILE = "myProgramsAltDatabaseV1.db3"; - - // singleton. Dont allow any instance of this class - private DatabaseHandler() { } - - static DatabaseHandler() + private DatabaseHandler() { string DatabasePath = Config.GetFile(Config.Dir.Database, DATABASEFILE); + string connString = string.Empty; try { - //check if database exists if (!File.Exists(DatabasePath)) { SQLiteConnection.CreateFile(DatabasePath); - string connString = "Data Source=" + Config.GetFile(Config.Dir.Database, DATABASEFILE); - sqlLiteConn = new SQLiteConnection(connString); + connString = "Data Source=" + Config.GetFile(Config.Dir.Database, DATABASEFILE); + sqlLiteConnection = new SQLiteConnection(connString); SetPragmas(); @@ -78,24 +79,27 @@ } else { - string connString = "Data Source=" + Config.GetFile(Config.Dir.Database, DATABASEFILE) + ";Version=3"; - sqlLiteConn = new SQLiteConnection(connString); + connString = "Data Source=" + Config.GetFile(Config.Dir.Database, DATABASEFILE) + ";Version=3"; + sqlLiteConnection = new SQLiteConnection(connString); } - //globalApplicationItemList = new ApplicationItemList(sqlDB, new ApplicationItem.FilelinkLaunchEventHandler(LaunchFilelink)); - LoadAllApplicationItems(); } catch (SQLiteException ex) { - Log.Info("programdatabase exception err:{0} stack:{1}", ex.Message, ex.StackTrace); + Log.Info("DatabaseHandler() exception err:{0} stack:{1}", ex.Message, ex.StackTrace); } } - static private void SetPragmas() + + public static DatabaseHandler DBHandlerInstance { + get { return instance; } + } + + private void SetPragmas() + { ExecuteStmtNonQuery("PRAGMA default_cache_size=3000"); ExecuteStmtNonQuery("PRAGMA count_changes=1"); ExecuteStmtNonQuery("PRAGMA short_column_names=1"); ExecuteStmtNonQuery("PRAGMA auto_vacuum=1"); - } /*static void LaunchFilelink(FilelinkItem curLink, bool MPGUIMode) @@ -109,15 +113,15 @@ // we can always keep an connection open in sqllite.. //to expensive closing it - public static SQLiteConnection SqlLiteConn + public SQLiteConnection SqlLiteConn { get { - if (sqlLiteConn.State == ConnectionState.Closed) + if (sqlLiteConnection.State == ConnectionState.Closed) { - sqlLiteConn.Open(); + sqlLiteConnection.Open(); } - return sqlLiteConn; + return sqlLiteConnection; } } @@ -125,67 +129,70 @@ /// Create db tables etc,if not already exist /// </summary> /// <returns></returns> - static bool CreateDBTables() + bool CreateDBTables() { string sqlStmt = @"CREATE TABLE tblApplicationItem - ( - applicationId INTEGER PRIMARY KEY, - fatherNodeId INTEGER, - title TEXT, - filename TEXT, - arguments TEXT, - windowstyle TEXT, - startupdir TEXT, - useShellExecute BOOL, - useQuotes BOOL, - applicationItemType TEXT, - source TEXT, - imagefile TEXT, - filedirectory TEXT, - imagedirectory TEXT, - validExtensions TEXT, - enabled BOOL, - importValidImagesOnly BOOL, - iposition INTEGER, - refreshGUIAllowed BOOL, - platformId INTEGER, - waitForExit BOOL, - preLaunch TEXT, - postLaunch TEXT - )"; + ( + applicationId INTEGER PRIMARY KEY, + fatherNodeId INTEGER, + title TEXT, + filename TEXT, + arguments TEXT, + windowstyle TEXT, + startupdir TEXT, + useShellExecute BOOL, + useQuotes BOOL, + applicationItemType TEXT, + source TEXT, + imagefile TEXT, + filedirectory TEXT, + imagedirectory TEXT, + validExtensions TEXT, + enabled BOOL, + importValidImagesOnly BOOL, + iposition INTEGER, + refreshGUIAllowed BOOL, + platformId INTEGER, + waitForExit BOOL, + preLaunch TEXT, + postLaunch TEXT + )"; ExecuteStmtNonQuery(sqlStmt); - sqlStmt = @"CREATE TABLE tblFileItem (fileid INTEGER PRIMARY KEY, applicationId INTEGER, title TEXT, filename TEXT, imagefile TEXT, genreId INTEGER, genreStyleId INTEGER, country TEXT, manufacturerId INTEGER, year INTEGER, rating INTEGER, overview TEXT, platformId INTEGER, lastTimeLaunched TEXT, launchcount INTEGER, categorydata TEXT, gameInfoUrl TEXT)"; ExecuteStmtNonQuery(sqlStmt); + sqlStmt = @"CREATE TABLE tblFileLinkItem (applicationId INTEGER, grouperAppID INTEGER, fileID INTEGER, filename TEXT, updateFlag INTEGER)"; ExecuteStmtNonQuery(sqlStmt); + sqlStmt = @"CREATE TABLE tblSetting (settingid INTEGER PRIMARY KEY, key TEXT, value TEXT)"; ExecuteStmtNonQuery(sqlStmt); sqlStmt = @"CREATE TABLE - tblGenre - ( - genreId INTEGER PRIMARY KEY, - genre TEXT - )"; + tblGenre + ( + genreId INTEGER PRIMARY KEY, + genre TEXT + )"; ExecuteStmtNonQuery(sqlStmt); + sqlStmt = @"CREATE TABLE - tblPlatform - ( - platformId INTEGER PRIMARY KEY, - platform TEXT - )"; + tblPlatform + ( + platformId INTEGER PRIMARY KEY, + platform TEXT + )"; ExecuteStmtNonQuery(sqlStmt); + sqlStmt = @"CREATE TABLE - tblManufacturer - ( - manufacturerId INTEGER PRIMARY KEY, - manufacturer TEXT - )"; + tblManufacturer + ( + manufacturerId INTEGER PRIMARY KEY, + manufacturer TEXT + )"; ExecuteStmtNonQuery(sqlStmt); sqlStmt = @"CREATE INDEX idxFile1 ON tblFileItem(applicationId)"; @@ -202,7 +209,7 @@ /// Inserting some default values so that the db is preloaded /// Should always be there. /// </summary> - private static void InsertDefaultDBValues() + private void InsertDefaultDBValues() { string sqlStmt = @"INSERT INTO @@ -254,7 +261,7 @@ } - private static void FillDefaultDBLexiconHelper(string tableName, string columnName, List<string> itemList) + private void FillDefaultDBLexiconHelper(string tableName, string columnName, List<string> itemList) { SQLiteParameter[] paramCollection = new SQLiteParameter[1]; SQLiteParameter paramInsertValue = new SQLiteParameter("@insertValue", DbType.String); @@ -273,15 +280,13 @@ foreach (string insertValue in itemList) { - - paramCollection[0].Value = insertValue; ExecuteStmtNonQuery(sqlStmt, paramCollection); } } #region dbsettings - static public string ReadSetting(string Key) + public string ReadSetting(string Key) { string sqlStmt = string.Empty; @@ -305,7 +310,7 @@ return keyValue; } - static int CountKey(string Key) + int CountKey(string Key) { string sqlStmt = string.Empty; int keyValue = 0; @@ -322,12 +327,12 @@ return keyValue; } - static public bool KeyExists(string Key) + public bool KeyExists(string Key) { return (CountKey(Key) > 0); } - static public void WriteSetting(string Key, string Value) + public void WriteSetting(string Key, string Value) { string sqlStmt = string.Empty; @@ -355,21 +360,19 @@ ExecuteStmtNonQuery(sqlStmt); } - static public void DeleteSetting(string Key) + public void DeleteSetting(string Key) { - string sqlStmt = "DELETE FROM tblSetting WHERE key = '" + Key + "'"; ExecuteStmtNonQuery(sqlStmt); } #endregion dbsettings - public static int LexiconDataExists(string tableName, string columnName, string fieldValue) + public int LexiconDataExists(string tableName, string columnName, string fieldValue) { SQLiteParameter[] parameterArray = new SQLiteParameter[1]; parameterArray[0] = GetParameter<string>(fieldValue, "@fieldValue", DbType.String); - string sqlStmt = @" SELECT " + columnName + @"id @@ -415,6 +418,7 @@ #region default lexiconvalues + private static List<string> CreateGenreLexiconList() { List<string> genreList = new List<string>(); @@ -469,9 +473,7 @@ #endregion default lexiconvalues - - - static public List<ApplicationItem> ApplicationItemList + public List<ApplicationItem> ApplicationItemList { get { @@ -479,7 +481,7 @@ } } - static public ItemType GetItemType(string columnName, string tableName, int id) + public ItemType GetItemType(string columnName, string tableName, int id) { ItemType itemType = ItemType.UNKNOWN; @@ -491,7 +493,7 @@ #region dataaccess help methods - public static DataTable ExecuteStmtDataTable(string stmt) + public DataTable ExecuteStmtDataTable(string stmt) { DataTable dataTable = new DataTable(); @@ -514,7 +516,7 @@ return dataTable; } - public static void ExecuteStmtNonQuery(string stmt) + public void ExecuteStmtNonQuery(string stmt) { try { @@ -530,7 +532,7 @@ } } - public static void ExecuteStmtNonQuery(string stmt, SQLiteParameter[] paramcollection) + public void ExecuteStmtNonQuery(string stmt, SQLiteParameter[] paramcollection) { try { @@ -547,7 +549,7 @@ } } - public static T ExecuteStmtScalar<T>(string stmt, SQLiteParameter[] paramcollection) + public T ExecuteStmtScalar<T>(string stmt, SQLiteParameter[] paramcollection) { object o = null; @@ -564,7 +566,6 @@ return (T)Convert.ChangeType(o, typeof(T)); } return default(T); - } } catch (Exception exception) @@ -573,9 +574,7 @@ } } - - - public static object ExecuteStmtScalar(string stmt) + public object ExecuteStmtScalar(string stmt) { object o = null; try @@ -603,7 +602,7 @@ #endregion dataaccess help methods - public static void LoadAllApplicationItems() + public void LoadAllApplicationItems() { try { @@ -620,7 +619,6 @@ // applicationItem.OnLaunchFilelink += new ApplicationItem.FilelinkLaunchEventHandler(LaunchFilelink); globalApplicationItemList.Add(applicationItem); } - } } } Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/AppFilesView.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -40,7 +40,7 @@ { public partial class AppSettingsFilesView : UserControl { - private List<ApplicationItem> apps = DatabaseHandler.ApplicationItemList; + private List<ApplicationItem> apps = DatabaseHandler.DBHandlerInstance.ApplicationItemList; public event EventHandler OnRefreshClick; private ApplicationItem currentApplication = null; public event EventHandler OnImageFolderSearch; Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/FileDetailsForm.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/FileDetailsForm.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/FileDetailsForm.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -108,7 +108,7 @@ List<ListItem> listItemList = new List<ListItem>(); - SQLiteCommand command = DatabaseHandler.SqlLiteConn.CreateCommand(); + SQLiteCommand command = DatabaseHandler.DBHandlerInstance.SqlLiteConn.CreateCommand(); Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SettingsBase.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SettingsBase.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SettingsBase.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -44,6 +44,7 @@ public partial class SettingsBase : UserControl { protected ConditionChecker conditionChecker = new ConditionChecker(); + protected DatabaseHandler dbHandlerInstance = DatabaseHandler.DBHandlerInstance; public SettingsBase() Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SettingsRoot.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SettingsRoot.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SettingsRoot.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -53,7 +53,7 @@ base.LoadSettings(curApp); // plugin title - titleTextBox.Text = DatabaseHandler.ReadSetting(ProgramUtils.cPLUGINTITLE); + titleTextBox.Text = dbHandlerInstance.ReadSetting(ProgramUtils.cPLUGINTITLE); if (titleTextBox.Text == "") { // PluginTitle.Text = GUILocalizeStrings.Get(0); @@ -77,15 +77,15 @@ // plugin title if (titleTextBox.Text == ProgramUtils.cDefaultPluginTitle || titleTextBox.Text == "") - DatabaseHandler.DeleteSetting(ProgramUtils.cPLUGINTITLE); + dbHandlerInstance.DeleteSetting(ProgramUtils.cPLUGINTITLE); else - DatabaseHandler.WriteSetting(ProgramUtils.cPLUGINTITLE, titleTextBox.Text); + dbHandlerInstance.WriteSetting(ProgramUtils.cPLUGINTITLE, titleTextBox.Text); // sleep time - DatabaseHandler.WriteSetting(ProgramUtils.cSLIDESPEED, sleepTimeNumericUpDown.Value.ToString()); + dbHandlerInstance.WriteSetting(ProgramUtils.cSLIDESPEED, sleepTimeNumericUpDown.Value.ToString()); // use mp thumbs dir - DatabaseHandler.WriteSetting(ProgramUtils.cUSE_MP_THUMBS_DIR, checkBoxUseThumbsDir.Checked.ToString()); + dbHandlerInstance.WriteSetting(ProgramUtils.cUSE_MP_THUMBS_DIR, checkBoxUseThumbsDir.Checked.ToString()); } Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SetupForm.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SetupForm.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Design/SetupForm.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -57,7 +57,8 @@ #region Variables - private List<ApplicationItem> globalApplicationList = DatabaseHandler.ApplicationItemList; + private DatabaseHandler dbHandlerInstance = DatabaseHandler.DBHandlerInstance; + private List<ApplicationItem> globalApplicationList;// = DatabaseHandler.DBHandlerInstance.ApplicationItemList; private AppSettingsDirCache appSettingsDirCache = new AppSettingsDirCache(); private AppSettingsMame appSettingsMame = new AppSettingsMame(); private AppSettingsGamebase appSettingsGameBase = new AppSettingsGamebase(); @@ -79,7 +80,9 @@ public SetupForm() { InitializeComponent(); - + //globalApplicationItemList = new ApplicationItemList(sqlDB, new ApplicationItem.FilelinkLaunchEventHandler(LaunchFilelink)); + dbHandlerInstance.LoadAllApplicationItems(); + globalApplicationList = dbHandlerInstance.ApplicationItemList; appSettingsFileEditView.OnRefreshClick += new EventHandler(this.RefreshClick); //when imagefolder was clicked on filesview... appSettingsFileEditView.OnImageFolderSearch += new EventHandler(this.ImageSearchClick); @@ -654,7 +657,7 @@ //ADD POSITION CHECK? - DatabaseHandler.LoadAllApplicationItems(); + dbHandlerInstance.LoadAllApplicationItems(); UpdateTree(); } } @@ -688,7 +691,7 @@ } newApplication.SourceType = newSourceType; newApplication.InsertOrUpdateSettings(); - DatabaseHandler.LoadAllApplicationItems(); + dbHandlerInstance.LoadAllApplicationItems(); UpdateTree(); @@ -896,7 +899,7 @@ } } - DatabaseHandler.LoadAllApplicationItems(); + dbHandlerInstance.LoadAllApplicationItems(); UpdateTree(); } } @@ -951,9 +954,9 @@ } //close conn - if (DatabaseHandler.SqlLiteConn.State == ConnectionState.Open) + if (dbHandlerInstance.SqlLiteConn.State == ConnectionState.Open) { - DatabaseHandler.SqlLiteConn.Close(); + dbHandlerInstance.SqlLiteConn.Close(); } } @@ -1099,7 +1102,7 @@ try { - DatabaseHandler.ExecuteStmtNonQuery(sqlStmt); + dbHandlerInstance.ExecuteStmtNonQuery(sqlStmt); } catch (Exception exception) { @@ -1123,7 +1126,7 @@ try { - DatabaseHandler.ExecuteStmtNonQuery(sqlStmt); + dbHandlerInstance.ExecuteStmtNonQuery(sqlStmt); } catch (Exception exception) { @@ -1147,7 +1150,7 @@ try { - DatabaseHandler.ExecuteStmtNonQuery(sqlStmt); + dbHandlerInstance.ExecuteStmtNonQuery(sqlStmt); } catch (Exception exception) { @@ -1170,7 +1173,7 @@ " + column + @" <> 1 "; try { - DatabaseHandler.ExecuteStmtNonQuery(sqlStmt); + dbHandlerInstance.ExecuteStmtNonQuery(sqlStmt); } catch (Exception exception) { Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/GUIPrograms.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/GUIPrograms.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/GUIPrograms.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -70,7 +70,7 @@ /// false : plugin does not need its own button on home</returns> public bool GetHome(out string strButtonText, out string strButtonImage, out string strButtonImageFocus, out string strPictureImage) { - string strText = DatabaseHandler.ReadSetting(ProgramUtils.cPLUGINTITLE); + string strText = dbHandlerInstance.ReadSetting(ProgramUtils.cPLUGINTITLE); if ((strText != "") && (strText != null)) { strButtonText = strText; @@ -403,6 +403,8 @@ public GUIPrograms() { + dbHandlerInstance.LoadAllApplicationItems(); + globalApplicationList = dbHandlerInstance.ApplicationItemList; GetID = (int)Window.WINDOW_FILES; LoadSettings(); skipInit = true; @@ -426,9 +428,9 @@ } - if (DatabaseHandler.SqlLiteConn.State == ConnectionState.Open) + if (dbHandlerInstance.SqlLiteConn.State == ConnectionState.Open) { - DatabaseHandler.SqlLiteConn.Close(); + dbHandlerInstance.SqlLiteConn.Close(); } } @@ -468,11 +470,12 @@ static int startWindow = (int)GUIWindow.Window.WINDOW_FILES; protected ProgramSort.SortMethod currentSortMethod = ProgramSort.SortMethod.Title; + protected DatabaseHandler dbHandlerInstance = DatabaseHandler.DBHandlerInstance; bool currentSortAsc = true; ProgramViewHandler viewHandler = ProgramViewHandler.Instance; - List<ApplicationItem> allApplicationsList = DatabaseHandler.ApplicationItemList; + List<ApplicationItem> globalApplicationList;// dbHandlerInstance.ApplicationItemList; public MapSettings mapSettings = new MapSettings(); DirectoryHistory itemHistory = new DirectoryHistory(); public ApplicationItem lastApp = null; @@ -779,7 +782,7 @@ } else { - string strText = DatabaseHandler.ReadSetting(ProgramUtils.cPLUGINTITLE); + string strText = dbHandlerInstance.ReadSetting(ProgramUtils.cPLUGINTITLE); if ((strText != "") && (strText != null)) { GUIPropertyManager.SetProperty("#curheader", strText); @@ -1076,7 +1079,7 @@ { List<ApplicationItem> applicationItemList = new List<ApplicationItem>(); - foreach (ApplicationItem curApp in allApplicationsList) + foreach (ApplicationItem curApp in globalApplicationList) { if (curApp.FatherID == FatherID) { @@ -1101,7 +1104,7 @@ public int GetMaxPosition(int fatherID) { int res = 0; - foreach (ApplicationItem curApp in allApplicationsList) + foreach (ApplicationItem curApp in globalApplicationList) { if ((curApp.FatherID == fatherID) && (curApp.Position > res)) { @@ -1113,7 +1116,7 @@ public ApplicationItem GetAppByID(int targetAppID) { - foreach (ApplicationItem curApp in allApplicationsList) + foreach (ApplicationItem curApp in globalApplicationList) { if (curApp.ApplicationItemId == targetAppID) { Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Imports/GamebaseImport.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Imports/GamebaseImport.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Imports/GamebaseImport.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -42,6 +42,7 @@ public class GamebaseImport { private ApplicationItem applicationItem = null; + // event: read new file public delegate void MyEventHandler(string informationMessage, int progressBarCtr); @@ -68,16 +69,16 @@ string strGenre1 = myReader["ParentGenre"].ToString(); string strGenre2 = myReader["Genre"].ToString(); - int LexiconId = DatabaseHandler.LexiconDataExists("tblGenre", "genre", strGenre1); + int LexiconId = DatabaseHandler.DBHandlerInstance.LexiconDataExists("tblGenre", "genre", strGenre1); curFile.GenreId = LexiconId; - LexiconId = DatabaseHandler.LexiconDataExists("tblGenre", "genre", strGenre2); + LexiconId = DatabaseHandler.DBHandlerInstance.LexiconDataExists("tblGenre", "genre", strGenre2); curFile.GenreStyleId = LexiconId; // todo: country curFile.Country = ""; - LexiconId = DatabaseHandler.LexiconDataExists("tblManufacturer", "manufacturer", myReader["Publisher"].ToString()); + LexiconId = DatabaseHandler.DBHandlerInstance.LexiconDataExists("tblManufacturer", "manufacturer", myReader["Publisher"].ToString()); curFile.ManufacturerId = LexiconId; curFile.Year = Convert.ToInt32(myReader["Year"]); curFile.Rating = Convert.ToInt32(myReader["Rating"]) * 2; Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Imports/MameImport.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Imports/MameImport.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Imports/MameImport.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -308,8 +308,8 @@ localRomNames.Reverse(); double total = localRomNames.Count; - - using (SQLiteTransaction transaction = DatabaseHandler.SqlLiteConn.BeginTransaction()) + + using (SQLiteTransaction transaction = DatabaseHandler.DBHandlerInstance.SqlLiteConn.BeginTransaction()) { foreach (string fileName in localRomNames) {// @@ -337,7 +337,7 @@ { curFile.Year = Convert.ToInt32(match.Groups["year"].Value); - int LexiconId = DatabaseHandler.LexiconDataExists("tblManufacturer", "manufacturer", match.Groups["manufacturer"].Value); + int LexiconId = DatabaseHandler.DBHandlerInstance.LexiconDataExists("tblManufacturer", "manufacturer", match.Groups["manufacturer"].Value); curFile.ManufacturerId = LexiconId; @@ -420,7 +420,7 @@ ProcessFullEntry(curFile, fullEntry); ProcessGenreEntry(curFile, genreEntry); - int LexiconId = DatabaseHandler.LexiconDataExists("tblPlatform", "platform", "Arcade"); + int LexiconId = DatabaseHandler.DBHandlerInstance.LexiconDataExists("tblPlatform", "platform", "Arcade"); curFile.PlatformId = LexiconId; curFile.Rating = 5; @@ -475,10 +475,10 @@ { genres[z] = tmpArr[z]; } - int LexiconId = DatabaseHandler.LexiconDataExists("tblGenre", "genre", genres[0].ToString()); + int LexiconId = DatabaseHandler.DBHandlerInstance.LexiconDataExists("tblGenre", "genre", genres[0].ToString()); curFile.GenreId = LexiconId; - LexiconId = DatabaseHandler.LexiconDataExists("tblGenre", "genre", genres[1].ToString()); + LexiconId = DatabaseHandler.DBHandlerInstance.LexiconDataExists("tblGenre", "genre", genres[1].ToString()); curFile.GenreStyleId = LexiconId; } // mspacman=Maze Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItem.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItem.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItem.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -510,7 +510,7 @@ filePath = pathSubfolders; string sqlQuery = ViewHandler.BuildQuery( appID, pathSubfolders ); - using ( SQLiteCommand command = DatabaseHandler.SqlLiteConn.CreateCommand() ) + using (SQLiteCommand command = dbHandlerInstance.SqlLiteConn.CreateCommand()) { command.CommandText = sqlQuery; using ( SQLiteDataReader dataReader = command.ExecuteReader() ) @@ -746,7 +746,7 @@ int result = 0; // won't work in multiuser environment :) string sqlStmt = "SELECT MAX(applicationId) FROM tblApplicationItem"; - object o = DatabaseHandler.ExecuteStmtScalar( sqlStmt ); + object o = dbHandlerInstance.ExecuteStmtScalar( sqlStmt ); if ( o.ToString() != "" ) { result = Convert.ToInt32( o ); @@ -850,7 +850,7 @@ @postLaunch )"; - DatabaseHandler.ExecuteStmtNonQuery( sqlStmt, parameterArray ); + dbHandlerInstance.ExecuteStmtNonQuery( sqlStmt, parameterArray ); } catch ( SQLiteException ex ) { @@ -922,7 +922,7 @@ WHERE applicationId = @applicationItemId"; - DatabaseHandler.ExecuteStmtNonQuery( sqlStmt, parameterArray ); ; + dbHandlerInstance.ExecuteStmtNonQuery( sqlStmt, parameterArray ); ; } catch ( SQLiteException ex ) { @@ -942,7 +942,7 @@ { DeleteFiles(); DeleteFileLinks(paramArray); - DatabaseHandler.ExecuteStmtNonQuery( "DELETE FROM tblApplicationItem WHERE applicationId = @applicationItemId",paramArray); + dbHandlerInstance.ExecuteStmtNonQuery( "DELETE FROM tblApplicationItem WHERE applicationId = @applicationItemId",paramArray); } catch ( SQLiteException ex ) { @@ -957,7 +957,7 @@ try { - DatabaseHandler.ExecuteStmtNonQuery( "DELETE FROM tblFileItem WHERE applicationId = " +ApplicationItemId ); + dbHandlerInstance.ExecuteStmtNonQuery( "DELETE FROM tblFileItem WHERE applicationId = " +ApplicationItemId ); } catch ( SQLiteException ex ) { @@ -971,7 +971,7 @@ try { - DatabaseHandler.ExecuteStmtNonQuery( "DELETE FROM tblFileLinkItem WHERE applicationId = @applicationItemId OR grouperappid = @applicationItemId",paramArray ); + dbHandlerInstance.ExecuteStmtNonQuery( "DELETE FROM tblFileLinkItem WHERE applicationId = @applicationItemId OR grouperappid = @applicationItemId",paramArray ); } catch ( SQLiteException ex ) { @@ -1026,9 +1026,9 @@ try { // 1) initialize TAG.. // update command to fix one single link - DatabaseHandler.ExecuteStmtNonQuery( "update tblFileLinkItem set updateFlag = 1234 where applicationId = " + ApplicationItemId ); + dbHandlerInstance.ExecuteStmtNonQuery( "update tblFileLinkItem set updateFlag = 1234 where applicationId = " + ApplicationItemId ); - dataTable = DatabaseHandler.ExecuteStmtDataTable( sqlSelectDataToFix ); + dataTable = dbHandlerInstance.ExecuteStmtDataTable( sqlSelectDataToFix ); // 2) fix all fileids of the newly imported files @@ -1038,13 +1038,13 @@ { newFileID = Convert.ToInt32( row["newfileid"] ); filenameToFix = row["filename"].ToString(); - DatabaseHandler.ExecuteStmtNonQuery( "update tblFileLinkItem set fileID = " + newFileID + ", updateFlag = 0 where applicationId = " + ApplicationItemId + " and filename = '" + filenameToFix + "'" ); + dbHandlerInstance.ExecuteStmtNonQuery( "update tblFileLinkItem set fileID = " + newFileID + ", updateFlag = 0 where applicationId = " + ApplicationItemId + " and filename = '" + filenameToFix + "'" ); } // 3) delete untouched links ( they were not imported anymore ) - DatabaseHandler.ExecuteStmtNonQuery( @"delete from tblFileLinkItem where applicationId = " + ApplicationItemId + " and updateFlag = 1234" ); + dbHandlerInstance.ExecuteStmtNonQuery( @"delete from tblFileLinkItem where applicationId = " + ApplicationItemId + " and updateFlag = 1234" ); } catch ( SQLiteException ex ) Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemDirectoryCache.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemDirectoryCache.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemDirectoryCache.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -236,7 +236,7 @@ } private void ImportDirectory(string[] fileDirPaths, bool mpGuiMode) { - using ( SQLiteTransaction transaction = DatabaseHandler.SqlLiteConn.BeginTransaction() ) + using ( SQLiteTransaction transaction = dbHandlerInstance.SqlLiteConn.BeginTransaction() ) { //get all maindirs Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemFactory.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemFactory.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemFactory.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -113,7 +113,7 @@ item.StartupDir = (string)dataReader["startupdir"]; item.UseShellExecute =(bool) dataReader["useShellExecute"]; item.UseQuotes =(bool) dataReader["useQuotes"]; - item.SourceType = (ItemType) DatabaseHandler.GetItemType("applicationItemType","tblApplicationItem",item.ApplicationItemId); + item.SourceType = (ItemType) DatabaseHandler.DBHandlerInstance.GetItemType("applicationItemType","tblApplicationItem",item.ApplicationItemId); item.Source = (string)dataReader["source"]; item.Imagefile = (string)dataReader["imagefile"]; item.FileDirectory = (string)dataReader["filedirectory"]; Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemGrouper.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemGrouper.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/ApplicationItemGrouper.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -128,7 +128,7 @@ filePath = pathSubfolders; - using ( SQLiteCommand command = DatabaseHandler.SqlLiteConn.CreateCommand() ) + using ( SQLiteCommand command = dbHandlerInstance.SqlLiteConn.CreateCommand() ) { command.CommandText = strSQL; using ( SQLiteDataReader dataReader = command.ExecuteReader() ) Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/BaseItem.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/BaseItem.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/BaseItem.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -22,8 +22,7 @@ public abstract class BaseItem { - - protected static SQLiteConnection sqlDB = DatabaseHandler.SqlLiteConn; + protected DatabaseHandler dbHandlerInstance = DatabaseHandler.DBHandlerInstance; public ProgramViewHandler ViewHandler = ProgramViewHandler.Instance; public string filePath = ""; //s protected FilelinkItemList fileLinks = null; Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/FileItem.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/FileItem.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/FileItem.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -521,7 +521,7 @@ - DatabaseHandler.ExecuteStmtNonQuery( sqlStmt, parameterArray ); + dbHandlerInstance.ExecuteStmtNonQuery( sqlStmt, parameterArray ); } catch ( SQLiteException ex ) @@ -576,7 +576,7 @@ WHERE fileid = @fileId"; - DatabaseHandler.ExecuteStmtNonQuery(sqlStmt,parameterArray); + dbHandlerInstance.ExecuteStmtNonQuery(sqlStmt,parameterArray); } catch ( SQLiteException ex ) { @@ -598,7 +598,7 @@ try { - DatabaseHandler.ExecuteStmtNonQuery(@" + dbHandlerInstance.ExecuteStmtNonQuery(@" UPDATE tblFileItem SET @@ -634,8 +634,8 @@ { try { - DatabaseHandler.ExecuteStmtNonQuery( @"DELETE FROM tblFileLinkItem WHERE fileid = " + this.FileID ); - DatabaseHandler.ExecuteStmtNonQuery( @"DELETE FROM tblFileItem WHERE fileid = " + this.FileID ); + dbHandlerInstance.ExecuteStmtNonQuery( @"DELETE FROM tblFileLinkItem WHERE fileid = " + this.FileID ); + dbHandlerInstance.ExecuteStmtNonQuery( @"DELETE FROM tblFileItem WHERE fileid = " + this.FileID ); } catch ( SQLiteException ex ) @@ -720,16 +720,16 @@ { if ( this.FileInfoFavourite != null ) { - int LexiconId = DatabaseHandler.LexiconDataExists( "tblGenre", "genre", FileInfoFavourite.Genre ); + int LexiconId = dbHandlerInstance.LexiconDataExists( "tblGenre", "genre", FileInfoFavourite.Genre ); this.GenreId = LexiconId; - LexiconId = DatabaseHandler.LexiconDataExists( "tblGenre", "genre", FileInfoFavourite.GenreStyle ); + LexiconId = dbHandlerInstance.LexiconDataExists("tblGenre", "genre", FileInfoFavourite.GenreStyle); this.GenreStyleId = LexiconId; - LexiconId = DatabaseHandler.LexiconDataExists( "tblManufacturer", "manufacturer", FileInfoFavourite.Manufacturer ); + LexiconId = dbHandlerInstance.LexiconDataExists( "tblManufacturer", "manufacturer", FileInfoFavourite.Manufacturer ); this.ManufacturerId = LexiconId; - LexiconId = DatabaseHandler.LexiconDataExists( "tblPlatform", "platform", FileInfoFavourite.Platform ); + LexiconId = dbHandlerInstance.LexiconDataExists( "tblPlatform", "platform", FileInfoFavourite.Platform ); this.PlatformId = LexiconId; if (importTitle) Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/FilelinkItem.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/FilelinkItem.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/Items/FilelinkItem.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -77,7 +77,7 @@ try { - DatabaseHandler.ExecuteStmtNonQuery(String.Format(String.Format("DELETE FROM tblFileLinkItem WHERE applicationId = {0} AND grouperAppID = {1} AND fileID = {2}", this.TargetAppID, + dbHandlerInstance.ExecuteStmtNonQuery(String.Format(String.Format("DELETE FROM tblFileLinkItem WHERE applicationId = {0} AND grouperAppID = {1} AND fileID = {2}", this.TargetAppID, this.AppID, this.FileID))); } catch (SQLiteException ex) @@ -90,7 +90,7 @@ private bool Exists() { - bool res = (bool) DatabaseHandler.ExecuteStmtScalar(String.Format("SELECT COUNT(*) FROM tblFileLinkItem WHERE applicationId = {0} AND grouperAppID = {1} AND fileID = {2}", this.TargetAppID, + bool res = (bool) dbHandlerInstance.ExecuteStmtScalar(String.Format("SELECT COUNT(*) FROM tblFileLinkItem WHERE applicationId = {0} AND grouperAppID = {1} AND fileID = {2}", this.TargetAppID, this.AppID, this.FileID)); return res ; @@ -106,7 +106,7 @@ try { - DatabaseHandler.ExecuteStmtNonQuery(@" + dbHandlerInstance.ExecuteStmtNonQuery(@" INSERT INTO tblFileLinkItem ( Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/ProgramUtils.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/ProgramUtils.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/ProgramUtils.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -383,7 +383,7 @@ try { - SQLiteCommand command = new SQLiteCommand(DatabaseHandler.SqlLiteConn); + SQLiteCommand command = new SQLiteCommand(DatabaseHandler.DBHandlerInstance.SqlLiteConn); command.CommandText = sqlStmt; using (SQLiteDataReader dataReader = command.ExecuteReader()) @@ -412,7 +412,7 @@ { int sleepTime; - if (int.TryParse(DatabaseHandler.ReadSetting(ProgramUtils.cSLIDESPEED), out sleepTime)) + if (int.TryParse(DatabaseHandler.DBHandlerInstance.ReadSetting(ProgramUtils.cSLIDESPEED), out sleepTime)) return sleepTime; else return cDefaultSleepTime; @@ -422,7 +422,7 @@ { bool useThumbsDir; - if (bool.TryParse(DatabaseHandler.ReadSetting(ProgramUtils.cUSE_MP_THUMBS_DIR), out useThumbsDir)) + if (bool.TryParse(DatabaseHandler.DBHandlerInstance.ReadSetting(ProgramUtils.cUSE_MP_THUMBS_DIR), out useThumbsDir)) return useThumbsDir; else return true; Modified: trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/ProgramViewHandler.cs =================================================================== --- trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/ProgramViewHandler.cs 2007-08-13 18:00:08 UTC (rev 832) +++ trunk/plugins/myGUIProgramsAlt/GUIProgramsAlt/ProgramViewHandler.cs 2007-08-13 23:44:56 UTC (rev 833) @@ -470,7 +470,7 @@ if (sqlSelect.Distinct) { - return "SELECT DISTINCT TRIM(title) FROM (" + sqlSelect.AsSQL + ")"; + return "SELECT DISTINCT TRIM(title) as title FROM (" + sqlSelect.AsSQL + ")"; } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |