示例#1
0
		/// -------------------------------------------------------------------------------
		/// <summary>
		/// Constructor.
		/// </summary>
		/// -------------------------------------------------------------------------------
		public SFFileListBuilder()
		{
			SetStyle(ControlStyles.UserPaint, true);

			// This call is required by the Windows.Forms Form Designer.
			InitializeComponent();

			m_resources = new ResourceManager("SIL.FieldWorks.Common.Controls.ScrControls",
				System.Reflection.Assembly.GetExecutingAssembly());

			m_OpenFileDlg = new OpenFileDialog();
			List<FileFilterType> fileTypes = new List<FileFilterType>(2);
			fileTypes.Add(FileFilterType.AllScriptureStandardFormat);
			fileTypes.Add(FileFilterType.AllFiles);
			m_OpenFileDlg.Filter = ResourceHelper.BuildFileFilter(fileTypes);

			m_OpenFileDlg.FilterIndex = 0;
			m_OpenFileDlg.CheckFileExists = true;
			m_OpenFileDlg.RestoreDirectory = false;
			m_OpenFileDlg.ShowHelp = false;
			m_OpenFileDlg.Title = m_resources.GetString("kstidOFDTitle");
			m_OpenFileDlg.Multiselect = true;

			m_OpenFileDlg.InitialDirectory =
				Environment.GetFolderPath(Environment.SpecialFolder.Personal);
			m_currentListView = scrFileList;
			m_currentRemoveButton = btnRemoveScr;

			m_fileRemovedHandler = new ScrImportFileEventHandler(HandleFileRemoval);
		}
示例#2
0
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Add a file to the project, and determine the file encoding and mappings.
		/// </summary>
		/// <param name="fileName">file name to add</param>
		/// <param name="domain">The domain to add the file to</param>
		/// <param name="wsId">The writing system identifier for the source (ignored for
		/// scripture domain)</param>
		/// <param name="noteType">The CmAnnotationDefn for the note type
		/// (ignored for back trans and scripture domains)</param>
		/// <param name="fileRemovedHandler">Handler for FileRemoved event (can be null if
		/// caller doesn't need to know if a file is removed as a result of a overlapping
		/// conflict</param>
		/// <returns>The IScrImportFileInfo representing the added file</returns>
		/// ------------------------------------------------------------------------------------
		public IScrImportFileInfo AddFile(string fileName, ImportDomain domain, string wsId,
			ICmAnnotationDefn noteType, ScrImportFileEventHandler fileRemovedHandler)
		{
			lock (SyncRoot)
			{
				if (ImportTypeEnum == TypeOfImport.Paratext6)
					throw new InvalidOperationException("Cannot add files to Paratext 6 import Projects");

				// first check to see if the file is already in the project,
				// if so - then remove the file.
				RemoveFile(fileName, domain, wsId, noteType);

				// Make a new file info entry for the added file
				IScrImportFileInfo info = m_scrImpFinfoFact.Create(fileName, GetMappingListForDomain(domain),
																   domain, wsId, noteType,
																   (ImportTypeEnum == TypeOfImport.Paratext5));

				ScrSfFileList fileList = GetFileList(domain, wsId, noteType, true);

				if (fileRemovedHandler != null)
					fileList.FileRemoved += fileRemovedHandler;

				int index;
				try
				{
					index = fileList.Add(info);
				}
				finally
				{
					if (fileRemovedHandler != null)
						fileList.FileRemoved -= fileRemovedHandler;
				}

				return (index == -1) ? null : info;
			}
		}
示例#3
0
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Constructor.
		/// </summary>
		/// ------------------------------------------------------------------------------------
		public SFFileListBuilder()
		{
			SetStyle(ControlStyles.UserPaint, true);

			// This call is required by the Windows.Forms Form Designer.
			InitializeComponent();

			m_OpenFileDlg = new OpenFileDialogAdapter();
			m_OpenFileDlg.Filter = ResourceHelper.BuildFileFilter(FileFilterType.AllScriptureStandardFormat,
				FileFilterType.AllFiles);

			m_OpenFileDlg.FilterIndex = 0;
			m_OpenFileDlg.CheckFileExists = true;
			m_OpenFileDlg.RestoreDirectory = false;
			m_OpenFileDlg.ShowHelp = false;
			m_OpenFileDlg.Title = TeResourceHelper.GetResourceString("kstidOFDTitle");
			m_OpenFileDlg.Multiselect = true;

			m_OpenFileDlg.InitialDirectory =
				Environment.GetFolderPath(Environment.SpecialFolder.Personal);
			m_currentListView = scrFileList;
			m_currentRemoveButton = btnRemoveScr;

			m_fileRemovedHandler = new ScrImportFileEventHandler(HandleFileRemoval);
		}