mirror of
https://gitlab.com/Monsterovich/lanemu.git
synced 2024-07-07 06:01:16 +02:00
Compare commits
3 commits
25b13e4a64
...
8aa44fd5c5
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8aa44fd5c5 | ||
![]() |
f706cbb6d8 | ||
![]() |
b72bddee1c |
|
@ -19,7 +19,9 @@
|
||||||
package org.p2pvpn.gui;
|
package org.p2pvpn.gui;
|
||||||
import com.github.lgooddatepicker.components.CalendarPanel;
|
import com.github.lgooddatepicker.components.CalendarPanel;
|
||||||
import com.github.lgooddatepicker.zinternaltools.CustomPopup;
|
import com.github.lgooddatepicker.zinternaltools.CustomPopup;
|
||||||
import com.github.lgooddatepicker.zinternaltools.CustomPopup.CustomPopupCloseListener;
|
import com.github.lgooddatepicker.zinternaltools.CalendarSelectionEvent;
|
||||||
|
import com.github.lgooddatepicker.zinternaltools.YearMonthChangeEvent;
|
||||||
|
import com.github.lgooddatepicker.optionalusertools.CalendarListener;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
@ -33,8 +35,9 @@ import javax.swing.SwingUtilities;
|
||||||
* Uses internal library methods.
|
* Uses internal library methods.
|
||||||
* @author monsterovich
|
* @author monsterovich
|
||||||
*/
|
*/
|
||||||
public class Calendar implements CustomPopupCloseListener {
|
public class Calendar implements CalendarListener {
|
||||||
private final CalendarPanel calendarPanel;
|
private final CalendarPanel calendarPanel;
|
||||||
|
private CustomPopup calendarPopup;
|
||||||
private final Component parentComponent;
|
private final Component parentComponent;
|
||||||
private final JSpinner inputField;
|
private final JSpinner inputField;
|
||||||
|
|
||||||
|
@ -43,17 +46,18 @@ public class Calendar implements CustomPopupCloseListener {
|
||||||
inputField = field;
|
inputField = field;
|
||||||
|
|
||||||
calendarPanel = new CalendarPanel();
|
calendarPanel = new CalendarPanel();
|
||||||
|
calendarPanel.addCalendarListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void show() {
|
void show() {
|
||||||
Date originalDate = (Date) inputField.getModel().getValue();
|
Date originalDate = (Date) inputField.getModel().getValue();
|
||||||
calendarPanel.setSelectedDate(originalDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
|
calendarPanel.setSelectedDate(originalDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
|
||||||
|
|
||||||
CustomPopup calendarPopup =
|
calendarPopup =
|
||||||
new CustomPopup(
|
new CustomPopup(
|
||||||
calendarPanel,
|
calendarPanel,
|
||||||
SwingUtilities.getWindowAncestor(parentComponent),
|
SwingUtilities.getWindowAncestor(parentComponent),
|
||||||
this,
|
null,
|
||||||
null);
|
null);
|
||||||
|
|
||||||
Point pointOnScreen = new Point();
|
Point pointOnScreen = new Point();
|
||||||
|
@ -64,14 +68,19 @@ public class Calendar implements CustomPopupCloseListener {
|
||||||
calendarPanel.requestFocus();
|
calendarPanel.requestFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void zEventCustomPopupWasClosed(CustomPopup popup) {
|
public void selectedDateChanged(CalendarSelectionEvent event) {
|
||||||
LocalDate calendarDate = calendarPanel.getSelectedDate();
|
LocalDate calendarDate = event.getSource().getSelectedDate();
|
||||||
if (calendarDate != null) {
|
if (calendarDate != null && event.isDuplicate()) {
|
||||||
Date originalDate = (Date) inputField.getModel().getValue();
|
Date originalDate = (Date) inputField.getModel().getValue();
|
||||||
Date date = Date.from(calendarDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
Date date = Date.from(calendarDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
||||||
date.setHours(originalDate.getHours());
|
date.setHours(originalDate.getHours());
|
||||||
date.setMinutes(originalDate.getMinutes());
|
date.setMinutes(originalDate.getMinutes());
|
||||||
inputField.getModel().setValue(date);
|
inputField.getModel().setValue(date);
|
||||||
|
calendarPopup.hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void yearMonthChanged(YearMonthChangeEvent event) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -216,6 +216,7 @@
|
||||||
<Component class="javax.swing.JButton" name="btnCalendar">
|
<Component class="javax.swing.JButton" name="btnCalendar">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" value="..."/>
|
<Property name="text" type="java.lang.String" value="..."/>
|
||||||
|
<Property name="toolTipText" type="java.lang.String" value="Open calendar"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnCalendarActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnCalendarActionPerformed"/>
|
||||||
|
|
|
@ -183,6 +183,7 @@ public class InviteWindow extends javax.swing.JDialog implements ClipboardOwner
|
||||||
grpDate.add(radDate);
|
grpDate.add(radDate);
|
||||||
|
|
||||||
btnCalendar.setText("...");
|
btnCalendar.setText("...");
|
||||||
|
btnCalendar.setToolTipText("Open calendar");
|
||||||
btnCalendar.addActionListener(new java.awt.event.ActionListener() {
|
btnCalendar.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
btnCalendarActionPerformed(evt);
|
btnCalendarActionPerformed(evt);
|
||||||
|
|
Loading…
Reference in a new issue