Improve the pause button screen workflow (#216)

This commit is contained in:
Luis Uguina
2020-04-26 23:35:05 +10:00
committed by GitHub
parent d529da172a
commit aae5ec3254
6 changed files with 70 additions and 12 deletions

View File

@@ -187,11 +187,16 @@ public class GuiSwing extends JFrame implements Gui {
@Override
public void status(String msg_) {
if (activityWorking != null) {
this.activityWorking.setStatus(msg_);
}
status(msg_, false);
}
@Override
public void status(String msg_, boolean overwriteSuspendedMsg) {
if (activityWorking != null) {
this.activityWorking.setStatus(msg_, overwriteSuspendedMsg);
}
}
@Override
public void setRenderingProjectName(String name_) {
if (activityWorking != null) {

View File

@@ -95,8 +95,21 @@ public class GuiText implements Gui {
@Override
public void status(String msg_) {
System.out.println(msg_);
status(msg_, false);
}
@Override
public void status(String msg_, boolean overwriteSuspendedMsg) {
log.debug("GUI " + msg_);
if (client != null && client.isSuspended()) {
if (overwriteSuspendedMsg) {
System.out.println(msg_);
}
}
else {
System.out.println(msg_);
}
}
@Override

View File

@@ -106,8 +106,21 @@ public class GuiTextOneLine implements Gui {
@Override
public void status(String msg_) {
status = msg_;
updateLine();
status(msg_, false);
}
@Override
public void status(String msg_, boolean overwriteSuspendedMsg) {
if (client != null && client.isSuspended()) {
if (overwriteSuspendedMsg) {
status = msg_;
updateLine();
}
}
else {
status = msg_;
updateLine();
}
}
@Override

View File

@@ -55,6 +55,7 @@ public class Working implements Activity {
private GuiSwing parent;
private JLabel statusContent;
private String previousStatus;
private JLabel renderedFrameContent;
private JLabel remainingFrameContent;
private JLabel lastRenderTime;
@@ -94,6 +95,7 @@ public class Working implements Activity {
lastRender = new JLabel("");
userInfoQueuedUploadsAndSizeValue = new JLabel("0");
currentTheme = UIManager.getLookAndFeel().getName(); // Capture the theme on component instantiation
previousStatus = "";
}
@Override
@@ -217,10 +219,10 @@ public class Working implements Activity {
JButton settingsButton = new JButton("Settings");
settingsButton.addActionListener(new SettingsAction());
pauseButton = new JButton("Pause");
pauseButton = new JButton("Pause getting new jobs");
Client client = parent.getClient();
if (client != null && client.isSuspended()) {
pauseButton.setText("Resume");
pauseButton.setText("Resume getting jobs");
}
pauseButton.addActionListener(new PauseAction());
@@ -259,7 +261,24 @@ public class Working implements Activity {
}
public void setStatus(String msg_) {
statusContent.setText("<html>" + msg_ + "</html>");
setStatus(msg_, false);
}
public void setStatus(String msg_, boolean overwriteSuspendedMsg) {
Client client = parent.getClient();
if (!msg_.equals("")) {
this.previousStatus = msg_;
}
if (client != null && client.isSuspended()) {
if (overwriteSuspendedMsg) {
statusContent.setText("<html>" + msg_ + "</html>");
}
}
else {
statusContent.setText("<html>" + msg_ + "</html>");
}
}
public void setRenderingProjectName(String msg_) {
@@ -343,7 +362,7 @@ public class Working implements Activity {
if (width * factor > 200) {
factor = Math.min(factor, 200f / width);
}
icon = new ImageIcon(img.getScaledInstance((int)(width * factor), (int)(height * factor), Image.SCALE_FAST));
icon = new ImageIcon(img.getScaledInstance((int) (width * factor), (int) (height * factor), Image.SCALE_FAST));
}
catch (IOException e) {
System.out.println("Working::showLastRender() exception " + e);
@@ -428,12 +447,14 @@ public class Working implements Activity {
Client client = parent.getClient();
if (client != null) {
if (client.isSuspended()) {
pauseButton.setText("Pause");
pauseButton.setText("Pause getting new jobs");
client.resume();
setStatus(previousStatus);
}
else {
pauseButton.setText("Resume");
pauseButton.setText("Resume getting jobs");
client.suspend();
setStatus("");
}
}
}