summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/BlockProgressBar.java18
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadSummaryPage.java2
3 files changed, 16 insertions, 6 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java
index 95464f24..80f5d529 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/TransferPanel.java
@@ -162,7 +162,7 @@ public abstract class TransferPanel extends ActivityPanel implements TransferEve
}
// Progress bar
if (event.progress != null) {
- progress.setStatus(event.progress);
+ progress.setStatus(event);
}
panel.validate();
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/BlockProgressBar.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/BlockProgressBar.java
index 22089f70..c7e0172f 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/BlockProgressBar.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/BlockProgressBar.java
@@ -10,6 +10,7 @@ import java.awt.geom.Rectangle2D;
import javax.swing.JPanel;
+import org.openslx.dozmod.filetransfer.TransferEvent;
import org.openslx.dozmod.gui.Gui;
import org.openslx.thrifthelper.TransferStatusWrapper;
@@ -31,6 +32,8 @@ public class BlockProgressBar extends JPanel {
private boolean simpleMode = true;
private boolean showEstimatedComplete = false;
+
+ private int locallyHashedBlockCount;
public BlockProgressBar(byte[] blocks) {
super();
@@ -46,8 +49,9 @@ public class BlockProgressBar extends JPanel {
this.blocks.setBlocks(blocks);
}
- public void setStatus(byte[] blocks) {
- this.blocks.setBlocks(blocks);
+ public void setStatus(TransferEvent event) {
+ this.blocks.setBlocks(event.progress);
+ this.locallyHashedBlockCount = event.locallyHashedCount;
this.repaint(100);
}
@@ -142,13 +146,19 @@ public class BlockProgressBar extends JPanel {
g.setColor(Color.WHITE);
g.fillRect(0, 0, getWidth(), getHeight());
float x = 0, y = 0;
- for (byte block : blocks.getBlocks()) {
+ byte[] ba = blocks.getBlocks();
+ for (int i = 0; i < ba.length; ++i) {
+ byte block = ba[i];
float toX = x + blockWidth;
if (block >= 0 && block < blockColors.length) {
g.setColor(blockColors[block]);
final int boxWidth = ((int) toX) - ((int) x) - 1;
final int boxHeight = (int) (y + blockHeightVisible) - (int) y;
- g.fillRect((int) x, (int) y, boxWidth > 1 ? boxWidth : 1, boxHeight > 1 ? boxHeight : 1);
+ if (i < locallyHashedBlockCount) {
+ g.fillRect((int) x, (int) y, boxWidth > 1 ? boxWidth : 1, boxHeight > 1 ? boxHeight : 1);
+ } else {
+ g.drawRect((int) x, (int) y, boxWidth > 1 ? boxWidth : 1, boxHeight > 1 ? boxHeight : 1);
+ }
}
x = toX;
if (x + 0.5 > width) {
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadSummaryPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadSummaryPage.java
index 400ee6c6..add3a4f4 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadSummaryPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadSummaryPage.java
@@ -41,7 +41,7 @@ public class ImageUploadSummaryPage extends ImageUploadSummaryPageLayout {
if (!pageIsVisible)
return;
if (event.progress != null) {
- ctlUploadProgressBar.setStatus(event.progress);
+ ctlUploadProgressBar.setStatus(event);
}
if (event.state == TransferState.FINISHED) {
updateInfoText(null);