X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fgui%2FMainWindow.java;h=f582bb2fb35492c8b873b20697d0939fcdd05373;hb=99ef3764897825a3154cb662b2b81f51c16fdbd2;hp=4e1b9aa9e3d43509c004154302005b4a0dac4a8b;hpb=ad79ad7bb303e4ed0e58d37cbea6dd01ba559921;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/gui/MainWindow.java b/src/net/pterodactylus/jsite/gui/MainWindow.java index 4e1b9aa..f582bb2 100644 --- a/src/net/pterodactylus/jsite/gui/MainWindow.java +++ b/src/net/pterodactylus/jsite/gui/MainWindow.java @@ -260,11 +260,79 @@ public class MainWindow extends JFrame implements WindowListener, I18nable, Prop } } + /** + * @param project + */ + void projectInsertStarted(Project project) { + int projectIndex = getProjectIndex(project); + if (projectIndex == -1) { + return; + } + projectPane.setTitleAt(projectIndex, I18n.get("projectPanel.title.starting", project.getName())); + } + + /** + * @param project + * @param totalBlocks + * @param requiredBlocks + * @param successfulBlocks + * @param failedBlocks + * @param fatallyFailedBlocks + * @param finalizedTotal + */ + void projectInsertProgressed(Project project, int totalBlocks, int requiredBlocks, int successfulBlocks, int failedBlocks, int fatallyFailedBlocks, boolean finalizedTotal) { + int projectIndex = getProjectIndex(project); + if (projectIndex == -1) { + return; + } + projectPane.setTitleAt(projectIndex, I18n.get("projectPanel.title.progress", project.getName(), requiredBlocks / (double) successfulBlocks)); + } + + /** + * @param project + */ + void projectInsertGeneratedURI(Project project) { + /* TODO - update panel. */ + } + + /** + * @param project + * @param success + */ + void projectInsertFinished(Project project, boolean success) { + int projectIndex = getProjectIndex(project); + if (projectIndex == -1) { + return; + } + projectPane.setTitleAt(projectIndex, project.getName()); + } + // // PRIVATE METHODS // /** + * Returns the index of the project panel that contains the given project. + * + * @param project + * The wanted project + * @return The index of {@link #projectPane}’s tab that contains the given + * project, or -1 if the project can not be found + */ + private int getProjectIndex(Project project) { + int tabCount = projectPane.getTabCount(); + for (int tabIndex = 1; tabIndex < tabCount; tabIndex++) { + Component tabComponent = projectPane.getComponentAt(tabIndex); + if (tabComponent instanceof ProjectPanel) { + if (((ProjectPanel) tabComponent).getProject() == project) { + return tabIndex; + } + } + } + return -1; + } + + /** * Initializes the window by creating all its components. */ private void initWindow() {