Search in sources :

Example 1 with PdfViewer

use of net.rptools.tokentool.client.PdfViewer in project tokentool by RPTools.

the class TokenTool_Controller method compositeTokenPane_DragDropped.

@FXML
void compositeTokenPane_DragDropped(DragEvent event) {
    Dragboard db = event.getDragboard();
    // So lets just check for File first...
    if (db.hasFiles()) {
        db.getFiles().forEach(file -> {
            try {
                String fileName = FilenameUtils.getName(file.toURI().toURL().toExternalForm());
                if (FilenameUtils.isExtension(fileName.toLowerCase(), "pdf")) {
                    Platform.runLater(() -> new PdfViewer(file, this));
                } else {
                    updateImage(new Image(file.toURI().toURL().toExternalForm()), FilenameUtils.getBaseName(fileName));
                }
            } catch (Exception e) {
                log.error("Could not load image " + file, e);
            }
        });
        event.setDropCompleted(true);
    } else if (db.hasImage()) {
        updateImage(db.getImage());
        event.setDropCompleted(true);
    } else if (db.hasUrl()) {
        updateImage(new Image(db.getUrl()), FileSaveUtil.searchURL(db.getUrl()));
        event.setDropCompleted(true);
    }
}
Also used : Image(javafx.scene.image.Image) BufferedImage(java.awt.image.BufferedImage) Dragboard(javafx.scene.input.Dragboard) IOException(java.io.IOException) PdfViewer(net.rptools.tokentool.client.PdfViewer) FXML(javafx.fxml.FXML)

Example 2 with PdfViewer

use of net.rptools.tokentool.client.PdfViewer in project tokentool by RPTools.

the class TokenTool_Controller method fileOpenPDF_Menu_OnAction.

@FXML
void fileOpenPDF_Menu_OnAction(ActionEvent event) {
    FileChooser fileChooser = new FileChooser();
    fileChooser.setTitle(I18N.getString("TokenTool.openPDF.filechooser.title"));
    fileChooser.getExtensionFilters().add(ImageUtil.SUPPORTED_PDF_EXTENSION_FILTER);
    File lastPdfFile = new File(AppPreferences.getPreference(AppPreferences.LAST_PDF_FILE, ""));
    if (lastPdfFile.exists())
        fileChooser.setInitialDirectory(lastPdfFile);
    else if (lastPdfFile.getParentFile() != null)
        fileChooser.setInitialDirectory(lastPdfFile.getParentFile());
    File selectedPDF = fileChooser.showOpenDialog((Stage) compositeGroup.getScene().getWindow());
    if (selectedPDF != null) {
        try {
            new PdfViewer(selectedPDF, this);
            AppPreferences.setPreference(AppPreferences.LAST_PDF_FILE, selectedPDF.getParentFile().getCanonicalPath());
        } catch (IOException e) {
            log.error("Error loading PDF " + selectedPDF.getAbsolutePath());
        }
    }
}
Also used : FileChooser(javafx.stage.FileChooser) IOException(java.io.IOException) File(java.io.File) PdfViewer(net.rptools.tokentool.client.PdfViewer) FXML(javafx.fxml.FXML)

Aggregations

IOException (java.io.IOException)2 FXML (javafx.fxml.FXML)2 PdfViewer (net.rptools.tokentool.client.PdfViewer)2 BufferedImage (java.awt.image.BufferedImage)1 File (java.io.File)1 Image (javafx.scene.image.Image)1 Dragboard (javafx.scene.input.Dragboard)1 FileChooser (javafx.stage.FileChooser)1