示例#1
0
/*===========================================================================
 *
 * Class CSrLoadDlg Method - void FillFileList (void);
 *
 *=========================================================================*/
void CSrLoadDlg::FillFileList (void) 
{
	CSString DataPath;
	CSString FileSpec;
	bool     Result;

		/* Clear the current contents */
	m_FileList.DeleteAllItems();
	m_FileInfos.Empty();
	m_pLastActiveFile = NULL;

		/* Attempt to get Skyrim's data path */
	Result = GetSrInstallPath(DataPath);
	if (Result) DataPath += "data\\";

		/* Find all plugins in the game's \DATA path */
	if (!m_IsFileNew) FillFileList(DataPath, "*.esp");
	FillFileList(DataPath, "*.esm");

		/* Find all plugins in the extra paths */
	for (INT_PTR i = 0; i < s_ExtraFilePaths.GetSize(); ++i)
	{
		if (!m_IsFileNew) FillFileList(s_ExtraFilePaths[i], "*.esp");
		FillFileList(s_ExtraFilePaths[i], "*.esm");
	}

}
void CRemoteFileDialog::SetCurrentFolder(LPCTSTR szFolder)
{
	CWaitCursor cursor;

	if (m_pConnection)
	{
		if (m_pConnection->SetCurrentDirectory(szFolder))
		{
			FillFileList();
		}

		else if (m_pConnection->SetCurrentDirectory(_T("/")))
		{
			m_sCurFolder = _T("/");
			FillFileList();
		}
	}
}
void CRemoteFileDialog::OnSelchangeFiletypes()
{
	CString sCurFilterExt(m_sFilterExt); // cache

	UpdateData();

	// re-process current directory if the filter has changed
	if (m_sFilterExt != sCurFilterExt)
	{
		FillFileList();
	}
}
示例#4
0
/////////////////////////////////////////////////////////////////////////////
// ODBDirDlg message handlers
BOOL ODBDirDlg::OnInitDialog() 
{
   CResizingDialog::OnInitDialog();
   
   FillFileList();

   HWND hWnd = ::GetDlgItem(*this,IDC_OpenArchive);
   ::EnableWindow(hWnd,m_enableArchiveOpen);
   
   return TRUE;  // return TRUE unless you set the focus to a control
                 // EXCEPTION: OCX Property Pages should return FALSE
}
示例#5
0
void COpenFileDlg::OnChangeEditDir() 
{
	if (m_bInit)
	{
        CString strTmp;
		m_EditDir.GetWindowText( strTmp );
        m_strDir = CUString( strTmp );
		FillFileList();

		// Update controls
		UpdateData(FALSE);
	}
}
示例#6
0
/*===========================================================================
 *
 * Class CSrLoadDlg Event - BOOL OnInitDialog ();
 *
 *=========================================================================*/
BOOL CSrLoadDlg::OnInitDialog() 
{
	srloadfilesortinfo_t SortData;

	CDialog::OnInitDialog();

	if (m_IsFileNew)
	{
		m_ActiveButton.ShowWindow(SW_HIDE);
		m_Label.SetWindowTextA("When creating a new plugin you almost always want to select Skyrim.esm as a base master. Note that regular plugin files (ESP) cannot be used as dependants for other plugins.");
		SetWindowText("New Plugin");
	}
	else
	{
		m_Label.SetWindowTextA("Select a plugin file (ESP) to load along with all of its base master files (ESM). Set a file to active if you wish to save changes to it.");
		SetWindowText("Load Plugin");
	}

		/* Initialize the file list */
	m_FileList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_CHECKBOXES );
	m_FileList.InsertColumn(0, _T("Filename"),      LVCFMT_LEFT,   240, SRFILELIST_FILENAME);
	m_FileList.InsertColumn(1, _T("Date"),          LVCFMT_CENTER, 120, SRFILELIST_DATE);
	m_FileList.InsertColumn(2, _T("Size (bytes)"),  LVCFMT_CENTER,  75, SRFILELIST_SIZE);
	m_FileList.InsertColumn(3, _T("Type"),          LVCFMT_CENTER,  90, SRFILELIST_DEFAULTSORT);

	FillFileList();

		/* Set skyrim.esm to load for a new file by default */
	if (m_IsFileNew)
	{
		FindSkyrimMaster(true);
	}
	else 
	{		/* Also select skyrim.esm when opening a plugin for now to see how it works */
		FindSkyrimMaster(true);
	}

	SortData.Reverse  = false;
	SortData.SortType = SRFILELIST_DEFAULTSORT;
	m_FileList.SortItems(l_FileListCompare, (DWORD) &SortData);
	
	return (TRUE);
}
示例#7
0
void COpenFileDlg::OnRecursiveDir() 
{
	UpdateData(TRUE);
	FillFileList();
}
示例#8
0
BOOL COpenFileDlg::OnInitDialog() 
{
	CUString strLang;
	CUString strWndTitle;

	CDialog::OnInitDialog();

	// translate dialog resources
	g_language.InitDialogStrings( this, IDD );


	if (!m_bShowNorm)
		GetDlgItem(IDC_NORMALIZE)->ShowWindow(SW_HIDE);
	if (!m_bShowDelOrig)
		GetDlgItem(IDC_DELETE_ORIGINAL)->ShowWindow(SW_HIDE);
	if (!m_bShowRiffWav)
		GetDlgItem(IDC_RIFF_WAV)->ShowWindow(SW_HIDE);
	if (!m_bShowKeepDirLayout)
		GetDlgItem(IDC_KEEPDIRLAYOUT)->ShowWindow(SW_HIDE);

	if ( ! m_strOpenText.IsEmpty() )
	{
        CUStringConvert strCnv;
        GetDlgItem(IDC_FILE_OPEN)->SetWindowText( strCnv.ToT( m_strOpenText ) );
	}
	
	if ( !m_bSettingsDlg )
	{
		GetDlgItem(IDC_SETTINGS)->ShowWindow( SW_HIDE );
	}
    CUStringConvert strCnv;

	if (!m_bIsOpenFileDlg)
	{

		strWndTitle = g_language.GetString( IDS_SAVE_FILE_AS );

        SetWindowText( strCnv.ToT( strWndTitle ) );

		strLang = g_language.GetString( IDS_OPEN_SAVEBUTTON );

		SetDlgItemText(IDOK, strCnv.ToT( strLang ) );
	}
	else
	{
		strWndTitle= g_language.GetString( IDS_OPEN_FILE );
		SetWindowText( strCnv.ToT( strWndTitle ) );
	}


	m_nColWidth[ FILE_OPEN_NAME ] = g_config.GetIni().GetValue( _T( "FileOpenDlg" ), _T( "CLW_0" ), m_nColWidth[ FILE_OPEN_NAME ] );
	m_nColWidth[ FILE_OPEN_TYPE ] = g_config.GetIni().GetValue( _T( "FileOpenDlg" ), _T( "CLW_1" ), m_nColWidth[ FILE_OPEN_TYPE ] );
	m_nColWidth[ FILE_OPEN_DATE ] = g_config.GetIni().GetValue( _T( "FileOpenDlg" ), _T( "CLW_2" ), m_nColWidth[ FILE_OPEN_DATE ] );
	m_nColWidth[ FILE_OPEN_PATH ] = g_config.GetIni().GetValue( _T( "FileOpenDlg" ), _T( "CLW_3" ), m_nColWidth[ FILE_OPEN_PATH ] );
	m_nColWidth[ FILE_OPEN_SIZE ] = g_config.GetIni().GetValue( _T( "FileOpenDlg" ), _T( "CLW_4" ), m_nColWidth[ FILE_OPEN_SIZE ] );

	m_nSortedColumn = g_config.GetIni().GetValue( _T( "FileOpenDlg" ), _T( "CLW_S" ), m_nSortedColumn );

	// Create columns of track list
	strLang = g_language.GetString( IDS_OPEN_FILENAME );

    m_ctrlRequestedFiles.InsertColumn( FILE_OPEN_NAME, strCnv.ToT( strLang ), LVCFMT_LEFT, m_nColWidth[ FILE_OPEN_NAME ], -1 );

	strLang = g_language.GetString( IDS_OPEN_TYPE );
	m_ctrlRequestedFiles.InsertColumn( FILE_OPEN_TYPE, strCnv.ToT( strLang ), LVCFMT_LEFT, m_nColWidth[ FILE_OPEN_TYPE ], -1 );

	strLang = g_language.GetString( IDS_OPEN_DATE );
	m_ctrlRequestedFiles.InsertColumn( FILE_OPEN_DATE, strCnv.ToT( strLang ), LVCFMT_LEFT, m_nColWidth[ FILE_OPEN_DATE ], -1 );

	strLang = g_language.GetString( IDS_OPEN_PATH );
	m_ctrlRequestedFiles.InsertColumn( FILE_OPEN_PATH, strCnv.ToT( strLang ), LVCFMT_LEFT, m_nColWidth[ FILE_OPEN_PATH ], -1 );

	strLang = g_language.GetString( IDS_OPEN_SIZEINMB );
	m_ctrlRequestedFiles.InsertColumn( FILE_OPEN_SIZE, strCnv.ToT( strLang ) , LVCFMT_RIGHT, m_nColWidth[ FILE_OPEN_SIZE ], -1 );

	m_nSortedColumn = g_config.GetIni().GetValue( _T( "FileOpenDlg" ), _T( "CLW_S" ), 0 );

	// Fill the list with the content of the current directory
	FillFileList();

	m_EditDir.SetWindowText( strCnv.ToT( m_strDir ) );

	m_bInit=TRUE;

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
示例#9
0
void ODBDirDlg::OnUnzip() 
{
   CString fullPath, filename;

   int sel = m_filesLB.GetCurSel();
   if (sel == LB_ERR)
      return;

   m_filesLB.GetText(sel, filename);

   if (filename.Left(1) == "[")
   {
      filename.Remove('[');
      filename.Remove(']');

      if (filename.Left(1) == "-")
      {
         filename.Remove('-');
         m_dir = filename;
         m_dir += ":\\";
         UpdateData(FALSE);
         FillFileList();
         return;
      }

      fullPath = m_dir;
      if (fullPath.Right(1) != "\\")
         fullPath += "\\";
      fullPath += filename;

      char oldPath[MAX_PATH];
      ::GetCurrentDirectory(MAX_PATH, oldPath);
      if (!::SetCurrentDirectory(fullPath))
         return;
      char newPath[MAX_PATH];
      ::GetCurrentDirectory(MAX_PATH, newPath);
      m_dir = newPath;
      ::SetCurrentDirectory(oldPath);

      UpdateData(FALSE);
      FillFileList();
      return;
   }

   fullPath = m_dir;
   if (fullPath.Right(1) != "\\")
      fullPath += "\\";
   fullPath += filename;

   char drive[_MAX_DRIVE];
   char dir[_MAX_DIR];
   char fname[_MAX_FNAME];
   char ext[_MAX_EXT];
   
   _splitpath( fullPath, drive, dir, fname, ext );
// path in quotes to allow blank names etc...   
   CString  commandLine;
   if (!STRCMPI(ext,".zip") || !STRCMPI(ext, ".gz"))
   {
		// By default gunzip does not recognize .zip files as valid input.
		// The -S param tells gunzip to recognize the given extension.
		// The default extension .gz remains recognized as well.

      commandLine.Format("gunzip -f -S .zip \"%s\" ", fullPath);
		DWORD exitCode;
      int stat = ExecAndWait(commandLine, SW_HIDE, &exitCode);
		if (stat != 0 || exitCode != 0)
      {
         CString  tmp;
         tmp.Format("There was an error using gunzip.exe.\nUse Windows Explorer to unzip this archive.\n");
         ErrorMessage(tmp, "Gunzip Error");
         return;
      }
   }
   else
   if (!STRCMPI(ext,".tar"))
   {
      commandLine.Format("tar -x -f \"%s\" -C \"%s%s\"", fullPath, drive, make_unix_name(dir));
      if (ExecAndWait(commandLine, SW_HIDE, NULL))
      {
         CString  tmp;
         tmp.Format("%s\nThere was an error using tar.exe.", commandLine);
         ErrorMessage(tmp, "Tar Error");
         return;
      }
   }
   else
   if (!STRCMPI(ext,".tgz"))
   {
      // this unzips from tgz to tar
      commandLine.Format("gunzip -f \"%s\"", fullPath);
      if (ExecAndWait(commandLine, SW_HIDE, NULL))
      {
         CString  tmp;
         tmp.Format("%s\nThere was an error using gunzip.exe.", commandLine);
         ErrorMessage(tmp, "Gtz Error");
         return;
      }
      commandLine.Format("tar -xf \"%s%s%s.tar\" -C \"%s%s\"", drive, dir, fname, drive, make_unix_name(dir));
      if (ExecAndWait(commandLine, SW_HIDE, NULL))
      {
         CString  tmp;
         tmp.Format("%s\nThere was an error using tar.exe.", commandLine);
         ErrorMessage(tmp, "Tar Error");
         return;
      }
   }
   else
   {
      CString  tmp;
      tmp.Format("The file extension [%s] is unknown to the supported extract functions!", ext);
      ErrorMessage(tmp, "Can not Extraxt Extension");
   }
   
   FillFileList();
   return;
}
示例#10
0
void ODBDirDlg::OnChangeFilter() 
{
   FillFileList();
}