[jabref] 02/03: update 001_koppor_debian_3.8.1.patch
Tony Mancill
tmancill at moszumanska.debian.org
Tue Dec 27 03:04:32 UTC 2016
This is an automated email from the git hooks/post-receive script.
tmancill pushed a commit to branch dev
in repository jabref.
commit 81356e3bacdad69caec71bc6829aebe84dd37ab4
Author: tony mancill <tmancill at debian.org>
Date: Mon Dec 26 18:52:50 2016 -0800
update 001_koppor_debian_3.8.1.patch
Update after rebase of debian_3.8.1 on 2016.12.26. This should
eliminate the need to patch DatePickerButton.
---
debian/patches/001_koppor_debian_3.8.1.patch | 258 +++++++++++++++++++++++++++
1 file changed, 258 insertions(+)
diff --git a/debian/patches/001_koppor_debian_3.8.1.patch b/debian/patches/001_koppor_debian_3.8.1.patch
index d92bf28..6b7f785 100644
--- a/debian/patches/001_koppor_debian_3.8.1.patch
+++ b/debian/patches/001_koppor_debian_3.8.1.patch
@@ -354,6 +354,232 @@ Forwarded: not-needed
} else {
LOGGER.error("unknown style type");
}
+--- a/src/main/java/net/sf/jabref/gui/date/DatePickerButton.java
++++ b/src/main/java/net/sf/jabref/gui/date/DatePickerButton.java
+@@ -1,69 +1,55 @@
+ package net.sf.jabref.gui.date;
+
+ import java.awt.BorderLayout;
+-import java.time.LocalDate;
+-import java.time.format.DateTimeFormatter;
+-import java.time.format.DateTimeParseException;
++import java.awt.event.ActionEvent;
++import java.awt.event.ActionListener;
++import java.util.Date;
+
+ import javax.swing.JComponent;
+ import javax.swing.JPanel;
+
+ import net.sf.jabref.Globals;
+-import net.sf.jabref.gui.IconTheme;
+ import net.sf.jabref.gui.fieldeditors.FieldEditor;
++import net.sf.jabref.logic.util.date.EasyDateFormat;
+ import net.sf.jabref.preferences.JabRefPreferences;
+
+-import com.github.lgooddatepicker.components.DatePicker;
+-import com.github.lgooddatepicker.components.DatePickerSettings;
+-import com.github.lgooddatepicker.optionalusertools.DateChangeListener;
+-import com.github.lgooddatepicker.zinternaltools.DateChangeEvent;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import com.michaelbaranov.microba.calendar.DatePicker;
+
+ /**
+ * wrapper and service class for the DatePicker handling at the EntryEditor
+ */
+-public class DatePickerButton implements DateChangeListener {
++public class DatePickerButton implements ActionListener {
+
+- private static final Log LOGGER = LogFactory.getLog(DatePickerButton.class);
+-
+- private final DatePicker datePicker;
++ private final DatePicker datePicker = new DatePicker();
+ private final JPanel panel = new JPanel();
+ private final FieldEditor editor;
+- private final DateTimeFormatter dateTimeFormatter;
+-
+-
+- public DatePickerButton(FieldEditor pEditor, boolean useIsoFormat) {
+- if (useIsoFormat) {
+- dateTimeFormatter = DateTimeFormatter.ISO_DATE;
+- } else {
+- dateTimeFormatter = DateTimeFormatter.ofPattern(Globals.prefs.get(JabRefPreferences.TIME_STAMP_FORMAT));
+- }
++ private final boolean isoFormat;
+
+- // Create a date picker with hidden text field (showing button only).
+- DatePickerSettings dateSettings = new DatePickerSettings();
+- dateSettings.setVisibleDateTextField(false);
+- dateSettings.setGapBeforeButtonPixels(0);
+-
+- datePicker = new DatePicker(dateSettings);
+- datePicker.addDateChangeListener(this);
+- datePicker.getComponentToggleCalendarButton().setIcon(IconTheme.JabRefIcon.DATE_PICKER.getIcon());
+- datePicker.getComponentToggleCalendarButton().setText("");
+
++ public DatePickerButton(FieldEditor pEditor, Boolean isoFormat) {
++ this.isoFormat = isoFormat;
++ datePicker.showButtonOnly(true);
++ datePicker.addActionListener(this);
++ datePicker.setShowTodayButton(true);
+ panel.setLayout(new BorderLayout());
+ panel.add(datePicker, BorderLayout.WEST);
+ editor = pEditor;
+ }
+
+ @Override
+- public void dateChanged(DateChangeEvent dateChangeEvent) {
+- LocalDate date = datePicker.getDate();
+- String newDate = "";
++ public void actionPerformed(ActionEvent e) {
++ Date date = datePicker.getDate();
+ if (date != null) {
+- newDate = dateTimeFormatter.format(date.atStartOfDay());
+- }
+- if (!newDate.equals(editor.getText())) {
+- editor.setText(newDate);
++ if (isoFormat) {
++ editor.setText(EasyDateFormat.isoDateFormat().getDateAt(date));
++ } else {
++ editor.setText(EasyDateFormat
++ .fromTimeStampFormat(Globals.prefs.get(JabRefPreferences.TIME_STAMP_FORMAT))
++ .getDateAt(date));
++ }
++ } else {
++ // in this case the user selected "none" in the date picker, so we just clear the field
++ editor.setText("");
+ }
+ // Set focus to editor component after changing its text:
+ editor.getTextComponent().requestFocus();
+@@ -73,19 +59,4 @@
+ //return datePicker;
+ return panel;
+ }
+-
+- /**
+- * Used to set the calender popup to the currently used Date
+- * @param dateString
+- */
+- public void updateDatePickerDate(String dateString) {
+- if(dateString!=null && !dateString.isEmpty()) {
+- try {
+- datePicker.setDate(LocalDate.parse(dateString, dateTimeFormatter));
+- } catch (DateTimeParseException exception) {
+- LOGGER.warn("Unable to parse stored date for field '"+editor.getFieldName()+"' with current settings. "
+- + "Clear button in calender popup will not work.");
+- }
+- }
+- }
+ }
+--- a/src/main/java/net/sf/jabref/gui/entryeditor/EntryEditor.java
++++ b/src/main/java/net/sf/jabref/gui/entryeditor/EntryEditor.java
+@@ -17,8 +17,6 @@
+ import java.io.IOException;
+ import java.io.StringReader;
+ import java.io.StringWriter;
+-import java.time.LocalDateTime;
+-import java.time.format.DateTimeFormatter;
+ import java.util.ArrayList;
+ import java.util.HashSet;
+ import java.util.List;
+@@ -91,6 +89,7 @@
+ import net.sf.jabref.logic.l10n.Localization;
+ import net.sf.jabref.logic.search.SearchQueryHighlightListener;
+ import net.sf.jabref.logic.util.UpdateField;
++import net.sf.jabref.logic.util.date.EasyDateFormat;
+ import net.sf.jabref.model.EntryTypes;
+ import net.sf.jabref.model.FieldChange;
+ import net.sf.jabref.model.database.BibDatabase;
+@@ -1460,7 +1459,7 @@
+ private Optional<FieldChange> doUpdateTimeStamp() {
+ String timeStampField = Globals.prefs.get(JabRefPreferences.TIME_STAMP_FIELD);
+ String timeStampFormat = Globals.prefs.get(JabRefPreferences.TIME_STAMP_FORMAT);
+- String timestamp = DateTimeFormatter.ofPattern(timeStampFormat).format(LocalDateTime.now());
++ String timestamp = EasyDateFormat.fromTimeStampFormat(timeStampFormat).getCurrentDate();
+ return UpdateField.updateField(entry, timeStampField, timestamp);
+ }
+
+--- a/src/main/java/net/sf/jabref/gui/entryeditor/FieldExtraComponents.java
++++ b/src/main/java/net/sf/jabref/gui/entryeditor/FieldExtraComponents.java
+@@ -5,9 +5,6 @@
+ import java.awt.event.MouseAdapter;
+ import java.awt.event.MouseEvent;
+ import java.io.IOException;
+-import java.time.LocalDate;
+-import java.time.LocalDateTime;
+-import java.time.format.DateTimeFormatter;
+ import java.util.Optional;
+ import java.util.Set;
+
+@@ -35,6 +32,7 @@
+ import net.sf.jabref.logic.net.URLUtil;
+ import net.sf.jabref.logic.util.DOI;
+ import net.sf.jabref.logic.util.ISBN;
++import net.sf.jabref.logic.util.date.EasyDateFormat;
+ import net.sf.jabref.model.database.BibDatabaseMode;
+ import net.sf.jabref.model.entry.BibEntry;
+ import net.sf.jabref.model.entry.FieldName;
+@@ -417,53 +415,26 @@
+ * Set up field such that double click inserts the current date
+ * If isDataPicker is True, a button with a data picker is returned
+ *
+- * @param editor reference to the FieldEditor to display the date value
+- * @param useDatePicker shows a DatePickerButton if true
+- * @param useIsoFormat if true ISO format is always used
++ * @param editor
++ * @param isDatePicker
+ * @return
+ */
+- public static Optional<JComponent> getDateTimeExtraComponent(FieldEditor editor, boolean useDatePicker,
+- boolean useIsoFormat) {
++ public static Optional<JComponent> getDateTimeExtraComponent(FieldEditor editor, Boolean isDatePicker,
++ Boolean isoFormat) {
+ ((JTextArea) editor).addMouseListener(new MouseAdapter() {
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ if (e.getClickCount() == 2) {// double click
+- String date = "";
+- if(useIsoFormat) {
+- date = DateTimeFormatter.ISO_DATE.format(LocalDate.now());
+- } else {
+- date = DateTimeFormatter.ofPattern(Globals.prefs.get(JabRefPreferences.TIME_STAMP_FORMAT)).format(
+- LocalDateTime.now());
+- }
++ String date = EasyDateFormat.isoDateFormat().getCurrentDate();
+ editor.setText(date);
+ }
+ }
+ });
+
+ // insert a datepicker, if the extras field contains this command
+- if (useDatePicker) {
+- DatePickerButton datePicker = new DatePickerButton(editor, useIsoFormat);
+-
+- // register a DocumentListener on the underlying text document which notifies the DatePicker which date is currently set
+- ((JTextArea) editor).getDocument().addDocumentListener(new DocumentListener() {
+-
+- @Override
+- public void insertUpdate(DocumentEvent e) {
+- datePicker.updateDatePickerDate(editor.getText());
+- }
+-
+- @Override
+- public void removeUpdate(DocumentEvent e) {
+- datePicker.updateDatePickerDate(editor.getText());
+- }
+-
+- @Override
+- public void changedUpdate(DocumentEvent e) {
+- datePicker.updateDatePickerDate(editor.getText());
+- }
+- });
+-
++ if (isDatePicker) {
++ DatePickerButton datePicker = new DatePickerButton(editor, isoFormat);
+ return Optional.of(datePicker.getDatePicker());
+ } else {
+ return Optional.empty();
--- a/src/main/java/net/sf/jabref/gui/menus/RightClickMenu.java
+++ b/src/main/java/net/sf/jabref/gui/menus/RightClickMenu.java
@@ -29,7 +29,6 @@
@@ -1222,6 +1448,38 @@ Forwarded: not-needed
- }
-
-}
+--- a/src/main/java/net/sf/jabref/logic/util/UpdateField.java
++++ b/src/main/java/net/sf/jabref/logic/util/UpdateField.java
+@@ -1,10 +1,9 @@
+ package net.sf.jabref.logic.util;
+
+-import java.time.LocalDateTime;
+-import java.time.format.DateTimeFormatter;
+ import java.util.Collection;
+ import java.util.Optional;
+
++import net.sf.jabref.logic.util.date.EasyDateFormat;
+ import net.sf.jabref.model.FieldChange;
+ import net.sf.jabref.model.entry.BibEntry;
+ import net.sf.jabref.model.entry.FieldName;
+@@ -87,7 +86,7 @@
+ public static void setAutomaticFields(BibEntry entry, boolean overwriteOwner, boolean overwriteTimestamp,
+ UpdateFieldPreferences prefs) {
+ String defaultOwner = prefs.getDefaultOwner();
+- String timestamp = DateTimeFormatter.ofPattern(prefs.getTimeStampFormat()).format(LocalDateTime.now());
++ String timestamp = EasyDateFormat.fromTimeStampFormat(prefs.getTimeStampFormat()).getCurrentDate();
+ String timeStampField = prefs.getTimeStampField();
+ boolean setOwner = prefs.isUseOwner() && (overwriteOwner || (!entry.hasField(FieldName.OWNER)));
+ boolean setTimeStamp = prefs.isUseTimeStamp() && (overwriteTimestamp || (!entry.hasField(timeStampField)));
+@@ -132,7 +131,7 @@
+
+ String timeStampField = prefs.getTimeStampField();
+ String defaultOwner = prefs.getDefaultOwner();
+- String timestamp = DateTimeFormatter.ofPattern(prefs.getTimeStampFormat()).format(LocalDateTime.now());
++ String timestamp = EasyDateFormat.fromTimeStampFormat(prefs.getTimeStampFormat()).getCurrentDate();
+
+ // Iterate through all entries
+ for (BibEntry curEntry : bibs) {
--- /dev/null
+++ b/src/main/java/net/sf/jabref/logic/util/date/EasyDateFormat.java
@@ -0,0 +1,63 @@
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jabref.git
More information about the pkg-java-commits
mailing list