#include "stdafx.h" #include "GUIWindowGameSaves.h" #include "util.h" #include "GUIWindowScriptsInfo.h" #include #define CONTROL_BTNVIEWASICONS 2 #define CONTROL_BTNSORTBY 3 #define CONTROL_BTNSORTASC 4 #define CONTROL_LIST 50 #define CONTROL_THUMBS 51 #define CONTROL_LABELFILES 12 CGUIWindowGameSaves::CGUIWindowGameSaves() : CGUIMediaWindow(WINDOW_GAMESAVES, "MyGameSaves.xml") { m_bViewOutput = false; m_scriptSize = 0; } CGUIWindowGameSaves::~CGUIWindowGameSaves() { } bool CGUIWindowGameSaves::OnAction(const CAction &action) { if (action.wID == ACTION_SHOW_INFO) { OnInfo(); return true; } return CGUIMediaWindow::OnAction(action); } bool CGUIWindowGameSaves::OnMessage(CGUIMessage& message) { switch ( message.GetMessage() ) { case GUI_MSG_WINDOW_INIT: { if (m_vecItems.m_strPath == "?") m_vecItems.m_strPath = "E:\\udata"; return CGUIMediaWindow::OnMessage(message); } break; } return CGUIMediaWindow::OnMessage(message); } bool CGUIWindowGameSaves::OnPlayMedia(int iItem) { CFileItem* pItem=m_vecItems[iItem]; CStdString strPath = pItem->m_strPath; //CGUIWindowGameSaves::Update(strPath); // this line here was incase we dont't set it as a folder (thou this would need more work to handle non files) /* do what ever next if folder open it script... */ //g_pythonParser.evalFile(strPath); //strPath << will be usefull return true; } void CGUIWindowGameSaves::OnInfo() { /// this means pressing WHite and well we can do this later :D once everything else works //CGUIWindowScriptsInfo* pDlgInfo = (CGUIWindowScriptsInfo*)m_gWindowManager.GetWindow(WINDOW_SCRIPTS_INFO); //if (pDlgInfo) pDlgInfo->DoModal(); /* CGUIDialogContextMenu *pMenu = (CGUIDialogContextMenu *)m_gWindowManager.GetWindow(WINDOW_DIALOG_CONTEXT_MENU); if (pMenu) { bool showEntry=(!m_vecItems[list][item]->IsParentFolder() || (m_vecItems[list][item]->IsParentFolder() && m_vecItems[list].GetSelectedCount()>0)); // load our menu pMenu->Initialize(); // add the needed buttons int btn_SelectAll = pMenu->AddButton(188); // SelectAll int btn_Rename = pMenu->AddButton(118); // Rename int btn_Delete = pMenu->AddButton(117); // Delete int btn_Copy = pMenu->AddButton(115); // Copy int btn_Move = pMenu->AddButton(116); // Move int btn_NewFolder = pMenu->AddButton(119); // New Folder int btn_Size = pMenu->AddButton(13393); // Calculate Size //int btn_Settings = -2; int btn_Settings = pMenu->AddButton(5); // Settings int btn_GoToRoot = pMenu->AddButton(20128); pMenu->EnableButton(btn_SelectAll, item >= 0); pMenu->EnableButton(btn_Rename, item >= 0 && CanRename(list) && !m_vecItems[list][item]->IsParentFolder()); pMenu->EnableButton(btn_Delete, item >= 0 && CanDelete(list) && showEntry); pMenu->EnableButton(btn_Copy, item >= 0 && CanCopy(list) && showEntry); pMenu->EnableButton(btn_Move, item >= 0 && CanMove(list) && showEntry); pMenu->EnableButton(btn_NewFolder, CanNewFolder(list)); pMenu->EnableButton(btn_Size, item >=0 && m_vecItems[list][item]->m_bIsFolder && !m_vecItems[list][item]->IsParentFolder()); // position it correctly pMenu->SetPosition(iPosX - pMenu->GetWidth() / 2, iPosY - pMenu->GetHeight() / 2); pMenu->DoModal(); int btnid = pMenu->GetButton(); if (btnid == btn_SelectAll) { OnSelectAll(list); bDeselect=false; } if (btnid == btn_Delete) OnDelete(list); if (btnid == btn_Copy) OnCopy(list); if (btnid == btn_Move) OnMove(list); */ } void CGUIWindowGameSaves::Render() { // update control_list / control_thumbs if one or more scripts have stopped / started CGUIWindow::Render(); } bool CGUIWindowGameSaves::GetDirectory(const CStdString& strDirectory, CFileItemList& items) { if (!CGUIMediaWindow::GetDirectory(strDirectory,items)) return false; CLog::Log(LOGINFO, "GSM %s", "Perferomgin to open file"); //std::ifstream inFile; FILE *newfile; // flatten any folders for (int i = 0; i < items.Size(); i++) { CFileItem *item = items[i]; if (item->m_bIsFolder && !item->IsParentFolder() && !item->m_bIsShareOrDrive) { // folder item - let's check for a default.py file, and flatten if we have one CStdString titlemetaXBX; CUtil::AddFileToFolder(item->m_strPath, "titlemeta.xbx", titlemetaXBX); if (CFile::Exists(titlemetaXBX)) { char tstr[1024]; strcpy(tstr, item->GetLabel()); strcat(tstr, "(Game Name here for now) "); item->SetLabel(tstr); /* // this means udata/folder/titlemeta.xbx was found so open the file and read title char temp2[1]; newfile=fopen(titlemetaXBX, "r"); char c; char titledat; while(c!=EOF) //Just checking to see if it's the end of the file { c=fgetc(newfile); //Reading in a character from autoexec.bat CLog::Log(LOGINFO, "Loading Characther from file %s", c); } fclose(newfile); /* inFile.open(titlemetaXBX); if (!inFile) { CLog::Log(LOGINFO, "strTitleName %s", "Unable to open file"); } else { while( !inFile.eof() ) { //inFile.getline(temp2,1); //inFile.getline(temp,1); } inFile.close(); CLog::Log(LOGINFO, "strTitleName %s", temp2); } */ CLog::Log(LOGINFO, "strTitleName %s", "hey");; //item->m_strPath = titlemetaXBX; // this would mean like udata/0face008/titlemeta.xbx [we dont' want that] item->m_bIsFolder = true; // fake it item->FillInDefaultIcon(); item->SetLabelPreformated(true); } } // hide the info and thumbnail files if (item->GetLabel().Equals("titlemeta.xbx") || item->GetLabel().Equals("NICKNAME.XBN") || item->GetLabel().Equals("titleimage.xbx") || item->GetLabel().Equals("saveimage.xbx")) { items.Remove(i); i--; } } //items.SetGameSavesThumbs(); // Needs work return true; }