Skip to content

Commit 6cdf440

Browse files
committed
Make save command window beautiful (change font, make design flexible etc.)
1 parent a11f0b3 commit 6cdf440

File tree

4 files changed

+86
-26
lines changed

4 files changed

+86
-26
lines changed

src/main/java/com/github/introfog/rgit/controller/ExploreController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ protected void runSelectedCommand() {
9494

9595
@FXML
9696
protected void addNewCommand() {
97-
FxmlStageHolder holder = StageFactory.createModalStage("view/saver.fxml", "Command saver");
97+
FxmlStageHolder holder = StageFactory.createModalSaveWindow();
9898

9999
SaveController saveController = holder.getFxmlLoader().getController();
100100
saveController.setExploreController(this);

src/main/java/com/github/introfog/rgit/controller/SaveController.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.github.introfog.rgit.model.dto.CommandDto;
2323

2424
import javafx.fxml.FXML;
25+
import javafx.scene.control.Button;
2526
import javafx.scene.control.TextField;
2627
import javafx.scene.input.KeyCode;
2728
import org.slf4j.Logger;
@@ -35,6 +36,8 @@ public class SaveController extends BaseController {
3536
// TODO what if define long command or description? Set some limit.
3637
@FXML
3738
private TextField description;
39+
@FXML
40+
private Button save;
3841

3942
private ExploreController exploreController;
4043

@@ -49,6 +52,7 @@ public void initialize(FxmlStageHolder fxmlStageHolder) {
4952
fxmlStageHolder.getStage().close();
5053
}
5154
});
55+
save.requestFocus();
5256
}
5357

5458
@FXML

src/main/java/com/github/introfog/rgit/model/StageFactory.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,15 @@ private StageFactory() {
3535
// private constructor
3636
}
3737

38+
public static FxmlStageHolder createModalSaveWindow() {
39+
FxmlStageHolder holder = createModalStage("view/saver.fxml", "Command saver");
40+
holder.getStage().setMinWidth(300);
41+
holder.getStage().setMinHeight(220);
42+
holder.getStage().setMaxHeight(220);
43+
holder.getStage().setResizable(true);
44+
return holder;
45+
}
46+
3847
public static FxmlStageHolder createModalStage(String fxmlPath, String title) {
3948
Stage modalStage = new Stage();
4049
modalStage.initModality(Modality.APPLICATION_MODAL);
Lines changed: 72 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,82 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22

3+
<?import javafx.geometry.Insets?>
34
<?import javafx.scene.control.Button?>
45
<?import javafx.scene.control.Label?>
56
<?import javafx.scene.control.TextField?>
67
<?import javafx.scene.layout.AnchorPane?>
8+
<?import javafx.scene.layout.ColumnConstraints?>
9+
<?import javafx.scene.layout.FlowPane?>
10+
<?import javafx.scene.layout.GridPane?>
11+
<?import javafx.scene.layout.RowConstraints?>
12+
<?import javafx.scene.layout.VBox?>
713
<?import javafx.scene.text.Font?>
8-
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="182.0" prefWidth="500.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.github.introfog.rgit.controller.SaveController">
14+
<AnchorPane maxHeight="180.0" maxWidth="-Infinity" minHeight="180.0" minWidth="-Infinity" prefHeight="180.0" prefWidth="500.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.github.introfog.rgit.controller.SaveController">
915
<children>
10-
<Label layoutX="27.0" layoutY="21.0" text="Command*">
11-
<font>
12-
<Font name="Verdana" size="14.0" />
13-
</font></Label>
14-
<TextField fx:id="command" layoutX="26.0" layoutY="39.0" prefHeight="25.0" prefWidth="448.0" promptText="Bash command">
15-
<font>
16-
<Font name="Verdana" size="12.0" />
17-
</font></TextField>
18-
<Label layoutX="27.0" layoutY="75.0" text="Description">
19-
<font>
20-
<Font name="Verdana" size="14.0" />
21-
</font></Label>
22-
<TextField fx:id="description" layoutX="26.0" layoutY="92.0" prefHeight="25.0" prefWidth="448.0">
23-
<font>
24-
<Font name="Verdana" size="12.0" />
25-
</font></TextField>
26-
<Button layoutX="428.0" layoutY="139.0" mnemonicParsing="false" onAction="#save" text="Save">
27-
<font>
28-
<Font name="Verdana" size="12.0" />
29-
</font></Button>
30-
<Button layoutX="357.0" layoutY="139.0" mnemonicParsing="false" onAction="#cancel" text="Cancel">
31-
<font>
32-
<Font name="Verdana" size="12.0" />
33-
</font></Button>
16+
<GridPane vgap="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
17+
<columnConstraints>
18+
<ColumnConstraints hgrow="ALWAYS" />
19+
</columnConstraints>
20+
<rowConstraints>
21+
<RowConstraints maxHeight="45.0" minHeight="45.0" prefHeight="45.0" vgrow="NEVER" />
22+
<RowConstraints maxHeight="45.0" minHeight="45.0" prefHeight="45.0" vgrow="NEVER" />
23+
<RowConstraints maxHeight="30.0" minHeight="30.0" prefHeight="30.0" vgrow="NEVER" />
24+
</rowConstraints>
25+
<children>
26+
<VBox prefHeight="200.0" prefWidth="100.0">
27+
<children>
28+
<Label text="Command*">
29+
<font>
30+
<Font name="Verdana" size="14.0" />
31+
</font>
32+
<VBox.margin>
33+
<Insets bottom="2.0" />
34+
</VBox.margin>
35+
</Label>
36+
<TextField fx:id="command" alignment="BOTTOM_LEFT" prefHeight="25.0" prefWidth="430.0" promptText="Bash command">
37+
<font>
38+
<Font name="Verdana" size="12.0" />
39+
</font>
40+
</TextField>
41+
</children>
42+
</VBox>
43+
<VBox prefHeight="200.0" prefWidth="100.0" GridPane.rowIndex="1">
44+
<children>
45+
<Label text="Description">
46+
<font>
47+
<Font name="Verdana" size="14.0" />
48+
</font>
49+
<VBox.margin>
50+
<Insets bottom="2.0" />
51+
</VBox.margin>
52+
</Label>
53+
<TextField fx:id="description">
54+
<font>
55+
<Font name="Verdana" size="12.0" />
56+
</font></TextField>
57+
</children>
58+
</VBox>
59+
<FlowPane alignment="BOTTOM_RIGHT" prefHeight="38.0" prefWidth="444.0" GridPane.rowIndex="2">
60+
<children>
61+
<Button mnemonicParsing="false" onAction="#cancel" text="Cancel">
62+
<font>
63+
<Font name="Verdana" size="12.0" />
64+
</font>
65+
</Button>
66+
<Button fx:id="save" mnemonicParsing="false" onAction="#save" text="Save">
67+
<font>
68+
<Font name="Verdana" size="12.0" />
69+
</font>
70+
<FlowPane.margin>
71+
<Insets left="20.0" />
72+
</FlowPane.margin>
73+
</Button>
74+
</children>
75+
</FlowPane>
76+
</children>
77+
</GridPane>
3478
</children>
79+
<padding>
80+
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
81+
</padding>
3582
</AnchorPane>

0 commit comments

Comments
 (0)