Esempio n. 1
0
        private void selectJsonFileDialog_FileOk(object sender, CancelEventArgs e)
        {
            string filePath = selectJsonFileDialog.FileName;

            if (filePath == null)
            {
                return;
            }

            filePath = JsonHelper.NormalizeSystemPath(filePath);
            NewAliasParameters parameters        = selectJsonFileDialog.Tag as NewAliasParameters;
            Module             selectedMod       = parameters.SelectedMod;
            string             manifestEntryType = parameters.ManifestEntryType;

            if (!filePath.Contains(selectedMod.Path))
            {
                MessageBox.Show("The file must be under the directory " + selectedMod.Path);
                return;
            }

            mLastModuleLocations[selectedMod.Name] = filePath;
            string shortPath = filePath.Replace(selectedMod.Path + "/", "");

            string[] pathSplit  = shortPath.Split('/');
            string   samplePath = string.Empty;

            for (int i = 1; i < (pathSplit.Length - 1); ++i)
            {
                if (string.IsNullOrEmpty(samplePath))
                {
                    samplePath = pathSplit[i];
                }
                else
                {
                    samplePath = samplePath + ':' + pathSplit[i];
                }
            }

            if (pathSplit.Length > 2)
            {
                // Make the file path not contain the .json part if it doesn't have to
                string fileName  = pathSplit[pathSplit.Length - 1];
                string extension = System.IO.Path.GetExtension(fileName);
                if (extension == ".json")
                {
                    string folder = pathSplit[pathSplit.Length - 2];
                    if (folder.Equals(System.IO.Path.GetFileNameWithoutExtension(fileName)))
                    {
                        shortPath = shortPath.Replace("/" + fileName, "");
                    }
                }
                else if (extension == ".lua")
                {
                    string nameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(fileName);
                    if (nameWithoutExtension.EndsWith("_action"))
                    {
                        nameWithoutExtension = nameWithoutExtension.Substring(0, nameWithoutExtension.Length - 7);
                        samplePath           = samplePath + ':' + nameWithoutExtension;
                    }
                }
            }

            NewAliasCallback callback = new NewAliasCallback(this, selectedMod, shortPath, manifestEntryType);
            InputDialog      dialog   = new InputDialog("Add New Alias", "Type the name of the alias for " + filePath, samplePath, "Add!");

            dialog.SetCallback(callback);
            dialog.ShowDialog();
        }