[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