added null check for attachment entry and move button state management to the auto preview method.
This commit is contained in:
parent
4aef583e4f
commit
8675e83423
|
@ -57,7 +57,7 @@ import org.zkoss.zul.Hbox;
|
||||||
import org.zkoss.zul.Iframe;
|
import org.zkoss.zul.Iframe;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Low Heng Sin
|
* @author Low Heng Sin
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -72,10 +72,10 @@ public class WAttachment extends Window implements EventListener
|
||||||
|
|
||||||
/** Window No */
|
/** Window No */
|
||||||
private int m_WindowNo;
|
private int m_WindowNo;
|
||||||
|
|
||||||
/** Attachment */
|
/** Attachment */
|
||||||
private MAttachment m_attachment;
|
private MAttachment m_attachment;
|
||||||
|
|
||||||
/** Change */
|
/** Change */
|
||||||
private boolean m_change = false;
|
private boolean m_change = false;
|
||||||
|
|
||||||
|
@ -94,13 +94,13 @@ public class WAttachment extends Window implements EventListener
|
||||||
private Button bCancel = new Button();
|
private Button bCancel = new Button();
|
||||||
private Button bOk = new Button();
|
private Button bOk = new Button();
|
||||||
private Button bRefresh = new Button();
|
private Button bRefresh = new Button();
|
||||||
|
|
||||||
private Panel previewPanel = new Panel();
|
private Panel previewPanel = new Panel();
|
||||||
|
|
||||||
private Borderlayout mainPanel = new Borderlayout();
|
private Borderlayout mainPanel = new Borderlayout();
|
||||||
|
|
||||||
private Hbox toolBar = new Hbox();
|
private Hbox toolBar = new Hbox();
|
||||||
|
|
||||||
private Hbox confirmPanel = new Hbox();
|
private Hbox confirmPanel = new Hbox();
|
||||||
|
|
||||||
private int displayIndex;
|
private int displayIndex;
|
||||||
|
@ -125,12 +125,12 @@ public class WAttachment extends Window implements EventListener
|
||||||
* @param Record_ID record key
|
* @param Record_ID record key
|
||||||
* @param trxName transaction
|
* @param trxName transaction
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public WAttachment( int WindowNo, int AD_Attachment_ID,
|
public WAttachment( int WindowNo, int AD_Attachment_ID,
|
||||||
int AD_Table_ID, int Record_ID, String trxName)
|
int AD_Table_ID, int Record_ID, String trxName)
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
||||||
log.config("ID=" + AD_Attachment_ID + ", Table=" + AD_Table_ID + ", Record=" + Record_ID);
|
log.config("ID=" + AD_Attachment_ID + ", Table=" + AD_Table_ID + ", Record=" + Record_ID);
|
||||||
|
|
||||||
m_WindowNo = WindowNo;
|
m_WindowNo = WindowNo;
|
||||||
|
@ -143,19 +143,19 @@ public class WAttachment extends Window implements EventListener
|
||||||
{
|
{
|
||||||
log.log(Level.SEVERE, "", ex);
|
log.log(Level.SEVERE, "", ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create Model
|
// Create Model
|
||||||
|
|
||||||
if (AD_Attachment_ID == 0)
|
if (AD_Attachment_ID == 0)
|
||||||
m_attachment = new MAttachment (Env.getCtx(), AD_Table_ID, Record_ID, trxName);
|
m_attachment = new MAttachment (Env.getCtx(), AD_Table_ID, Record_ID, trxName);
|
||||||
else
|
else
|
||||||
m_attachment = new MAttachment (Env.getCtx(), AD_Attachment_ID, trxName);
|
m_attachment = new MAttachment (Env.getCtx(), AD_Attachment_ID, trxName);
|
||||||
|
|
||||||
loadAttachments();
|
loadAttachments();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED);
|
setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED);
|
||||||
AEnv.showWindow(this);
|
AEnv.showWindow(this);
|
||||||
if (autoPreview(0, true))
|
if (autoPreview(0, true))
|
||||||
{
|
{
|
||||||
|
@ -163,14 +163,14 @@ public class WAttachment extends Window implements EventListener
|
||||||
preview.getUuid() + "').src\", 1000)";
|
preview.getUuid() + "').src\", 1000)";
|
||||||
Clients.response(new AuScript(null, script));
|
Clients.response(new AuScript(null, script));
|
||||||
}
|
}
|
||||||
|
|
||||||
//enter modal
|
//enter modal
|
||||||
doModal();
|
doModal();
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
} // WAttachment
|
} // WAttachment
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -186,7 +186,7 @@ public class WAttachment extends Window implements EventListener
|
||||||
* </pre>
|
* </pre>
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void staticInit() throws Exception
|
void staticInit() throws Exception
|
||||||
{
|
{
|
||||||
this.setMaximizable(true);
|
this.setMaximizable(true);
|
||||||
|
@ -198,22 +198,22 @@ public class WAttachment extends Window implements EventListener
|
||||||
this.setBorder("normal");
|
this.setBorder("normal");
|
||||||
this.appendChild(mainPanel);
|
this.appendChild(mainPanel);
|
||||||
mainPanel.setHeight("100%");
|
mainPanel.setHeight("100%");
|
||||||
mainPanel.setWidth("100%");
|
mainPanel.setWidth("100%");
|
||||||
|
|
||||||
North northPanel = new North();
|
North northPanel = new North();
|
||||||
northPanel.setCollapsible(false);
|
northPanel.setCollapsible(false);
|
||||||
northPanel.setSplittable(false);
|
northPanel.setSplittable(false);
|
||||||
|
|
||||||
cbContent.setMold("select");
|
cbContent.setMold("select");
|
||||||
cbContent.setRows(0);
|
cbContent.setRows(0);
|
||||||
cbContent.addEventListener(Events.ON_SELECT, this);
|
cbContent.addEventListener(Events.ON_SELECT, this);
|
||||||
|
|
||||||
toolBar.appendChild(bLoad);
|
toolBar.appendChild(bLoad);
|
||||||
toolBar.appendChild(bDelete);
|
toolBar.appendChild(bDelete);
|
||||||
toolBar.appendChild(bSave);
|
toolBar.appendChild(bSave);
|
||||||
toolBar.appendChild(cbContent);
|
toolBar.appendChild(cbContent);
|
||||||
toolBar.appendChild(sizeLabel);
|
toolBar.appendChild(sizeLabel);
|
||||||
|
|
||||||
mainPanel.appendChild(northPanel);
|
mainPanel.appendChild(northPanel);
|
||||||
Div div = new Div();
|
Div div = new Div();
|
||||||
div.appendChild(toolBar);
|
div.appendChild(toolBar);
|
||||||
|
@ -221,7 +221,7 @@ public class WAttachment extends Window implements EventListener
|
||||||
text.setWidth("100%");
|
text.setWidth("100%");
|
||||||
div.appendChild(text);
|
div.appendChild(text);
|
||||||
northPanel.appendChild(div);
|
northPanel.appendChild(div);
|
||||||
|
|
||||||
bSave.setEnabled(false);
|
bSave.setEnabled(false);
|
||||||
bSave.setImage("/images/Export24.png");
|
bSave.setImage("/images/Export24.png");
|
||||||
bSave.setTooltiptext(Msg.getMsg(Env.getCtx(), "AttachmentSave"));
|
bSave.setTooltiptext(Msg.getMsg(Env.getCtx(), "AttachmentSave"));
|
||||||
|
@ -238,30 +238,30 @@ public class WAttachment extends Window implements EventListener
|
||||||
previewPanel.appendChild(preview);
|
previewPanel.appendChild(preview);
|
||||||
preview.setHeight("100%");
|
preview.setHeight("100%");
|
||||||
preview.setWidth("100%");
|
preview.setWidth("100%");
|
||||||
|
|
||||||
Center centerPane = new Center();
|
Center centerPane = new Center();
|
||||||
centerPane.setAutoscroll(true);
|
centerPane.setAutoscroll(true);
|
||||||
centerPane.setFlex(true);
|
centerPane.setFlex(true);
|
||||||
mainPanel.appendChild(centerPane);
|
mainPanel.appendChild(centerPane);
|
||||||
centerPane.appendChild(previewPanel);
|
centerPane.appendChild(previewPanel);
|
||||||
|
|
||||||
South southPane = new South();
|
South southPane = new South();
|
||||||
mainPanel.appendChild(southPane);
|
mainPanel.appendChild(southPane);
|
||||||
southPane.appendChild(confirmPanel);
|
southPane.appendChild(confirmPanel);
|
||||||
southPane.setHeight("30px");
|
southPane.setHeight("30px");
|
||||||
|
|
||||||
bCancel.setImage("/images/Cancel24.png");
|
bCancel.setImage("/images/Cancel24.png");
|
||||||
bCancel.addEventListener(Events.ON_CLICK, this);
|
bCancel.addEventListener(Events.ON_CLICK, this);
|
||||||
|
|
||||||
bOk.setImage("/images/Ok24.png");
|
bOk.setImage("/images/Ok24.png");
|
||||||
bOk.addEventListener(Events.ON_CLICK, this);
|
bOk.addEventListener(Events.ON_CLICK, this);
|
||||||
|
|
||||||
bDeleteAll.setImage("/images/Delete24.png");
|
bDeleteAll.setImage("/images/Delete24.png");
|
||||||
bDeleteAll.addEventListener(Events.ON_CLICK, this);
|
bDeleteAll.addEventListener(Events.ON_CLICK, this);
|
||||||
|
|
||||||
bRefresh.setImage("/images/Refresh24.png");
|
bRefresh.setImage("/images/Refresh24.png");
|
||||||
bRefresh.addEventListener(Events.ON_CLICK, this);
|
bRefresh.addEventListener(Events.ON_CLICK, this);
|
||||||
|
|
||||||
confirmPanel.appendChild(bDeleteAll);
|
confirmPanel.appendChild(bDeleteAll);
|
||||||
confirmPanel.appendChild(bRefresh);
|
confirmPanel.appendChild(bRefresh);
|
||||||
confirmPanel.appendChild(bCancel);
|
confirmPanel.appendChild(bCancel);
|
||||||
|
@ -269,70 +269,83 @@ public class WAttachment extends Window implements EventListener
|
||||||
|
|
||||||
text.setTooltiptext(Msg.getElement(Env.getCtx(), "TextMsg"));
|
text.setTooltiptext(Msg.getElement(Env.getCtx(), "TextMsg"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dispose
|
* Dispose
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public void dispose ()
|
public void dispose ()
|
||||||
{
|
{
|
||||||
preview = null;
|
preview = null;
|
||||||
this.detach();
|
this.detach();
|
||||||
} // dispose
|
} // dispose
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load Attachments
|
* Load Attachments
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private void loadAttachments()
|
private void loadAttachments()
|
||||||
{
|
{
|
||||||
log.config("");
|
log.config("");
|
||||||
|
|
||||||
// Set Text/Description
|
// Set Text/Description
|
||||||
|
|
||||||
String sText = m_attachment.getTextMsg();
|
String sText = m_attachment.getTextMsg();
|
||||||
|
|
||||||
if (sText == null)
|
if (sText == null)
|
||||||
text .setText("");
|
text .setText("");
|
||||||
else
|
else
|
||||||
text.setText(sText);
|
text.setText(sText);
|
||||||
|
|
||||||
// Set Combo
|
// Set Combo
|
||||||
|
|
||||||
int size = m_attachment.getEntryCount();
|
int size = m_attachment.getEntryCount();
|
||||||
|
|
||||||
for (int i = 0; i < size; i++)
|
for (int i = 0; i < size; i++)
|
||||||
cbContent.appendItem(m_attachment.getEntryName(i), m_attachment.getEntryName(i));
|
cbContent.appendItem(m_attachment.getEntryName(i), m_attachment.getEntryName(i));
|
||||||
|
|
||||||
if (size > 0)
|
if (size > 0)
|
||||||
{
|
{
|
||||||
cbContent.setSelectedIndex(0);
|
cbContent.setSelectedIndex(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // loadAttachment
|
} // loadAttachment
|
||||||
|
|
||||||
private boolean autoPreview(int index, boolean immediate)
|
private boolean autoPreview(int index, boolean immediate)
|
||||||
{
|
{
|
||||||
MAttachmentEntry entry = m_attachment.getEntry(index);
|
MAttachmentEntry entry = m_attachment.getEntry(index);
|
||||||
String mimeType = entry.getContentType();
|
if (entry != null)
|
||||||
byte[] data = entry.getData();
|
|
||||||
String unit = " KB";
|
|
||||||
BigDecimal size = new BigDecimal(data != null ? data.length : 0);
|
|
||||||
size = size.divide(new BigDecimal("1024"));
|
|
||||||
if (size.compareTo(new BigDecimal("1024")) >= 0)
|
|
||||||
{
|
{
|
||||||
|
String mimeType = entry.getContentType();
|
||||||
|
byte[] data = entry.getData();
|
||||||
|
String unit = " KB";
|
||||||
|
BigDecimal size = new BigDecimal(data != null ? data.length : 0);
|
||||||
size = size.divide(new BigDecimal("1024"));
|
size = size.divide(new BigDecimal("1024"));
|
||||||
unit = " MB";
|
if (size.compareTo(new BigDecimal("1024")) >= 0)
|
||||||
}
|
{
|
||||||
size = size.setScale(2, BigDecimal.ROUND_HALF_EVEN);
|
size = size.divide(new BigDecimal("1024"));
|
||||||
sizeLabel.setText(size.toPlainString() + unit);
|
unit = " MB";
|
||||||
if (autoPreviewList.contains(mimeType))
|
}
|
||||||
{
|
size = size.setScale(2, BigDecimal.ROUND_HALF_EVEN);
|
||||||
displayData(index, immediate);
|
sizeLabel.setText(size.toPlainString() + unit);
|
||||||
return true;
|
|
||||||
|
bSave.setEnabled(true);
|
||||||
|
bDelete.setEnabled(true);
|
||||||
|
|
||||||
|
if (autoPreviewList.contains(mimeType))
|
||||||
|
{
|
||||||
|
displayData(index, immediate);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
bSave.setEnabled(false);
|
||||||
|
bDelete.setEnabled(false);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -341,15 +354,12 @@ public class WAttachment extends Window implements EventListener
|
||||||
* Display gif or jpg in gifPanel
|
* Display gif or jpg in gifPanel
|
||||||
* @param index index
|
* @param index index
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private void displayData (int index, boolean immediate)
|
private void displayData (int index, boolean immediate)
|
||||||
{
|
{
|
||||||
// Reset UI
|
// Reset UI
|
||||||
preview.setSrc(null);
|
preview.setSrc(null);
|
||||||
|
|
||||||
bDelete.setEnabled(false);
|
|
||||||
bSave.setEnabled(false);
|
|
||||||
|
|
||||||
displayIndex = index;
|
displayIndex = index;
|
||||||
|
|
||||||
if (immediate)
|
if (immediate)
|
||||||
|
@ -368,20 +378,17 @@ public class WAttachment extends Window implements EventListener
|
||||||
* Use to refresh preview frame, don't call directly.
|
* Use to refresh preview frame, don't call directly.
|
||||||
*/
|
*/
|
||||||
public void displaySelected() {
|
public void displaySelected() {
|
||||||
MAttachmentEntry entry = m_attachment.getEntry(displayIndex);
|
MAttachmentEntry entry = m_attachment.getEntry(displayIndex);
|
||||||
log.config("Index=" + displayIndex + " - " + entry);
|
log.config("Index=" + displayIndex + " - " + entry);
|
||||||
if (entry != null && entry.getData() != null)
|
if (entry != null && entry.getData() != null)
|
||||||
{
|
{
|
||||||
bSave.setEnabled(true);
|
|
||||||
bDelete.setEnabled(true);
|
|
||||||
|
|
||||||
log.config(entry.toStringX());
|
log.config(entry.toStringX());
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String contentType = entry.getContentType();
|
String contentType = entry.getContentType();
|
||||||
AMedia media = new AMedia(entry.getName(), null, contentType, entry.getData());
|
AMedia media = new AMedia(entry.getName(), null, contentType, entry.getData());
|
||||||
|
|
||||||
preview.setContent(media);
|
preview.setContent(media);
|
||||||
preview.setVisible(true);
|
preview.setVisible(true);
|
||||||
preview.invalidate();
|
preview.invalidate();
|
||||||
|
@ -392,23 +399,23 @@ public class WAttachment extends Window implements EventListener
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get File Name with index
|
* Get File Name with index
|
||||||
* @param index index
|
* @param index index
|
||||||
* @return file name or null
|
* @return file name or null
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private String getFileName (int index)
|
private String getFileName (int index)
|
||||||
{
|
{
|
||||||
String fileName = null;
|
String fileName = null;
|
||||||
|
|
||||||
if (cbContent.getItemCount() > index)
|
if (cbContent.getItemCount() > index)
|
||||||
{
|
{
|
||||||
ListItem listitem = cbContent.getItemAtIndex(index);
|
ListItem listitem = cbContent.getItemAtIndex(index);
|
||||||
fileName = (String)listitem.getValue();
|
fileName = (String)listitem.getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
return fileName;
|
return fileName;
|
||||||
} // getFileName
|
} // getFileName
|
||||||
|
|
||||||
|
@ -416,26 +423,26 @@ public class WAttachment extends Window implements EventListener
|
||||||
* Action Listener
|
* Action Listener
|
||||||
* @param e event
|
* @param e event
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public void onEvent(Event e)
|
public void onEvent(Event e)
|
||||||
{
|
{
|
||||||
// Save and Close
|
// Save and Close
|
||||||
|
|
||||||
if (e.getTarget() == bOk)
|
if (e.getTarget() == bOk)
|
||||||
{
|
{
|
||||||
String newText = text.getText();
|
String newText = text.getText();
|
||||||
|
|
||||||
if (newText == null)
|
if (newText == null)
|
||||||
newText = "";
|
newText = "";
|
||||||
|
|
||||||
String oldText = m_attachment.getTextMsg();
|
String oldText = m_attachment.getTextMsg();
|
||||||
|
|
||||||
if (oldText == null)
|
if (oldText == null)
|
||||||
oldText = "";
|
oldText = "";
|
||||||
|
|
||||||
if (!m_change)
|
if (!m_change)
|
||||||
m_change = !newText.equals(oldText);
|
m_change = !newText.equals(oldText);
|
||||||
|
|
||||||
if (newText.length() > 0 || m_attachment.getEntryCount() > 0)
|
if (newText.length() > 0 || m_attachment.getEntryCount() > 0)
|
||||||
{
|
{
|
||||||
if (m_change)
|
if (m_change)
|
||||||
|
@ -447,92 +454,92 @@ public class WAttachment extends Window implements EventListener
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
m_attachment.delete(true);
|
m_attachment.delete(true);
|
||||||
|
|
||||||
dispose();
|
dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cancel
|
// Cancel
|
||||||
|
|
||||||
else if (e.getTarget() == bCancel)
|
else if (e.getTarget() == bCancel)
|
||||||
{
|
{
|
||||||
dispose();
|
dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete Attachment
|
// Delete Attachment
|
||||||
|
|
||||||
else if (e.getTarget() == bDeleteAll)
|
else if (e.getTarget() == bDeleteAll)
|
||||||
{
|
{
|
||||||
deleteAttachment();
|
deleteAttachment();
|
||||||
dispose();
|
dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete individual entry and Return
|
// Delete individual entry and Return
|
||||||
|
|
||||||
else if (e.getTarget() == bDelete)
|
else if (e.getTarget() == bDelete)
|
||||||
deleteAttachmentEntry();
|
deleteAttachmentEntry();
|
||||||
|
|
||||||
// Show Data
|
// Show Data
|
||||||
|
|
||||||
else if (e.getTarget() == cbContent)
|
else if (e.getTarget() == cbContent)
|
||||||
{
|
{
|
||||||
clearPreview();
|
clearPreview();
|
||||||
autoPreview (cbContent.getSelectedIndex(), false);
|
autoPreview (cbContent.getSelectedIndex(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Attachment
|
// Load Attachment
|
||||||
|
|
||||||
else if (e.getTarget() == bLoad)
|
else if (e.getTarget() == bLoad)
|
||||||
loadFile();
|
loadFile();
|
||||||
|
|
||||||
// Open Attachment
|
// Open Attachment
|
||||||
|
|
||||||
else if (e.getTarget() == bSave)
|
else if (e.getTarget() == bSave)
|
||||||
saveAttachmentToFile();
|
saveAttachmentToFile();
|
||||||
|
|
||||||
else if (e.getTarget() == bRefresh)
|
else if (e.getTarget() == bRefresh)
|
||||||
displayData(cbContent.getSelectedIndex(), true);
|
displayData(cbContent.getSelectedIndex(), true);
|
||||||
|
|
||||||
} // onEvent
|
} // onEvent
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* Load file for attachment
|
* Load file for attachment
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private void loadFile()
|
private void loadFile()
|
||||||
{
|
{
|
||||||
log.info("");
|
log.info("");
|
||||||
|
|
||||||
preview.setVisible(false);
|
preview.setVisible(false);
|
||||||
|
|
||||||
Media media = null;
|
Media media = null;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
media = Fileupload.get(true);
|
media = Fileupload.get(true);
|
||||||
|
|
||||||
if (media != null)
|
if (media != null)
|
||||||
{
|
{
|
||||||
// pdfViewer.setContent(media);
|
// pdfViewer.setContent(media);
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
preview.setVisible(true);
|
preview.setVisible(true);
|
||||||
preview.invalidate();
|
preview.invalidate();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (InterruptedException e)
|
catch (InterruptedException e)
|
||||||
{
|
{
|
||||||
log.log(Level.WARNING, e.getLocalizedMessage(), e);
|
log.log(Level.WARNING, e.getLocalizedMessage(), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
String fileName = media.getName();
|
String fileName = media.getName();
|
||||||
log.config(fileName);
|
log.config(fileName);
|
||||||
int cnt = m_attachment.getEntryCount();
|
int cnt = m_attachment.getEntryCount();
|
||||||
|
|
||||||
//update
|
//update
|
||||||
for (int i = 0; i < cnt; i++)
|
for (int i = 0; i < cnt; i++)
|
||||||
{
|
{
|
||||||
if (m_attachment.getEntryName(i).equals(fileName))
|
if (m_attachment.getEntryName(i).equals(fileName))
|
||||||
{
|
{
|
||||||
|
@ -544,8 +551,8 @@ public class WAttachment extends Window implements EventListener
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//new
|
//new
|
||||||
if (m_attachment.addEntry(fileName, getMediaData(media)))
|
if (m_attachment.addEntry(fileName, getMediaData(media)))
|
||||||
{
|
{
|
||||||
cbContent.appendItem(media.getName(), media.getName());
|
cbContent.appendItem(media.getName(), media.getName());
|
||||||
|
@ -558,10 +565,10 @@ public class WAttachment extends Window implements EventListener
|
||||||
|
|
||||||
private byte[] getMediaData(Media media) {
|
private byte[] getMediaData(Media media) {
|
||||||
byte[] bytes = null;
|
byte[] bytes = null;
|
||||||
|
|
||||||
if (media.inMemory())
|
if (media.inMemory())
|
||||||
bytes = media.getByteData();
|
bytes = media.getByteData();
|
||||||
else {
|
else {
|
||||||
InputStream is = media.getStreamData();
|
InputStream is = media.getStreamData();
|
||||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||||
byte[] buf = new byte[ 1000 ];
|
byte[] buf = new byte[ 1000 ];
|
||||||
|
@ -575,7 +582,7 @@ public class WAttachment extends Window implements EventListener
|
||||||
}
|
}
|
||||||
bytes = baos.toByteArray();
|
bytes = baos.toByteArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
return bytes;
|
return bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -585,7 +592,7 @@ public class WAttachment extends Window implements EventListener
|
||||||
private void deleteAttachment()
|
private void deleteAttachment()
|
||||||
{
|
{
|
||||||
log.info("");
|
log.info("");
|
||||||
|
|
||||||
if (FDialog.ask(m_WindowNo, this, "AttachmentDelete?"))
|
if (FDialog.ask(m_WindowNo, this, "AttachmentDelete?"))
|
||||||
m_attachment.delete(true);
|
m_attachment.delete(true);
|
||||||
} // deleteAttachment
|
} // deleteAttachment
|
||||||
|
@ -593,14 +600,14 @@ public class WAttachment extends Window implements EventListener
|
||||||
/**
|
/**
|
||||||
* Delete Attachment Entry
|
* Delete Attachment Entry
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private void deleteAttachmentEntry()
|
private void deleteAttachmentEntry()
|
||||||
{
|
{
|
||||||
log.info("");
|
log.info("");
|
||||||
|
|
||||||
int index = cbContent.getSelectedIndex();
|
int index = cbContent.getSelectedIndex();
|
||||||
String fileName = getFileName(index);
|
String fileName = getFileName(index);
|
||||||
|
|
||||||
if (fileName == null)
|
if (fileName == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -608,7 +615,7 @@ public class WAttachment extends Window implements EventListener
|
||||||
{
|
{
|
||||||
if (m_attachment.deleteEntry(index))
|
if (m_attachment.deleteEntry(index))
|
||||||
cbContent.removeItemAt(index);
|
cbContent.removeItemAt(index);
|
||||||
|
|
||||||
m_change = true;
|
m_change = true;
|
||||||
}
|
}
|
||||||
} // deleteAttachment
|
} // deleteAttachment
|
||||||
|
@ -616,12 +623,12 @@ public class WAttachment extends Window implements EventListener
|
||||||
/**
|
/**
|
||||||
* Save Attachment to File
|
* Save Attachment to File
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private void saveAttachmentToFile()
|
private void saveAttachmentToFile()
|
||||||
{
|
{
|
||||||
int index = cbContent.getSelectedIndex();
|
int index = cbContent.getSelectedIndex();
|
||||||
log.info("index=" + index);
|
log.info("index=" + index);
|
||||||
|
|
||||||
if (m_attachment.getEntryCount() < index)
|
if (m_attachment.getEntryCount() < index)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue