Cosmetic: changed ' to " in some more Error and Warning messages.

This commit is contained in:
MaxED 2016-03-08 20:41:06 +00:00 committed by spherallic
parent f048600bbf
commit 986d24af2b
22 changed files with 60 additions and 60 deletions

View File

@ -414,13 +414,13 @@ namespace CodeImp.DoomBuilder.IO
catch(FormatException)
{
// ERROR: Invalid value in assignment
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: '" + s.Trim() + "'");
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: \"" + s.Trim() + "\"");
}
}
catch(FormatException)
{
// ERROR: Invalid value in assignment
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: '" + s.Trim() + "'");
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: \"" + s.Trim() + "\"");
}
}
// Floating point?
@ -434,7 +434,7 @@ namespace CodeImp.DoomBuilder.IO
catch(FormatException)
{
// ERROR: Invalid value in assignment
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: '" + s.Trim() + "'");
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: \"" + s.Trim() + "\"");
}
// Add it to struct
@ -476,13 +476,13 @@ namespace CodeImp.DoomBuilder.IO
catch(FormatException)
{
// ERROR: Invalid value in assignment
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: '" + s.Trim() + "'");
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: \"" + s.Trim() + "\"");
}
}
catch(FormatException)
{
// ERROR: Invalid value in assignment
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: '" + s.Trim() + "'");
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: \"" + s.Trim() + "\"");
}
}
@ -533,7 +533,7 @@ namespace CodeImp.DoomBuilder.IO
catch(FormatException)
{
// ERROR: Invalid value in assignment
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: '" + v.Trim() + "'");
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: \"" + v.Trim() + "\"");
}
// Convert the number to a char
@ -541,7 +541,7 @@ namespace CodeImp.DoomBuilder.IO
catch(FormatException)
{
// ERROR: Invalid value in assignment
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: '" + v.Trim() + "'");
RaiseError(line, ERROR_VALUEINVALID + "\n\nUnrecognized token: \"" + v.Trim() + "\"");
}
// Add the char
@ -623,7 +623,7 @@ namespace CodeImp.DoomBuilder.IO
default:
// Unknown keyword
RaiseError(line, ERROR_KEYWORDUNKNOWN + "\n\nUnrecognized token: '" + val.ToString().Trim() + "'");
RaiseError(line, ERROR_KEYWORDUNKNOWN + "\n\nUnrecognized token: \"" + val.ToString().Trim() + "\"");
break;
}

View File

@ -494,7 +494,7 @@ namespace CodeImp.DoomBuilder.IO
}
else if(!e.IsValidType(e.Value.GetType()))
{
General.ErrorLogger.Add(ErrorType.Warning, element + ": the value of entry '" + e.Key + "' is of incompatible type (expected " + e.GetType().Name + ", but got " + e.Value.GetType().Name + "). If you save the map, this value will be ignored.");
General.ErrorLogger.Add(ErrorType.Warning, element + ": the value of entry \"" + e.Key + "\" is of incompatible type (expected " + e.GetType().Name + ", but got " + e.Value.GetType().Name + "). If you save the map, this value will be ignored.");
continue;
}
@ -522,7 +522,7 @@ namespace CodeImp.DoomBuilder.IO
}
else if(!e.IsValidType(e.Value.GetType()))
{
General.ErrorLogger.Add(ErrorType.Warning, element + ": the value of entry '" + e.Key + "' is of incompatible type (expected " + e.GetType().Name + ", but got " + e.Value.GetType().Name + "). If you save the map, this value will be ignored.");
General.ErrorLogger.Add(ErrorType.Warning, element + ": the value of entry \"" + e.Key + "\" is of incompatible type (expected " + e.GetType().Name + ", but got " + e.Value.GetType().Name + "). If you save the map, this value will be ignored.");
continue;
}
@ -582,7 +582,7 @@ namespace CodeImp.DoomBuilder.IO
{
// Report error when entry is required!
if(required)
General.ErrorLogger.Add(ErrorType.Error, "Error while reading UDMF map data: Missing required field '" + entryname + "' at " + where + ".");
General.ErrorLogger.Add(ErrorType.Error, "Error while reading UDMF map data: Missing required field \"" + entryname + "\" at " + where + ".");
// Make default entry
result = defaultvalue;

View File

@ -66,7 +66,7 @@ namespace CodeImp.DoomBuilder.Plugins
// Initialize
string shortfilename = Path.GetFileName(filename);
name = Path.GetFileNameWithoutExtension(filename);
General.WriteLogLine("Loading plugin '" + name + "' from '" + shortfilename + "'...");
General.WriteLogLine("Loading plugin \"" + name + "\" from \"" + shortfilename + "\"...");
try
{
@ -218,7 +218,7 @@ namespace CodeImp.DoomBuilder.Plugins
catch(TargetInvocationException e)
{
// Error!
string error = "Failed to create class instance '" + t.Name + "' from plugin '" + name + "'.";
string error = "Failed to create class instance \"" + t.Name + "\" from plugin \"" + name + "\".";
General.ShowErrorMessage(error + Environment.NewLine + Environment.NewLine + "See the error log for more details", MessageBoxButtons.OK, false);
General.WriteLogLine(error + " " + e.InnerException.GetType().Name + " at target: "
+ e.InnerException.Message + Environment.NewLine + "Stacktrace: " + e.InnerException.StackTrace.Trim());
@ -227,7 +227,7 @@ namespace CodeImp.DoomBuilder.Plugins
catch(Exception e)
{
// Error!
string error = "Failed to create class instance '" + t.Name + "' from plugin '" + name + "'.";
string error = "Failed to create class instance \"" + t.Name + "\" from plugin \"" + name + "\".";
General.ShowErrorMessage(error + Environment.NewLine + Environment.NewLine + "See the error log for more details", MessageBoxButtons.OK, false);
General.WriteLogLine(error + " " + e.GetType().Name + ": " + e.Message + Environment.NewLine
+ "Stacktrace: " + e.StackTrace.Trim());

View File

@ -180,7 +180,7 @@ namespace CodeImp.DoomBuilder.Windows
// Current map is already loaded
if(mapslist.SelectedItems[0].Text == options.LevelName)
{
MessageBox.Show(this, "Map '" + options.LevelName + "' is already loaded.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
MessageBox.Show(this, "Map \"" + options.LevelName + "\" is already loaded.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
mapslist.Focus();
return;
}

View File

@ -402,7 +402,7 @@ namespace CodeImp.DoomBuilder.Windows
ci = listconfigs.Items[i].Tag as ConfigurationInfo;
if(!ci.Resources.IsValid())
{
MessageBox.Show(this, "At least one resource doesn't exist in '" + ci.Name + "' game configuration!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
MessageBox.Show(this, "At least one resource doesn't exist in \"" + ci.Name + "\" game configuration!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
tabs.SelectedTab = tabresources;
listconfigs.Focus();
listconfigs.Items[i].Selected = true;
@ -871,7 +871,7 @@ namespace CodeImp.DoomBuilder.Windows
configinfocopy = current.Clone();
//display info
General.Interface.DisplayStatus(StatusType.Info, "Copied '" + configinfocopy.Name + "' game configuration");
General.Interface.DisplayStatus(StatusType.Info, "Copied \"" + configinfocopy.Name + "\" game configuration");
}
private void pasteall_Click(object sender, EventArgs e)
@ -885,7 +885,7 @@ namespace CodeImp.DoomBuilder.Windows
//update display
cbEngineSelector.Text = string.Empty; // Otherwise current text from cbEngineSelector will override the pasted one
listconfigs_SelectedIndexChanged(listconfigs, EventArgs.Empty);
General.Interface.DisplayStatus(StatusType.Info, "Pasted game configuration from '" + configinfocopy.Name + "'");
General.Interface.DisplayStatus(StatusType.Info, "Pasted game configuration from \"" + configinfocopy.Name + "\"");
}
private void pasteresources_Click(object sender, EventArgs e)
@ -898,7 +898,7 @@ namespace CodeImp.DoomBuilder.Windows
//update display
listconfigs_SelectedIndexChanged(listconfigs, EventArgs.Empty);
General.Interface.DisplayStatus(StatusType.Info, "Pasted resources from '" + configinfocopy.Name + "'");
General.Interface.DisplayStatus(StatusType.Info, "Pasted resources from \"" + configinfocopy.Name + "\"");
}
private void pasteengines_Click(object sender, EventArgs e)
@ -912,7 +912,7 @@ namespace CodeImp.DoomBuilder.Windows
//update display
cbEngineSelector.Text = string.Empty; // Otherwise current text from cbEngineSelector will override the pasted one
listconfigs_SelectedIndexChanged(listconfigs, EventArgs.Empty);
General.Interface.DisplayStatus(StatusType.Info, "Pasted engines list from '" + configinfocopy.Name + "'");
General.Interface.DisplayStatus(StatusType.Info, "Pasted engines list from \"" + configinfocopy.Name + "\"");
}
private void pastecolorpresets_Click(object sender, EventArgs e)
@ -925,7 +925,7 @@ namespace CodeImp.DoomBuilder.Windows
//update display
listconfigs_SelectedIndexChanged(listconfigs, EventArgs.Empty);
General.Interface.DisplayStatus(StatusType.Info, "Pasted color presets from '" + configinfocopy.Name + "'");
General.Interface.DisplayStatus(StatusType.Info, "Pasted color presets from \"" + configinfocopy.Name + "\"");
}
#endregion

View File

@ -180,7 +180,7 @@ namespace CodeImp.DoomBuilder.Windows
if(gotmismatch) continue;
//we have a match
warning = "Preset matches '" + other.Preset.Name + "'!";
warning = "Preset matches \"" + other.Preset.Name + "\"!";
item.ShowWarning = true;
break;
}

View File

@ -734,14 +734,14 @@ namespace CodeImp.DoomBuilder.Windows
if(!File.Exists(filePaths[0]))
{
General.Interface.DisplayStatus(StatusType.Warning, "Cannot open '" + filePaths[0] + "': file does not exist!");
General.Interface.DisplayStatus(StatusType.Warning, "Cannot open \"" + filePaths[0] + "\": file does not exist!");
return;
}
string ext = Path.GetExtension(filePaths[0]);
if(string.IsNullOrEmpty(ext) || ext.ToLower() != ".wad")
{
General.Interface.DisplayStatus(StatusType.Warning, "Cannot open '" + filePaths[0] + "': only WAD files can be loaded this way!");
General.Interface.DisplayStatus(StatusType.Warning, "Cannot open \"" + filePaths[0] + "\": only WAD files can be loaded this way!");
return;
}
@ -3088,7 +3088,7 @@ namespace CodeImp.DoomBuilder.Windows
}
//open file
DisplayStatus(StatusType.Info, "Shortcut reference saved to '" + path + "'");
DisplayStatus(StatusType.Info, "Shortcut reference saved to \"" + path + "\"");
Process.Start(path);
}
@ -3096,8 +3096,8 @@ namespace CodeImp.DoomBuilder.Windows
private void itemopenconfigfolder_Click(object sender, EventArgs e)
{
if(Directory.Exists(General.SettingsPath)) Process.Start(General.SettingsPath);
else General.ShowErrorMessage("Huh? Where did Settings folder go?.." + Environment.NewLine
+ "I swear it was here: '" + General.SettingsPath + "'!", MessageBoxButtons.OK); // I don't think this will ever happen
else General.ShowErrorMessage("Huh? Where did Settings folder go?.." + Environment.NewLine
+ "I swear it was here: \"" + General.SettingsPath + "\"!", MessageBoxButtons.OK); // I don't think this will ever happen
}
#endregion
@ -3224,11 +3224,11 @@ namespace CodeImp.DoomBuilder.Windows
string folder = General.Settings.ScreenshotsPath;
if(!Directory.Exists(folder))
{
if(folder != General.DefaultScreenshotsPath
&& General.ShowErrorMessage("Screenshots save path '" + folder
+ "' does not exist!\nPress OK to save to the default folder ('"
+ General.DefaultScreenshotsPath
+ "').\nPress Cancel to abort.", MessageBoxButtons.OKCancel) == DialogResult.Cancel) return;
if(folder != General.DefaultScreenshotsPath
&& General.ShowErrorMessage("Screenshots save path \"" + folder
+ "\" does not exist!\nPress OK to save to the default folder (\""
+ General.DefaultScreenshotsPath
+ "\").\nPress Cancel to abort.", MessageBoxButtons.OKCancel) == DialogResult.Cancel) return;
folder = General.DefaultScreenshotsPath;
@ -3361,7 +3361,7 @@ namespace CodeImp.DoomBuilder.Windows
{
bitmap.Save(path, ImageFormat.Png);
}
DisplayStatus(StatusType.Info, "Screenshot saved to '" + path + "'");
DisplayStatus(StatusType.Info, "Screenshot saved to \"" + path + "\"");
}
catch(ExternalException e)
{

View File

@ -132,7 +132,7 @@ namespace CodeImp.DoomBuilder.ZDoom
// Check results
if(cameratextures.ContainsKey(texturename.ToUpperInvariant()))
{
ReportError("Camera texture '" + texturename + "' is defined more than once");
ReportError("Camera texture \"" + texturename + "\" is defined more than once");
return false;
}

View File

@ -155,7 +155,7 @@ namespace CodeImp.DoomBuilder.ZDoom
if(rotation != 0 && rotation != 90 && rotation != 180 && rotation != 270)
{
parser.LogWarning("Unsupported rotation (" + rotation + ") in patch '" + name + "'");
parser.LogWarning("Unsupported rotation (" + rotation + ") in patch \"" + name + "\"");
rotation = 0;
}
break;
@ -214,7 +214,7 @@ namespace CodeImp.DoomBuilder.ZDoom
// Try parsing as value
if(!float.TryParse(strvalue, NumberStyles.Float, CultureInfo.InvariantCulture, out value))
{
parser.ReportError("Expected numeric value for property '" + propertyname + "'");
parser.ReportError("Expected numeric value for property \"" + propertyname + "\"");
return false;
}
// Success
@ -222,7 +222,7 @@ namespace CodeImp.DoomBuilder.ZDoom
}
// Can't find the property value!
parser.ReportError("Expected a value for property '" + propertyname + "'");
parser.ReportError("Expected a value for property \"" + propertyname + "\"");
value = 0.0f;
return false;
}
@ -238,7 +238,7 @@ namespace CodeImp.DoomBuilder.ZDoom
// Try parsing as value
if(!int.TryParse(strvalue, NumberStyles.Integer, CultureInfo.InvariantCulture, out value))
{
parser.ReportError("Expected integral value for property '" + propertyname + "'");
parser.ReportError("Expected integral value for property \"" + propertyname + "\"");
return false;
}
@ -247,7 +247,7 @@ namespace CodeImp.DoomBuilder.ZDoom
}
// Can't find the property value!
parser.ReportError("Expected a value for property '" + propertyname + "'");
parser.ReportError("Expected a value for property \"" + propertyname + "\"");
value = 0;
return false;
}
@ -261,7 +261,7 @@ namespace CodeImp.DoomBuilder.ZDoom
if(string.IsNullOrEmpty(value))
{
// Can't find the property value!
parser.ReportError("Expected a value for property '" + propertyname + "'");
parser.ReportError("Expected a value for property \"" + propertyname + "\"");
return false;
}
@ -278,20 +278,20 @@ namespace CodeImp.DoomBuilder.ZDoom
if(string.IsNullOrEmpty(strvalue))
{
// Can't find the property value!
parser.ReportError("Expected a value for property '" + propertyname + "'");
parser.ReportError("Expected a value for property \"" + propertyname + "\"");
return false;
}
if(strvalue[0] != '#')
{
parser.ReportError("Expected color value for property '" + propertyname + "'");
parser.ReportError("Expected color value for property \"" + propertyname + "\"");
return false;
}
// Try parsing as value
if(!int.TryParse(strvalue.Remove(0, 1), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out value))
{
parser.ReportError("Expected color value for property '" + propertyname + "'");
parser.ReportError("Expected color value for property \"" + propertyname + "\"");
return false;
}

View File

@ -737,7 +737,7 @@ namespace CodeImp.DoomBuilder.BuilderModes.ClassicModes
return InterpolationTools.EaseInOutSine(val1, val2, delta);
default:
throw new Exception("DrawBezierPathMode.IntepolateValue: '" + mode + "' mode is not supported!");
throw new Exception("DrawBezierPathMode.IntepolateValue: \"" + mode + "\" mode is not supported!");
}
}

View File

@ -2004,7 +2004,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
{
if(!start.Fields.ContainsKey(key) && !end.Fields.ContainsKey(key))
{
General.Interface.DisplayStatus(StatusType.Warning, "First or last selected sector must have the '" + key + "' property!");
General.Interface.DisplayStatus(StatusType.Warning, "First or last selected sector must have the \"" + key + "\" property!");
}
else
{

View File

@ -63,7 +63,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
// This must return the string that is displayed in the listbox
public override string ToString()
{
return "Texture '" + texturename + "' is not aligned on linedefs " + side1.Line.Index + " (" + (side1.IsFront ? "front" : "back")
return "Texture \"" + texturename + "\" is not aligned on linedefs " + side1.Line.Index + " (" + (side1.IsFront ? "front" : "back")
+ ") and " + side2.Line.Index + " (" + (side2.IsFront ? "front" : "back") + ")";
}

View File

@ -90,7 +90,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
string f = flag.Trim();
if(!General.Map.Config.LinedefFlags.ContainsKey(f))
{
MessageBox.Show("Invalid replace value '" + f + "' for this search type!", "Find and Replace", MessageBoxButtons.OK, MessageBoxIcon.Error);
MessageBox.Show("Invalid replace value \"" + f + "\" for this search type!", "Find and Replace", MessageBoxButtons.OK, MessageBoxIcon.Error);
return objs.ToArray();
}
replaceflagslist.Add(f);

View File

@ -68,7 +68,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
string f = flag.Trim();
if(!General.Map.Config.SectorFlags.ContainsKey(f))
{
MessageBox.Show("Invalid replace value '" + f + "' for this search type!", "Find and Replace", MessageBoxButtons.OK, MessageBoxIcon.Error);
MessageBox.Show("Invalid replace value \"" + f + "\" for this search type!", "Find and Replace", MessageBoxButtons.OK, MessageBoxIcon.Error);
return objs.ToArray();
}
replaceflagslist.Add(f);

View File

@ -67,7 +67,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
string f = flag.Trim();
if(!General.Map.Config.SidedefFlags.ContainsKey(f))
{
MessageBox.Show("Invalid replace value '" + f + "' for this search type!", "Find and Replace", MessageBoxButtons.OK, MessageBoxIcon.Error);
MessageBox.Show("Invalid replace value \"" + f + "\" for this search type!", "Find and Replace", MessageBoxButtons.OK, MessageBoxIcon.Error);
return objs.ToArray();
}
replaceflagslist.Add(f);

View File

@ -98,7 +98,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
string f = flag.Trim();
if(!General.Map.Config.ThingFlags.ContainsKey(f))
{
MessageBox.Show("Invalid replace value '" + f + "' for this search type!", "Find and Replace", MessageBoxButtons.OK, MessageBoxIcon.Error);
MessageBox.Show("Invalid replace value \"" + f + "\" for this search type!", "Find and Replace", MessageBoxButtons.OK, MessageBoxIcon.Error);
return objs.ToArray();
}
replaceflagslist.Add(f);

View File

@ -164,7 +164,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
break;
default:
throw new NotImplementedException("GetSidedefPartSize: got unsupported geometry type: '" + type + "'");
throw new NotImplementedException("GetSidedefPartSize: got unsupported geometry type: \"" + type + "\"");
}
return rect;

View File

@ -185,7 +185,7 @@ namespace CodeImp.DoomBuilder.BuilderModes.IO
sw.Write(mtl.ToString());
//done
General.Interface.DisplayStatus(StatusType.Warning, "Geometry exported to '" + savePath + ".obj'");
General.Interface.DisplayStatus(StatusType.Warning, "Geometry exported to \"" + savePath + ".obj\"");
}
#endregion

View File

@ -801,7 +801,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
// Apply Texture
public virtual void ApplyTexture(string texture)
{
mode.CreateUndo("Change flat '" + texture + "'");
mode.CreateUndo("Change flat \"" + texture + "\"");
SetTexture(texture);
OnTextureChanged(); //mxd
}
@ -813,7 +813,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
string texturename = ((General.Map.Options.UseLongTextureNames && Texture != null && Texture.UsedInMap) ? Texture.Name : GetTextureName());
BuilderPlug.Me.CopiedFlat = texturename;
if(General.Map.Config.MixTexturesFlats) BuilderPlug.Me.CopiedTexture = texturename;
mode.SetActionResult("Copied flat '" + texturename + "'.");
mode.SetActionResult("Copied flat \"" + texturename + "\".");
}
public virtual void OnPasteTexture() { }

View File

@ -1186,10 +1186,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
{
if(BuilderPlug.Me.CopiedTexture != null)
{
mode.CreateUndo("Paste texture '" + BuilderPlug.Me.CopiedTexture + "'");
mode.SetActionResult("Pasted texture '" + BuilderPlug.Me.CopiedTexture + "'.");
mode.CreateUndo("Paste texture \"" + BuilderPlug.Me.CopiedTexture + "\"");
mode.SetActionResult("Pasted texture \"" + BuilderPlug.Me.CopiedTexture + "\".");
SetTexture(BuilderPlug.Me.CopiedTexture);
OnTextureChanged();//mxd
OnTextureChanged(); //mxd
}
}
@ -1221,7 +1221,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
string texturename = ((General.Map.Options.UseLongTextureNames && Texture != null && Texture.UsedInMap) ? Texture.Name : GetTextureName());
BuilderPlug.Me.CopiedTexture = texturename;
if(General.Map.Config.MixTexturesFlats) BuilderPlug.Me.CopiedFlat = texturename;
mode.SetActionResult("Copied texture '" + texturename + "'.");
mode.SetActionResult("Copied texture \"" + texturename + "\".");
}
// Copy texture offsets

View File

@ -244,7 +244,7 @@ namespace CodeImp.DoomBuilder.Plugins.NodesViewer
nodesformat = new string(reader.ReadChars(4));
if(!supportedFormats.Contains(nodesformat))
{
MessageBox.Show("'" + nodesformat + "' node format is not supported.", "Nodes Viewer mode", MessageBoxButtons.OK, MessageBoxIcon.Error);
MessageBox.Show("\"" + nodesformat + "\" node format is not supported.", "Nodes Viewer mode", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}

View File

@ -655,7 +655,7 @@ namespace CodeImp.DoomBuilder.TagExplorer
break;
default:
throw new NotImplementedException("Tag Explorer: Sort mode '" + sortMode + "' is not implemented!");
throw new NotImplementedException("Tag Explorer: Sort mode \"" + sortMode + "\" is not implemented!");
}
}