diff options
Diffstat (limited to 'pdf-over-gui/src')
| -rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PositioningComposite.java | 26 | 
1 files changed, 15 insertions, 11 deletions
| diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PositioningComposite.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PositioningComposite.java index 9d3fa864..ef0177c5 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PositioningComposite.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PositioningComposite.java @@ -301,25 +301,29 @@ public class PositioningComposite extends StateComposite {  	};  	void showPage(int page) { +		final int previousPage = this.currentPage;  		this.currentPage = page;  		this.getDisplay().syncExec(new Runnable() {  			@Override  			public void run() { -				PositioningComposite.this.scrollbar.setSelection( -						PositioningComposite.this.currentPage); -				PositioningComposite.this.lblPage.setText(String.format( -						"Page %d of %d", //$NON-NLS-1$ -						PositioningComposite.this.currentPage, -						PositioningComposite.this.numPages)); -				if (PositioningComposite.this.currentPage > PositioningComposite.this.numPages) { -					PositioningComposite.this.btnNewPage.setText( -							Messages.getString("positioning.removeNewPage")); //$NON-NLS-1$ -					PositioningComposite.this.btnNewPage.setSelection(true); -				} else { +				int currentPage = PositioningComposite.this.currentPage; +				int numPages = PositioningComposite.this.numPages; +				if ((previousPage > numPages) && (currentPage <= numPages)) { +					// Was on new page  					PositioningComposite.this.btnNewPage.setText(  							Messages.getString("positioning.newPage")); //$NON-NLS-1$  					PositioningComposite.this.btnNewPage.setSelection(false); +					PositioningComposite.this.scrollbar.setMaximum(numPages); +				} else if ((previousPage <= numPages) && (currentPage > numPages)) { +					// Go to new page +					PositioningComposite.this.btnNewPage.setText( +							Messages.getString("positioning.removeNewPage")); //$NON-NLS-1$ +					PositioningComposite.this.btnNewPage.setSelection(true); +					PositioningComposite.this.scrollbar.setMaximum(numPages + 1);  				} +				PositioningComposite.this.scrollbar.setSelection(currentPage); +				PositioningComposite.this.lblPage.setText(String.format( +						"Page %d of %d", currentPage, numPages)); //$NON-NLS-1$  			}  		});  		this.viewer.showPage(page); | 
