mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-17 18:17:43 +00:00
4989 options panel listens for changes in texttranslator panels
This commit is contained in:
parent
573b4ced9e
commit
0e367e7a1f
@ -45,11 +45,8 @@ public final class TextTranslationService {
|
||||
}
|
||||
|
||||
public void setSelectedTranslator(String translatorName) throws NoServiceProviderException {
|
||||
System.out.println("Translator name: " + translatorName);
|
||||
for (TextTranslator translator : translators) {
|
||||
System.out.println("Is it named: " + translator.getName());
|
||||
if (translator.getName().equals(translatorName)) {
|
||||
System.out.println("THEY ARE EQUAL");
|
||||
selectedTranslator = translator;
|
||||
return;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Autopsy Forensic Browser
|
||||
*
|
||||
* Copyright 2018-2018 Basis Technology Corp.
|
||||
* Copyright 2018-2019 Basis Technology Corp.
|
||||
* Contact: carrier <at> sleuthkit <dot> org
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -3,13 +3,6 @@ OptionsCategory_Keywords_Machine_Translation_Settings=Machine Translation Settin
|
||||
TranslationContentPanel.ShowLabel.text=Show:
|
||||
TranslationContentPanel.warningLabel2MB.text=Only the first 1MB of text will be displayed
|
||||
TranslationContentPanel.ocrLabel.text=OCR:
|
||||
TranslationSettingsPanel.lbIpAddress.text=IP Address or Hostname of Machine Translation Service
|
||||
TranslationSettingsPanel.tbIpAddress.text=
|
||||
TranslationSettingsPanel.tbOops.text=
|
||||
TranslationSettingsPanel.bnTest.text=Test
|
||||
TranslationSettingsPanel.lbTestIpAddress.text=
|
||||
TranslationSettingsPanel.IpAddress.toolTipText=IP Address or Hostname of Machine Translation Service
|
||||
TranslationSettingsPanel.IpAddress.CannotConnect=Cannot connect to machine translation service.
|
||||
TranslationSettingsPanelController.moduleErr=Module Error
|
||||
TranslationSettingsPanelController.moduleErr.msg=A module caused an error listening to TranslationSettingsPanelController updates. See log to determine which module. Some data could be incomplete.
|
||||
TranslationOptionsPanel.jLabel1.text=Translation Service:
|
||||
TranslationOptionsPanel.translationServiceLabel.text=Translation Service:
|
||||
TranslationOptionsPanelController.moduleErr=Module Error
|
||||
TranslationOptionsPanelController.moduleErr.msg=A module caused an error listening to TranslationSettingsPanelController updates. See log to determine which module. Some data could be incomplete.
|
||||
|
@ -27,4 +27,4 @@ TranslationSettingsPanel.IpAddress.toolTipText=IP Address or Hostname of Machine
|
||||
TranslationSettingsPanel.IpAddress.CannotConnect=Cannot connect to machine translation service.
|
||||
TranslationSettingsPanelController.moduleErr=Module Error
|
||||
TranslationSettingsPanelController.moduleErr.msg=A module caused an error listening to TranslationSettingsPanelController updates. See log to determine which module. Some data could be incomplete.
|
||||
TranslationOptionsPanel.jLabel1.text=Translation Service:
|
||||
TranslationOptionsPanel.translationServiceLabel.text=Translation Service:
|
||||
|
@ -20,12 +20,12 @@
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="translationServiceLabel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Component id="jComboBox1" min="-2" pref="205" max="-2" attributes="0"/>
|
||||
<Component id="translatorComboBox" min="-2" pref="205" max="-2" attributes="0"/>
|
||||
<EmptySpace min="0" pref="152" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="jPanel1" alignment="1" max="32767" attributes="0"/>
|
||||
<Component id="translationServicePanel" alignment="1" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
@ -36,33 +36,33 @@
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="jComboBox1" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="translatorComboBox" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="translationServiceLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="jPanel1" pref="222" max="32767" attributes="0"/>
|
||||
<Component id="translationServicePanel" pref="222" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JComboBox" name="jComboBox1">
|
||||
<Component class="javax.swing.JComboBox" name="translatorComboBox">
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jComboBox1ActionPerformed"/>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="translatorComboBoxActionPerformed"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/>
|
||||
</AuxValues>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||
<Component class="javax.swing.JLabel" name="translationServiceLabel">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/texttranslation/ui/Bundle.properties" key="TranslationOptionsPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/texttranslation/ui/Bundle.properties" key="TranslationOptionsPanel.translationServiceLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Container class="javax.swing.JPanel" name="jPanel1">
|
||||
<Container class="javax.swing.JPanel" name="translationServicePanel">
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
|
||||
</Container>
|
||||
|
@ -1,66 +1,81 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
* Autopsy Forensic Browser
|
||||
*
|
||||
* Copyright 2019 Basis Technology Corp.
|
||||
* Contact: carrier <at> sleuthkit <dot> org
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.texttranslation.ui;
|
||||
|
||||
import java.awt.Component;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import javax.swing.JLabel;
|
||||
import org.sleuthkit.autopsy.texttranslation.NoServiceProviderException;
|
||||
import org.sleuthkit.autopsy.texttranslation.TextTranslationService;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author wschaefer
|
||||
*/
|
||||
public class TranslationOptionsPanel extends javax.swing.JPanel {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private final TranslationSettingsPanelController controller;
|
||||
private final TranslationOptionsPanelController controller;
|
||||
private String currentSelection = "";
|
||||
|
||||
/**
|
||||
* Creates new form TranslationOptionsPanel
|
||||
*/
|
||||
public TranslationOptionsPanel(TranslationSettingsPanelController theController) {
|
||||
public TranslationOptionsPanel(TranslationOptionsPanelController theController) {
|
||||
initComponents();
|
||||
controller = theController;
|
||||
TextTranslationService.getInstance().getTranslators().forEach((translator) -> {
|
||||
jComboBox1.addItem(translator.getName());
|
||||
translatorComboBox.addItem(translator.getName());
|
||||
});
|
||||
jComboBox1.setEnabled(jComboBox1.getItemCount() > 0);
|
||||
translatorComboBox.setEnabled(translatorComboBox.getItemCount() > 0);
|
||||
updatePanel();
|
||||
}
|
||||
|
||||
private void updatePanel() {
|
||||
System.out.println("Update panel");
|
||||
jPanel1.removeAll();
|
||||
if (jComboBox1.getSelectedItem() != null) {
|
||||
translationServicePanel.removeAll();
|
||||
String selectedItem = translatorComboBox.getSelectedItem().toString();
|
||||
if (translatorComboBox.getSelectedItem() != null && !currentSelection.equals(selectedItem)) {
|
||||
try {
|
||||
System.out.println("Item Selected");
|
||||
TextTranslationService.getInstance().setSelectedTranslator(jComboBox1.getSelectedItem().toString());
|
||||
jPanel1.add(TextTranslationService.getInstance().getSelectedTranslator().getComponent());
|
||||
TextTranslationService.getInstance().setSelectedTranslator(translatorComboBox.getSelectedItem().toString());
|
||||
Component panel = TextTranslationService.getInstance().getSelectedTranslator().getComponent();
|
||||
panel.addPropertyChangeListener(new PropertyChangeListener() {
|
||||
@Override
|
||||
public void propertyChange(PropertyChangeEvent evt) {
|
||||
controller.changed();
|
||||
}
|
||||
});
|
||||
translationServicePanel.add(panel);
|
||||
currentSelection = selectedItem;
|
||||
} catch (NoServiceProviderException ex) {
|
||||
System.out.println(ex.getMessage());
|
||||
jPanel1.add(new JLabel("No Text Translators available"));
|
||||
translationServicePanel.add(new JLabel("No Text Translators available"));
|
||||
}
|
||||
} else {
|
||||
jPanel1.add(new JLabel("No Translators selected"));
|
||||
translationServicePanel.add(new JLabel("No Translators selected"));
|
||||
}
|
||||
|
||||
revalidate();
|
||||
repaint();
|
||||
}
|
||||
|
||||
void load() {
|
||||
updatePanel();
|
||||
|
||||
// lbTestIpAddress.setIcon(null);
|
||||
// tbOops.setText("");
|
||||
//// tbIpAddress.setText(getMachineTranslationIpAddress());
|
||||
// handleButtons();
|
||||
controller.changed();
|
||||
}
|
||||
|
||||
void store() {
|
||||
// setMachineTranslationIpAddress(tbIpAddress.getText());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -72,19 +87,19 @@ public class TranslationOptionsPanel extends javax.swing.JPanel {
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
jComboBox1 = new javax.swing.JComboBox<>();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jPanel1 = new javax.swing.JPanel();
|
||||
translatorComboBox = new javax.swing.JComboBox<>();
|
||||
translationServiceLabel = new javax.swing.JLabel();
|
||||
translationServicePanel = new javax.swing.JPanel();
|
||||
|
||||
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
|
||||
translatorComboBox.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jComboBox1ActionPerformed(evt);
|
||||
translatorComboBoxActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(TranslationOptionsPanel.class, "TranslationOptionsPanel.jLabel1.text")); // NOI18N
|
||||
org.openide.awt.Mnemonics.setLocalizedText(translationServiceLabel, org.openide.util.NbBundle.getMessage(TranslationOptionsPanel.class, "TranslationOptionsPanel.translationServiceLabel.text")); // NOI18N
|
||||
|
||||
jPanel1.setLayout(new java.awt.BorderLayout());
|
||||
translationServicePanel.setLayout(new java.awt.BorderLayout());
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||
this.setLayout(layout);
|
||||
@ -94,11 +109,11 @@ public class TranslationOptionsPanel extends javax.swing.JPanel {
|
||||
.addContainerGap()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jLabel1)
|
||||
.addComponent(translationServiceLabel)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 205, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(translatorComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 205, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(0, 152, Short.MAX_VALUE))
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addComponent(translationServicePanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addContainerGap())
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
@ -106,23 +121,23 @@ public class TranslationOptionsPanel extends javax.swing.JPanel {
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(jLabel1))
|
||||
.addComponent(translatorComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(translationServiceLabel))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 222, Short.MAX_VALUE)
|
||||
.addComponent(translationServicePanel, javax.swing.GroupLayout.DEFAULT_SIZE, 222, Short.MAX_VALUE)
|
||||
.addContainerGap())
|
||||
);
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed
|
||||
private void translatorComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_translatorComboBoxActionPerformed
|
||||
updatePanel();
|
||||
}//GEN-LAST:event_jComboBox1ActionPerformed
|
||||
}//GEN-LAST:event_translatorComboBoxActionPerformed
|
||||
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JComboBox<String> jComboBox1;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JPanel jPanel1;
|
||||
private javax.swing.JLabel translationServiceLabel;
|
||||
private javax.swing.JPanel translationServicePanel;
|
||||
private javax.swing.JComboBox<String> translatorComboBox;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
}
|
||||
|
@ -34,12 +34,12 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
position = 7,
|
||||
keywords = "#OptionsCategory_Keywords_Machine_Translation_Settings",
|
||||
keywordsCategory = "Machine Translation")
|
||||
public class TranslationSettingsPanelController extends OptionsPanelController {
|
||||
public class TranslationOptionsPanelController extends OptionsPanelController {
|
||||
|
||||
private TranslationOptionsPanel panel;
|
||||
private static final Logger logger = Logger.getLogger(TranslationOptionsPanelController.class.getName());
|
||||
private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
|
||||
private boolean changed;
|
||||
private static final Logger logger = Logger.getLogger(TranslationSettingsPanelController.class.getName());
|
||||
private TranslationOptionsPanel panel;
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
@ -109,10 +109,10 @@ public class TranslationSettingsPanelController extends OptionsPanelController {
|
||||
try {
|
||||
pcs.firePropertyChange(OptionsPanelController.PROP_CHANGED, false, true);
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.SEVERE, "TranslationSettingsPanelController listener threw exception", e); //NON-NLS
|
||||
logger.log(Level.SEVERE, "TranslationOptionsPanelController listener threw exception", e); //NON-NLS
|
||||
MessageNotifyUtil.Notify.show(
|
||||
NbBundle.getMessage(this.getClass(), "TranslationSettingsPanelController.moduleErr"),
|
||||
NbBundle.getMessage(this.getClass(), "TranslationSettingsPanelController.moduleErr.msg"),
|
||||
NbBundle.getMessage(this.getClass(), "TranslationOptionsPanelController.moduleErr"),
|
||||
NbBundle.getMessage(this.getClass(), "TranslationOptionsPanelController.moduleErr.msg"),
|
||||
MessageNotifyUtil.MessageType.ERROR);
|
||||
}
|
||||
}
|
||||
@ -120,10 +120,10 @@ public class TranslationSettingsPanelController extends OptionsPanelController {
|
||||
try {
|
||||
pcs.firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.SEVERE, "TranslationSettingsPanelController listener threw exception", e); //NON-NLS
|
||||
logger.log(Level.SEVERE, "TranslationOptionsPanelController listener threw exception", e); //NON-NLS
|
||||
MessageNotifyUtil.Notify.show(
|
||||
NbBundle.getMessage(this.getClass(), "TranslationSettingsPanelController.moduleErr"),
|
||||
NbBundle.getMessage(this.getClass(), "TranslationSettingsPanelController.moduleErr.msg"),
|
||||
NbBundle.getMessage(this.getClass(), "TranslationOptionsPanelController.moduleErr"),
|
||||
NbBundle.getMessage(this.getClass(), "TranslationOptionsPanelController.moduleErr.msg"),
|
||||
MessageNotifyUtil.MessageType.ERROR);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user