/// <summary>
        /// Handles the Click event of the btn_ProjectExport control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        /// Erstellt von Joshua Frey, am 28.01.2016
        private void btn_ProjectExport_Click(object sender, EventArgs e)
        {
            Project selectedProject = (Project)comboBox_SelectProject.SelectedItem;

            if (selectedProject == null)
            {
                MessageBox.Show("Bitte wählen Sie erst ein bestehendes Project aus dem Dropdownfeld aus.");
            }
            else
            {
                int    projectId           = selectedProject.Project_Id;
                string folderPathForExport = "";
                FolderBrowserDialog folderBrowserDialogForExportFolder = new FolderBrowserDialog();

                if (folderBrowserDialogForExportFolder.ShowDialog() == DialogResult.OK)
                {
                    folderPathForExport = folderBrowserDialogForExportFolder.SelectedPath;
                }

                if (folderPathForExport != "" && projectId != 0)
                {
                    try
                    {
                        ProjectExporter projExporter = new ProjectExporter(projectId, folderPathForExport);
                        projExporter.ExportWholeProject();
                    }
                    catch (Exception exception)
                    {
                        MessageBox.Show(exception.Message);
                    }
                }
            }
            RefreshDropDown();
        }
        public RolesForVoiceActorsSaveAsDialog(ProjectExporter projectExporter)
        {
            HandleStringsLocalized();
            LocalizeItemDlg <TMXDocument> .StringsLocalized += HandleStringsLocalized;

            m_projectExporter = projectExporter;

            m_defaultDirectory = Settings.Default.DefaultExportDirectory;
            if (string.IsNullOrWhiteSpace(m_defaultDirectory))
            {
                m_defaultDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), GlyssenInfo.kProduct);
                if (!Directory.Exists(m_defaultDirectory))
                {
                    Directory.CreateDirectory(m_defaultDirectory);
                }
            }
            string defaultFileName = m_projectExporter.Project.PublicationName + " " +
                                     m_rolesForVoiceActorsFileNameSuffix + Constants.kExcelFileExtension;

            FileName                          = Path.Combine(m_defaultDirectory, defaultFileName);
            m_saveFileDialog                  = new SaveFileDialog();
            m_saveFileDialog.Title            = LocalizationManager.GetString("DialogBoxes.RolesForVoiceActorsSaveAsDlg.SaveFileDialog.Title", "Choose File Location");
            m_saveFileDialog.OverwritePrompt  = false;
            m_saveFileDialog.InitialDirectory = m_defaultDirectory;
            m_saveFileDialog.FileName         = Path.GetFileName(FileName);
            m_saveFileDialog.Filter           = string.Format("{0} ({1})|{1}|{2} ({3})|{3}",
                                                              LocalizationManager.GetString("DialogBoxes.RolesForVoiceActorsSaveAsDlg.ExcelFileTypeLabel", "Excel files"), "*" + Constants.kExcelFileExtension,
                                                              LocalizationManager.GetString("DialogBoxes.FileDlg.AllFilesLabel", "All Files"), "*.*");
            m_saveFileDialog.DefaultExt      = Constants.kExcelFileExtension;
            m_saveFileDialog.OverwritePrompt = true;
        }
Esempio n. 3
0
        public ViewScriptDlg(ProjectExporter viewModel)
        {
            InitializeComponent();
            m_viewModel = viewModel;

            HandleStringsLocalized();
            LocalizeItemDlg.StringsLocalized += HandleStringsLocalized;
        }
Esempio n. 4
0
 public static void ExportProFile()
 {
     if (Connect._applicationObject != null)
     {
         ProjectExporter proFileExporter = new ProjectExporter(Connect._applicationObject);
         proFileExporter.ExportToProFile();
     }
 }
Esempio n. 5
0
 public static void ExportProFile()
 {
     if (Vsix.Instance.Dte != null)
     {
         var proFileExporter = new ProjectExporter(Vsix.Instance.Dte);
         proFileExporter.ExportToProFile();
     }
 }
Esempio n. 6
0
 public static void ExportProFile()
 {
     if (QtVsToolsPackage.Instance.Dte != null)
     {
         var proFileExporter = new ProjectExporter(QtVsToolsPackage.Instance.Dte);
         proFileExporter.ExportToProFile();
     }
 }
Esempio n. 7
0
        public FileCollection(Action <string> requestDependencyCallback, Action <string> requestAssemblyCallback)
        {
            Exporter        = new ProjectExporter(this);
            AssemblyManager = new AssemblyManager(OnRequestAssembly);

            m_requestDependencyCallback = requestDependencyCallback;
            m_requestAssemblyCallback   = requestAssemblyCallback;
        }
Esempio n. 8
0
 public static void ExportProFile()
 {
     if (VSPackage.dte != null)
     {
         ProjectExporter proFileExporter = new ProjectExporter(VSPackage.dte);
         proFileExporter.ExportToProFile();
     }
 }
Esempio n. 9
0
        public static void ImportPriFile(EnvDTE.Project project, string fileName)
        {
            VCProject vcproj;

            if (!HelperFunctions.IsQtProject(project))
            {
                return;
            }

            vcproj = project.Object as VCProject;
            if (vcproj == null)
            {
                return;
            }

            QtVersionManager vm    = QtVersionManager.The();
            string           qtDir = vm.GetInstallPath(vm.GetDefaultVersion());

            if (qtDir == null)
            {
                Messages.DisplayErrorMessage(SR.GetString("CannotFindQMake"));
                return;
            }

            FileInfo priFileInfo = new FileInfo(fileName);

            QMakeWrapper qmake = new QMakeWrapper();

            qmake.setQtDir(qtDir);
            if (qmake.readFile(priFileInfo.FullName))
            {
                bool          flat      = qmake.isFlat();
                List <string> priFiles  = ResolveFilesFromQMake(qmake.sourceFiles(), project, priFileInfo.DirectoryName);
                List <string> projFiles = HelperFunctions.GetProjectFiles(project, FilesToList.FL_CppFiles);
                projFiles = ProjectExporter.ConvertFilesToFullPath(projFiles, vcproj.ProjectDirectory);
                ProjectExporter.SyncIncludeFiles(vcproj, priFiles, projFiles, project.DTE, flat, Filters.SourceFiles());

                priFiles  = ResolveFilesFromQMake(qmake.headerFiles(), project, priFileInfo.DirectoryName);
                projFiles = HelperFunctions.GetProjectFiles(project, FilesToList.FL_HFiles);
                projFiles = ProjectExporter.ConvertFilesToFullPath(projFiles, vcproj.ProjectDirectory);
                ProjectExporter.SyncIncludeFiles(vcproj, priFiles, projFiles, project.DTE, flat, Filters.HeaderFiles());

                priFiles  = ResolveFilesFromQMake(qmake.formFiles(), project, priFileInfo.DirectoryName);
                projFiles = HelperFunctions.GetProjectFiles(project, FilesToList.FL_UiFiles);
                projFiles = ProjectExporter.ConvertFilesToFullPath(projFiles, vcproj.ProjectDirectory);
                ProjectExporter.SyncIncludeFiles(vcproj, priFiles, projFiles, project.DTE, flat, Filters.FormFiles());

                priFiles  = ResolveFilesFromQMake(qmake.resourceFiles(), project, priFileInfo.DirectoryName);
                projFiles = HelperFunctions.GetProjectFiles(project, FilesToList.FL_Resources);
                projFiles = ProjectExporter.ConvertFilesToFullPath(projFiles, vcproj.ProjectDirectory);
                ProjectExporter.SyncIncludeFiles(vcproj, priFiles, projFiles, project.DTE, flat, Filters.ResourceFiles());
            }
            else
            {
                Messages.PaneMessage(project.DTE, "--- (Importing .pri file) file: "
                                     + priFileInfo + " could not be read.");
            }
        }
Esempio n. 10
0
 public GameCollection(Parameters pars)
 {
     Layout = pars.Layout;
     m_layouts.Add(Layout.Info, Layout);
     AssemblyManager    = new AssemblyManager(pars.ScriptBackend, Layout, OnRequestAssembly);
     m_assemblyCallback = pars.RequestAssemblyCallback;
     m_resourceCallback = pars.RequestResourceCallback;
     Exporter           = new ProjectExporter(this);
 }
        public ExportToRecordingToolDlg(ProjectExporter viewModel)
        {
            m_viewModel = viewModel;

            InitializeComponent();

            HandleStringsLocalized();
            LocalizeItemDlg <TMXDocument> .StringsLocalized += HandleStringsLocalized;
        }
Esempio n. 12
0
 public static void ExportPriFile()
 {
     EnvDTE.DTE dte = Connect._applicationObject;
     if (dte != null)
     {
         ProjectExporter proFileExporter = new ProjectExporter(dte);
         proFileExporter.ExportToPriFile(HelperFunctions.GetSelectedQtProject
                                             (dte));
     }
 }
Esempio n. 13
0
        void DoGenerate_DoWork(object sender, DoWorkEventArgs e)
        {
            System.ComponentModel.BackgroundWorker worker;
            worker = (System.ComponentModel.BackgroundWorker)sender;
            worker.WorkerReportsProgress = true;
            ProjectExporter exporter = new ProjectExporter(ProjectDefinition.Settings);

            exporter.WorkerThread = worker;
            exporter.ExportProject(Settings.FileName);
        }
Esempio n. 14
0
        public static void ExportPriFile()
        {
            var dte = Vsix.Instance.Dte;

            if (dte != null)
            {
                var proFileExporter = new ProjectExporter(dte);
                proFileExporter.ExportToPriFile(HelperFunctions.GetSelectedQtProject
                                                    (dte));
            }
        }
Esempio n. 15
0
        public static void ExportPriFile()
        {
            DTE dte = VSPackage.dte;

            if (dte != null)
            {
                ProjectExporter proFileExporter = new ProjectExporter(dte);
                proFileExporter.ExportToPriFile(HelperFunctions.GetSelectedQtProject
                                                    (dte));
            }
        }
Esempio n. 16
0
        public ExportDlg(ProjectExporter viewModel)
        {
            m_viewModel = viewModel;

            InitializeComponent();

            HandleStringsLocalized();
            LocalizeItemDlg.StringsLocalized += HandleStringsLocalized;

            m_lblFileName.Text = m_viewModel.FullFileName;

            UpdateDisplay();
        }
Esempio n. 17
0
 private void ShutItAllDown(ProjectExporter exporter)
 {
     foreach (ClassIDType cls in Enum.GetValues(typeof(ClassIDType)).OfType <ClassIDType>())
     {
         if (cls == ClassIDType.MonoScript)
         {
             continue;
         }
         else
         {
             exporter.OverrideExporter(cls, noExporter);
         }
     }
 }
Esempio n. 18
0
        public void CreateGlyssenScript_DeliveryIsSet_DeliveryIsExported()
        {
            var project = TestProject.CreateBasicTestProject();
            var blockWhereMichaelSpeaks = project.IncludedBooks.Single().GetScriptBlocks().Single(b => b.InitialStartVerseNumber == 9 && b.IsQuote);

            blockWhereMichaelSpeaks.CharacterId = "Michael, archangel";
            blockWhereMichaelSpeaks.Delivery    = "rebuking";
            var exporter      = new ProjectExporter(project);
            var glyssenScript = ScriptExporter.CreateGlyssenScript(project, exporter.GetExportData(getBlockElements: true));

            var scriptBlocks = glyssenScript.Script.Books[0].Chapters[1].Blocks;             // Chapter 0 is just the book title
            var michael      = scriptBlocks.Single(b => b.Character == "Michael, archangel");

            Assert.AreEqual("rebuking", michael.Delivery);
        }
Esempio n. 19
0
        public ExportDlg(ProjectExporter viewModel)
        {
            m_viewModel = viewModel;

            InitializeComponent();

            if (!m_viewModel.IncludeVoiceActors)
            {
                HideControlsThatRequireVoiceActors();
            }

            HandleStringsLocalized();
            LocalizeItemDlg <TMXDocument> .StringsLocalized += HandleStringsLocalized;

            m_lblFileName.Text = m_viewModel.FullFileName;

            UpdateDisplay();
        }
Esempio n. 20
0
        private void EnableExport(ClassIDType cls, ProjectExporter exporter)
        {
            switch (cls)
            {
            case ClassIDType.Shader:
            case ClassIDType.AudioClip:
                exporter.OverrideBinaryExporter(cls);
                break;

            case ClassIDType.MonoScript:
                break;

            case ClassIDType.MonoManager:
            case ClassIDType.AssetBundle:
            case ClassIDType.ResourceManager:
            case ClassIDType.PreloadData:
                exporter.OverrideDummyExporter(cls, true, false);
                break;

            case ClassIDType.Sprite:
                exporter.OverrideDummyExporter(cls, false, true);
                break;

            case ClassIDType.BuildSettings:
            case ClassIDType.EditorSettings:
            case ClassIDType.TextureImporter:
            case ClassIDType.DefaultAsset:
            case ClassIDType.DefaultImporter:
            case ClassIDType.NativeFormatImporter:
            case ClassIDType.MonoImporter:
            case ClassIDType.DDSImporter:
            case ClassIDType.PVRImporter:
            case ClassIDType.ASTCImporter:
            case ClassIDType.KTXImporter:
            case ClassIDType.IHVImageFormatImporter:
            case ClassIDType.SpriteAtlas:
                exporter.OverrideDummyExporter(cls, false, false);
                break;

            default:
                exporter.OverrideYamlExporter(cls);
                break;
            }
        }
Esempio n. 21
0
        private void Browse_Click(object sender, EventArgs e)
        {
            using (var dlg = new SaveFileDialog())
            {
                dlg.Title            = LocalizationManager.GetString("DialogBoxes.ExportDlg.SaveFileDialog.Title", "Choose File Location");
                dlg.OverwritePrompt  = false;
                dlg.InitialDirectory = m_viewModel.CurrentBaseFolder;
                dlg.FileName         = Path.GetFileName(m_lblFileName.Text);
                dlg.Filter           = string.Format("{0} ({1})|{1}|{2} ({3})|{3}|{4} ({5})|{5}",
                                                     LocalizationManager.GetString("DialogBoxes.ExportDlg.ExcelFileTypeLabel", "Excel files"), "*" + Constants.kExcelFileExtension,
                                                     LocalizationManager.GetString("DialogBoxes.ExportDlg.TabDelimitedFileTypeLabel", "Tab-delimited files"), "*" + ProjectExporter.kTabDelimitedFileExtension,
                                                     LocalizationManager.GetString("DialogBoxes.FileDlg.AllFilesLabel", "All Files"), "*.*");
                dlg.DefaultExt = Constants.kExcelFileExtension;
                if (dlg.ShowDialog(this) == DialogResult.OK)
                {
                    switch (dlg.FilterIndex)
                    {
                    //1-indexed
                    case 2:                             //.txt
                        m_viewModel.SelectedFileType = ExportFileType.TabSeparated;
                        break;

                    default:
                        m_viewModel.SelectedFileType = ExportFileType.Excel;
                        break;
                    }

                    var newName = dlg.FileName;

                    string expectedFileExtension = ProjectExporter.GetFileExtension(m_viewModel.SelectedFileType);
                    if (!newName.EndsWith(expectedFileExtension))
                    {
                        newName += expectedFileExtension;
                    }

                    m_viewModel.FullFileName = newName;

                    UpdateDisplay();
                }
            }
        }
Esempio n. 22
0
        public ExportDlg(ProjectExporter projectExporter)
        {
            m_projectExporter = projectExporter;

            InitializeComponent();

            HandleStringsLocalized();
            LocalizeItemDlg.StringsLocalized += HandleStringsLocalized;

            m_defaultDirectory = Settings.Default.DefaultExportDirectory;
            if (string.IsNullOrWhiteSpace(m_defaultDirectory))
            {
                m_defaultDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            }
            string defaultFileName = m_projectExporter.Project.PublicationName + " " +
                                     LocalizationManager.GetString("DialogBoxes.ExportDlg.RecordingScriptFileNameDefaultSuffix", "Recording Script") +
                                     ProjectExporter.GetFileExtension(m_selectedFileType);

            m_lblFileName.Text = Path.Combine(m_defaultDirectory, defaultFileName);
            UpdateDisplay();
        }
Esempio n. 23
0
        public void GetTabSeparatedLine_GetExportDataForBlock_TextBeginsMidVerse_ResultHasCorrectVerseInfo()
        {
            var block = new Block("p", 4, 3);

            block.BlockElements.Add(new ScriptText("Text of verse three, part two. "));
            block.BlockElements.Add(new Verse("4"));
            block.BlockElements.Add(new ScriptText("Text of verse four. "));
            block.BlockElements.Add(new Verse("5"));
            block.BlockElements.Add(new ScriptText("Text of verse five."));

            var actor = new Glyssen.VoiceActor.VoiceActor {
                Name = "ActorGuy1"
            };

            int textLength = "Text of verse three, part two. ".Length + "Text of verse four. ".Length + "Text of verse five.".Length;

            Assert.AreEqual("0\tp\tMRK\t4\t3\t\t\tText of verse three, part two. [4]\u00A0Text of verse four. [5]\u00A0Text of verse five.\t" + textLength,
                            ProjectExporter.GetTabSeparatedLine(ProjectExporter.GetExportDataForBlock(block, 0, "MRK").Item3));
            Assert.AreEqual("0\tActorGuy1\tp\tMRK\t4\t3\t\t\tText of verse three, part two. [4]\u00A0Text of verse four. [5]\u00A0Text of verse five.\t" + textLength,
                            ProjectExporter.GetTabSeparatedLine(ProjectExporter.GetExportDataForBlock(block, 0, "MRK", actor).Item3));
        }
Esempio n. 24
0
        public void CreateGlyssenScript_Jude_ParagraphStartInfoIsExported()
        {
            var project       = TestProject.CreateBasicTestProject();
            var exporter      = new ProjectExporter(project);
            var glyssenScript = ScriptExporter.CreateGlyssenScript(project, exporter.GetExportData(getBlockElements: true));

            string prevVerse = null;

            foreach (var block in glyssenScript.Script.Books[0].Chapters[1].Blocks)
            {
                if (block.Verse != prevVerse)
                {
                    switch (block.Verse)
                    {
                    // These are the verses that correspond to paragraph breaks in TestJUD.xml
                    case "1":
                    case "2":
                    case "3":
                    case "5":
                    case "8":
                    case "14":
                    case "16":
                    case "17":
                    case "24":
                        Assert.IsTrue(block.IsParagraphStart);
                        break;

                    default:
                        Assert.IsFalse(block.IsParagraphStart);
                        break;
                    }
                    prevVerse = block.Verse;
                }
                else
                {
                    // The first verse in Jude (in TestJUD.xml) is broken into to two paragraphs
                    Assert.AreEqual(block.Verse == "1", block.IsParagraphStart, $"Block should not have been a paragraph start: {block.Verse}");
                }
            }
        }
Esempio n. 25
0
        public void GetTabSeparatedLine_GetExportDataForBlock_VerseAndTextElements_ExpectedColumnsIncludingJoinedText()
        {
            var block = new Block("p", 4);

            block.IsParagraphStart = true;
            block.CharacterId      = "Fred";
            block.Delivery         = "With great gusto and quivering frustration";
            block.BlockElements.Add(new Verse("1"));
            block.BlockElements.Add(new ScriptText("Text of verse one. "));
            block.BlockElements.Add(new Verse("2"));
            block.BlockElements.Add(new ScriptText("Text of verse two."));

            var actor = new Glyssen.VoiceActor.VoiceActor {
                Name = "ActorGuy1"
            };

            int textLength = "Text of verse one. ".Length + "Text of verse two.".Length;

            Assert.AreEqual("0\tp\tMRK\t4\t1\tFred\tWith great gusto and quivering frustration\t[1]\u00A0Text of verse one. [2]\u00A0Text of verse two.\t" + textLength,
                            ProjectExporter.GetTabSeparatedLine(ProjectExporter.GetExportDataForBlock(block, 0, "MRK").Item3));
            Assert.AreEqual("0\tActorGuy1\tp\tMRK\t4\t1\tFred\tWith great gusto and quivering frustration\t[1]\u00A0Text of verse one. [2]\u00A0Text of verse two.\t" + textLength,
                            ProjectExporter.GetTabSeparatedLine(ProjectExporter.GetExportDataForBlock(block, 0, "MRK", actor).Item3));
        }
Esempio n. 26
0
        public void GetTabSeparatedLine_GetExportDataForBlock_MultiCharacterWithResolvedId_OutputContainsCharacterIdToUseInScript()
        {
            var block = new Block("p", 4);

            block.IsParagraphStart    = true;
            block.CharacterId         = "Fred/Marko";
            block.CharacterIdInScript = "Marko";
            block.Delivery            = "With great gusto and quivering frustration";
            block.BlockElements.Add(new Verse("1"));
            block.BlockElements.Add(new ScriptText("Text of verse one. "));
            block.BlockElements.Add(new Verse("2"));
            block.BlockElements.Add(new ScriptText("Text of verse two."));

            var actor = new Glyssen.VoiceActor.VoiceActor {
                Name = "ActorGuy1"
            };

            int textLength = "Text of verse one. ".Length + "Text of verse two.".Length;

            Assert.AreEqual("0\tp\tMRK\t4\t1\tMarko\tWith great gusto and quivering frustration\t[1]\u00A0Text of verse one. [2]\u00A0Text of verse two.\t" + textLength,
                            ProjectExporter.GetTabSeparatedLine(ProjectExporter.GetExportDataForBlock(block, 0, "MRK").Item3));
            Assert.AreEqual("0\tActorGuy1\tp\tMRK\t4\t1\tMarko\tWith great gusto and quivering frustration\t[1]\u00A0Text of verse one. [2]\u00A0Text of verse two.\t" + textLength,
                            ProjectExporter.GetTabSeparatedLine(ProjectExporter.GetExportDataForBlock(block, 0, "MRK", actor).Item3));
        }
Esempio n. 27
0
 public FileCollection()
 {
     Exporter = new ProjectExporter(this);
 }
Esempio n. 28
0
        public static void ImportPriFile(EnvDTE.Project project, string fileName)
        {
            ThreadHelper.ThrowIfNotOnUIThread();

            if (project == null)
            {
                return;
            }

            if (!HelperFunctions.IsQtProject(project))
            {
                return;
            }

            var vcproj = project.Object as VCProject;

            if (vcproj == null)
            {
                return;
            }

            var vm    = QtVersionManager.The();
            var qtDir = vm.GetInstallPath(vm.GetDefaultVersion());

            if (qtDir == null)
            {
                Messages.DisplayErrorMessage(SR.GetString("CannotFindQMake"));
                return;
            }

            var qmake = new QMakeWrapper {
                QtDir = qtDir
            };
            var priFileInfo = new FileInfo(fileName);

            if (qmake.ReadFile(priFileInfo.FullName))
            {
                var priFiles  = ResolveFilesFromQMake(qmake.SourceFiles, project, priFileInfo.DirectoryName);
                var projFiles = HelperFunctions.GetProjectFiles(project, FilesToList.FL_CppFiles);
                projFiles = ProjectExporter.ConvertFilesToFullPath(projFiles, vcproj.ProjectDirectory);
                ProjectExporter.SyncIncludeFiles(vcproj, priFiles, projFiles, project.DTE, qmake.IsFlat, Filters.SourceFiles());

                priFiles  = ResolveFilesFromQMake(qmake.HeaderFiles, project, priFileInfo.DirectoryName);
                projFiles = HelperFunctions.GetProjectFiles(project, FilesToList.FL_HFiles);
                projFiles = ProjectExporter.ConvertFilesToFullPath(projFiles, vcproj.ProjectDirectory);
                ProjectExporter.SyncIncludeFiles(vcproj, priFiles, projFiles, project.DTE, qmake.IsFlat, Filters.HeaderFiles());

                priFiles  = ResolveFilesFromQMake(qmake.FormFiles, project, priFileInfo.DirectoryName);
                projFiles = HelperFunctions.GetProjectFiles(project, FilesToList.FL_UiFiles);
                projFiles = ProjectExporter.ConvertFilesToFullPath(projFiles, vcproj.ProjectDirectory);
                ProjectExporter.SyncIncludeFiles(vcproj, priFiles, projFiles, project.DTE, qmake.IsFlat, Filters.FormFiles());

                priFiles  = ResolveFilesFromQMake(qmake.ResourceFiles, project, priFileInfo.DirectoryName);
                projFiles = HelperFunctions.GetProjectFiles(project, FilesToList.FL_Resources);
                projFiles = ProjectExporter.ConvertFilesToFullPath(projFiles, vcproj.ProjectDirectory);
                ProjectExporter.SyncIncludeFiles(vcproj, priFiles, projFiles, project.DTE, qmake.IsFlat, Filters.ResourceFiles());
            }
            else
            {
                Messages.Print("--- (Importing .pri file) file: "
                               + priFileInfo + " could not be read.");
            }
        }
Esempio n. 29
0
 public FileCollection()
 {
     Exporter        = new ProjectExporter(this);
     AssemblyManager = new AssemblyManager(OnRequestAssembly);
 }
Esempio n. 30
0
        public static bool RunlUpdate(VCFile vcFile, EnvDTE.Project pro)
        {
            if (!HelperFunctions.IsQtProject(pro))
            {
                return(false);
            }

            string cmdLine = "";
            string options = QtVSIPSettings.GetLUpdateOptions(pro);

            if (!string.IsNullOrEmpty(options))
            {
                cmdLine += options + " ";
            }
            List <string> headers = HelperFunctions.GetProjectFiles(pro, FilesToList.FL_HFiles);
            List <string> sources = HelperFunctions.GetProjectFiles(pro, FilesToList.FL_CppFiles);
            List <string> uifiles = HelperFunctions.GetProjectFiles(pro, FilesToList.FL_UiFiles);

            foreach (string file in headers)
            {
                cmdLine += file + " ";
            }

            foreach (string file in sources)
            {
                cmdLine += file + " ";
            }

            foreach (string file in uifiles)
            {
                cmdLine += file + " ";
            }

            cmdLine += "-ts " + vcFile.RelativePath;

            int    cmdLineLength    = cmdLine.Length + Resources.lupdateCommand.Length + 1;
            string temporaryProFile = null;

            if (cmdLineLength > HelperFunctions.GetMaximumCommandLineLength())
            {
                string codec = "";
                if (!string.IsNullOrEmpty(options))
                {
                    int cc4tr_location = options.IndexOf("-codecfortr", System.StringComparison.CurrentCultureIgnoreCase);
                    if (cc4tr_location != -1)
                    {
                        codec = options.Substring(cc4tr_location).Split(' ')[1];
                        string remove_this = options.Substring(cc4tr_location, "-codecfortr".Length + 1 + codec.Length);
                        options = options.Replace(remove_this, "");
                    }
                }
                VCProject vcPro = (VCProject)pro.Object;
                temporaryProFile = System.IO.Path.GetTempFileName();
                temporaryProFile = System.IO.Path.GetDirectoryName(temporaryProFile) + "\\" +
                                   System.IO.Path.GetFileNameWithoutExtension(temporaryProFile) + ".pro";
                if (System.IO.File.Exists(temporaryProFile))
                {
                    System.IO.File.Delete(temporaryProFile);
                }
                System.IO.StreamWriter sw = new System.IO.StreamWriter(temporaryProFile);
                writeFilesToPro(sw, "HEADERS",
                                ProjectExporter.ConvertFilesToFullPath(headers, vcPro.ProjectDirectory));
                writeFilesToPro(sw, "SOURCES",
                                ProjectExporter.ConvertFilesToFullPath(sources, vcPro.ProjectDirectory));
                writeFilesToPro(sw, "FORMS",
                                ProjectExporter.ConvertFilesToFullPath(uifiles, vcPro.ProjectDirectory));

                List <string> tsFiles = new List <string>(1);
                tsFiles.Add(vcFile.FullPath);
                writeFilesToPro(sw, "TRANSLATIONS", tsFiles);

                if (!string.IsNullOrEmpty(codec))
                {
                    sw.WriteLine("CODECFORTR = " + codec);
                }
                sw.Close();

                cmdLine = "";
                if (!string.IsNullOrEmpty(options))
                {
                    cmdLine += options + " ";
                }
                cmdLine += "\"" + temporaryProFile + "\"";
            }

            bool success = true;

            try
            {
                Messages.PaneMessage(pro.DTE, "--- (lupdate) file: " + vcFile.FullPath);

                HelperFunctions.StartExternalQtApplication(Resources.lupdateCommand, cmdLine,
                                                           ((VCProject)vcFile.project).ProjectDirectory, pro, true, null);
            }
            catch (QtVSException e)
            {
                success = false;
                Messages.DisplayErrorMessage(e.Message);
            }

            if (temporaryProFile != null && System.IO.File.Exists(temporaryProFile))
            {
                System.IO.File.Delete(temporaryProFile);
                temporaryProFile  = temporaryProFile.Substring(0, temporaryProFile.Length - 3);
                temporaryProFile += "TMP";
                if (System.IO.File.Exists(temporaryProFile))
                {
                    System.IO.File.Delete(temporaryProFile);
                }
            }

            return(success);
        }