diff --git a/src/com/gpl/rpg/atcontentstudio/ATContentStudio.java b/src/com/gpl/rpg/atcontentstudio/ATContentStudio.java index 94e3a6c..63504cf 100644 --- a/src/com/gpl/rpg/atcontentstudio/ATContentStudio.java +++ b/src/com/gpl/rpg/atcontentstudio/ATContentStudio.java @@ -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); diff --git a/src/com/gpl/rpg/atcontentstudio/model/WorkspaceSettings.java b/src/com/gpl/rpg/atcontentstudio/model/WorkspaceSettings.java index 31a265b..9bc85ab 100644 --- a/src/com/gpl/rpg/atcontentstudio/model/WorkspaceSettings.java +++ b/src/com/gpl/rpg/atcontentstudio/model/WorkspaceSettings.java @@ -42,6 +42,8 @@ public class WorkspaceSettings { public Setting translatorLanguage = new NullDefaultPrimitiveSetting("translatorLanguage"); public static Boolean DEFAULT_ALLOW_INTERNET = true; public Setting useInternet = new PrimitiveSetting("useInternet", DEFAULT_ALLOW_INTERNET); + public static Boolean DEFAULT_CHECK_UPDATE = true; + public Setting checkUpdates = new PrimitiveSetting("checkUpdates", DEFAULT_CHECK_UPDATE); public List> settings = new ArrayList>(); @@ -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); diff --git a/src/com/gpl/rpg/atcontentstudio/ui/WorkspaceSettingsEditor.java b/src/com/gpl/rpg/atcontentstudio/ui/WorkspaceSettingsEditor.java index 8a1bdf2..0172366 100644 --- a/src/com/gpl/rpg/atcontentstudio/ui/WorkspaceSettingsEditor.java +++ b/src/com/gpl/rpg/atcontentstudio/ui/WorkspaceSettingsEditor.java @@ -31,9 +31,10 @@ public class WorkspaceSettingsEditor extends JDialog { JRadioButton useSystemDefaultImageViewerButton, useSystemDefaultImageEditorButton, useCustomImageEditorButton; JTextField imageEditorCommandField; + JCheckBox useInternetBox; JCheckBox translatorModeBox; JComboBox 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(); } diff --git a/src/com/gpl/rpg/atcontentstudio/utils/WeblateIntegration.java b/src/com/gpl/rpg/atcontentstudio/utils/WeblateIntegration.java index 779c050..f27c047 100644 --- a/src/com/gpl/rpg/atcontentstudio/utils/WeblateIntegration.java +++ b/src/com/gpl/rpg/atcontentstudio/utils/WeblateIntegration.java @@ -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";