Fix [ 2012750 ] NX printers can't be discovered
This commit is contained in:
parent
266f15c5c2
commit
dd3673533b
|
@ -19,6 +19,8 @@ package org.compiere.print;
|
||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
import java.awt.print.*;
|
import java.awt.print.*;
|
||||||
import javax.print.*;
|
import javax.print.*;
|
||||||
|
import javax.swing.DefaultComboBoxModel;
|
||||||
|
|
||||||
import org.compiere.swing.*;
|
import org.compiere.swing.*;
|
||||||
import org.compiere.util.*;
|
import org.compiere.util.*;
|
||||||
|
|
||||||
|
@ -36,6 +38,9 @@ public class CPrinter extends CComboBox implements ActionListener
|
||||||
*/
|
*/
|
||||||
public static String[] getPrinterNames()
|
public static String[] getPrinterNames()
|
||||||
{
|
{
|
||||||
|
// Refresh print services every time the combobox is constructed
|
||||||
|
s_services = PrintServiceLookup.lookupPrintServices(null,null);
|
||||||
|
|
||||||
String[] retValue = new String[s_services.length];
|
String[] retValue = new String[s_services.length];
|
||||||
for (int i = 0; i < s_services.length; i++)
|
for (int i = 0; i < s_services.length; i++)
|
||||||
retValue[i] = s_services[i].getName();
|
retValue[i] = s_services[i].getName();
|
||||||
|
@ -155,4 +160,12 @@ public class CPrinter extends CComboBox implements ActionListener
|
||||||
return PrintServiceLookup.lookupDefaultPrintService();
|
return PrintServiceLookup.lookupDefaultPrintService();
|
||||||
} // getPrintService
|
} // getPrintService
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Refresh printer list
|
||||||
|
*/
|
||||||
|
public void refresh() {
|
||||||
|
removeAllItems();
|
||||||
|
setModel(new DefaultComboBoxModel(getPrinterNames()));
|
||||||
|
}
|
||||||
|
|
||||||
} // CPrinter
|
} // CPrinter
|
||||||
|
|
|
@ -438,8 +438,10 @@ public final class ALogin extends CDialog
|
||||||
{
|
{
|
||||||
if (e.getActionCommand().equals(ConfirmPanel.A_OK))
|
if (e.getActionCommand().equals(ConfirmPanel.A_OK))
|
||||||
{
|
{
|
||||||
if (loginTabPane.getSelectedIndex() == 0)
|
if (loginTabPane.getSelectedIndex() == 0) {
|
||||||
connectionOK(); // first ok
|
connectionOK(); // first ok
|
||||||
|
printerField.refresh();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||||
|
|
Loading…
Reference in New Issue