From 45c4e928793247c7735a692caa2ecde12f1fb31d Mon Sep 17 00:00:00 2001 From: andreas Date: Mon, 17 Sep 2018 10:58:15 +0200 Subject: [PATCH] previewpanel is deprecated, refactored to use native pdf view --- .../subcomponents/ControlPanel_Reminder.java | 14 +- .../subcomponents/ControlPanel_Templates.java | 5 +- src/mpv5/ui/panels/ItemPanel2.java | 12 +- src/mpv5/ui/panels/JournalPanel.java | 4 +- src/mpv5/ui/panels/PreviewPanel.java | 497 ------------------ src/mpv5/ui/panels/PreviewWaiter.java | 145 +++++ src/mpv5/ui/panels/ProductOrderPanel.java | 12 +- src/mpv5/ui/panels/ProductPanel.java | 8 +- src/mpv5/ui/panels/RemindPanel.java | 6 +- 9 files changed, 172 insertions(+), 531 deletions(-) delete mode 100644 src/mpv5/ui/panels/PreviewPanel.java create mode 100644 src/mpv5/ui/panels/PreviewWaiter.java diff --git a/src/mpv5/ui/dialogs/subcomponents/ControlPanel_Reminder.java b/src/mpv5/ui/dialogs/subcomponents/ControlPanel_Reminder.java index cdc9f3e0..37819d4e 100644 --- a/src/mpv5/ui/dialogs/subcomponents/ControlPanel_Reminder.java +++ b/src/mpv5/ui/dialogs/subcomponents/ControlPanel_Reminder.java @@ -25,16 +25,12 @@ import mpv5.data.PropertyStore; import mpv5.ui.panels.*; import mpv5.handler.TemplateHandler; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; + import java.io.File; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Vector; -import java.util.logging.Level; -import java.util.logging.Logger; import javax.swing.DefaultListModel; import mpv5.db.common.Context; import mpv5.db.common.DatabaseObject; @@ -45,12 +41,10 @@ import mpv5.db.objects.Template; import mpv5.globals.Constants; import mpv5.globals.Messages; -import mpv5.handler.FormFieldsHandler; import mpv5.logging.Log; import mpv5.ui.dialogs.ControlApplet; import mpv5.ui.dialogs.DialogForFile; import mpv5.ui.dialogs.Popup; -import mpv5.ui.frames.MPView; import mpv5.utils.export.Export; import mpv5.utils.export.Exportable; import mpv5.utils.files.FileDirectoryHandler; @@ -299,7 +293,7 @@ private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS int group = 1; - PreviewPanel pr; + PreviewWaiter pr; if (dataOwner != null && dataOwner.isExisting()) { if (labeledCombobox2.getSelectedItem() != null) { @@ -316,7 +310,7 @@ private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS ex.setTemplate(te); ex.setTargetFile(f2); - pr = new PreviewPanel(); + pr = new PreviewWaiter(); pr.setDataOwner(dataOwner); new Job(ex, pr).execute(); } else { @@ -351,7 +345,7 @@ private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS int group = 1; - PreviewPanel pr; + PreviewWaiter pr; if (dataOwner != null && dataOwner.isExisting()) { if (labeledCombobox2.getSelectedItem() != null) { diff --git a/src/mpv5/ui/dialogs/subcomponents/ControlPanel_Templates.java b/src/mpv5/ui/dialogs/subcomponents/ControlPanel_Templates.java index cfc2f8fb..06ffebf4 100644 --- a/src/mpv5/ui/dialogs/subcomponents/ControlPanel_Templates.java +++ b/src/mpv5/ui/dialogs/subcomponents/ControlPanel_Templates.java @@ -44,10 +44,9 @@ import mpv5.ui.dialogs.DialogForFile; import mpv5.ui.dialogs.Notificator; import mpv5.ui.dialogs.Search2; -import mpv5.ui.panels.PreviewPanel; +import mpv5.ui.panels.PreviewWaiter; import mpv5.utils.export.Export; import mpv5.utils.export.ODTFile2; -import mpv5.utils.export.PDFFile; import mpv5.utils.files.FileDirectoryHandler; import mpv5.utils.files.FileExecutor; import mpv5.utils.files.FileMonitor; @@ -981,7 +980,7 @@ private void test() { ex.setTargetFile(f2); - new Job(ex, new PreviewPanel()).execute(); + new Job(ex, new PreviewWaiter()).execute(); } catch (Exception ex1) { Log.Debug(ex1); Popup.error(ex1); diff --git a/src/mpv5/ui/panels/ItemPanel2.java b/src/mpv5/ui/panels/ItemPanel2.java index 45a153e5..e3d90ed4 100644 --- a/src/mpv5/ui/panels/ItemPanel2.java +++ b/src/mpv5/ui/panels/ItemPanel2.java @@ -2964,10 +2964,10 @@ public void actionPerformed(ActionEvent e) { } private void delivery() { - PreviewPanel pr; + PreviewWaiter pr; if (dataOwner != null && dataOwner.isExisting()) { if (TemplateHandler.isLoaded(Long.valueOf(dataOwner.templateGroupIds()), Constants.TYPE_DELIVERY_NOTE)) { - pr = new PreviewPanel(); + pr = new PreviewWaiter(); pr.setDataOwner(dataOwner); new Job(Export.createFile(TemplateHandler.loadTemplate(dataOwner.templateGroupIds(), Constants.TYPE_DELIVERY_NOTE), dataOwner), pr).execute(); } else { @@ -2977,11 +2977,11 @@ private void delivery() { } private void confirmation() { - PreviewPanel pr; + PreviewWaiter pr; if (dataOwner != null && dataOwner.isExisting()) { if (TemplateHandler.isLoaded(Long.valueOf(dataOwner.templateGroupIds()), Constants.TYPE_ORDER_CONFIRMATION)) { - pr = new PreviewPanel(); + pr = new PreviewWaiter(); pr.setDataOwner(dataOwner); new Job(Export.createFile(TemplateHandler.loadTemplate(dataOwner.templateGroupIds(), Constants.TYPE_ORDER_CONFIRMATION), dataOwner), pr).execute(); } else { @@ -3029,10 +3029,10 @@ public void print() { } private void preview() { - PreviewPanel pr; + PreviewWaiter pr; if (dataOwner != null && dataOwner.isExisting()) { if (TemplateHandler.isLoaded(Long.valueOf(dataOwner.templateGroupIds()), dataOwner.__getInttype())) { - pr = new PreviewPanel(); + pr = new PreviewWaiter(); pr.setDataOwner(dataOwner); new Job(Export.createFile(TemplateHandler.loadTemplate(dataOwner.templateGroupIds(), dataOwner.__getInttype()), dataOwner), pr).execute(); } else { diff --git a/src/mpv5/ui/panels/JournalPanel.java b/src/mpv5/ui/panels/JournalPanel.java index 0e217499..1ce073de 100644 --- a/src/mpv5/ui/panels/JournalPanel.java +++ b/src/mpv5/ui/panels/JournalPanel.java @@ -1451,9 +1451,9 @@ private void setData() { } private void preview() { - PreviewPanel pr; + PreviewWaiter pr; if (journalOrContactTemplate != null) { - pr = new PreviewPanel(); + pr = new PreviewWaiter(); pr.setDataOwner(dataOwner); TreeMap map = new TreeMap(); map.put("journal.netvalue", volumeNetto.getText()); //NOI18N diff --git a/src/mpv5/ui/panels/PreviewPanel.java b/src/mpv5/ui/panels/PreviewPanel.java deleted file mode 100644 index 783fd837..00000000 --- a/src/mpv5/ui/panels/PreviewPanel.java +++ /dev/null @@ -1,497 +0,0 @@ -package mpv5.ui.panels; - -import com.sun.pdfview.PDFFile; -import com.sun.pdfview.PagePanel; -import java.awt.BorderLayout; -import java.awt.Cursor; -import java.io.File; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.nio.ByteBuffer; -import java.nio.channels.FileChannel; -import java.util.List; -import javax.swing.JEditorPane; -import mpv5.db.common.Context; -import mpv5.db.common.DatabaseObject; -import mpv5.db.common.Formattable; -import mpv5.db.common.NodataFoundException; -import mpv5.db.common.QueryCriteria; -import mpv5.db.common.QueryHandler; -import mpv5.db.objects.Contact; -import mpv5.db.objects.Item; -import mpv5.db.objects.MailMessage; -import mpv5.globals.Messages; -import mpv5.handler.VariablesHandler; -import mpv5.logging.Log; -import mpv5.mail.SimpleMail; -import mpv5.ui.dialogs.BigPopup; -import mpv5.ui.dialogs.DialogForFile; -import mpv5.ui.dialogs.Popup; -import mpv5.utils.export.Export; -import mpv5.utils.files.FileDirectoryHandler; -import mpv5.utils.files.FileReaderWriter; -import mpv5.utils.jobs.Waiter; -import mpv5.utils.print.PrintJob; - -/** - * - * - */ -public class PreviewPanel extends javax.swing.JPanel implements Waiter { - - private static final long serialVersionUID = 1L; - private File file; - private DatabaseObject dataOwner; - private PDFFile pdffile; - private PagePanel panel; - private DataPanel parent; - - /** - * Creates new form - */ - public PreviewPanel() { - initComponents(); - } - - /** - * Creates new preview for the given file. Currently supported file types: - *
  • PDF - *
  • ODT - *
  • TXT - * - * @param file - */ - public PreviewPanel(File file) { - initComponents(); - openl(file); - } - - /** - * Shows the given pdf file in the preview panel - * - * @param pdf - */ - public void openPdf(File pdf) { - PagePanel vp; - this.file = pdf; - if (pdf.isFile() && pdf.exists()) { - try { - - RandomAccessFile raf = new RandomAccessFile(pdf, "r"); - FileChannel channel = raf.getChannel(); - ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size()); - pdffile = new PDFFile(buf); - buf.clear(); - channel.close(); - raf.close(); - - vp = new PagePanel(); - - ppanel.removeAll(); - ppanel.add(vp, BorderLayout.CENTER); - ppanel.validate(); - - vp.showPage(pdffile.getPage(0)); - } catch (Exception ex) { - Log.Debug(ex); - } - } else { - throw new IllegalArgumentException("File is not existing or a directory: " + pdf); - } - } - - /** - * This me4thod is called from within the constructor to initialize the - * form. WARNING: Do NOT modify this code. The content of this method is - * always regenerated by the Form Editor. - */ - @SuppressWarnings("unchecked") - // //GEN-BEGIN:initComponents - private void initComponents() { - - jSeparator5 = new javax.swing.JSeparator(); - jPanel1 = new javax.swing.JPanel(); - ppanel = new javax.swing.JPanel(); - toolbar = new javax.swing.JToolBar(); - jButton27 = new javax.swing.JButton(); - jButton28 = new javax.swing.JButton(); - jButton30 = new javax.swing.JButton(); - jButton31 = new javax.swing.JButton(); - jButton32 = new javax.swing.JButton(); - - jSeparator5.setName("jSeparator5"); // NOI18N - - setName("Form"); // NOI18N - - java.util.ResourceBundle bundle = mpv5.i18n.LanguageManager.getBundle(); // NOI18N - jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("PreviewPanel.jPanel1.border.title"))); // NOI18N - jPanel1.setName("jPanel1"); // NOI18N - - ppanel.setBorder(javax.swing.BorderFactory.createEtchedBorder()); - ppanel.setName("ppanel"); // NOI18N - ppanel.setLayout(new java.awt.BorderLayout()); - - toolbar.setRollover(true); - toolbar.setName("toolbar"); // NOI18N - - jButton27.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/32/printer.png"))); // NOI18N - jButton27.setText(bundle.getString("PreviewPanel.jButton27.text")); // NOI18N - jButton27.setToolTipText(bundle.getString("PreviewPanel.jButton27.toolTipText")); // NOI18N - jButton27.setContentAreaFilled(false); - jButton27.setFocusable(false); - jButton27.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - jButton27.setName("jButton27"); // NOI18N - jButton27.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - jButton27.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - jButton27ActionPerformed(evt); - } - }); - toolbar.add(jButton27); - - jButton28.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/32/mail_reply.png"))); // NOI18N - jButton28.setText(bundle.getString("PreviewPanel.jButton28.text")); // NOI18N - jButton28.setToolTipText(bundle.getString("PreviewPanel.jButton28.toolTipText")); // NOI18N - jButton28.setContentAreaFilled(false); - jButton28.setFocusable(false); - jButton28.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - jButton28.setName("jButton28"); // NOI18N - jButton28.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - jButton28.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - jButton28ActionPerformed(evt); - } - }); - toolbar.add(jButton28); - - jButton30.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/32/acroread.png"))); // NOI18N - jButton30.setText(bundle.getString("PreviewPanel.jButton30.text")); // NOI18N - jButton30.setToolTipText(bundle.getString("PreviewPanel.jButton30.toolTipText")); // NOI18N - jButton30.setContentAreaFilled(false); - jButton30.setFocusable(false); - jButton30.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - jButton30.setName("jButton30"); // NOI18N - jButton30.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - jButton30.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - jButton30ActionPerformed(evt); - } - }); - toolbar.add(jButton30); - - jButton31.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/32/ark.png"))); // NOI18N - jButton31.setText(bundle.getString("PreviewPanel.jButton31.text")); // NOI18N - jButton31.setToolTipText(bundle.getString("PreviewPanel.jButton31.toolTipText")); // NOI18N - jButton31.setContentAreaFilled(false); - jButton31.setFocusable(false); - jButton31.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - jButton31.setName("jButton31"); // NOI18N - jButton31.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - jButton31.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - jButton31ActionPerformed(evt); - } - }); - toolbar.add(jButton31); - - jButton32.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mpv5/resources/images/32/fileexport.png"))); // NOI18N - jButton32.setText(bundle.getString("PreviewPanel.jButton32.text")); // NOI18N - jButton32.setToolTipText(bundle.getString("PreviewPanel.jButton32.toolTipText")); // NOI18N - jButton32.setContentAreaFilled(false); - jButton32.setFocusable(false); - jButton32.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - jButton32.setName("jButton32"); // NOI18N - jButton32.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - jButton32.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - jButton32ActionPerformed(evt); - } - }); - toolbar.add(jButton32); - - javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); - jPanel1.setLayout(jPanel1Layout); - jPanel1Layout.setHorizontalGroup( - jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(toolbar, javax.swing.GroupLayout.DEFAULT_SIZE, 547, Short.MAX_VALUE) - .addComponent(ppanel, javax.swing.GroupLayout.DEFAULT_SIZE, 547, Short.MAX_VALUE) - ); - jPanel1Layout.setVerticalGroup( - jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(toolbar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(ppanel, javax.swing.GroupLayout.DEFAULT_SIZE, 45, Short.MAX_VALUE)) - ); - - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - ); - }// //GEN-END:initComponents - - private void jButton27ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton27ActionPerformed - if (file != null) { - try { - new PrintJob().print(file); - } catch (Exception ex) { - Log.Debug(ex); - } - } -}//GEN-LAST:event_jButton27ActionPerformed - - private void jButton28ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton28ActionPerformed - - if (dataOwner != null) { - try { - file = FileDirectoryHandler.copyFile2(file, new File(FileDirectoryHandler.getTempDir() + ((Formattable) dataOwner).getFormatHandler().toUserString() + ".pdf")); - } catch (Exception ex) { - Log.Debug(ex); - } - } - MailMessage m = null; - if (dataOwner != null && dataOwner.isExisting()) { - - QueryCriteria c = new QueryCriteria("usersids", mpv5.db.objects.User.getCurrentUser().__getIDS()); - try { - m = (MailMessage) Popup.SelectValue(DatabaseObject.getObjects(Context.getMessage(), c), Messages.SELECT_A_TEMPLATE); - } catch (Exception ex) { - Log.Debug(this, ex.getMessage()); - } - - if (dataOwner instanceof Item) { - try { - Contact cont = ((Contact) Contact.getObject(Context.getContact(), ((Item) dataOwner).__getContactsids())); - if (mpv5.db.objects.User.getCurrentUser().__getMail().contains("@") && mpv5.db.objects.User.getCurrentUser().__getMail().contains(".") && cont.__getMailaddress().contains("@") && cont.__getMailaddress().contains(".")) { - SimpleMail pr = new SimpleMail(); - pr.setMailConfiguration(mpv5.db.objects.User.getCurrentUser().getMailConfiguration()); - pr.setRecipientsAddress(cont.__getMailaddress()); - if (m != null && m.__getCname() != null) { - pr.setSubject(m.__getCname()); - pr.setText(VariablesHandler.parse(m.__getDescription(), dataOwner)); - } - try { - pr.set(file, (Exception) null); - } catch (Exception ex) { - Log.Debug(ex); - } - - } else { - Popup.notice(Messages.NO_MAIL_DEFINED); - } - } catch (NodataFoundException nodataFoundException) { - Log.Debug(nodataFoundException); - } catch (UnsupportedOperationException unsupportedOperationException) { - Popup.notice(Messages.NO_MAIL_CONFIG); - } - } - } else { - Popup.notice(Messages.NO_TEMPLATE_LOADED + " (" + mpv5.db.objects.User.getCurrentUser() + ")"); - } - }//GEN-LAST:event_jButton28ActionPerformed - - private void jButton31ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton31ActionPerformed - - if (dataOwner != null) { - try { - file = FileDirectoryHandler.copyFile2(file, new File(FileDirectoryHandler.getTempDir() + ((Formattable) dataOwner).getFormatHandler().toUserString() + ".pdf")); - } catch (Exception ex) { - Log.Debug(ex); - } - } - - if (dataOwner != null && dataOwner.isExisting()) { - if (QueryHandler.instanceOf().clone(Context.getFiles()).insertFile(file, dataOwner, QueryCriteria.getSaveStringFor(((Formattable) dataOwner).getFormatHandler().toUserString().toString()))) { - Popup.notice(Messages.FILE_SAVED.toString() + file.getName()); - if (parent != null) { - parent.refresh(); - } - } - } else { - Popup.notice(Messages.NOT_POSSIBLE); - } - }//GEN-LAST:event_jButton31ActionPerformed - - private void jButton32ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton32ActionPerformed - DialogForFile d = new DialogForFile(DialogForFile.FILES_ONLY); - - if (dataOwner != null) { - try { - file = FileDirectoryHandler.copyFile2(file, new File(FileDirectoryHandler.getTempDir() + ((Formattable) dataOwner).getFormatHandler().toUserString() + ".pdf")); - } catch (Exception ex) { - Log.Debug(ex); - } - } - if (dataOwner == null) { - d.setSelectedFile(new File(file.getName())); - } else { - d.setSelectedFile(new File(((Formattable) dataOwner).getFormatHandler().toUserString() + ".pdf")); - } - if (d.saveFile()) { - d.getFile().delete(); - if (file.renameTo(d.getFile())) { - try { - mpv5.YabsViewProxy.instance().addMessage(Messages.FILE_SAVED + d.getFile().getCanonicalPath()); - } catch (IOException ex) { - Log.Debug(ex); - } - } - } - }//GEN-LAST:event_jButton32ActionPerformed - - private void jButton30ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton30ActionPerformed - - if (dataOwner != null) { - try { - file = FileDirectoryHandler.copyFile2(file, new File(FileDirectoryHandler.getTempDir() + ((Formattable) dataOwner).getFormatHandler().toUserString() + ".pdf")); - } catch (Exception ex) { - Log.Debug(ex); - } - } - FileDirectoryHandler.open(file); - -}//GEN-LAST:event_jButton30ActionPerformed - int pagen = 1; - // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JButton jButton27; - private javax.swing.JButton jButton28; - private javax.swing.JButton jButton30; - private javax.swing.JButton jButton31; - private javax.swing.JButton jButton32; - private javax.swing.JPanel jPanel1; - private javax.swing.JSeparator jSeparator5; - private javax.swing.JPanel ppanel; - private javax.swing.JToolBar toolbar; - // End of variables declaration//GEN-END:variables - -// public void openOdt(File file) { -// this.file = file; -// Log.Debug(this, "Preparing preview for: " + file); -// OOOPanel op = new OOOPanel(); -// ppanel.removeAll(); -// ppanel.setLayout(new BorderLayout()); -// ppanel.add(op, BorderLayout.CENTER); -// -// op.constructOOOPanel(file); -// this.validate(); -// } - public void open(File file) { - this.file = file; - FileReaderWriter f = new FileReaderWriter(file); - String t = f.read(); - JEditorPane p = new JEditorPane(); - p.setText(t); - ppanel.removeAll(); - ppanel.add(p, BorderLayout.CENTER); - ppanel.validate(); - } - - /** - * Show this panel in a new frame - * - * @param title - */ - public void showInNewFrame(String title) { - BigPopup.showPopup(this, jPanel1, title, mpv5.YabsViewProxy.instance().getIdentifierFrame().getHeight(), 800); - } - - /** - * @return the dataOwner - */ - public DatabaseObject getDataOwner() { - return dataOwner; - } - - /** - * @param dataOwner the dataOwner to set - */ - public void setDataOwner(DatabaseObject dataOwner) { - this.dataOwner = dataOwner; - } - - @Override - public void set(Object object, Exception exception) throws Exception { - if (exception == null) { - try { - setCursor(new Cursor(Cursor.WAIT_CURSOR)); - - if (object instanceof List) { - showInNewFrame("Export"); - openl(((Export) ((List) object).get(0)).getTargetFile()); - } else if (object instanceof Export) { - showInNewFrame("Export"); - openl(((Export) object).getTargetFile()); - } else { - showInNewFrame(((File) object).getName()); - openl((File) object); - } - } catch (Exception e) { - throw e; - } finally { - setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); - } - } else { - throw exception; - } - } - - private void openl(File file) { - if (file.getName().split("\\.").length < 2) { - throw new UnsupportedOperationException("The file must have an extension: " + file); - } - - this.file = file; - - String extension = file.getName().substring(file.getName().lastIndexOf("."), file.getName().length()); - - Log.Debug(this, "Found extension: " + extension); - - if (extension.equalsIgnoreCase(".pdf")) { - try { - openPdf(file); - } catch (Exception ex) { - Log.Debug(ex); - } - } else if (extension.equalsIgnoreCase(".odt")) { - try { - FileDirectoryHandler.open(file); - makeToolBar(); - } catch (Exception ex) { - Log.Debug(ex); - } - } else if (extension.equalsIgnoreCase(".txt")) { - try { - open(file); - } catch (Exception ex) { - Log.Debug(ex); - } - } else { - FileDirectoryHandler.open(file); - makeToolBar(); - } - } - - /** - * @param parent the parent to set - */ - public void setParent(DataPanel parent) { - this.parent = parent; - } - - private void makeToolBar() { - jPanel1.remove(ppanel); - validate(); - try { - BigPopup.pack(this); - BigPopup.show(this); - BigPopup.setOnTop(this); - } catch (Exception exception) { - } - } -} diff --git a/src/mpv5/ui/panels/PreviewWaiter.java b/src/mpv5/ui/panels/PreviewWaiter.java new file mode 100644 index 00000000..39bef625 --- /dev/null +++ b/src/mpv5/ui/panels/PreviewWaiter.java @@ -0,0 +1,145 @@ +package mpv5.ui.panels; + +import com.sun.pdfview.PDFFile; +import com.sun.pdfview.PagePanel; + +import java.awt.BorderLayout; +import java.awt.Cursor; +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.nio.ByteBuffer; +import java.nio.channels.FileChannel; +import java.util.List; +import javax.swing.JEditorPane; + +import mpv5.db.common.Context; +import mpv5.db.common.DatabaseObject; +import mpv5.db.common.Formattable; +import mpv5.db.common.NodataFoundException; +import mpv5.db.common.QueryCriteria; +import mpv5.db.common.QueryHandler; +import mpv5.db.objects.Contact; +import mpv5.db.objects.Item; +import mpv5.db.objects.MailMessage; +import mpv5.globals.Messages; +import mpv5.handler.VariablesHandler; +import mpv5.logging.Log; +import mpv5.mail.SimpleMail; +import mpv5.ui.dialogs.BigPopup; +import mpv5.ui.dialogs.DialogForFile; +import mpv5.ui.dialogs.Popup; +import mpv5.utils.export.Export; +import mpv5.utils.files.FileDirectoryHandler; +import mpv5.utils.files.FileReaderWriter; +import mpv5.utils.jobs.Waiter; +import mpv5.utils.print.PrintJob; + +/** + * + * + */ +public class PreviewWaiter implements Waiter { + + private static final long serialVersionUID = 2L; + private File file; + private DatabaseObject dataOwner; + private DataPanel parent; + + /** + * Creates new form + */ + public PreviewWaiter() { + } + + /** + * Creates new preview for the given file. Currently supported file types: + *
  • PDF + *
  • ODT + *
  • TXT + * + * @param file + */ + public PreviewWaiter(File file) { + openl(file); + } + + + /** + * @return the dataOwner + */ + public DatabaseObject getDataOwner() { + return dataOwner; + } + + /** + * @param dataOwner the dataOwner to set + */ + public void setDataOwner(DatabaseObject dataOwner) { + this.dataOwner = dataOwner; + } + + @Override + public void set(Object object, Exception exception) throws Exception { + if (exception == null) { + try { + if (object instanceof List) { + openl(((Export) ((List) object).get(0)).getTargetFile()); + } else if (object instanceof Export) { + openl(((Export) object).getTargetFile()); + } else { + openl((File) object); + } + } catch (Exception e) { + throw e; + } finally { + } + } else { + throw exception; + } + } + + private void openl(File file) { + if (file.getName().split("\\.").length < 2) { + throw new UnsupportedOperationException("The file must have an extension: " + file); + } + + this.file = file; + + String extension = file.getName().substring(file.getName().lastIndexOf("."), file.getName().length()); + + Log.Debug(this, "Found extension: " + extension); + + if (extension.equalsIgnoreCase(".pdf")) { + try { + FileDirectoryHandler.open(file); + } catch (Exception ex) { + Log.Debug(ex); + } + } else if (extension.equalsIgnoreCase(".odt")) { + try { + FileDirectoryHandler.open(file); + + } catch (Exception ex) { + Log.Debug(ex); + } + } else if (extension.equalsIgnoreCase(".txt")) { + try { + FileDirectoryHandler.open(file); + } catch (Exception ex) { + Log.Debug(ex); + } + } else { + FileDirectoryHandler.open(file); + + } + } + + /** + * @param parent the parent to set + */ + public void setParent(DataPanel parent) { + this.parent = parent; + } + +} diff --git a/src/mpv5/ui/panels/ProductOrderPanel.java b/src/mpv5/ui/panels/ProductOrderPanel.java index 4209b1b9..1866b195 100644 --- a/src/mpv5/ui/panels/ProductOrderPanel.java +++ b/src/mpv5/ui/panels/ProductOrderPanel.java @@ -1759,10 +1759,10 @@ public void actionPerformed(ActionEvent e) { } private void delivery() { - PreviewPanel pr; + PreviewWaiter pr; if (dataOwner != null && dataOwner.isExisting()) { if (TemplateHandler.isLoaded(Long.valueOf(dataOwner.templateGroupIds()), Constants.TYPE_DELIVERY_NOTE)) { - pr = new PreviewPanel(); + pr = new PreviewWaiter(); pr.setDataOwner(dataOwner); new Job(Export.createFile(TemplateHandler.loadTemplate(dataOwner.templateGroupIds(), Constants.TYPE_DELIVERY_NOTE), dataOwner), pr).execute(); } else { @@ -1772,11 +1772,11 @@ private void delivery() { } private void confirmation() { - PreviewPanel pr; + PreviewWaiter pr; if (dataOwner != null && dataOwner.isExisting()) { if (TemplateHandler.isLoaded(Long.valueOf(dataOwner.templateGroupIds()), Constants.TYPE_ORDER_CONFIRMATION)) { - pr = new PreviewPanel(); + pr = new PreviewWaiter(); pr.setDataOwner(dataOwner); new Job(Export.createFile(TemplateHandler.loadTemplate(dataOwner.templateGroupIds(), Constants.TYPE_ORDER_CONFIRMATION), dataOwner), pr).execute(); } else { @@ -1822,10 +1822,10 @@ public void print() { } private void preview() { - PreviewPanel pr; + PreviewWaiter pr; if (dataOwner != null && dataOwner.isExisting()) { if (TemplateHandler.isLoaded(Long.valueOf(dataOwner.templateGroupIds()), dataOwner.getInttype())) { - pr = new PreviewPanel(); + pr = new PreviewWaiter(); pr.setDataOwner(dataOwner); new Job(Export.createFile(TemplateHandler.loadTemplate(dataOwner.templateGroupIds(), dataOwner.getInttype()), dataOwner), pr).execute(); } else { diff --git a/src/mpv5/ui/panels/ProductPanel.java b/src/mpv5/ui/panels/ProductPanel.java index 50c30a73..51d60826 100644 --- a/src/mpv5/ui/panels/ProductPanel.java +++ b/src/mpv5/ui/panels/ProductPanel.java @@ -1475,10 +1475,10 @@ public void changeSelection(MPComboBoxModelItem to, Context c) { } private void preview() { - PreviewPanel pr; + PreviewWaiter pr; if (dataOwner != null && dataOwner.isExisting()) { if (TemplateHandler.isLoaded(Long.valueOf(dataOwner.templateGroupIds()), dataOwner.__getInttype())) { - pr = new PreviewPanel(); + pr = new PreviewWaiter(); pr.setDataOwner(dataOwner); new Job(Export.createFile(TemplateHandler.loadTemplate(dataOwner.templateGroupIds(), dataOwner.__getInttype()), dataOwner), pr).execute(); } else { @@ -1488,10 +1488,10 @@ private void preview() { } private void preview_order() { - PreviewPanel pr; + PreviewWaiter pr; if (dataOwner != null && dataOwner.isExisting()) { if (TemplateHandler.isLoaded(Long.valueOf(dataOwner.templateGroupIds()), Constants.TYPE_PRODUCT_ORDER)) { - pr = new PreviewPanel(); + pr = new PreviewWaiter(); pr.setDataOwner(dataOwner); new Job(Export.createFile(TemplateHandler.loadTemplate(dataOwner.templateGroupIds(), Constants.TYPE_PRODUCT_ORDER), dataOwner), pr).execute(); } else { diff --git a/src/mpv5/ui/panels/RemindPanel.java b/src/mpv5/ui/panels/RemindPanel.java index 6efe7032..6049f1a8 100644 --- a/src/mpv5/ui/panels/RemindPanel.java +++ b/src/mpv5/ui/panels/RemindPanel.java @@ -417,7 +417,7 @@ private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS int group = 1; - PreviewPanel pr; + PreviewWaiter pr; if (dataOwner != null && dataOwner.isExisting()) { if (labeledCombobox2.getSelectedItem() != null) { @@ -446,7 +446,7 @@ private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS Log.Debug(nodataFoundException); } - pr = new PreviewPanel(); + pr = new PreviewWaiter(); pr.setDataOwner(dataOwner); new Job(ex, pr).execute(); } else { @@ -506,7 +506,7 @@ private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRS int group = 1; - PreviewPanel pr; + PreviewWaiter pr; if (dataOwner != null && dataOwner.isExisting()) { if (labeledCombobox2.getSelectedItem() != null) {