mirror of
https://github.com/AndorsTrailRelease/ATCS.git
synced 2025-10-27 18:44:03 +01:00
Update checker now honors the "Use internet" setting. Another setting,
"check for updates" also controls this behavior.
This commit is contained in:
@@ -38,7 +38,7 @@ import prefuse.data.expression.parser.ExpressionParser;
|
||||
public class ATContentStudio {
|
||||
|
||||
public static final String APP_NAME = "Andor's Trail Content Studio";
|
||||
public static final String APP_VERSION = "v0.6.3";
|
||||
public static final String APP_VERSION = "v0.6.4";
|
||||
|
||||
public static final String CHECK_UPDATE_URL = "https://andorstrail.com/static/ATCS_latest";
|
||||
public static final String DOWNLOAD_URL = "https://andorstrail.com/viewtopic.php?f=6&t=4806";
|
||||
@@ -91,9 +91,11 @@ public class ATContentStudio {
|
||||
WorkerDialog.showTaskMessage("Loading your workspace...", null, new Runnable(){
|
||||
public void run() {
|
||||
Workspace.setActive(workspaceRoot);
|
||||
new Thread() {
|
||||
public void run() {checkUpdate();}
|
||||
}.start();
|
||||
if (Workspace.activeWorkspace.settings.useInternet.getCurrentValue() && Workspace.activeWorkspace.settings.checkUpdates.getCurrentValue()) {
|
||||
new Thread() {
|
||||
public void run() {checkUpdate();}
|
||||
}.start();
|
||||
}
|
||||
frame = new StudioFrame(APP_NAME+" "+APP_VERSION);
|
||||
frame.setVisible(true);
|
||||
frame.setDefaultCloseOperation(StudioFrame.DO_NOTHING_ON_CLOSE);
|
||||
|
||||
@@ -42,6 +42,8 @@ public class WorkspaceSettings {
|
||||
public Setting<String> translatorLanguage = new NullDefaultPrimitiveSetting<String>("translatorLanguage");
|
||||
public static Boolean DEFAULT_ALLOW_INTERNET = true;
|
||||
public Setting<Boolean> useInternet = new PrimitiveSetting<Boolean>("useInternet", DEFAULT_ALLOW_INTERNET);
|
||||
public static Boolean DEFAULT_CHECK_UPDATE = true;
|
||||
public Setting<Boolean> checkUpdates = new PrimitiveSetting<Boolean>("checkUpdates", DEFAULT_CHECK_UPDATE);
|
||||
|
||||
|
||||
public List<Setting<? extends Object>> settings = new ArrayList<Setting<? extends Object>>();
|
||||
@@ -55,6 +57,7 @@ public class WorkspaceSettings {
|
||||
settings.add(imageEditorCommand);
|
||||
settings.add(translatorLanguage);
|
||||
settings.add(useInternet);
|
||||
settings.add(checkUpdates);
|
||||
file = new File(parent.baseFolder, FILENAME);
|
||||
if (file.exists()) {
|
||||
load(file);
|
||||
|
||||
@@ -31,9 +31,10 @@ public class WorkspaceSettingsEditor extends JDialog {
|
||||
JRadioButton useSystemDefaultImageViewerButton, useSystemDefaultImageEditorButton, useCustomImageEditorButton;
|
||||
JTextField imageEditorCommandField;
|
||||
|
||||
JCheckBox useInternetBox;
|
||||
JCheckBox translatorModeBox;
|
||||
JComboBox<String> translatorLanguagesBox;
|
||||
JCheckBox useInternetBox;
|
||||
JCheckBox checkUpdatesBox;
|
||||
|
||||
|
||||
|
||||
@@ -53,7 +54,7 @@ public class WorkspaceSettingsEditor extends JDialog {
|
||||
|
||||
|
||||
pane.add(getExternalToolsPane(), JideBoxLayout.FIX);
|
||||
pane.add(getTranslatorModePane(), JideBoxLayout.FIX);
|
||||
pane.add(getInternetPane(), JideBoxLayout.FIX);
|
||||
pane.add(new JPanel(), JideBoxLayout.VARY);
|
||||
|
||||
buttonPane.add(new JPanel(), JideBoxLayout.VARY);
|
||||
@@ -155,10 +156,14 @@ public class WorkspaceSettingsEditor extends JDialog {
|
||||
return pane;
|
||||
}
|
||||
|
||||
public JPanel getTranslatorModePane() {
|
||||
CollapsiblePanel pane = new CollapsiblePanel("Translator options");
|
||||
public JPanel getInternetPane() {
|
||||
|
||||
CollapsiblePanel pane = new CollapsiblePanel("Internet options");
|
||||
pane.setLayout(new JideBoxLayout(pane, JideBoxLayout.PAGE_AXIS));
|
||||
|
||||
useInternetBox = new JCheckBox("Allow connecting to internet to retrieve data from weblate and check for updates.");
|
||||
pane.add(useInternetBox, JideBoxLayout.FIX);
|
||||
|
||||
translatorModeBox = new JCheckBox("Activate translator mode");
|
||||
pane.add(translatorModeBox, JideBoxLayout.FIX);
|
||||
|
||||
@@ -171,14 +176,15 @@ public class WorkspaceSettingsEditor extends JDialog {
|
||||
|
||||
pane.add(new JLabel("If your language isn't here, complain on the forums at https://andorstrail.com/"), JideBoxLayout.FIX);
|
||||
|
||||
useInternetBox = new JCheckBox("Allow connecting to internet to retrieve data from weblate.");
|
||||
pane.add(useInternetBox, JideBoxLayout.FIX);
|
||||
checkUpdatesBox = new JCheckBox("Check for ATCS updates at startup");
|
||||
pane.add(checkUpdatesBox, JideBoxLayout.FIX);
|
||||
|
||||
translatorModeBox.addActionListener(new ActionListener() {
|
||||
useInternetBox.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
translatorLanguagesBox.setEnabled(translatorModeBox.isSelected());
|
||||
useInternetBox.setEnabled(translatorModeBox.isSelected());
|
||||
translatorLanguagesBox.setEnabled(useInternetBox.isSelected());
|
||||
translatorModeBox.setEnabled(useInternetBox.isSelected());
|
||||
checkUpdatesBox.setEnabled(useInternetBox.isSelected());
|
||||
}
|
||||
});
|
||||
|
||||
@@ -196,19 +202,20 @@ public class WorkspaceSettingsEditor extends JDialog {
|
||||
useSystemDefaultImageEditorButton.setSelected(settings.useSystemDefaultImageEditor.getCurrentValue());
|
||||
useCustomImageEditorButton.setSelected(!(settings.useSystemDefaultImageViewer.getCurrentValue() || settings.useSystemDefaultImageEditor.getCurrentValue()));
|
||||
imageEditorCommandField.setText(settings.imageEditorCommand.getCurrentValue());
|
||||
//Translator
|
||||
//Internet
|
||||
useInternetBox.setSelected(settings.useInternet.getCurrentValue());
|
||||
if (settings.translatorLanguage.getCurrentValue() != null) {
|
||||
translatorModeBox.setSelected(true);
|
||||
translatorLanguagesBox.setSelectedItem(settings.translatorLanguage.getCurrentValue());
|
||||
translatorLanguagesBox.setEnabled(true);
|
||||
useInternetBox.setEnabled(true);
|
||||
translatorLanguagesBox.setEnabled(useInternetBox.isSelected());
|
||||
} else {
|
||||
translatorModeBox.setSelected(false);
|
||||
translatorLanguagesBox.setSelectedItem(null);
|
||||
translatorLanguagesBox.setEnabled(false);
|
||||
useInternetBox.setEnabled(false);
|
||||
}
|
||||
useInternetBox.setSelected(settings.useInternet.getCurrentValue());
|
||||
translatorModeBox.setEnabled(useInternetBox.isSelected());
|
||||
checkUpdatesBox.setSelected(settings.checkUpdates.getCurrentValue());
|
||||
checkUpdatesBox.setEnabled(useInternetBox.isSelected());
|
||||
}
|
||||
|
||||
public void pushToModel() {
|
||||
@@ -219,13 +226,14 @@ public class WorkspaceSettingsEditor extends JDialog {
|
||||
settings.useSystemDefaultImageViewer.setCurrentValue(useSystemDefaultImageViewerButton.isSelected());
|
||||
settings.useSystemDefaultImageEditor.setCurrentValue(useSystemDefaultImageEditorButton.isSelected());
|
||||
settings.imageEditorCommand.setCurrentValue(imageEditorCommandField.getText());
|
||||
//Translator
|
||||
//Internet
|
||||
settings.useInternet.setCurrentValue(useInternetBox.isSelected());
|
||||
if (translatorModeBox.isSelected()) {
|
||||
settings.translatorLanguage.setCurrentValue((String)translatorLanguagesBox.getSelectedItem());
|
||||
} else {
|
||||
settings.translatorLanguage.resetDefault();
|
||||
}
|
||||
settings.useInternet.setCurrentValue(useInternetBox.isSelected());
|
||||
settings.checkUpdates.setCurrentValue(checkUpdatesBox.isSelected());
|
||||
settings.save();
|
||||
}
|
||||
|
||||
|
||||
@@ -60,6 +60,9 @@ public class WeblateIntegration {
|
||||
if (!Workspace.activeWorkspace.settings.useInternet.getCurrentValue()) {
|
||||
unit.status = Status.notAllowed;
|
||||
unit.translatedText = "Allow internet connection in the workspace settings to get translation status";
|
||||
} else if (Workspace.activeWorkspace.settings.translatorLanguage == null) {
|
||||
unit.status = Status.notAllowed;
|
||||
unit.translatedText = "Select a target language in the workspace settings to get translation status";
|
||||
} else {
|
||||
unit.status = Status.absent;
|
||||
unit.translatedText = "Cannot find this on weblate";
|
||||
|
||||
Reference in New Issue
Block a user