From: rnayabed Date: Sat, 03 Apr 2021 13:22:34 +0530 Subject: fixed non working icon bug --- fixed non working icon bug --- --- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/ActionDetailsPane.java' +++ b/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/ActionDetailsPane.java @@ -61,6 +61,7 @@ public class ActionDetailsPane extends V private Button saveButton; private Button deleteButton; private Button openFolderButton; + private Button resetToDefaultsFolderButton; private HBox buttonBar; @@ -125,7 +126,9 @@ public class ActionDetailsPane extends V openFolderButton.setOnAction(event -> onOpenFolderButtonClicked()); saveButton = new Button("Apply Changes"); - FontIcon syncIcon = new FontIcon("fas-sync-alt"); + saveButton.getStyleClass().add("action_details_pane_save_button"); + FontIcon syncIcon = new FontIcon("far-save"); + syncIcon.getStyleClass().add("action_details_save_delete_button_icon"); saveButton.setGraphic(syncIcon); saveButton.setOnAction(event -> onSaveButtonClicked()); @@ -134,9 +137,16 @@ public class ActionDetailsPane extends V FontIcon deleteIcon = new FontIcon("fas-trash"); deleteIcon.getStyleClass().add("action_details_pane_delete_button_icon"); deleteButton.setGraphic(deleteIcon); - deleteButton.setOnAction(event -> onDeleteButtonClicked()); + + resetToDefaultsFolderButton = new Button("Reset"); + resetToDefaultsFolderButton.getStyleClass().add("action_details_pane_reset_button"); + FontIcon resetToDefaultsIcon = new FontIcon("fas-sync-alt"); + resetToDefaultsIcon.getStyleClass().add("action_details_pane_reset_button_icon"); + resetToDefaultsFolderButton.setGraphic(resetToDefaultsIcon); + resetToDefaultsFolderButton.setOnAction(event -> onResetToDefaultsButtonClicked()); + returnButtonForCombineActionChild = new Button("Return"); returnButtonForCombineActionChild.setGraphic(new FontIcon("fas-caret-left")); returnButtonForCombineActionChild.managedProperty().bind(returnButtonForCombineActionChild.visibleProperty()); @@ -149,7 +159,7 @@ public class ActionDetailsPane extends V } }); - buttonBar = new HBox(openFolderButton, returnButtonForCombineActionChild, saveButton, deleteButton); + buttonBar = new HBox(openFolderButton, resetToDefaultsFolderButton, returnButtonForCombineActionChild, saveButton, deleteButton); buttonBar.getStyleClass().add("action_details_pane_button_bar"); buttonBar.setPadding(new Insets(10, 10, 10, 0)); buttonBar.setAlignment(Pos.CENTER_RIGHT); @@ -204,6 +214,7 @@ public class ActionDetailsPane extends V clearIconButton.setDisable(false); getAction().addIcon("default", iconFileByteArray); + getAction().setCurrentIconState("default"); setSendIcon(true); } } catch (Exception e) { @@ -451,6 +462,21 @@ public class ActionDetailsPane extends V }); } + private void onResetToDefaultsButtonClicked() + { + getAction().getClientProperties().resetToDefaults(); + + try + { + onActionClicked(getAction(), getActionBox()); + saveAction(true, true); + } + catch (MinorException e) + { + exceptionAndAlertHandler.handleMinorException(e); + } + } + private VBox normalActionsPropsVBox; private VBox normalToggleActionCommonPropsVBox; private VBox toggleActionsPropsVBox; @@ -512,10 +538,17 @@ public class ActionDetailsPane extends V - public void refresh() throws MinorException + public void refresh() { clear(false); - renderActionProperties(); + try + { + renderActionProperties(); + } + catch (MinorException e) + { + exceptionAndAlertHandler.handleMinorException(e); + } } private TextField displayNameTextField; @@ -602,22 +635,7 @@ public class ActionDetailsPane extends V { normalToggleActionCommonPropsVBox.setVisible(true); - if(getAction().getActionType() == ActionType.NORMAL) - { - normalActionsPropsVBox.setVisible(true); - toggleActionsPropsVBox.setVisible(false); - - - boolean doesDefaultExist = getAction().getIcons().containsKey("default"); - boolean isDefaultHidden = !getAction().getCurrentIconState().equals("default"); - - if(!doesDefaultExist) - isDefaultHidden = false; - - hideDefaultIconCheckBox.setDisable(!doesDefaultExist); - hideDefaultIconCheckBox.setSelected(isDefaultHidden); - } - else + if(getAction().getActionType() == ActionType.TOGGLE) { normalActionsPropsVBox.setVisible(false); toggleActionsPropsVBox.setVisible(true); @@ -647,11 +665,27 @@ public class ActionDetailsPane extends V hideToggleOffIconCheckBox.setDisable(!doesToggleOffExist); hideToggleOffIconCheckBox.setSelected(isToggleOffHidden); } + else + { + normalActionsPropsVBox.setVisible(true); + toggleActionsPropsVBox.setVisible(false); + boolean doesDefaultExist = getAction().getIcons().containsKey("default"); + boolean isDefaultHidden = !getAction().getCurrentIconState().equals("default"); + + if(!doesDefaultExist) + isDefaultHidden = false; + + hideDefaultIconCheckBox.setDisable(!doesDefaultExist); + hideDefaultIconCheckBox.setSelected(isDefaultHidden); + } + setReturnButtonForCombineActionChildVisible(false); hideDisplayTextCheckBox.setVisible(true); + setFolderButtonVisible(getAction().getActionType().equals(ActionType.FOLDER)); + setResetToDefaultsFolderButtonVisible(!getAction().getActionType().equals(ActionType.FOLDER)); displayTextAlignmentComboBox.getSelectionModel().select(getAction().getDisplayTextAlignment()); @@ -695,11 +729,14 @@ public class ActionDetailsPane extends V if(!getAction().isInvalid()) { if(getAction().getActionType() == ActionType.NORMAL || getAction().getActionType() == ActionType.TOGGLE) + { renderClientProperties(); + renderPluginExtraButtonBar(); + } else if(getAction().getActionType() == ActionType.COMBINE) renderCombineActionProperties(); - renderPluginExtraButtonBar(); + } } @@ -982,14 +1019,15 @@ public class ActionDetailsPane extends V @Override public void saveAction(Action action, boolean runAsync, boolean runOnActionSavedFromServer) { - logger.info("gOAT@ :"+action.getProfileID()); + String delayBeforeRunning = "0"; + if(action.getActionType() != ActionType.FOLDER && action.getActionType() !=ActionType.COMBINE) + delayBeforeRunning =delayBeforeRunningTextField.getText(); new OnSaveActionTask( ClientConnections.getInstance().getClientConnectionBySocketAddress( getClient().getRemoteSocketAddress() ), - action, - delayBeforeRunningTextField.getText(), + action, delayBeforeRunning, displayNameTextField.getText(), isCombineChild(), !hideDisplayTextCheckBox.isSelected(), @@ -1004,15 +1042,13 @@ public class ActionDetailsPane extends V "#" + actionBackgroundColourPicker.getValue().toString().substring(2), getCombineActionPropertiesPane(), clientProfile, sendIcon, actionBox, actionClientProperties, exceptionAndAlertHandler, - saveButton, deleteButton, runOnActionSavedFromServer, runAsync + saveButton, deleteButton, runOnActionSavedFromServer, runAsync, this ); } @Override public void saveAction(boolean runAsync, boolean runOnActionSavedFromServer) { - logger.info("ENGREJDERMAARBOOR:"+getAction().getProfileID()); - logger.info("ENGREJDERMAARBOOR:"+getAction().getDisplayText()); saveAction(getAction(), runAsync, runOnActionSavedFromServer); } @@ -1021,6 +1057,11 @@ public class ActionDetailsPane extends V openFolderButton.setVisible(visible); } + public void setResetToDefaultsFolderButtonVisible(boolean visible) + { + resetToDefaultsFolderButton.setVisible(visible); + } + public void validateForm() throws MinorException { String displayNameStr = displayNameTextField.getText(); --- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/ActionDetailsPaneListener.java' +++ b/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/ActionDetailsPaneListener.java @@ -23,5 +23,5 @@ public interface ActionDetailsPaneListen Window getCurrentWindow(); - + void refresh(); } --- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/OnSaveActionTask.java' +++ b/src/main/java/com/stream_pi/server/window/dashboard/actiondetailpane/OnSaveActionTask.java @@ -34,7 +34,7 @@ public class OnSaveActionTask extends Ta boolean isHideDefaultIcon, boolean isHideToggleOffIcon, boolean isHideToggleOnIcon, DisplayTextAlignment displayTextAlignment, boolean isTransparentBackground, String backgroundColour, CombineActionPropertiesPane combineActionPropertiesPane, ClientProfile clientProfile, boolean sendIcon, ActionBox actionBox, ArrayList actionClientProperties, ExceptionAndAlertHandler exceptionAndAlertHandler, Button saveButton, Button deleteButton, - boolean runOnActionSavedFromServer, boolean runAsync) + boolean runOnActionSavedFromServer, boolean runAsync, ActionDetailsPaneListener actionDetailsPaneListener) { this.saveButton = saveButton; this.deleteButton = deleteButton; @@ -61,6 +61,7 @@ public class OnSaveActionTask extends Ta this.backgroundColour = backgroundColour; this.actionClientProperties = actionClientProperties; this.runOnActionSavedFromServer = runOnActionSavedFromServer; + this.actionDetailsPaneListener = actionDetailsPaneListener; logger = Logger.getLogger(getClass().getName()); @@ -73,6 +74,8 @@ public class OnSaveActionTask extends Ta private boolean runOnActionSavedFromServer; + private ActionDetailsPaneListener actionDetailsPaneListener; + private Button saveButton; private Button deleteButton; private String delayBeforeRunningString; @@ -183,7 +186,8 @@ public class OnSaveActionTask extends Ta } else { - action.setDelayBeforeExecuting(Integer.parseInt(delayBeforeRunningString)); + if(action.getActionType() != ActionType.FOLDER) + action.setDelayBeforeExecuting(Integer.parseInt(delayBeforeRunningString)); //properties for (UIPropertyBox clientProperty : actionClientProperties) { @@ -235,6 +239,9 @@ public class OnSaveActionTask extends Ta clientProfile.removeActionByID(action.getID()); clientProfile.addAction(action); + Platform.runLater(actionDetailsPaneListener::refresh); + + } catch (SevereException e) { @@ -252,6 +259,7 @@ public class OnSaveActionTask extends Ta { for(String state : action.getIcons().keySet()) { + System.out.println("Sending icon " +state+" -> "+action.getID()+ "-> "+clientProfile.getID()); connection.sendIcon(clientProfile.getID(), action.getID(), state, action.getIcon(state)); } } --- 'a/src/main/resources/com/stream_pi/server/default_icons.css' +++ b/src/main/resources/com/stream_pi/server/default_icons.css @@ -26,4 +26,9 @@ .action_box_toggle_off { -fx-icon-code: fas-toggle-off; +} + +.action_details_pane_reset_button_icon +{ + -fx-icon-color:orange; } \ No newline at end of file --- 'a/src/main/resources/com/stream_pi/server/style.css' +++ b/src/main/resources/com/stream_pi/server/style.css @@ -225,6 +225,11 @@ -fx-text-fill : red; } +.action_details_pane_reset_button +{ + -fx-text-fill : orange; +} + .client_and_profile_selector_pane_stack { -fx-spacing: 5;