mirror of
https://github.com/robertvokac/time-calc.git
synced 2025-03-25 07:27:49 +01:00
Added ProgressDot
This commit is contained in:
parent
763f2ee903
commit
64d6e28323
21
Readme.md
21
Readme.md
@ -55,16 +55,6 @@ You can stop the app, if you press the **"Exit"** button or click on the exit wi
|
|||||||
|
|
||||||
If these files are present, something special happens.
|
If these files are present, something special happens.
|
||||||
|
|
||||||
### .tc/starttime.txt
|
|
||||||
|
|
||||||
This file contains the default start time - used during the previous run of the app.
|
|
||||||
If file starttime.txt does not exist, then the default start time is 7:00.
|
|
||||||
|
|
||||||
### .tc/overtime.txt
|
|
||||||
|
|
||||||
This file contains the default overtime - used during the previous run of the app.
|
|
||||||
If file overtime.txt does not exist, then the default overtime is 0:00.
|
|
||||||
|
|
||||||
### ./tc/timecalc.conf
|
### ./tc/timecalc.conf
|
||||||
|
|
||||||
Configuration is stored here.
|
Configuration is stored here.
|
||||||
@ -83,7 +73,7 @@ Optional assignments of profiles to numbers is stored here.
|
|||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
### 3 Visibility modes
|
### 4 Visibility modes
|
||||||
|
|
||||||
* STRONGLY_COLORED - many colors
|
* STRONGLY_COLORED - many colors
|
||||||
* WEAKLY_COLORED - darkened colors
|
* WEAKLY_COLORED - darkened colors
|
||||||
@ -187,16 +177,17 @@ Smileys can be colored or white-black (can be set in configuration)
|
|||||||
* LEFT - switch to previous profile
|
* LEFT - switch to previous profile
|
||||||
* RIGHT - switch to next profile
|
* RIGHT - switch to next profile
|
||||||
* K - hide or show clock
|
* K - hide or show clock
|
||||||
* SHIFT + {Y,N,D,H,M,S or I} - Increase test time value
|
* SHIFT + {Y,N,D,H,M,S,I,K} - Increase test time value
|
||||||
* CTRL + {Y,N,D,H,M,S or I} - Decrease test time value
|
* CTRL + {Y,N,D,H,M,S,I,K} - Decrease test time value
|
||||||
* ALT + {Y,N,D,H,M,S or I} - Rest test time value
|
* ALT + {Y,N,D,H,M,S,I,K} - Rest test time value
|
||||||
|
* Y=year, N=month, D=day of month, H=hour, M=minute, S=second, I=millisecond, K=week
|
||||||
* D - Reset custom time values to the real time
|
* D - Reset custom time values to the real time
|
||||||
* SHIFT + A - Increase arrival time
|
* SHIFT + A - Increase arrival time
|
||||||
* CTRL + A - Decrease arrival time
|
* CTRL + A - Decrease arrival time
|
||||||
* SHIFT + O - Increase overtime
|
* SHIFT + O - Increase overtime
|
||||||
* CTRL + O - Decrease overtime
|
* CTRL + O - Decrease overtime
|
||||||
* SHIFT + W - Increase working time
|
* SHIFT + W - Increase working time
|
||||||
* CTRL + W - Decrease worknig time
|
* CTRL + W - Decrease working time
|
||||||
* SHIFT + P - Increase pause
|
* SHIFT + P - Increase pause
|
||||||
* CTRL + P - Decrease pause
|
* CTRL + P - Decrease pause
|
||||||
* SHIFT + C - Increase or decrease of time is change by 1 hour
|
* SHIFT + C - Increase or decrease of time is change by 1 hour
|
||||||
|
@ -162,6 +162,10 @@ public class TimeCalcConfiguration {
|
|||||||
= new BooleanProperty(TimeCalcProperty.SQUARE_VISIBLE.getKey());
|
= new BooleanProperty(TimeCalcProperty.SQUARE_VISIBLE.getKey());
|
||||||
public final StringProperty squareTypeProperty
|
public final StringProperty squareTypeProperty
|
||||||
= new StringProperty(TimeCalcProperty.SQUARE_TYPE.getKey());
|
= new StringProperty(TimeCalcProperty.SQUARE_TYPE.getKey());
|
||||||
|
public final BooleanProperty dotVisibleProperty
|
||||||
|
= new BooleanProperty(TimeCalcProperty.DOT_VISIBLE.getKey());
|
||||||
|
public final StringProperty dotTypeProperty
|
||||||
|
= new StringProperty(TimeCalcProperty.DOT_TYPE.getKey());
|
||||||
public final BooleanProperty circleVisibleProperty
|
public final BooleanProperty circleVisibleProperty
|
||||||
= new BooleanProperty(TimeCalcProperty.CIRCLE_VISIBLE.getKey());
|
= new BooleanProperty(TimeCalcProperty.CIRCLE_VISIBLE.getKey());
|
||||||
public final StringProperty circleTypeProperty
|
public final StringProperty circleTypeProperty
|
||||||
@ -271,6 +275,8 @@ public class TimeCalcConfiguration {
|
|||||||
smileysColoredProperty,
|
smileysColoredProperty,
|
||||||
squareVisibleProperty,
|
squareVisibleProperty,
|
||||||
squareTypeProperty,
|
squareTypeProperty,
|
||||||
|
dotVisibleProperty,
|
||||||
|
dotTypeProperty,
|
||||||
circleVisibleProperty,
|
circleVisibleProperty,
|
||||||
circleTypeProperty,
|
circleTypeProperty,
|
||||||
swingVisibleProperty,
|
swingVisibleProperty,
|
||||||
|
@ -122,6 +122,14 @@ public class TimeCalcKeyAdapter extends KeyAdapter {
|
|||||||
Calendar.MILLISECOND);
|
Calendar.MILLISECOND);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case KeyEvent.VK_K: {
|
||||||
|
//Utils.showNotification((increase ? "Increasing" : (decrease ? "Decreasing" : "Reseting")) + " millisecond.");
|
||||||
|
for (int i = 1; i <= 7; i++) {
|
||||||
|
updateProperty(timeCalcConfiguration.testDayCustomProperty, increase, decrease, reset,
|
||||||
|
Calendar.DAY_OF_MONTH);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case KeyEvent.VK_A: {
|
case KeyEvent.VK_A: {
|
||||||
|
|
||||||
if (increase) {
|
if (increase) {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package org.nanoboot.utils.timecalc.app;
|
package org.nanoboot.utils.timecalc.app;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.nanoboot.utils.timecalc.utils.common.Utils;
|
|
||||||
|
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
@ -82,6 +81,8 @@ public enum TimeCalcProperty {
|
|||||||
SMILEYS_COLORED("smileys.colored", "Smileys : Colored"),
|
SMILEYS_COLORED("smileys.colored", "Smileys : Colored"),
|
||||||
SQUARE_VISIBLE("square.visible", "Square"),
|
SQUARE_VISIBLE("square.visible", "Square"),
|
||||||
SQUARE_TYPE("square.type", "Square : Type"),
|
SQUARE_TYPE("square.type", "Square : Type"),
|
||||||
|
DOT_VISIBLE("dot.visible", "Dot"),
|
||||||
|
DOT_TYPE("dot.type", "Dot : Type"),
|
||||||
CIRCLE_VISIBLE("circle.visible", "Circle"),
|
CIRCLE_VISIBLE("circle.visible", "Circle"),
|
||||||
CIRCLE_TYPE("circle.type", "Circle : Type"),
|
CIRCLE_TYPE("circle.type", "Circle : Type"),
|
||||||
WALKING_HUMAN_VISIBLE("walking-human.visible", "Walking Human"),
|
WALKING_HUMAN_VISIBLE("walking-human.visible", "Walking Human"),
|
||||||
|
@ -402,7 +402,7 @@ public class Battery extends Widget {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getTimerDelay() {
|
public int getTimerDelay() {
|
||||||
return 25;
|
return 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,89 @@
|
|||||||
|
package org.nanoboot.utils.timecalc.swing.progress;
|
||||||
|
|
||||||
|
import org.nanoboot.utils.timecalc.entity.Visibility;
|
||||||
|
import org.nanoboot.utils.timecalc.swing.common.Widget;
|
||||||
|
import org.nanoboot.utils.timecalc.utils.common.NumberFormats;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
|
import java.awt.RenderingHints;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
|
||||||
|
public class ProgressDot extends Widget {
|
||||||
|
|
||||||
|
private int square;
|
||||||
|
|
||||||
|
@AllArgsConstructor
|
||||||
|
class Dot {
|
||||||
|
|
||||||
|
private int x, y;
|
||||||
|
}
|
||||||
|
private List<Dot> enabledDots = new ArrayList<>();
|
||||||
|
private List<Dot> disabledDots = new ArrayList<>();
|
||||||
|
|
||||||
|
public ProgressDot() {
|
||||||
|
setPreferredSize(new Dimension(400, 400));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void paintWidget(Graphics g) {
|
||||||
|
if (side == 0) {
|
||||||
|
this.side = Math.min(getWidth(), getHeight());
|
||||||
|
this.square = side * side;
|
||||||
|
for (int y = 1; y <= side; y++) {
|
||||||
|
for (int x = 1; x <= side; x++) {
|
||||||
|
disabledDots.add(new Dot(x, y));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Double done = donePercent();
|
||||||
|
int enabledDotsExpectedSize = (int) (done * square);
|
||||||
|
int disabledDotsExpectedSize = square - enabledDotsExpectedSize;
|
||||||
|
// System.out.println("enabledDots.size()=" + enabledDots.size());
|
||||||
|
// System.out.println("disabledDots.size()=" + disabledDots.size());
|
||||||
|
while (enabledDots.size() > enabledDotsExpectedSize) {
|
||||||
|
int randomIndex = (int) (enabledDots.size() * Math.random());
|
||||||
|
Dot randomDot = enabledDots.remove(randomIndex);
|
||||||
|
disabledDots.add(randomDot);
|
||||||
|
}
|
||||||
|
while (enabledDots.size() < enabledDotsExpectedSize) {
|
||||||
|
int randomIndex = (int) (disabledDots.size() * Math.random());
|
||||||
|
Dot randomDot = disabledDots.remove(randomIndex);
|
||||||
|
enabledDots.add(randomDot);
|
||||||
|
}
|
||||||
|
|
||||||
|
Graphics2D brush = (Graphics2D) g;
|
||||||
|
brush.setColor(FOREGROUND_COLOR);
|
||||||
|
brush.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
|
||||||
|
RenderingHints.VALUE_ANTIALIAS_ON);
|
||||||
|
|
||||||
|
int numberOfDots = (int) (donePercent() * square);
|
||||||
|
|
||||||
|
Visibility visibility = Visibility.ofProperty(visibilityProperty);
|
||||||
|
{
|
||||||
|
if (visibility.isStronglyColored() || mouseOver) {
|
||||||
|
brush.setColor(Color.GRAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(Dot d:enabledDots) {
|
||||||
|
brush.drawLine(d.x, d.y, d.x, d.y);
|
||||||
|
}
|
||||||
|
brush.setColor(FOREGROUND_COLOR);
|
||||||
|
}
|
||||||
|
brush.setColor(visibility.isStronglyColored() || mouseOver ? Color.BLACK
|
||||||
|
: BACKGROUND_COLOR);
|
||||||
|
|
||||||
|
brush.drawString(NumberFormats.FORMATTER_FIVE_DECIMAL_PLACES
|
||||||
|
.format(donePercent() * 100) + "%",
|
||||||
|
(int) (side / 8d * 3d),
|
||||||
|
(int) (side / 8d * (donePercent() > 0.5 ? 3d : 5d)));
|
||||||
|
paintSmiley(visibility, brush, (int) (side / 8d * 3d),
|
||||||
|
(int) ((side / 8d * (donePercent() > 0.5 ? 3d : 5d)) - 32d));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -186,6 +186,10 @@ public class ConfigWindow extends TWindow {
|
|||||||
= new JCheckBox(TimeCalcProperty.SQUARE_VISIBLE.getKey());
|
= new JCheckBox(TimeCalcProperty.SQUARE_VISIBLE.getKey());
|
||||||
private final JTextField squareTypeProperty
|
private final JTextField squareTypeProperty
|
||||||
= new JTextField(TimeCalcProperty.SQUARE_TYPE.getKey());
|
= new JTextField(TimeCalcProperty.SQUARE_TYPE.getKey());
|
||||||
|
private final JCheckBox dotVisibleProperty
|
||||||
|
= new JCheckBox(TimeCalcProperty.DOT_VISIBLE.getKey());
|
||||||
|
private final JTextField dotTypeProperty
|
||||||
|
= new JTextField(TimeCalcProperty.DOT_TYPE.getKey());
|
||||||
private final JCheckBox circleVisibleProperty
|
private final JCheckBox circleVisibleProperty
|
||||||
= new JCheckBox(TimeCalcProperty.CIRCLE_VISIBLE.getKey());
|
= new JCheckBox(TimeCalcProperty.CIRCLE_VISIBLE.getKey());
|
||||||
private final JTextField circleTypeProperty
|
private final JTextField circleTypeProperty
|
||||||
@ -391,6 +395,7 @@ public class ConfigWindow extends TWindow {
|
|||||||
smileysVisibleOnlyIfMouseMovingOverProperty
|
smileysVisibleOnlyIfMouseMovingOverProperty
|
||||||
.setSelected(!enable);
|
.setSelected(!enable);
|
||||||
squareVisibleProperty.setSelected(enable);
|
squareVisibleProperty.setSelected(enable);
|
||||||
|
dotVisibleProperty.setSelected(enable);
|
||||||
lifeVisibleProperty.setSelected(enable);
|
lifeVisibleProperty.setSelected(enable);
|
||||||
moneyVisibleProperty.setSelected(enable);
|
moneyVisibleProperty.setSelected(enable);
|
||||||
weatherVisibleProperty.setSelected(enable);
|
weatherVisibleProperty.setSelected(enable);
|
||||||
@ -455,6 +460,8 @@ public class ConfigWindow extends TWindow {
|
|||||||
notificationsVisibleProperty,
|
notificationsVisibleProperty,
|
||||||
squareVisibleProperty,
|
squareVisibleProperty,
|
||||||
squareTypeProperty,
|
squareTypeProperty,
|
||||||
|
dotVisibleProperty,
|
||||||
|
dotTypeProperty,
|
||||||
circleVisibleProperty,
|
circleVisibleProperty,
|
||||||
circleTypeProperty,
|
circleTypeProperty,
|
||||||
swingVisibleProperty,
|
swingVisibleProperty,
|
||||||
|
@ -67,6 +67,7 @@ import java.util.Calendar;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import org.nanoboot.utils.timecalc.swing.progress.ProgressDot;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Robert Vokac
|
* @author Robert Vokac
|
||||||
@ -114,6 +115,7 @@ public class MainWindow extends TWindow {
|
|||||||
|
|
||||||
private final IntegerProperty forgetOvertimeProperty = new IntegerProperty("forgetOvertimeProperty", 0);
|
private final IntegerProperty forgetOvertimeProperty = new IntegerProperty("forgetOvertimeProperty", 0);
|
||||||
private WeekStatistics weekStatistics = null;
|
private WeekStatistics weekStatistics = null;
|
||||||
|
private final ProgressDot progressDot;
|
||||||
|
|
||||||
{
|
{
|
||||||
ChangeListener valueMustBeTime =
|
ChangeListener valueMustBeTime =
|
||||||
@ -324,22 +326,6 @@ public class MainWindow extends TWindow {
|
|||||||
progressLife.setBounds(progressSwing.getX() + progressSwing.getWidth() + SwingUtils.MARGIN, progressSwing.getY(),
|
progressLife.setBounds(progressSwing.getX() + progressSwing.getWidth() + SwingUtils.MARGIN, progressSwing.getY(),
|
||||||
100, 50);
|
100, 50);
|
||||||
|
|
||||||
{
|
|
||||||
progressSquare.typeProperty
|
|
||||||
.bindTo(timeCalcConfiguration.squareTypeProperty);
|
|
||||||
progressCircle.typeProperty
|
|
||||||
.bindTo(timeCalcConfiguration.circleTypeProperty);
|
|
||||||
walkingHumanProgress.typeProperty
|
|
||||||
.bindTo(timeCalcConfiguration.walkingHumanTypeProperty);
|
|
||||||
progressSwing.typeProperty
|
|
||||||
.bindTo(timeCalcConfiguration.swingTypeProperty);
|
|
||||||
progressLife.typeProperty
|
|
||||||
.bindTo(timeCalcConfiguration.lifeTypeProperty);
|
|
||||||
progressLife.birthDateProperty
|
|
||||||
.bindTo(timeCalcConfiguration.lifeBirthDateProperty);
|
|
||||||
progressLife.visibleProperty
|
|
||||||
.bindTo(timeCalcConfiguration.lifeVisibleProperty);
|
|
||||||
}
|
|
||||||
add(progressLife);
|
add(progressLife);
|
||||||
|
|
||||||
|
|
||||||
@ -366,7 +352,38 @@ public class MainWindow extends TWindow {
|
|||||||
progressWeather.visibleProperty
|
progressWeather.visibleProperty
|
||||||
.bindTo(timeCalcConfiguration.weatherVisibleProperty);
|
.bindTo(timeCalcConfiguration.weatherVisibleProperty);
|
||||||
add(progressWeather);
|
add(progressWeather);
|
||||||
|
|
||||||
|
|
||||||
|
this.progressDot
|
||||||
|
= new ProgressDot();
|
||||||
|
progressDot.setBounds(progressWeather.getX() + progressWeather.getWidth() + SwingUtils.MARGIN, progressWeather.getY(),
|
||||||
|
100, 100);
|
||||||
|
|
||||||
|
progressDot.visibleProperty
|
||||||
|
.bindTo(timeCalcConfiguration.weatherVisibleProperty);
|
||||||
|
add(progressDot);
|
||||||
|
|
||||||
|
{
|
||||||
|
progressSquare.typeProperty
|
||||||
|
.bindTo(timeCalcConfiguration.squareTypeProperty);
|
||||||
|
progressDot.typeProperty
|
||||||
|
.bindTo(timeCalcConfiguration.dotTypeProperty);
|
||||||
|
progressDot.visibleProperty
|
||||||
|
.bindTo(timeCalcConfiguration.dotVisibleProperty);
|
||||||
|
progressCircle.typeProperty
|
||||||
|
.bindTo(timeCalcConfiguration.circleTypeProperty);
|
||||||
|
walkingHumanProgress.typeProperty
|
||||||
|
.bindTo(timeCalcConfiguration.walkingHumanTypeProperty);
|
||||||
|
progressSwing.typeProperty
|
||||||
|
.bindTo(timeCalcConfiguration.swingTypeProperty);
|
||||||
|
progressLife.typeProperty
|
||||||
|
.bindTo(timeCalcConfiguration.lifeTypeProperty);
|
||||||
|
progressLife.birthDateProperty
|
||||||
|
.bindTo(timeCalcConfiguration.lifeBirthDateProperty);
|
||||||
|
progressLife.visibleProperty
|
||||||
|
.bindTo(timeCalcConfiguration.lifeVisibleProperty);
|
||||||
|
}
|
||||||
|
|
||||||
TLabel arrivalTextFieldLabel = new TLabel("Arrival:", 70);
|
TLabel arrivalTextFieldLabel = new TLabel("Arrival:", 70);
|
||||||
arrivalTextFieldLabel.setBoundsFromTop(progressSwing, 3);
|
arrivalTextFieldLabel.setBoundsFromTop(progressSwing, 3);
|
||||||
|
|
||||||
@ -1055,6 +1072,7 @@ public class MainWindow extends TWindow {
|
|||||||
progressSwing.setProgress(progress);
|
progressSwing.setProgress(progress);
|
||||||
progressLife.setProgress(progress);
|
progressLife.setProgress(progress);
|
||||||
progressMoney.setProgress(progress);
|
progressMoney.setProgress(progress);
|
||||||
|
progressDot.setProgress(progress);
|
||||||
dayBattery.setProgress(progress);
|
dayBattery.setProgress(progress);
|
||||||
|
|
||||||
monthBattery.setProgress(progress);
|
monthBattery.setProgress(progress);
|
||||||
|
@ -36,14 +36,14 @@ Time Calc is inspired by this document: [report.ods](https://code.nanoboot.org/n
|
|||||||
|
|
||||||
### Start of application
|
### Start of application
|
||||||
|
|
||||||
When "Time Calc" is started", user should fill the correct value for:
|
When "Time Calc" is started", user is asked for:
|
||||||
- start time ... like 7:30
|
- start time ... like 7:30
|
||||||
- overtime ... like 0:45 ... overtime is optional and the default value is 0:00
|
- overtime ... like 0:45 ... overtime is optional and the default value is 0:00
|
||||||
|
|
||||||
### Restart of application
|
### Restart of application
|
||||||
|
|
||||||
You can restart the app, if you press the **"Restart"** button.
|
You can restart the app, if you press the **"Restart"** button.
|
||||||
- Then you are asked again for start time and overtime.
|
- Then you are asked again for start time and overtime.
|
||||||
|
|
||||||
### End of application
|
### End of application
|
||||||
|
|
||||||
@ -73,31 +73,31 @@ Optional assignments of profiles to numbers is stored here.
|
|||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
### 3 Visibility modes
|
### 4 Visibility modes
|
||||||
|
|
||||||
* STRONGLY_COLORED - many colors
|
* STRONGLY_COLORED - many colors
|
||||||
* WEAKLY_COLORED - darkened colors
|
* WEAKLY_COLORED - darkened colors
|
||||||
* GRAY - gray colors
|
* GRAY - gray colors
|
||||||
* NONE - widgets are hidden
|
* NONE - widgets are hidden
|
||||||
|
|
||||||
### Widgets
|
### Widgets
|
||||||
|
|
||||||
#### Analog Clock
|
#### Analog Clock
|
||||||
|
|
||||||
* hour hand
|
* hour hand
|
||||||
* minute hand (can be disabled in configuration)
|
* minute hand (can be disabled in configuration)
|
||||||
* second hand (can be disabled in configuration)
|
* second hand (can be disabled in configuration)
|
||||||
* millisecond hand (can be disabled in configuration)
|
* millisecond hand (can be disabled in configuration)
|
||||||
* shows current year, month, day of month and day of week, if analog clock is hovered by mouse cursor and Visibility is STRONGLY_COLORED
|
* shows current year, month, day of month and day of week, if analog clock is hovered by mouse cursor and Visibility is STRONGLY_COLORED
|
||||||
* shows yellow highlighted remaining time until end of today working hours, if analog clock is hovered by mouse cursor and Visibility is STRONGLY_COLORED
|
* shows yellow highlighted remaining time until end of today working hours, if analog clock is hovered by mouse cursor and Visibility is STRONGLY_COLORED
|
||||||
* hands can be long or shorter (can be set in configuration)
|
* hands can be long or shorter (can be set in configuration)
|
||||||
|
|
||||||
#### Progress Square
|
#### Progress Square
|
||||||
* Show graphically day progress
|
* Show graphically day progress
|
||||||
|
|
||||||
#### Progress Circle
|
#### Progress Circle
|
||||||
|
|
||||||
* Show graphically day progress
|
* Show graphically day progress
|
||||||
|
|
||||||
#### Hour Battery
|
#### Hour Battery
|
||||||
|
|
||||||
@ -177,19 +177,20 @@ Smileys can be colored or white-black (can be set in configuration)
|
|||||||
* LEFT - switch to previous profile
|
* LEFT - switch to previous profile
|
||||||
* RIGHT - switch to next profile
|
* RIGHT - switch to next profile
|
||||||
* K - hide or show clock
|
* K - hide or show clock
|
||||||
* SHIFT + {Y,N,D,H,M,S or I} - Increase test time value
|
* SHIFT + {Y,N,D,H,M,S,I,K} - Increase test time value
|
||||||
* CTRL + {Y,N,D,H,M,S or I} - Decrease test time value
|
* CTRL + {Y,N,D,H,M,S,I,K} - Decrease test time value
|
||||||
* ALT + {Y,N,D,H,M,S or I} - Rest test time value
|
* ALT + {Y,N,D,H,M,S,I,K} - Rest test time value
|
||||||
|
* Y=year, N=month, D=day of month, H=hour, M=minute, S=second, I=millisecond, K=week
|
||||||
* D - Reset custom time values to the real time
|
* D - Reset custom time values to the real time
|
||||||
* SHIFT + A - Increase arrival time
|
* SHIFT + A - Increase arrival time
|
||||||
* CTRL + A - Decrease arrival time
|
* CTRL + A - Decrease arrival time
|
||||||
* SHIFT + O - Increase overtime
|
* SHIFT + O - Increase overtime
|
||||||
* CTRL + O - Decrease overtime
|
* CTRL + O - Decrease overtime
|
||||||
* SHIFT + W - Increase working time
|
* SHIFT + W - Increase working time
|
||||||
* CTRL + W - Decrease worknig time
|
* CTRL + W - Decrease working time
|
||||||
* SHIFT + P - Increase pause
|
* SHIFT + P - Increase pause
|
||||||
* CTRL + P - Decrease pause
|
* CTRL + P - Decrease pause
|
||||||
* SHIFT + C - Increase or decrease of time is change by 5 minutes
|
* SHIFT + C - Increase or decrease of time is change by 1 hour
|
||||||
* CTRL + C - Increase or decrease of time is change by 1 minute
|
* CTRL + C - Increase or decrease of time is change by 1 minute
|
||||||
* CTRL + E - Save arrival, overtime, working time, pause time and note
|
* CTRL + E - Save arrival, overtime, working time, pause time and note
|
||||||
|
|
||||||
@ -199,12 +200,12 @@ Smileys can be colored or white-black (can be set in configuration)
|
|||||||
|
|
||||||
### New features
|
### New features
|
||||||
|
|
||||||
* Custom arrival target
|
* Custom arrival target
|
||||||
* Split to Maven modules
|
* Split to Maven modules
|
||||||
* Junit, Mockito, etc.
|
* Junit, Mockito, etc.
|
||||||
* Checkstyle
|
* Checkstyle
|
||||||
* Sonarlint
|
* Sonarlint
|
||||||
* Sonarqube
|
* Sonarqube
|
||||||
|
|
||||||
### Fix these known bugs
|
### Fix these known bugs
|
||||||
|
|
||||||
|
@ -47,6 +47,8 @@ smileys.visible-only-if-mouse-moving-over=true
|
|||||||
smileys.colored=true
|
smileys.colored=true
|
||||||
square.visible=true
|
square.visible=true
|
||||||
square.type=day
|
square.type=day
|
||||||
|
dot.visible=true
|
||||||
|
dot.type=day
|
||||||
circle.visible=true
|
circle.visible=true
|
||||||
circle.type=day
|
circle.type=day
|
||||||
swing.visible=true
|
swing.visible=true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user