示例#1
0
 public ChooseFdoProjectForm(ParatextLexiconPluginFdoUI ui, KeyedCollection <string, FdoCache> fdoCacheCache)
 {
     // This call is required by the Windows Form Designer.
     InitializeComponent();
     m_ui            = ui;
     m_fdoCacheCache = fdoCacheCache;
     PopulateLanguageProjectsList(Dns.GetHostName(), true);
 }
示例#2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FwLexiconPlugin"/> class.
        /// </summary>
        public FwLexiconPlugin()
        {
            RegistryHelper.CompanyName = DirectoryFinder.CompanyName;
            RegistryHelper.ProductName = "FieldWorks";

            // setup necessary environment variables on Linux
            if (MiscUtils.IsUnix)
            {
                // update ICU_DATA to location of ICU data files
                if (string.IsNullOrEmpty(Environment.GetEnvironmentVariable("ICU_DATA")))
                {
                    string codeIcuDataPath = Path.Combine(ParatextLexiconPluginDirectoryFinder.CodeDirectory, "Icu" + Icu.Version);
#if DEBUG
                    string icuDataPath = codeIcuDataPath;
#else
                    string icuDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), ".config/fieldworks/Icu" + Icu.Version);
                    if (!Directory.Exists(icuDataPath))
                    {
                        icuDataPath = codeIcuDataPath;
                    }
#endif
                    Environment.SetEnvironmentVariable("ICU_DATA", icuDataPath);
                }
                // update COMPONENTS_MAP_PATH to point to code directory so that COM objects can be loaded properly
                if (string.IsNullOrEmpty(Environment.GetEnvironmentVariable("COMPONENTS_MAP_PATH")))
                {
                    string compMapPath = Path.GetDirectoryName(FileUtils.StripFilePrefix(Assembly.GetExecutingAssembly().CodeBase));
                    Environment.SetEnvironmentVariable("COMPONENTS_MAP_PATH", compMapPath);
                }
                // update FW_ROOTCODE so that strings-en.txt file can be found
                if (string.IsNullOrEmpty(Environment.GetEnvironmentVariable("FW_ROOTCODE")))
                {
                    Environment.SetEnvironmentVariable("FW_ROOTCODE", ParatextLexiconPluginDirectoryFinder.CodeDirectory);
                }
            }
            Icu.InitIcuDataDir();

            m_syncRoot          = new object();
            m_lexiconCache      = new FdoLexiconCollection();
            m_fdoCacheCache     = new FdoCacheCollection();
            m_activationContext = new ActivationContextHelper("FwParatextLexiconPlugin.dll.manifest");

            // initialize client-server services to use Db4O backend for FDO
            m_ui = new ParatextLexiconPluginFdoUI(m_activationContext);
            var dirs = ParatextLexiconPluginDirectoryFinder.FdoDirectories;
            ClientServerServices.SetCurrentToDb4OBackend(m_ui, dirs);
        }
		public ChooseFdoProjectForm(ParatextLexiconPluginFdoUI ui)
		{
			// This call is required by the Windows Form Designer.
			InitializeComponent();
			m_ui = ui;
			PopulateLanguageProjectsList(Dns.GetHostName(), true);
		}
		public ChooseFdoProjectForm(ParatextLexiconPluginFdoUI ui, KeyedCollection<string, FdoCache> fdoCacheCache)
		{
			// This call is required by the Windows Form Designer.
			InitializeComponent();
			m_ui = ui;
			m_fdoCacheCache = fdoCacheCache;
			PopulateLanguageProjectsList(Dns.GetHostName(), true);
		}