Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

20 changes: 20 additions & 0 deletions src/main/java/backupmanager/Controllers/EntryUserController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package backupmanager.Controllers;

import javax.swing.JOptionPane;

import backupmanager.Email.EmailValidator;
import backupmanager.Enums.TranslationLoaderEnum.TranslationCategory;
import backupmanager.Enums.TranslationLoaderEnum.TranslationKey;

public class EntryUserController {
public boolean isInputOkAndShowErrorIfNecessary(javax.swing.JDialog dialog, String name, String surname, String email) {
if (name.isEmpty() || surname.isEmpty() || email.isEmpty()) {
JOptionPane.showMessageDialog(dialog, TranslationCategory.USER_DIALOG.getTranslation(TranslationKey.ERROR_MESSAGE_FOR_MISSING_DATA), TranslationCategory.DIALOGS.getTranslation(TranslationKey.ERROR_GENERIC_TITLE), JOptionPane.ERROR_MESSAGE);
return false;
} else if (!EmailValidator.isValidEmail(email)) {
JOptionPane.showMessageDialog(dialog, TranslationCategory.USER_DIALOG.getTranslation(TranslationKey.ERROR_MESSAGE_FOR_WRONG_EMAIL), TranslationCategory.DIALOGS.getTranslation(TranslationKey.ERROR_GENERIC_TITLE), JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
}
}
56 changes: 56 additions & 0 deletions src/main/java/backupmanager/Controllers/TimePickerController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package backupmanager.Controllers;

import javax.swing.JOptionPane;

import backupmanager.Entities.TimeInterval;
import backupmanager.Enums.TranslationLoaderEnum.TranslationCategory;
import backupmanager.Enums.TranslationLoaderEnum.TranslationKey;

public class TimePickerController {

private TimeInterval timeInterval;
private boolean closeOk;

public TimePickerController(TimeInterval timeInterval, boolean closeOk) {
this.timeInterval = timeInterval;
this.closeOk = closeOk;
}

public void handleOkButton(javax.swing.JDialog dialog, int days, int hours, int minutes) {
if (isLongTimeCorrect(days, hours, minutes)) {
if (isShortTimeCorrect(days, hours) && !showWarningMessageForShortTimeAndGetIfItOkayResponse(dialog))
return;

timeInterval = new TimeInterval(days, hours, minutes);
closeOk = true;
dialog.dispose();
}
else
showErrorMessageForLongTime(dialog);
}

public TimeInterval getTimeInterval() {
if (closeOk) return timeInterval;
return null;
}
public void setCloseOk(boolean closeOk) { this.closeOk = closeOk; }


private boolean isLongTimeCorrect(int days, int hours, int minutes) {
return days >= 0 && hours >= 0 && hours <= 23 && minutes >= 0 && minutes <= 59 &&
(days != 0 || hours != 0 || minutes != 0);
}

private boolean isShortTimeCorrect(int days, int hours) {
return days == 0 && hours == 0;
}

private void showErrorMessageForLongTime(javax.swing.JDialog dialog) {
JOptionPane.showMessageDialog(dialog, TranslationCategory.DIALOGS.getTranslation(TranslationKey.ERROR_WRONG_TIME_INTERVAL), TranslationCategory.DIALOGS.getTranslation(TranslationKey.ERROR_GENERIC_TITLE), JOptionPane.ERROR_MESSAGE);
}

private boolean showWarningMessageForShortTimeAndGetIfItOkayResponse(javax.swing.JDialog dialog) {
int response = JOptionPane.showConfirmDialog(dialog, TranslationCategory.DIALOGS.getTranslation(TranslationKey.WARNING_SHORT_TIME_INTERVAL_MESSAGE), TranslationCategory.DIALOGS.getTranslation(TranslationKey.WARNING_GENERIC_TITLE), JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
return response == JOptionPane.YES_OPTION;
}
}
14 changes: 6 additions & 8 deletions src/main/java/backupmanager/Dialogs/EntryUserDialog.java
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
package backupmanager.Dialogs;

import javax.swing.JOptionPane;

import backupmanager.LimitDocument;
import backupmanager.Email.EmailValidator;
import backupmanager.Controllers.EntryUserController;
import backupmanager.Entities.User;
import backupmanager.Enums.TranslationLoaderEnum.TranslationCategory;
import backupmanager.Enums.TranslationLoaderEnum.TranslationKey;

public class EntryUserDialog extends javax.swing.JDialog {

private User user;
private final EntryUserController userController;

public EntryUserDialog(java.awt.Frame parent, boolean modal) {
super(parent, modal);

userController = new EntryUserController();

initComponents();

nameTextField.setDocument(new LimitDocument(20));
Expand Down Expand Up @@ -142,13 +145,8 @@ private void okBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:e
String surname = surnameTextField.getText();
String email = emailTextField.getText();

if (name.isEmpty() || surname.isEmpty() || email.isEmpty()) {
JOptionPane.showMessageDialog(this, TranslationCategory.USER_DIALOG.getTranslation(TranslationKey.ERROR_MESSAGE_FOR_MISSING_DATA), TranslationCategory.DIALOGS.getTranslation(TranslationKey.ERROR_GENERIC_TITLE), JOptionPane.ERROR_MESSAGE);
if (!userController.isInputOkAndShowErrorIfNecessary(this, name, surname, email))
return;
} else if (!EmailValidator.isValidEmail(email)) {
JOptionPane.showMessageDialog(this, TranslationCategory.USER_DIALOG.getTranslation(TranslationKey.ERROR_MESSAGE_FOR_WRONG_EMAIL), TranslationCategory.DIALOGS.getTranslation(TranslationKey.ERROR_GENERIC_TITLE), JOptionPane.ERROR_MESSAGE);
return;
}

user = new User(name, surname, email);

Expand Down
44 changes: 6 additions & 38 deletions src/main/java/backupmanager/Dialogs/TimePicker.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,19 @@
import backupmanager.Controllers.GuiController;
import backupmanager.Entities.TimeInterval;

import javax.swing.JOptionPane;
import backupmanager.Controllers.TimePickerController;

public class TimePicker extends javax.swing.JDialog {

private TimeInterval timeInterval;
private boolean closeOk;
private final TimePickerController timePickerController;

public TimePicker(java.awt.Dialog parent, TimeInterval timeInterval, boolean modal) {
super(parent, modal);

closeOk = false;
timePickerController = new TimePickerController(timeInterval, false);

initComponents();

this.timeInterval = timeInterval;
if (timeInterval != null) {
daysSpinner.setValue(timeInterval.days());
hoursSpinner.setValue(timeInterval.hours());
Expand All @@ -32,8 +30,7 @@ public TimePicker(java.awt.Dialog parent, TimeInterval timeInterval, boolean mod
}

public TimeInterval getTimeInterval() {
if (closeOk) return timeInterval;
return null;
return timePickerController.getTimeInterval();
}

private void daysIntervalSpinnerChange() {
Expand Down Expand Up @@ -64,19 +61,6 @@ private void minutesIntervalSpinnerChange() {
}
}

private boolean checkInputCorrectness() {
Integer days = (Integer) daysSpinner.getValue();
Integer hours = (Integer) hoursSpinner.getValue();
Integer minutes = (Integer) minutesSpinner.getValue();
return (days != null && days >= 0 && hours != null && hours >= 0 && hours <= 23 && minutes != null && minutes >= 0 && minutes <= 59 && (days != 0 || hours != 0 || minutes != 0));
}

private boolean checkShortTimeInterval() {
Integer days = (Integer) daysSpinner.getValue();
Integer hours = (Integer) hoursSpinner.getValue();
return (days == 0 && hours == 0);
}

private void mouseWeel(java.awt.event.MouseWheelEvent evt) {
javax.swing.JSpinner spinner = (javax.swing.JSpinner) evt.getSource();
int rotation = evt.getWheelRotation();
Expand Down Expand Up @@ -247,27 +231,11 @@ private void minutesSpinnerMouseWheelMoved(java.awt.event.MouseWheelEvent evt) {
}//GEN-LAST:event_minutesSpinnerMouseWheelMoved

private void btnOkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnOkActionPerformed
if (checkInputCorrectness()) {

if (checkShortTimeInterval()) {
// check for small time interval setted
int response = JOptionPane.showConfirmDialog(this, TranslationCategory.DIALOGS.getTranslation(TranslationKey.WARNING_SHORT_TIME_INTERVAL_MESSAGE), TranslationCategory.DIALOGS.getTranslation(TranslationKey.WARNING_GENERIC_TITLE), JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
if (response != JOptionPane.YES_OPTION) {
return;
}
}

timeInterval = new TimeInterval((int)daysSpinner.getValue(), (int)hoursSpinner.getValue(), (int)minutesSpinner.getValue());
closeOk = true;
this.dispose();
}
else {
JOptionPane.showMessageDialog(this, TranslationCategory.DIALOGS.getTranslation(TranslationKey.ERROR_WRONG_TIME_INTERVAL), TranslationCategory.DIALOGS.getTranslation(TranslationKey.ERROR_GENERIC_TITLE), JOptionPane.ERROR_MESSAGE);
}
timePickerController.handleOkButton(this, (Integer) daysSpinner.getValue(), (Integer) hoursSpinner.getValue(), (Integer) minutesSpinner.getValue());
}//GEN-LAST:event_btnOkActionPerformed

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
closeOk = false;
timePickerController.setCloseOk(false);
this.dispose();
}//GEN-LAST:event_jButton2ActionPerformed

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/backupmanager/GUI/BackupManagerGUI.form
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@
<Property name="AccessibleContext.accessibleName" type="java.lang.String" value=""/>
</AccessibilityProperties>
<Events>
<EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="researchFieldKeyTyped"/>
<EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="researchFieldKeyReleased"/>
</Events>
</Component>
<Component class="backupmanager.svg.SVGButton" name="exportAsPdfBtn">
Expand Down
Loading