}
/**
- * escape a string according to the local platform's escape character
+ * Answers the input with every backslash replaced with a double backslash (an
+ * 'escaped' single backslash)
*
- * @param file
- * @return escaped file
+ * @param s
+ * @return
*/
- public static String escapeString(String file)
+ public static String escapeBackslashes(String s)
{
- StringBuffer f = new StringBuffer();
- int p = 0, lastp = 0;
- while ((p = file.indexOf('\\', lastp)) > -1)
- {
- f.append(file.subSequence(lastp, p));
- f.append("\\\\");
- lastp = p + 1;
- }
- f.append(file.substring(lastp));
- return f.toString();
+ return s == null ? null : s.replace("\\", "\\\\");
}
/**
if (!aMac)
{
return e.isControlDown();
+
+ // Jalview 2.11 code below: above is as amended for JalviewJS
+ // /*
+ // * answer false for right mouse button
+ // */
+ // if (e.isPopupTrigger())
+ // {
+ // return false;
+ // }
+ // return
+ // (jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx() //
+ // .getMenuShortcutKeyMaskEx()
+ // & jalview.util.ShortcutKeyMaskExWrapper
+ // .getModifiersEx(e)) != 0; // getModifiers()) != 0;
}
// answer false for right mouse button
// shortcut key will be META for a Mac
public static byte[] getFileBytes(File f)
{
- return /** @j2sNative f && f._bytes || */
+ // TODO temporary doubling of 秘bytes and _bytes;
+ // just remove _bytes when new transpiler has been installed
+ return /** @j2sNative f && (f.\u79d8bytes || f._bytes) || */
null;
}
}
@SuppressWarnings("unused")
byte[] bytes = getFileAsBytes(urlstring);
+ // TODO temporary doubling of 秘bytes and _bytes;
+ // just remove _bytes when new transpiler has been installed
/**
- * @j2sNative f._bytes = bytes;
+ * @j2sNative f.\u79d8bytes = f._bytes = bytes;
*/
return true;
}
@SuppressWarnings("unused")
ThreadGroup g = Thread.currentThread().getThreadGroup();
/**
- * @j2sNative return g.html5Applet._uniqueId;
+ * @j2sNative return g.\u79d8html5Applet._uniqueId;
*
*/
return null;
String id = getUniqueAppletID();
String key = "", value = "";
/**
- * @j2sNative var info = g.html5Applet.__Info || {}; for (var key in info) {
+ * @j2sNative var info = g.\u79d8html5Applet.__Info || {}; for (var key in info) {
* if (key.indexOf(prefix) == 0) { value = "" + info[key];
*/
}
+ /**
+ * A (case sensitive) file path comparator that ignores the difference between /
+ * and \
+ *
+ * @param path1
+ * @param path2
+ * @return
+ */
+ public static boolean pathEquals(String path1, String path2)
+ {
+ if (path1 == null)
+ {
+ return path2 == null;
+ }
+ if (path2 == null)
+ {
+ return false;
+ }
+ String p1 = path1.replace('\\', '/');
+ String p2 = path2.replace('\\', '/');
+ return p1.equals(p2);
+ }
}