mirror of
https://github.com/OMGeeky/ATCS.git
synced 2025-12-26 23:57:25 +01:00
you have tools to help selecting external tools to bview/edit images and tmx maps. Still rough.
68 lines
1.9 KiB
Java
68 lines
1.9 KiB
Java
package com.gpl.rpg.atcontentstudio.utils;
|
|
|
|
import java.awt.Desktop;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.util.Locale;
|
|
|
|
import com.gpl.rpg.atcontentstudio.model.Workspace;
|
|
|
|
public class DesktopIntegration {
|
|
|
|
public static void openTmxMap(File f) {
|
|
if (Workspace.activeWorkspace.settings.useSystemDefaultMapEditor.getCurrentValue()) {
|
|
try {
|
|
Desktop.getDesktop().open(f);
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
} else {
|
|
try {
|
|
Runtime.getRuntime().exec(Workspace.activeWorkspace.settings.mapEditorCommand.getCurrentValue()+" "+f.getAbsolutePath());
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void openImage(File f) {
|
|
if (Workspace.activeWorkspace.settings.useSystemDefaultImageViewer.getCurrentValue()) {
|
|
try {
|
|
Desktop.getDesktop().open(f);
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
} else if (Workspace.activeWorkspace.settings.useSystemDefaultImageEditor.getCurrentValue()) {
|
|
try {
|
|
Desktop.getDesktop().edit(f);
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
} else {
|
|
try {
|
|
Runtime.getRuntime().exec(Workspace.activeWorkspace.settings.imageEditorCommand.getCurrentValue()+" "+f.getAbsolutePath());
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public static enum OSType {
|
|
Windows, MacOS, NIX, Other
|
|
}
|
|
|
|
public static OSType detectedOS = detectOS();
|
|
|
|
private static OSType detectOS() {
|
|
String os = System.getProperty("os.name", "generic").toLowerCase(Locale.ENGLISH);
|
|
if ((os.indexOf("mac") >= 0) || (os.indexOf("darwin") >= 0)) return OSType.MacOS;
|
|
if (os.indexOf("win") >= 0) return OSType.Windows;
|
|
if ((os.indexOf("nux") >= 0) || (os.indexOf("nix") >= 0) || (os.indexOf("aix") >= 0) || (os.indexOf("sunos") >= 0) || (os.indexOf("solaris") >= 0)) return OSType.NIX;
|
|
return OSType.Other;
|
|
}
|
|
|
|
|
|
}
|