This is an automated email from the git hooks/post-receive script. tmancill pushed a commit to branch dev in repository jabref.
commit fa70c0d34a61036dae55514d42b7494e434d363d Author: tony mancill <[email protected]> Date: Sun Dec 25 21:08:39 2016 -0800 patch DatePickerButton --- debian/patches/060_DatePickerButton.patch | 122 ++++++++++++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 123 insertions(+) diff --git a/debian/patches/060_DatePickerButton.patch b/debian/patches/060_DatePickerButton.patch new file mode 100644 index 0000000..91e39cb --- /dev/null +++ b/debian/patches/060_DatePickerButton.patch @@ -0,0 +1,122 @@ +--- a/src/main/java/net/sf/jabref/gui/date/DatePickerButton.java ++++ b/src/main/java/net/sf/jabref/gui/date/DatePickerButton.java +@@ -1,9 +1,14 @@ + package net.sf.jabref.gui.date; + + import java.awt.BorderLayout; ++import java.awt.event.ActionEvent; ++import java.awt.event.ActionListener; ++import java.text.SimpleDateFormat; + import java.time.LocalDate; ++import java.time.ZoneId; + import java.time.format.DateTimeFormatter; + import java.time.format.DateTimeParseException; ++import java.util.Date; + + import javax.swing.JComponent; + import javax.swing.JPanel; +@@ -11,51 +16,67 @@ + 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; ++ private final boolean isoFormat; + + +- public DatePickerButton(FieldEditor pEditor, boolean useIsoFormat) { ++ public DatePickerButton(FieldEditor pEditor, Boolean useIsoFormat) { ++ this.isoFormat = useIsoFormat; + if (useIsoFormat) { + dateTimeFormatter = DateTimeFormatter.ISO_DATE; + } else { + dateTimeFormatter = DateTimeFormatter.ofPattern(Globals.prefs.get(JabRefPreferences.TIME_STAMP_FORMAT)); + } + +- // 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(""); +- ++ datePicker.showButtonOnly(true); ++ datePicker.addActionListener(this); ++ datePicker.setShowTodayButton(true); + panel.setLayout(new BorderLayout()); + panel.add(datePicker, BorderLayout.WEST); + editor = pEditor; + } + + @Override ++ public void actionPerformed(ActionEvent e) { ++ Date date = datePicker.getDate(); ++ if (date != null) { ++ 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(); ++ } ++ ++ ++/* ++ @Override + public void dateChanged(DateChangeEvent dateChangeEvent) { + LocalDate date = datePicker.getDate(); + String newDate = ""; +@@ -68,6 +89,7 @@ + // Set focus to editor component after changing its text: + editor.getTextComponent().requestFocus(); + } ++*/ + + public JComponent getDatePicker() { + //return datePicker; +@@ -81,8 +103,9 @@ + public void updateDatePickerDate(String dateString) { + if(dateString!=null && !dateString.isEmpty()) { + try { +- datePicker.setDate(LocalDate.parse(dateString, dateTimeFormatter)); +- } catch (DateTimeParseException exception) { ++ final Date d = Date.from(LocalDate.parse(dateString, dateTimeFormatter).atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()); ++ datePicker.setDate(d); ++ } catch (Exception exception) { + LOGGER.warn("Unable to parse stored date for field '"+editor.getFieldName()+"' with current settings. " + + "Clear button in calender popup will not work."); + } diff --git a/debian/patches/series b/debian/patches/series index 05d6abc..27a6306 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,3 +3,4 @@ 020_disable_automatic_upgrade_check.patch 030_xjc.patch 050_unirest_json.patch +060_DatePickerButton.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jabref.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

