Skip to content

Commit aa7d276

Browse files
committed
Version jPskmail-3.2.0.3
- Prepare for MQTT interfacing (not enabled yet) - Test Java fonts for compatibility with various platforms
1 parent 8baf134 commit aa7d276

17 files changed

Lines changed: 456 additions & 156 deletions

RXTXcomm.jar

1.37 KB
Binary file not shown.

RXTXcomm.jar_217

58.1 KB
Binary file not shown.

nbproject/project.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ endorsed.classpath=
5656
main.class=javapskmail.Main
5757
junit.selected.version=3
5858
source.encoding=UTF-8
59-
javac.source=11
59+
javac.source=1.8
6060
includes=**
6161
javadoc.use=true
6262
jar.compress=true
@@ -108,7 +108,7 @@ javac.test.modulepath=\
108108
${javac.modulepath}
109109
debug.test.classpath=${run.test.classpath}
110110
javac.external.vm=true
111-
javac.target=11
111+
javac.target=1.8
112112
platform.active=JDK_11
113113
manifest.file=manifest.mf
114114
javadoc.html5=false

rxtxcomm-2.2pre2.jar

59.7 KB
Binary file not shown.

src/javapskmail/GpsSerialPort.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ public Boolean checkComPort(String myPort){
139139
}
140140
}
141141

142-
/**
142+
/*
143143
* Disconnect the port
144144
*/
145145
void disconnect(){

src/javapskmail/Main.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Main.java
33
*
44
* Copyright (C) 2008 Pär Crusefalk and Rein Couperus
5-
* Copyright (C) 2018-2022 Pskmail Server and RadioMsg sections by John Douyere (VK2ETA)
5+
* Copyright (C) 2018-2024 Pskmail Server and RadioMsg sections by John Douyere (VK2ETA)
66
*
77
* This program is distributed in the hope that it will be useful,
88
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -34,9 +34,9 @@
3434
public class Main {
3535

3636
//VK2ETA: Based on "jpskmail 1.7.b";
37-
static String version = "3.2.0.1";
37+
static String version = "3.2.0.3";
3838
static String application = "jPskmail " + version;// Used to preset an empty status
39-
static String versionDate = "20240319";
39+
static String versionDate = "20240912";
4040
static String host = "localhost";
4141
static int port = 7322; //ARQ IP port
4242
static String xmlPort = "7362"; //XML IP port
@@ -306,7 +306,8 @@ public class Main {
306306
static public boolean radioMsgWorking = false; //Radiomsg processing emails or web pages - do not scan
307307
static public String fileNameString = "";
308308
static public long lastCharacterTime = 0L;//Time of last character received from Modem
309-
static public boolean haveSOH = false;
309+
static public boolean haveSOH = false; //We have received an SOH
310+
static public boolean receivedRsidAck = false; //When we receive and "EOL" RSID we interpret it as a positive ACK
310311

311312
/**
312313
* @param args the command line arguments

src/javapskmail/MainPskmailUi.form

Lines changed: 131 additions & 19 deletions
Large diffs are not rendered by default.

src/javapskmail/MainPskmailUi.java

Lines changed: 95 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,8 @@ public MainPskmailUi() {
171171
initComponents();
172172
//Preset default visibilities
173173
resetAllMenus();
174+
//Remove MQTT Tab until completed
175+
tabMain.removeTabAt(8);
174176
//Preset requested visibilities
175177
String uiOption = Main.configuration.getPreference("UIOPTION", "Default");
176178
if (uiOption.equals("RadioMsg")) {
@@ -1758,6 +1760,15 @@ private void initComponents() {
17581760
bRMsgResend = new javax.swing.JButton();
17591761
serverControl = new javax.swing.JButton();
17601762
bRMsgManageMsg = new javax.swing.JButton();
1763+
tabMqtt = new javax.swing.JPanel();
1764+
jScrollMqttSettings = new javax.swing.JScrollPane();
1765+
jPanelMqttSettings = new javax.swing.JPanel();
1766+
jLabel2 = new javax.swing.JLabel();
1767+
CBconnectAtStart = new javax.swing.JCheckBox();
1768+
jLabel4 = new javax.swing.JLabel();
1769+
MqttServerAddress = new javax.swing.JTextField();
1770+
jScrollMqttData = new javax.swing.JScrollPane();
1771+
jTextArea1 = new javax.swing.JTextArea();
17611772
pnlStatus = new javax.swing.JPanel();
17621773
snLabel = new javax.swing.JLabel();
17631774
StatusLabel = new javax.swing.JLabel();
@@ -1920,6 +1931,7 @@ public void windowClosing(java.awt.event.WindowEvent evt) {
19201931

19211932
tabMain.setBackground(new java.awt.Color(251, 219, 187));
19221933
tabMain.setTabPlacement(javax.swing.JTabbedPane.BOTTOM);
1934+
tabMain.setDoubleBuffered(true);
19231935
tabMain.setMinimumSize(new java.awt.Dimension(725, 290));
19241936
tabMain.setPreferredSize(new java.awt.Dimension(725, 290));
19251937
tabMain.addChangeListener(new javax.swing.event.ChangeListener() {
@@ -1934,7 +1946,7 @@ public void stateChanged(javax.swing.event.ChangeEvent evt) {
19341946
pnlTerminalButtons.setMaximumSize(new java.awt.Dimension(32767, 40));
19351947
pnlTerminalButtons.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT));
19361948

1937-
bConnect.setFont(new java.awt.Font("Metal", 1, 11)); // NOI18N
1949+
bConnect.setFont(new java.awt.Font("Dialog", 1, 11)); // NOI18N
19381950
bConnect.setForeground(new java.awt.Color(0, 102, 51));
19391951
bConnect.setText(bundle.getString("MainPskmailUi.bConnect.text")); // NOI18N
19401952
bConnect.setMaximumSize(new java.awt.Dimension(100, 25));
@@ -1947,7 +1959,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
19471959
});
19481960
pnlTerminalButtons.add(bConnect);
19491961

1950-
AbortButton.setFont(new java.awt.Font("Metal", 1, 11)); // NOI18N
1962+
AbortButton.setFont(new java.awt.Font("SansSerif", 1, 11)); // NOI18N
19511963
AbortButton.setForeground(new java.awt.Color(0, 102, 0));
19521964
AbortButton.setText(bundle.getString("MainPskmailUi.AbortButton.text")); // NOI18N
19531965
AbortButton.setMaximumSize(new java.awt.Dimension(100, 25));
@@ -1960,7 +1972,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
19601972
});
19611973
pnlTerminalButtons.add(AbortButton);
19621974

1963-
CQButton.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
1975+
CQButton.setFont(new java.awt.Font("SansSerif", 1, 11)); // NOI18N
19641976
CQButton.setForeground(new java.awt.Color(0, 128, 19));
19651977
CQButton.setText(bundle.getString("MainPskmailUi.CQButton.text")); // NOI18N
19661978
CQButton.setMaximumSize(new java.awt.Dimension(100, 25));
@@ -1973,7 +1985,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
19731985
});
19741986
pnlTerminalButtons.add(CQButton);
19751987

1976-
PositButton.setFont(new java.awt.Font("Metal", 1, 11)); // NOI18N
1988+
PositButton.setFont(new java.awt.Font("SansSerif", 1, 11)); // NOI18N
19771989
PositButton.setForeground(new java.awt.Color(0, 102, 0));
19781990
PositButton.setText(bundle.getString("MainPskmailUi.PositButton.text")); // NOI18N
19791991
PositButton.setMaximumSize(new java.awt.Dimension(100, 25));
@@ -1986,7 +1998,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
19861998
});
19871999
pnlTerminalButtons.add(PositButton);
19882000

1989-
SendButton.setFont(new java.awt.Font("Metal", 1, 11)); // NOI18N
2001+
SendButton.setFont(new java.awt.Font("SansSerif", 1, 11)); // NOI18N
19902002
SendButton.setForeground(new java.awt.Color(0, 102, 0));
19912003
SendButton.setText(bundle.getString("MainPskmailUi.SendButton.text")); // NOI18N
19922004
SendButton.setFocusPainted(false);
@@ -2005,7 +2017,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
20052017
jTextPane2.setBackground(new java.awt.Color(255, 255, 230));
20062018
jTextPane2.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.LOWERED));
20072019
jTextPane2.setDocument(terminaldoc);
2008-
jTextPane2.setFont(new java.awt.Font("Monospaced", 0, 12)); // NOI18N
2020+
jTextPane2.setFont(new java.awt.Font("SansSerif", 0, 12)); // NOI18N
20092021
jTextPane2.addMouseListener(new java.awt.event.MouseAdapter() {
20102022
public void mousePressed(java.awt.event.MouseEvent evt) {
20112023
jTextPane2MousePressed(evt);
@@ -3452,6 +3464,66 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
34523464

34533465
tabMain.addTab(mainpskmailui.getString("MainPskmailUi.tabRadioMsg.TabConstraints.tabTitle"), tabRadioMsg); // NOI18N
34543466

3467+
tabMqtt.setLayout(new java.awt.GridBagLayout());
3468+
3469+
jScrollMqttSettings.setMinimumSize(new java.awt.Dimension(400, 300));
3470+
jScrollMqttSettings.setPreferredSize(new java.awt.Dimension(400, 300));
3471+
3472+
jPanelMqttSettings.setLayout(new java.awt.GridBagLayout());
3473+
3474+
jLabel2.setText(mainpskmailui.getString("MainPskmailUi.jLabel2.text")); // NOI18N
3475+
gridBagConstraints = new java.awt.GridBagConstraints();
3476+
gridBagConstraints.gridx = 0;
3477+
gridBagConstraints.gridy = 0;
3478+
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
3479+
jPanelMqttSettings.add(jLabel2, gridBagConstraints);
3480+
3481+
CBconnectAtStart.setText(mainpskmailui.getString("MainPskmailUi.CBconnectAtStart.text")); // NOI18N
3482+
gridBagConstraints = new java.awt.GridBagConstraints();
3483+
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
3484+
gridBagConstraints.insets = new java.awt.Insets(0, 10, 0, 0);
3485+
jPanelMqttSettings.add(CBconnectAtStart, gridBagConstraints);
3486+
3487+
jLabel4.setText(mainpskmailui.getString("MainPskmailUi.jLabel4.text")); // NOI18N
3488+
gridBagConstraints = new java.awt.GridBagConstraints();
3489+
gridBagConstraints.gridx = 0;
3490+
gridBagConstraints.gridy = 1;
3491+
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
3492+
gridBagConstraints.insets = new java.awt.Insets(10, 0, 0, 0);
3493+
jPanelMqttSettings.add(jLabel4, gridBagConstraints);
3494+
3495+
MqttServerAddress.setText(mainpskmailui.getString("MainPskmailUi.MqttServerAddress.text")); // NOI18N
3496+
MqttServerAddress.setMinimumSize(new java.awt.Dimension(80, 19));
3497+
MqttServerAddress.setPreferredSize(new java.awt.Dimension(150, 19));
3498+
gridBagConstraints = new java.awt.GridBagConstraints();
3499+
gridBagConstraints.gridx = 1;
3500+
gridBagConstraints.gridy = 1;
3501+
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
3502+
gridBagConstraints.insets = new java.awt.Insets(10, 10, 0, 0);
3503+
jPanelMqttSettings.add(MqttServerAddress, gridBagConstraints);
3504+
3505+
jScrollMqttSettings.setViewportView(jPanelMqttSettings);
3506+
3507+
gridBagConstraints = new java.awt.GridBagConstraints();
3508+
gridBagConstraints.gridx = 0;
3509+
gridBagConstraints.gridy = 0;
3510+
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
3511+
tabMqtt.add(jScrollMqttSettings, gridBagConstraints);
3512+
3513+
jScrollMqttData.setMinimumSize(new java.awt.Dimension(400, 300));
3514+
jScrollMqttData.setPreferredSize(new java.awt.Dimension(400, 300));
3515+
3516+
jTextArea1.setColumns(20);
3517+
jTextArea1.setRows(5);
3518+
jScrollMqttData.setViewportView(jTextArea1);
3519+
3520+
gridBagConstraints = new java.awt.GridBagConstraints();
3521+
gridBagConstraints.gridx = 1;
3522+
gridBagConstraints.gridy = 0;
3523+
tabMqtt.add(jScrollMqttData, gridBagConstraints);
3524+
3525+
tabMain.addTab(mainpskmailui.getString("MainPskmailUi.tabMqtt.TabConstraints.tabTitle"), tabMqtt); // NOI18N
3526+
34553527
getContentPane().add(tabMain, new java.awt.GridBagConstraints());
34563528
tabMain.setEnabledAt(7, true);
34573529

@@ -3484,7 +3556,6 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
34843556
pnlStatus.add(StatusLabel, gridBagConstraints);
34853557

34863558
cboServer.setEditable(true);
3487-
cboServer.setFont(new java.awt.Font("DejaVu Sans Mono", 0, 12)); // NOI18N
34883559
cboServer.setMinimumSize(new java.awt.Dimension(150, 27));
34893560
cboServer.setPreferredSize(new java.awt.Dimension(150, 27));
34903561
cboServer.addFocusListener(new java.awt.event.FocusAdapter() {
@@ -3515,7 +3586,6 @@ public void keyReleased(KeyEvent event) {
35153586
});
35163587

35173588
spnMinute.setModel(new SpinnerNumberModel(0,0,4,1));
3518-
spnMinute.setFont(new java.awt.Font("DejaVu Sans Mono", 0, 12)); // NOI18N
35193589
spnMinute.setToolTipText(mainpskmailui.getString("During_what_minute_(0-4)_will_the_server_listen_and_the_client_transmit?")); // NOI18N
35203590
spnMinute.setPreferredSize(new java.awt.Dimension(28, 29));
35213591
spnMinute.addChangeListener(new javax.swing.event.ChangeListener() {
@@ -3542,7 +3612,7 @@ public void stateChanged(javax.swing.event.ChangeEvent evt) {
35423612
gridBagConstraints.gridy = 0;
35433613
pnlStatus.add(ProgressBar, gridBagConstraints);
35443614

3545-
jTextField1.setFont(jTextField1.getFont().deriveFont((jTextField1.getFont().getStyle() & ~java.awt.Font.ITALIC) & ~java.awt.Font.BOLD, 12));
3615+
jTextField1.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
35463616
jTextField1.setForeground(new java.awt.Color(47, 120, 93));
35473617
jTextField1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
35483618
jTextField1.setMaximumSize(new java.awt.Dimension(100, 26));
@@ -3576,7 +3646,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
35763646
pnlStatus.add(linkstatus, gridBagConstraints);
35773647

35783648
RXlabel.setBackground(new java.awt.Color(255, 255, 255));
3579-
RXlabel.setFont(new java.awt.Font("DejaVu Sans Mono", 0, 12)); // NOI18N
3649+
RXlabel.setFont(new java.awt.Font("SansSerif", 0, 12)); // NOI18N
35803650
RXlabel.setForeground(new java.awt.Color(37, 109, 87));
35813651
RXlabel.setText(bundle.getString("MainPskmailUi.RXlabel.text")); // NOI18N
35823652
RXlabel.setMaximumSize(new java.awt.Dimension(120, 14));
@@ -3627,7 +3697,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
36273697
gridBagConstraints.insets = new java.awt.Insets(5, 10, 3, 0);
36283698
pnlMainEntry.add(txtMainEntry, gridBagConstraints);
36293699

3630-
lblStatus.setFont(new java.awt.Font("DejaVu Sans", 1, 12)); // NOI18N
3700+
lblStatus.setFont(new java.awt.Font("SansSerif", 1, 12)); // NOI18N
36313701
lblStatus.setForeground(new java.awt.Color(153, 153, 153));
36323702
lblStatus.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
36333703
lblStatus.setText("Listening"); // NOI18N
@@ -3666,7 +3736,7 @@ public void mouseClicked(java.awt.event.MouseEvent evt) {
36663736
txtLinkMonitor.setBackground(new java.awt.Color(220, 235, 207));
36673737
txtLinkMonitor.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.LOWERED));
36683738
txtLinkMonitor.setDocument(monitordoc);
3669-
txtLinkMonitor.setFont(new java.awt.Font("DejaVu Sans Mono", 0, 12)); // NOI18N
3739+
txtLinkMonitor.setFont(new java.awt.Font("SansSerif", 0, 12)); // NOI18N
36703740
txtLinkMonitor.setMaximumSize(new java.awt.Dimension(1400, 100));
36713741
txtLinkMonitor.setMinimumSize(new java.awt.Dimension(400, 1400));
36723742
jScrollPane3.setViewportView(txtLinkMonitor);
@@ -8161,6 +8231,10 @@ private String ConvertToUTF(String in) {
81618231
}
81628232
return in;
81638233
}
8234+
8235+
public void addToStatusField(final String statusMessageFromBundle, final int time) {
8236+
Main.q.Message(mainpskmailui.getString(statusMessageFromBundle), time);
8237+
}
81648238

81658239
public void refreshHeaders() {
81668240
LoadHeaders();
@@ -8598,6 +8672,7 @@ public void run() {
85988672
public javax.swing.JCheckBox APRS_IS;
85998673
private javax.swing.JButton AbortButton;
86008674
private javax.swing.JMenuItem Beacon_menu_item;
8675+
private javax.swing.JCheckBox CBconnectAtStart;
86018676
private javax.swing.JTextField CPSValue;
86028677
private javax.swing.JButton CQButton;
86038678
public static javax.swing.JTextField ClientFreqTxtfield;
@@ -8623,6 +8698,7 @@ public void run() {
86238698
private javax.swing.JMenuItem Link_menu_item;
86248699
private javax.swing.JButton ListFilesButton;
86258700
private javax.swing.JMenuItem MnuTelnet;
8701+
private javax.swing.JTextField MqttServerAddress;
86268702
private javax.swing.JMenuItem Ping_menu_item;
86278703
private javax.swing.JButton PositButton;
86288704
private javax.swing.JMenuItem PrefSaveMenu;
@@ -8683,7 +8759,9 @@ public void run() {
86838759
private javax.swing.JComboBox<String> jComboRMsgVia;
86848760
private javax.swing.JMenuItem jGetIAC;
86858761
private javax.swing.JLabel jLabel1;
8762+
private javax.swing.JLabel jLabel2;
86868763
private javax.swing.JLabel jLabel3;
8764+
private javax.swing.JLabel jLabel4;
86878765
private javax.swing.JMenu jMenu1;
86888766
private javax.swing.JMenuBar jMenuBar3;
86898767
private javax.swing.JMenuItem jMenuQuality;
@@ -8692,11 +8770,14 @@ public void run() {
86928770
private javax.swing.JPanel jPanel3;
86938771
private javax.swing.JPanel jPanel4;
86948772
private javax.swing.JPanel jPanel5;
8773+
private javax.swing.JPanel jPanelMqttSettings;
86958774
private javax.swing.JRadioButton jRadBtnAliasAndAddress;
86968775
private javax.swing.JRadioButton jRadBtnAliasOnly;
86978776
public javax.swing.JRadioButtonMenuItem jRadioButtonAccept;
86988777
public javax.swing.JRadioButtonMenuItem jRadioButtonDelete;
86998778
public javax.swing.JRadioButtonMenuItem jRadioButtonReject;
8779+
private javax.swing.JScrollPane jScrollMqttData;
8780+
private javax.swing.JScrollPane jScrollMqttSettings;
87008781
private javax.swing.JScrollPane jScrollPane1;
87018782
private javax.swing.JScrollPane jScrollPane2;
87028783
private javax.swing.JScrollPane jScrollPane3;
@@ -8715,6 +8796,7 @@ public void run() {
87158796
private javax.swing.JPopupMenu.Separator jSeparator9;
87168797
private javax.swing.JSplitPane jSplitPane1;
87178798
private javax.swing.JSplitPane jSplitPane2;
8799+
private javax.swing.JTextArea jTextArea1;
87188800
private javax.swing.JTextField jTextField1;
87198801
private javax.swing.JTextPane jTextPane2;
87208802
private javax.swing.JLabel labelCurrentFreq;
@@ -8829,6 +8911,7 @@ public void run() {
88298911
private javax.swing.JPanel tabIgate;
88308912
private javax.swing.JTabbedPane tabMain;
88318913
private javax.swing.JPanel tabModem;
8914+
private javax.swing.JPanel tabMqtt;
88328915
private javax.swing.JPanel tabRadioMsg;
88338916
private javax.swing.JPanel tabRigctl;
88348917
private javax.swing.JPanel tabTerminal;

0 commit comments

Comments
 (0)