Skip to content

Commit

Permalink
Save view type to preferences
Browse files Browse the repository at this point in the history
  • Loading branch information
mgropp committed Apr 2, 2021
1 parent 0734e31 commit 108d144
Show file tree
Hide file tree
Showing 12 changed files with 54 additions and 18 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ PdfJumbler simple tool to rearrange, merge, delete, and rotate pages from PDF fi
Releases
--------

* v0.4.0:
* https://github.com/mgropp/pdfjumbler/releases/download/v0.4.0/pdfjumbler.jar
* https://github.com/mgropp/pdfjumbler/releases/download/v0.4.0/setup-pdfjumbler.exe
* v0.3.0:
* https://github.com/mgropp/pdfjumbler/releases/download/v0.3.0/pdfjumbler.jar
* https://github.com/mgropp/pdfjumbler/releases/download/v0.3.0/setup-pdfjumbler.exe
Expand Down
7 changes: 7 additions & 0 deletions src/main/java/net/sourceforge/pdfjumbler/ConfigKeys.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package net.sourceforge.pdfjumbler;

public class ConfigKeys {
public static final String EDITOR = "editor";
public static final String RENDERER = "renderer";
public static final String SHOW_TEXT = "showText";
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,14 @@ public class PdfCellRenderer extends DefaultListCellRenderer {
private int thumbnailWidth = 96;
private int thumbnailHeight = 128;

private boolean showText = true;
private boolean showText;

public PdfCellRenderer(PdfRenderer renderer) {
this(renderer, true);
}

public PdfCellRenderer(PdfRenderer renderer, boolean showText) {
this.showText = showText;
this.renderer = PdfProcessingFactory.getRenderer();
PdfProcessingFactory.addProcessorListener(
new PdfProcessorListener() {
Expand Down
9 changes: 7 additions & 2 deletions src/main/java/net/sourceforge/pdfjumbler/PdfJumbler.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.ResourceBundle;
import java.util.prefs.Preferences;

/**
* PdfJumbler main class.
Expand Down Expand Up @@ -185,11 +186,15 @@ private PdfJumbler(String[] files) {
toolBar2.setFloatable(false);

// Lists
mainList = new PdfList();
mainList = new PdfList(
Preferences.userNodeForPackage(PdfJumbler.class).getBoolean(ConfigKeys.SHOW_TEXT, true)
);
mainList.setDisplayMessage(resources.getString(I18nKeys.LIST_DROP_PDFS_TO_EDIT));
JScrollPane mainPane = new JScrollPane(mainList);

secondaryList = new PdfList();
secondaryList = new PdfList(
Preferences.userNodeForPackage(PdfJumbler.class).getBoolean(ConfigKeys.SHOW_TEXT, true)
);
secondaryList.setDisplayMessage(resources.getString(I18nKeys.LIST_CLIPBOARD_EMPTY));
secondaryList.setThumbnailSize(16);
JScrollPane secondaryPane = new JScrollPane(secondaryList);
Expand Down
12 changes: 9 additions & 3 deletions src/main/java/net/sourceforge/pdfjumbler/PdfList.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import java.net.URI;
import java.util.ArrayList;
import java.util.Objects;
import java.util.prefs.Preferences;

import javax.swing.JList;
import javax.swing.TransferHandler.TransferSupport;
Expand All @@ -28,12 +29,17 @@ public class PdfList extends JDragDropList<Page> {
private static final int DEFAULT_VISIBLE_ROW_COUNT = 8;

private String displayMessage = null;
public PdfList() {

public PdfList(boolean showText) {
super(new UndoableListModel<>());
setCellRenderer(new PdfCellRenderer(PdfProcessingFactory.getRenderer()));
setDropListener(new URIDropListener());
addMouseWheelListener(new ZoomMouseWheelListener());

setCellRenderer(new PdfCellRenderer(
PdfProcessingFactory.getRenderer(),
showText
));
this.setShowCellText(showText);
}

private void drawCenteredText(Graphics g, String message, boolean alignCenter) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package net.sourceforge.pdfjumbler.actions;

import net.sourceforge.pdfjumbler.ConfigKeys;
import net.sourceforge.pdfjumbler.Icons;
import net.sourceforge.pdfjumbler.PdfJumbler;
import net.sourceforge.pdfjumbler.PdfList;
Expand All @@ -9,6 +10,7 @@
import javax.swing.AbstractAction;
import javax.swing.Action;
import java.awt.event.ActionEvent;
import java.util.prefs.Preferences;

public class ViewListAction extends AbstractAction {
private static final long serialVersionUID = 7357355236947950441L;
Expand All @@ -22,7 +24,8 @@ public ViewListAction(PdfJumbler parent) {

@Override
public void actionPerformed(ActionEvent e) {
PdfList mainList = parent.getMainPdfList();
mainList.setShowCellText(true);
parent.getMainPdfList().setShowCellText(true);
parent.getSecondaryPdfList().setShowCellText(true);
Preferences.userNodeForPackage(PdfJumbler.class).putBoolean(ConfigKeys.SHOW_TEXT, true);
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package net.sourceforge.pdfjumbler.actions;

import net.sourceforge.pdfjumbler.ConfigKeys;
import net.sourceforge.pdfjumbler.PdfJumbler;
import net.sourceforge.pdfjumbler.PdfList;
import net.sourceforge.pdfjumbler.i18n.I18nKeys;
Expand All @@ -8,6 +9,7 @@
import javax.swing.AbstractAction;
import javax.swing.Action;
import java.awt.event.ActionEvent;
import java.util.prefs.Preferences;

public class ViewThumbnailsAction extends AbstractAction {
private static final long serialVersionUID = 7357355236947950441L;
Expand All @@ -21,7 +23,8 @@ public ViewThumbnailsAction(PdfJumbler parent) {

@Override
public void actionPerformed(ActionEvent e) {
PdfList mainList = parent.getMainPdfList();
mainList.setShowCellText(false);
parent.getMainPdfList().setShowCellText(false);
parent.getSecondaryPdfList().setShowCellText(false);
Preferences.userNodeForPackage(PdfJumbler.class).putBoolean(ConfigKeys.SHOW_TEXT, false);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ protected Object[][] getContents() {
},
{
ABOUT_TEXT,
"PdfJumbler %s \nCopyright (C) 2020 Martin Gropp\n" +
"PdfJumbler %s \nCopyright (C) 2021 Martin Gropp\n" +
"\n" +
"PDF Editor: %s\n" +
"PDF Renderer: %s\n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ protected Object[][] getContents() {
},
{
ABOUT_TEXT,
"PdfJumbler %s \nCopyright (C) 2020 Martin Gropp\n" +
"PdfJumbler %s \nCopyright (C) 2021 Martin Gropp\n" +
"\n" +
"PDF Editor: %s\n" +
"PDF Renderer: %s\n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ protected Object[][] getContents() {
},
{
ABOUT_TEXT,
"PdfJumbler %s \nCopyright (C) 2020 Martin Gropp\n" +
"PdfJumbler %s \nCopyright (C) 2021 Martin Gropp\n" +
"Traducción: Andres Yesid Diaz Pinto\n" +
"\n" +
"PDF Editor: %s\n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ protected Object[][] getContents() {
{ NO_PDF_RENDERER_TEXT, "Не удалось загрузить плагин для рендеринга PDF." },
{ PDF_PAGE_TITLE, "%d (%s)" },
{ MENU, "Настройки" },
{ MENU_VIEW, "Вид" },
{ MENU_EDITOR, "PDF Редактор" },
{ MENU_RENDERER, "PDF Рендер" },
{ MOVE_UP, "Переместить вверх" },
Expand All @@ -41,13 +42,15 @@ protected Object[][] getContents() {
{ ABOUT_TITLE, "О программе" },
{ PLUGIN_ERROR_TITLE, "Ошибка плагина" },
{ PLUGIN_INIT_ERROR, "Ошибка инициализации плагина %s" },
{ VIEW_LIST, "Ведомость" },
{ VIEW_THUMBNAILS, "Эскиз" },
{
PLUGIN_ERROR_VERSION_INCOMPATIBLE,
"Для этого плагина требуется версия PdfJumbler %s."
},
{
ABOUT_TEXT,
"PdfJumbler %s \nАвторские права (C) 2020 Мартин Гропп\n" +
"PdfJumbler %s \nАвторские права (C) 2021 Мартин Гропп\n" +
"Перевод: s-r-grass\n" +
"\n" +
"PDF Редактор: %s\n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

import javax.swing.JOptionPane;

import net.sourceforge.pdfjumbler.ConfigKeys;
import net.sourceforge.pdfjumbler.PdfJumbler;
import net.sourceforge.pdfjumbler.i18n.I18nKeys;
import net.sourceforge.pdfjumbler.i18n.I18nUtil;
Expand Down Expand Up @@ -183,7 +184,7 @@ private static void selectInitialEditor() {
System.getProperty("pdfjumbler.editor", null)
));
classes.add(findEditorClass(
Preferences.userNodeForPackage(PdfJumbler.class).get("editor", null)
Preferences.userNodeForPackage(PdfJumbler.class).get(ConfigKeys.EDITOR, null)
));
classes.addAll(pdfEditorClasses);

Expand Down Expand Up @@ -220,7 +221,7 @@ private static void selectInitialRenderer() {
System.getProperty("pdfjumbler.renderer", null)
));
classes.add(findRendererClass(
Preferences.userNodeForPackage(PdfJumbler.class).get("renderer", null)
Preferences.userNodeForPackage(PdfJumbler.class).get(ConfigKeys.RENDERER, null)
));
classes.addAll(pdfRendererClasses);

Expand Down Expand Up @@ -272,14 +273,14 @@ public static void setEditorClass(Class<? extends PdfEditor> cls) throws Instant
PdfEditor oldEditor = editor;
editor = cls.getDeclaredConstructor().newInstance();
fireEditorChanged(oldEditor);
Preferences.userNodeForPackage(PdfJumbler.class).put("editor", cls.getCanonicalName());
Preferences.userNodeForPackage(PdfJumbler.class).put(ConfigKeys.EDITOR, cls.getCanonicalName());
}

public static void setRendererClass(Class<? extends PdfRenderer> cls) throws InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException {
PdfRenderer oldRenderer = renderer;
renderer = cls.getDeclaredConstructor().newInstance();
fireRendererChanged(oldRenderer);
Preferences.userNodeForPackage(PdfJumbler.class).put("renderer", cls.getCanonicalName());
Preferences.userNodeForPackage(PdfJumbler.class).put(ConfigKeys.RENDERER, cls.getCanonicalName());
}

public static String getFriendlyName(Class<?> cls) {
Expand Down

0 comments on commit 108d144

Please sign in to comment.