Skip to content

Commit 4ed9603

Browse files
committed
Review remarks. RES-691
1 parent 1b5245b commit 4ed9603

File tree

6 files changed

+34
-10
lines changed

6 files changed

+34
-10
lines changed

src/main/java/com/itextpdf/rups/Rups.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ This file is part of the iText (R) project.
5252
import com.itextpdf.rups.view.RupsTabbedPane;
5353
import com.itextpdf.rups.view.icons.FrameIconUtil;
5454

55-
import com.formdev.flatlaf.FlatLightLaf;
5655
import java.awt.BorderLayout;
5756
import java.awt.Dimension;
5857
import java.awt.Toolkit;

src/main/java/com/itextpdf/rups/view/Language.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ public enum Language {
158158
KEEP_CHUNKS_AS_LITERALS,
159159

160160
LOADING,
161+
LOCALE,
161162
LOG_TREE_NODE_CREATED,
162163

163164
MENU_BAR_ABOUT,
@@ -192,6 +193,7 @@ public enum Language {
192193
PLAINTEXT_DESCRIPTION,
193194
PREFERENCES,
194195
PREFERENCES_ALLOW_DUPLICATE_FILES,
196+
PREFERENCES_NEED_RESTART,
195197
PREFERENCES_OPEN_FOLDER,
196198
PREFERENCES_RESET_TO_DEFAULTS,
197199
PREFERENCES_RESET_TO_DEFAULTS_CONFIRM,

src/main/java/com/itextpdf/rups/view/PreferencesWindow.java

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
import java.awt.Component;
88
import java.awt.GridBagConstraints;
99
import java.awt.GridBagLayout;
10+
import java.awt.event.WindowAdapter;
11+
import java.awt.event.WindowEvent;
12+
import java.awt.event.WindowListener;
1013
import java.util.Locale;
1114
import javax.swing.JButton;
1215
import javax.swing.JCheckBox;
@@ -38,6 +41,8 @@ public class PreferencesWindow {
3841
// Fields to reset
3942
private JCheckBox openDuplicateFiles;
4043
private JTextField pathField;
44+
private JLabel restartLabel;
45+
private JComboBox<String> localeBox;
4146

4247
public PreferencesWindow() {
4348
initializeJDialog();
@@ -59,6 +64,13 @@ private void initializeJDialog() {
5964
this.jDialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
6065
this.jDialog.setModal(true);
6166
this.jDialog.setLayout(new BorderLayout());
67+
this.jDialog.addWindowListener(new WindowAdapter() {
68+
@Override
69+
public void windowClosing(WindowEvent e) {
70+
RupsConfiguration.INSTANCE.cancelTemporaryChanges();
71+
resetView();
72+
}
73+
});
6274
}
6375

6476
private void initializeLayout() {
@@ -115,24 +127,29 @@ private void createGeneralSettingsTab() {
115127
}
116128

117129
private void createVisualSettingsTab() {
118-
final JComboBox<String> localeBox = new JComboBox<>();
119-
localeBox.addItem("nl-NL");
120-
localeBox.addItem("en-US");
121-
localeBox.setSelectedItem(RupsConfiguration.INSTANCE.getUserLocale().toLanguageTag());
122-
final JLabel localeLabel = new JLabel("Locale");
130+
this.localeBox = new JComboBox<>();
131+
this.localeBox.addItem("nl-NL");
132+
this.localeBox.addItem("en-US");
133+
this.localeBox.setSelectedItem(RupsConfiguration.INSTANCE.getUserLocale().toLanguageTag());
134+
final JLabel localeLabel = new JLabel(Language.LOCALE.getString());
123135
localeLabel.setLabelFor(localeBox);
124136

125-
localeBox.addActionListener(e -> {
137+
this.restartLabel = new JLabel(Language.PREFERENCES_NEED_RESTART.getString());
138+
this.restartLabel.setVisible(false);
139+
140+
this.localeBox.addActionListener(e -> {
126141
Object selectedItem = localeBox.getSelectedItem();
127142
String selectedString = (String) selectedItem;
128143
RupsConfiguration.INSTANCE.setUserLocale(Locale.forLanguageTag(selectedString));
144+
this.restartLabel.setVisible(true);
129145
});
130146

131147
this.visualPanel = new JPanel();
132148
this.visualPanel.setLayout(this.gridBagLayout);
133149

134150
this.visualPanel.add(localeLabel, this.left);
135-
this.visualPanel.add(localeBox, this.right);
151+
this.visualPanel.add(this.localeBox, this.right);
152+
this.visualPanel.add(this.restartLabel, this.right);
136153
}
137154

138155
private void createTabbedPane() {
@@ -150,6 +167,7 @@ private void createSaveCancelResetSection() {
150167
JButton save = new JButton(Language.SAVE.getString());
151168
save.addActionListener(e -> {
152169
RupsConfiguration.INSTANCE.saveConfiguration();
170+
resetView();
153171
this.jDialog.dispose();
154172
});
155173
buttons.add(save);
@@ -176,7 +194,6 @@ private void createSaveCancelResetSection() {
176194
Language.PREFERENCES_RESET_TO_DEFAULTS_CONFIRM.getString());
177195
if (choice == JOptionPane.OK_OPTION) {
178196
RupsConfiguration.INSTANCE.resetToDefaultProperties();
179-
180197
resetView();
181198
}
182199
});
@@ -193,6 +210,8 @@ private void completeJDialogCreation() {
193210
private void resetView() {
194211
this.pathField.setText(RupsConfiguration.INSTANCE.getHomeFolder().getPath());
195212
this.openDuplicateFiles.setSelected(RupsConfiguration.INSTANCE.canOpenDuplicateFiles());
213+
this.localeBox.setSelectedItem(RupsConfiguration.INSTANCE.getUserLocale().toLanguageTag());
214+
this.restartLabel.setVisible(false);
196215
}
197216

198217
public void show(Component component) {

src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ private Element handleHexContent(Element initElement, ElementIterator it) throws
110110
final int start = current.getStartOffset();
111111
final int end = current.getEndOffset();
112112
try {
113-
hexBuf.append(doc.getText(start, end - start).toLowerCase(Locale.getDefault()));
113+
hexBuf.append(doc.getText(start, end - start).toLowerCase(Locale.ROOT));
114114
} catch (BadLocationException e) {
115115
throw new ITextException(Language.ERROR_QUERY_CONTENT_STREAM.getString(), e);
116116
}

src/main/resources/bundles/rups-lang.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ INSPECT_OBJECT=Inspect Object
109109
KEEP_CHUNKS_AS_LITERALS=Do you want to keep those chunks as Literals?
110110
111111
LOADING=Loading...
112+
LOCALE=Locale
112113
LOG_TREE_NODE_CREATED=Tree node was successfully created for new indirect object
113114
114115
MENU_BAR_ABOUT=About
@@ -150,6 +151,7 @@ PLAINTEXT_DESCRIPTION=Plain text representation of the PDF
150151
151152
PREFERENCES=Preferences
152153
PREFERENCES_ALLOW_DUPLICATE_FILES=Allow duplicate files in viewer
154+
PREFERENCES_NEED_RESTART=RUPS needs to be restarted when changing this value.
153155
PREFERENCES_OPEN_FOLDER=Default Open File Folder
154156
PREFERENCES_RESET_TO_DEFAULTS=Reset to Defaults
155157
PREFERENCES_RESET_TO_DEFAULTS_CONFIRM=Do you want to reset all settings?

src/main/resources/bundles/rups-lang_nl_NL.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ INSPECT_OBJECT=Object inspecteren
106106
KEEP_CHUNKS_AS_LITERALS=Wilt u deze chunks behouden als Literals?
107107

108108
LOADING=Laden...
109+
LOCALE=Taalinstelling
109110
LOG_TREE_NODE_CREATED=Tree node werd aangemaakt voor het nieuwe indirect object
110111

111112
MENU_BAR_ABOUT=Over
@@ -146,6 +147,7 @@ PLAINTEXT_DESCRIPTION=Plain text representatie van het PDF bestand
146147
147148
PREFERENCES=Voorkeuren
148149
PREFERENCES_ALLOW_DUPLICATE_FILES=Sta het openen van duplicate bestanden toe
150+
PREFERENCES_NEED_RESTART=RUPS moet herstarten na het aanpassen van deze voorkeur.
149151
PREFERENCES_OPEN_FOLDER=Standaard folder om bestanden te openen
150152
PREFERENCES_RESET_TO_DEFAULTS=Herstel beginwaarden
151153
PREFERENCES_RESET_TO_DEFAULTS_CONFIRM=Wilt u de beginwaarden herstellen?

0 commit comments

Comments
 (0)