Ejemplo n.º 1
0
        public void loadFile(string s)
        {
            if (s != "")
            {
                // detectar si hay un archivo mas nuevo en el directorio de autosave

                bool checknewer = true;

                try
                {
                    checknewer = Convert.ToBoolean(getFromConfigFile("mainW_NewerCopyAutoSaved"));
                }
                catch { }

                if (checknewer)
                {

                    FileInfo f = new FileInfo(s);

                    string fas_normal = Path.Combine(autosaveDir, f.Name + ".perrySub.AUTOSAVE");
                    string fas_trans = Path.Combine(autosaveDir, f.Name + ".TranslateW.AUTOSAVE");
                    string fas_normal_zip = fas_normal + ".zip";
                    string fas_trans_zip = fas_trans + ".zip";

                    ArrayList upd = new ArrayList();

                    if (File.Exists(fas_normal))
                        upd.Add(fas_normal);
                    if (File.Exists(fas_normal_zip))
                        upd.Add(fas_normal_zip);
                    if (File.Exists(fas_trans))
                        upd.Add(fas_trans);
                    if (File.Exists(fas_trans_zip))
                        upd.Add(fas_trans_zip);

                    bool shown = false;
                    foreach (string fff in upd)
                    {
                        FileInfo auto = new FileInfo(fff);
                        if (auto.LastWriteTime > f.LastWriteTime && !shown)
                        {
                            MessageBox.Show("Hay una versión con fecha más reciente de este archivo en el directorio de auto guardados.\n" +
                                "Si quieres recuperarla, ve a Opciones -> Restaurar archivo del Auto Guardado, y restaura el archivo:\n" +
                                auto.Name, appTitle, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            shown = true;
                        }
                    }
                }

                // carga
                script = new SubtitleScript(s);
                al = script.GetLines();
                v4 = script.GetStyles();
                head = script.GetHeaders();

                splashScreen.Visible = false;
                gridASS.Visible = tabGrid.Visible = true;
                panelTextTools.Visible = true;
                if (!isVideoLoaded)
                    drawPositions();

                // --

                idxListBox.Items.Clear();

                for (int i = 0; i < (script.LineCount / LineArrayList.LineArrayListMax) + 1; i++)
                {
                    idxListBox.Items.Add(i * LineArrayList.LineArrayListMax + "+");
                }

                idxListBox.SelectedIndex = 0;

                updateGridWithArrayList(al);

            }

            if (gridASS.Rows.Count > 0) // forzar refresco de SelectionChanged
                gridASS.Rows[0].Selected = true;

            updatePanelTextTools();
            selectedLine.ForceRefresh();

            if (openFile.EndsWith(".ass", StringComparison.InvariantCultureIgnoreCase))
            {
                updateConcatenateConfigFile("LastASS", openFile);
                SHAddToRecentDocs(SHARD_PATH, openFile);
            }

            setStatus("Archivo " + s + " cargado.");
            AutoSave.Enabled = true;
            if (!InvokedFromCommandline)
                loadAudioVideoFromScript();
            updateMenuEnables();
        }
Ejemplo n.º 2
0
        private void newFile()
        {
            if (openFile != null)
            {
                launchPerrySubParms("-new");
                return;
            }

            type = ScriptFileType.ASS_SSA;

            splashScreen.Visible = false;
            gridASS.Visible = true;
            panelTextTools.Visible = true;

            openFile = newFileName;
            chgCaption(openFile);

            script = new SubtitleScript();
            script.NewFile();
            script.FileName = openFile;

            al = script.GetLines();
            v4 = script.GetStyles();
            head = script.GetHeaders();

            drawPositions();

            updateGridWithArrayList(al);

            //gridASS.RowCount = 1;

            //fillRowWithLineaASS((lineaASS)al[0],0);

            gridASS.Rows[0].Selected = true;

            updatePanelTextTools();
            selectedLine.ForceRefresh();
            updateMenuEnables();
            AutoSave.Enabled = true;
        }
Ejemplo n.º 3
0
        private void ordenarLíneasPorTiemposToolStripMenuItem_Click(object sender, EventArgs e)
        {
            IsModified = true;

            UndoRedo.AddUndo(script, "Ordenar líneas por tiempos");

            SubtitleScript copia = (SubtitleScript)script.Clone();
            copia.GetLineArrayList().GetFullArrayList().Sort();
            //copia.GetLineArrayList().GetFullArrayList().Reverse();
            script = copia;
            al = script.GetLines();
            updateGridWithArrayList(al);
        }
Ejemplo n.º 4
0
        private void CallUndo()
        {
            if (UndoRedo.UndoLevels > 0)
            {
                script = UndoRedo.GetUndo(script); //al = (ArrayList)UndoStack.Pop();
                al = script.GetLines();
                v4 = script.GetStyles();
                head = script.GetHeaders();

                updateGridWithArrayList(al);
                updatePanelTextTools();
            }
        }