зеркало из https://github.com/mozilla/gecko-dev.git
Removing unused files
This commit is contained in:
Родитель
8d0d0b8f05
Коммит
8e2804f300
|
@ -1,229 +0,0 @@
|
|||
/*
|
||||
* The contents of this file are subject to the Mozilla Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing rights and limitations
|
||||
* under the License.
|
||||
*
|
||||
* The Original Code is the Mozilla OS/2 libraries.
|
||||
*
|
||||
* The Initial Developer of the Original Code is John Fairhurst,
|
||||
* <john_fairhurst@iname.com>. Portions created by John Fairhurst are
|
||||
* Copyright (C) 1999 John Fairhurst. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Pierre Phaneuf <pp@ludusdesign.com>
|
||||
*/
|
||||
|
||||
#include "nsWidgetDefs.h"
|
||||
#include "nsIToolkit.h"
|
||||
#include "nsFileDialog.h"
|
||||
#include "nsDirPicker.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
// File dialog.
|
||||
//
|
||||
// ToDo: types array
|
||||
|
||||
nsFileDialog::nsFileDialog() : mWndOwner( 0), mCFilters(0)
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
memset( &mFileDlg, 0, sizeof mFileDlg);
|
||||
mFileDlg.cbSize = sizeof mFileDlg;
|
||||
mFileDlg.fl = FDS_CENTER | FDS_ENABLEFILELB;
|
||||
strcpy( mFileDlg.szFullFile, "*.*");
|
||||
}
|
||||
|
||||
nsFileDialog::~nsFileDialog()
|
||||
{
|
||||
if( mFileDlg.pszTitle)
|
||||
free( mFileDlg.pszTitle);
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS(nsFileDialog,NS_GET_IID(nsIFileWidget))
|
||||
|
||||
nsresult nsFileDialog::Create( nsIWidget *aParent,
|
||||
const nsString &aTitle,
|
||||
nsFileDlgMode aMode,
|
||||
nsIDeviceContext *aContext,
|
||||
nsIAppShell *aAppShell,
|
||||
nsIToolkit *aToolkit,
|
||||
void *aInitData)
|
||||
{
|
||||
// set owner
|
||||
if( aParent)
|
||||
mWndOwner = (HWND) aParent->GetNativeData( NS_NATIVE_WIDGET);
|
||||
else
|
||||
mWndOwner = HWND_DESKTOP;
|
||||
|
||||
if( mFileDlg.pszTitle)
|
||||
{
|
||||
free( mFileDlg.pszTitle);
|
||||
mFileDlg.pszTitle = 0;
|
||||
}
|
||||
if( aTitle.Length() > 0)
|
||||
mFileDlg.pszTitle = strdup( gModuleData.ConvertFromUcs( aTitle));
|
||||
|
||||
if( aMode == eMode_load)
|
||||
mFileDlg.fl |= FDS_OPEN_DIALOG;
|
||||
else if( aMode == eMode_save)
|
||||
mFileDlg.fl |= FDS_SAVEAS_DIALOG;
|
||||
else
|
||||
NS_ASSERTION(0, "Dodgy file dialog type");
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// FQ Filename (I suspect this method will vanish)
|
||||
nsresult nsFileDialog::SetDefaultString( const nsString &aString)
|
||||
{
|
||||
gModuleData.ConvertFromUcs( aString, mFileDlg.szFullFile, CCHMAXPATH);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsFileDialog::SetDisplayDirectory( const nsFileSpec &aDirectory)
|
||||
{
|
||||
// first copy the file part of whatever we have into 'buff'
|
||||
char buff[CCHMAXPATH] = "";
|
||||
char *lastslash = strrchr( mFileDlg.szFullFile, '\\');
|
||||
|
||||
strcpy( buff, lastslash ? lastslash + 1 : mFileDlg.szFullFile);
|
||||
|
||||
// Now copy directory from filespec into filedlg
|
||||
strcpy( mFileDlg.szFullFile, nsNSPRPath(aDirectory));
|
||||
|
||||
// Ensure there's a trailing backslash...
|
||||
if( '\\' != lastchar( mFileDlg.szFullFile))
|
||||
strcat( mFileDlg.szFullFile, "\\");
|
||||
|
||||
// ...and stick the file back on.
|
||||
strcat( mFileDlg.szFullFile, buff);
|
||||
|
||||
#ifdef DEBUG
|
||||
printf( "SetDisplayDir, szFullFile = %s\n", mFileDlg.szFullFile);
|
||||
#endif
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsFileDialog::GetDisplayDirectory( nsFileSpec &aDirectory)
|
||||
{
|
||||
char buff[CCHMAXPATH] = "";
|
||||
strcpy( buff, mFileDlg.szFullFile);
|
||||
printf( "mFileDlg.szFullFile = %s\n", buff);
|
||||
char *lastslash = strrchr( buff, '\\');
|
||||
|
||||
if( lastslash && '\0' != *lastslash)
|
||||
*lastslash = '\0';
|
||||
else
|
||||
// no directory set
|
||||
*buff = '\0';
|
||||
|
||||
aDirectory = (const char*) buff;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsFileDialog::SetFilterList( PRUint32 aNumberOfFilters,
|
||||
const nsString aTitles[],
|
||||
const nsString aFilters[])
|
||||
{
|
||||
//
|
||||
// XXX really need a subclassed file dialog for this.
|
||||
// Just using the papszITypeList doesn't work because that's meant to
|
||||
// be .TYPE eas.
|
||||
//
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsFileDialog::GetSelectedType( PRInt16 &theType)
|
||||
{
|
||||
theType = 0;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// return false if cancel happens.
|
||||
PRBool nsFileDialog::Show()
|
||||
{
|
||||
PRBool rc = PR_TRUE;
|
||||
|
||||
WinFileDlg( HWND_DESKTOP, mWndOwner, &mFileDlg);
|
||||
if( mFileDlg.lReturn == DID_CANCEL)
|
||||
rc = PR_FALSE;
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
nsresult nsFileDialog::GetFile( nsFileSpec &aSpec)
|
||||
{
|
||||
aSpec = mFileDlg.szFullFile;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// Methods for folks who can't be bothered to call Create() & Show()
|
||||
nsFileDlgResults nsFileDialog::GetFile( nsIWidget *aParent,
|
||||
const nsString &promptString,
|
||||
nsFileSpec &theFileSpec)
|
||||
{
|
||||
nsFileDlgResults rc = nsFileDlgResults_Cancel;
|
||||
|
||||
Create( aParent, promptString, eMode_load);
|
||||
|
||||
if( Show())
|
||||
{
|
||||
rc = nsFileDlgResults_OK;
|
||||
GetFile( theFileSpec);
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
nsFileDlgResults nsFileDialog::PutFile( nsIWidget *aParent,
|
||||
const nsString &promptString,
|
||||
nsFileSpec &theFileSpec)
|
||||
{
|
||||
nsFileDlgResults rc = nsFileDlgResults_Cancel;
|
||||
|
||||
Create( aParent, promptString, eMode_save);
|
||||
|
||||
if( Show())
|
||||
{
|
||||
rc = nsFileDlgResults_OK;
|
||||
GetFile( theFileSpec);
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
nsFileDlgResults nsFileDialog::GetFolder( nsIWidget *aParent,
|
||||
const nsString &promptString,
|
||||
nsFileSpec &theFileSpec)
|
||||
{
|
||||
nsFileDlgResults rc = nsFileDlgResults_Cancel;
|
||||
|
||||
HWND hwndOwner = HWND_DESKTOP;
|
||||
if( aParent)
|
||||
hwndOwner = (HWND) aParent->GetNativeData( NS_NATIVE_WIDGET);
|
||||
|
||||
DIRPICKER dp = { { 0 }, 0, TRUE, 0 }; // modal dialog
|
||||
|
||||
gModuleData.ConvertFromUcs( promptString, dp.szFullFile, CCHMAXPATH);
|
||||
|
||||
HWND ret = FS_PickDirectory( HWND_DESKTOP, hwndOwner,
|
||||
gModuleData.hModResources, &dp);
|
||||
|
||||
if( ret && dp.lReturn == DID_OK)
|
||||
{
|
||||
theFileSpec = dp.szFullFile;
|
||||
strcpy( mFileDlg.szFullFile, dp.szFullFile); // just in case...
|
||||
rc = nsFileDlgResults_OK;
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
|
@ -1,77 +0,0 @@
|
|||
/*
|
||||
* The contents of this file are subject to the Mozilla Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing rights and limitations
|
||||
* under the License.
|
||||
*
|
||||
* The Original Code is the Mozilla OS/2 libraries.
|
||||
*
|
||||
* The Initial Developer of the Original Code is John Fairhurst,
|
||||
* <john_fairhurst@iname.com>. Portions created by John Fairhurst are
|
||||
* Copyright (C) 1999 John Fairhurst. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _nsfilewidget_h
|
||||
#define _nsfilewidget_h
|
||||
|
||||
// File dialog wrapper.
|
||||
//
|
||||
// This is really a temporary thing - eventually want to replace with
|
||||
// some better things, especially if 'select directory' appears.
|
||||
//
|
||||
// Want to do some kind of mode filtering - like EAs are meant to work,
|
||||
// but better.
|
||||
|
||||
class nsIWidget;
|
||||
class nsIAppShell;
|
||||
class nsIDeviceContext;
|
||||
|
||||
#include "nsIFileWidget.h"
|
||||
|
||||
class nsFileDialog : public nsIFileWidget
|
||||
{
|
||||
public:
|
||||
nsFileDialog();
|
||||
virtual ~nsFileDialog();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
// nsIFileWidget
|
||||
NS_IMETHOD Create( nsIWidget *aParent, const nsString &aTitle,
|
||||
nsFileDlgMode aMode, nsIDeviceContext *aContext = nsnull,
|
||||
nsIAppShell *aAppShell = nsnull,
|
||||
nsIToolkit *aToolkit = nsnull, void *aInitData = 0);
|
||||
NS_IMETHOD SetFilterList( PRUint32 aNumberOfFilters,
|
||||
const nsString aTitles[],
|
||||
const nsString aFilters[]);
|
||||
NS_IMETHOD GetSelectedType( PRInt16 &theType);
|
||||
virtual PRBool Show();
|
||||
NS_IMETHOD GetFile( nsFileSpec &aFile);
|
||||
NS_IMETHOD SetDefaultString( const nsString &aFilename);
|
||||
NS_IMETHOD SetDisplayDirectory( const nsFileSpec &aDirectory);
|
||||
NS_IMETHOD GetDisplayDirectory( nsFileSpec &aDirectory);
|
||||
|
||||
nsFileDlgResults GetFile( nsIWidget *aParent, const nsString &promptString,
|
||||
nsFileSpec &theFileSpec);
|
||||
|
||||
nsFileDlgResults GetFolder( nsIWidget *aParent, const nsString &promptString,
|
||||
nsFileSpec &theFileSpec);
|
||||
|
||||
nsFileDlgResults PutFile( nsIWidget *aParent, const nsString &promptString,
|
||||
nsFileSpec &theFileSpec);
|
||||
|
||||
protected:
|
||||
HWND mWndOwner;
|
||||
FILEDLG mFileDlg;
|
||||
PRUint32 mCFilters;
|
||||
};
|
||||
|
||||
#endif
|
Загрузка…
Ссылка в новой задаче