# HG changeset patch # User oc # Date 1422441141 -32400 # Node ID e95cb9a3dd9b564fb0bebd312ec8dc89dc005d7e # Parent 45aa7825ef6ff7c688f665d8cde86b44e99bbd0b change code, delete firstTime. diff -r 45aa7825ef6f -r e95cb9a3dd9b src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java --- a/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Wed Jan 28 17:27:59 2015 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Wed Jan 28 19:32:21 2015 +0900 @@ -67,13 +67,12 @@ protected boolean needSendPixelFormat; private TreeRFBProto rfb; private long checkCounter = 0; - private boolean firstTime = true; public int numberOfRectangles = 0; private Timer timer = null; public ReceiverTask(Reader reader, IRepaintController repaintController, ClipboardController clipboardController, - DecodersContainer decoders, ProtocolContext context, + DecodersContainer decoders, final ProtocolContext context, TreeRFBProto _rfb) { rfb = _rfb; this.reader = reader; @@ -99,6 +98,22 @@ // これを定期的にフルサイズのframebufferUpdateを送信するThreadにしよう! fullscreenFbUpdateIncrementalRequest.sendFullScreenRequest(); connectionFinished(); + if(rfb.checkDelay) { + SendCheckDelay sendCheckDelay = new SendCheckDelay(rfb); + Thread sendCheckDelayThread = new Thread(sendCheckDelay, "send-check-delay"); + sendCheckDelayThread.start(); + } + if(rfb.fixingSize) { + timer = new Timer("framebufferUpdate-request-timer", true); + timer.schedule(new TimerTask() { + @Override + public void run() { + context.setFbWidth(rfb.fixingSizeWidth); + context.setFbHeight(rfb.fixingSizeHeight); + context.sendMessage(new FramebufferUpdateRequestMessage(0, 0, context.getFbWidth(), context.getFbHeight(), true)); + } + }, 0, 100); + } } } @@ -216,36 +231,10 @@ if(numberOfRectangles != 1) System.out.println("numberofrectangle : " + numberOfRectangles); - if(rfb.isTreeManager() && firstTime) { - if(rfb.checkDelay) { - SendCheckDelay sendCheckDelay = new SendCheckDelay(rfb); - Thread sendCheckDelayThread = new Thread(sendCheckDelay, "send-check-delay"); - sendCheckDelayThread.start(); - } - if(rfb.fixingSize) { - timer = new Timer(true); - timer.schedule(new TimerTask() { - @Override - public void run() { - context.setFbWidth(rfb.fixingSizeWidth); - context.setFbHeight(rfb.fixingSizeHeight); - context.sendMessage(new FramebufferUpdateRequestMessage(0, 0, context.getFbWidth(), context.getFbHeight(), true)); - } - }, 0, 100); - } - } while (numberOfRectangles-- > 0) { FramebufferUpdateRectangle rect = new FramebufferUpdateRectangle(); rect.fill(reader); - int singleWidth = rfb.getSingleWidth(); - - if(rfb.filterSingleDisplay && firstTime) { - if (singleWidth == 0) { - rfb.setSingleDisplaySize(rect.width, rect.height); - } - this.firstTime = false; - } long time = System.currentTimeMillis(); if(rfb.isTreeManager() && rfb.checkDelay) @@ -255,15 +244,9 @@ logger.finest(rect.toString() + (0 == numberOfRectangles ? "\n---" : "")); if (decoder != null) { decoder.decode(reader, renderer, rect); // TreeVNC processing here - if(!(rfb.getCuiVersion())) { - if (rfb.filterSingleDisplay) { - if (rect.x < singleWidth) { - repaintController.repaintBitmap(rect); - } - } else { - repaintController.repaintBitmap(rect); - } - } + if (rfb.getCuiVersion()) continue; + if (rfb.filterSingleDisplay && rect.x >= rfb.getSingleWidth()) continue; + repaintController.repaintBitmap(rect); } else if (rect.getEncodingType() == EncodingType.RICH_CURSOR) { RichCursorDecoder.getInstance().decode(reader, renderer, rect); if(repaintController!=null) diff -r 45aa7825ef6f -r e95cb9a3dd9b src/viewer_swing/java/com/glavsoft/viewer/Viewer.java --- a/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java Wed Jan 28 17:27:59 2015 +0900 +++ b/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java Wed Jan 28 19:32:21 2015 +0900 @@ -452,21 +452,18 @@ @Override public ArrayList getScreenRectangles() { - // before change server, data from previous server + // before change the screen server, data from previous server // should be stopped. setCuiVersion(false); - // Host have screens. - // Each screen number in order from left. - // put screens in rectangles. + // New screen server has one or more screens. + // Screens are numbered in the order from left. + // put screens in an ArrayList. ArrayList rectangles = new ArrayList(); - GraphicsConfiguration[] gc = null; GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gs = ge.getScreenDevices(); - for (int j = 0; j < gs.length; j++) { - GraphicsDevice gd = gs[j]; - gc = gd.getConfigurations(); - for (int i=0; i < gc.length; i++) { - rectangles.add(gc[i].getBounds()); + for (GraphicsDevice gd : gs) { + for (GraphicsConfiguration r : gd.getConfigurations()) { + rectangles.add(r.getBounds()); } } return rectangles; diff -r 45aa7825ef6f -r e95cb9a3dd9b src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java --- a/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java Wed Jan 28 17:27:59 2015 +0900 +++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java Wed Jan 28 19:32:21 2015 +0900 @@ -58,28 +58,28 @@ import jp.ac.u_ryukyu.treevnc.*; public class SwingViewerWindow implements IChangeSettingsListener { - public static final int FS_SCROLLING_ACTIVE_BORDER = 20; - private JToggleButton zoomFitButton; - private JToggleButton zoomFullScreenButton; - private JButton zoomInButton; - private JButton zoomOutButton; - private JButton zoomAsIsButton; - private JPanel outerPanel; - private JScrollPane scroller; - private JFrame frame; - private boolean forceResizable = true; - private ButtonsBar buttonsBar; - private Surface surface; - private boolean isSeparateFrame; + public static final int FS_SCROLLING_ACTIVE_BORDER = 20; + private JToggleButton zoomFitButton; + private JToggleButton zoomFullScreenButton; + private JButton zoomInButton; + private JButton zoomOutButton; + private JButton zoomAsIsButton; + private JPanel outerPanel; + private JScrollPane scroller; + private JFrame frame; + private boolean forceResizable = true; + private ButtonsBar buttonsBar; + private Surface surface; + private boolean isSeparateFrame; private final boolean isApplet; private ViewerInterface viewer; private String connectionString; private ConnectionPresenter presenter; private Rectangle oldContainerBounds; - private volatile boolean isFullScreen; - private Border oldScrollerBorder; - private JLayeredPane lpane; - private EmptyButtonsBarMouseAdapter buttonsBarMouseAdapter; + private volatile boolean isFullScreen; + private Border oldScrollerBorder; + private JLayeredPane lpane; + private EmptyButtonsBarMouseAdapter buttonsBarMouseAdapter; private String remoteDesktopName; private ProtocolSettings rfbSettings; private UiSettings uiSettings; @@ -91,8 +91,8 @@ private List kbdButtons; public SwingViewerWindow(Protocol workingProtocol, ProtocolSettings rfbSettings, UiSettings uiSettings, Surface surface, - boolean isSeparateFrame, boolean isApplet, ViewerInterface viewer, String connectionString, - ConnectionPresenter presenter, int w, int h) { + boolean isSeparateFrame, boolean isApplet, ViewerInterface viewer, String connectionString, + ConnectionPresenter presenter, int w, int h) { this.workingProtocol = workingProtocol; this.rfbSettings = rfbSettings; this.uiSettings = uiSettings; @@ -106,12 +106,12 @@ this.height = h; if(viewer instanceof Viewer) - createContainer(surface, isApplet, (Viewer)viewer); - + createContainer(surface, isApplet, (Viewer)viewer); + if (uiSettings.showControls) { - if(viewer instanceof Viewer) - createButtonsPanel(workingProtocol, isSeparateFrame? frame: (Viewer)viewer); + if(viewer instanceof Viewer) + createButtonsPanel(workingProtocol, isSeparateFrame? frame: (Viewer)viewer); if (isSeparateFrame) registerResizeListener(frame); updateZoomButtonsState(); } @@ -137,85 +137,85 @@ } }).start(); } - } + } - private void createContainer(final Surface surface, boolean isApplet, JApplet appletWindow) { - outerPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0)) { - /** + private void createContainer(final Surface surface, boolean isApplet, JApplet appletWindow) { + outerPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0)) { + /** * */ private static final long serialVersionUID = 1L; @Override - public Dimension getSize() { - return surface.getPreferredSize(); - } - @Override - public Dimension getPreferredSize() { - return surface.getPreferredSize(); - } - }; + public Dimension getSize() { + return surface.getPreferredSize(); + } + @Override + public Dimension getPreferredSize() { + return surface.getPreferredSize(); + } + }; Dimension outerPanelSize = outerPanel.getSize(); double width = outerPanelSize.getWidth(); double height = outerPanelSize.getHeight(); outerPanel.setBackground(Color.DARK_GRAY); - lpane = new JLayeredPane() { - /** + lpane = new JLayeredPane() { + /** * */ private static final long serialVersionUID = 1L; @Override - public Dimension getSize() { - return surface.getPreferredSize(); - } - @Override - public Dimension getPreferredSize() { - return surface.getPreferredSize(); - } - }; - lpane.setPreferredSize(surface.getPreferredSize()); - lpane.add(surface, JLayeredPane.DEFAULT_LAYER, 0); - outerPanel.add(lpane); + public Dimension getSize() { + return surface.getPreferredSize(); + } + @Override + public Dimension getPreferredSize() { + return surface.getPreferredSize(); + } + }; + lpane.setPreferredSize(surface.getPreferredSize()); + lpane.add(surface, JLayeredPane.DEFAULT_LAYER, 0); + outerPanel.add(lpane); - scroller = new JScrollPane(outerPanel); - if (isSeparateFrame) { - frame = new JFrame(); - frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); - if ( ! isApplet) { - frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); - } + scroller = new JScrollPane(outerPanel); + if (isSeparateFrame) { + frame = new JFrame(); + frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + if ( ! isApplet) { + frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + } frame.setModalExclusionType(Dialog.ModalExclusionType.APPLICATION_EXCLUDE); - Utils.setApplicationIconsForWindow(frame); + Utils.setApplicationIconsForWindow(frame); frame.setLayout(new BorderLayout(0, 0)); frame.add(scroller, BorderLayout.CENTER); -// frame.pack(); + // frame.pack(); outerPanel.setSize(surface.getPreferredSize()); internalPack(null); if(viewer.getRfb().isTreeManager() || viewer.getCuiVersion()) { - frame.setVisible(false); - viewer.setCuiVersion(false); + frame.setVisible(false); + viewer.setCuiVersion(false); } else - frame.setVisible(true); + frame.setVisible(true); //frame.setVisible(false); frame.validate(); - } else { + } else { appletWindow.setLayout(new BorderLayout(0, 0)); appletWindow.add(scroller, BorderLayout.CENTER); appletWindow.validate(); - } - } + } + } - public void pack() { - final Dimension outerPanelOldSize = outerPanel.getSize(); - outerPanel.setSize(surface.getPreferredSize()); - if (isSeparateFrame && ! isZoomToFitSelected()) { - internalPack(outerPanelOldSize); - } + public void pack() { + final Dimension outerPanelOldSize = outerPanel.getSize(); + outerPanel.setSize(surface.getPreferredSize()); + if (isSeparateFrame && ! isZoomToFitSelected()) { + internalPack(outerPanelOldSize); + } if (buttonsBar != null) { updateZoomButtonsState(); } updateWindowTitle(); - } + } public boolean isZoomToFitSelected() { return isZoomToFitSelected; @@ -229,191 +229,191 @@ remoteDesktopName = name; TreeRFBProto rfb = viewer.getRfb(); if (rfb!=null) { - int port = rfb.getAcceptPort(); - remoteDesktopName += ":" + port; + int port = rfb.getAcceptPort(); + remoteDesktopName += ":" + port; } updateWindowTitle(); } private void updateWindowTitle() { if (isSeparateFrame) { - frame.setTitle(remoteDesktopName + " [zoom: " + uiSettings.getScalePercentFormatted() + "%]"); - } + frame.setTitle(remoteDesktopName + " [zoom: " + uiSettings.getScalePercentFormatted() + "%]"); + } } - private void internalPack(Dimension outerPanelOldSize) { - final Rectangle workareaRectangle = getWorkareaRectangle(); - if (workareaRectangle.equals(frame.getBounds())) { - forceResizable = true; - } - final boolean isHScrollBar = scroller.getHorizontalScrollBar().isShowing() && ! forceResizable; - final boolean isVScrollBar = scroller.getVerticalScrollBar().isShowing() && ! forceResizable; + private void internalPack(Dimension outerPanelOldSize) { + final Rectangle workareaRectangle = getWorkareaRectangle(); + if (workareaRectangle.equals(frame.getBounds())) { + forceResizable = true; + } + final boolean isHScrollBar = scroller.getHorizontalScrollBar().isShowing() && ! forceResizable; + final boolean isVScrollBar = scroller.getVerticalScrollBar().isShowing() && ! forceResizable; - boolean isWidthChangeable = true; - boolean isHeightChangeable = true; - if (outerPanelOldSize != null && surface.oldSize != null) { - isWidthChangeable = forceResizable || - (outerPanelOldSize.width == surface.oldSize.width && ! isHScrollBar); - isHeightChangeable = forceResizable || - (outerPanelOldSize.height == surface.oldSize.height && ! isVScrollBar); - } - forceResizable = false; - frame.validate(); + boolean isWidthChangeable = true; + boolean isHeightChangeable = true; + if (outerPanelOldSize != null && surface.oldSize != null) { + isWidthChangeable = forceResizable || + (outerPanelOldSize.width == surface.oldSize.width && ! isHScrollBar); + isHeightChangeable = forceResizable || + (outerPanelOldSize.height == surface.oldSize.height && ! isVScrollBar); + } + forceResizable = false; + frame.validate(); - final Insets containerInsets = frame.getInsets(); - Dimension preferredSize = frame.getPreferredSize(); - Rectangle preferredRectangle = new Rectangle(frame.getLocation(), preferredSize); + final Insets containerInsets = frame.getInsets(); + Dimension preferredSize = frame.getPreferredSize(); + Rectangle preferredRectangle = new Rectangle(frame.getLocation(), preferredSize); - if (null == outerPanelOldSize && workareaRectangle.contains(preferredRectangle)) { - frame.pack(); - } else { - Dimension minDimension = new Dimension( - containerInsets.left + containerInsets.right, containerInsets.top + containerInsets.bottom); - if (buttonsBar != null && buttonsBar.isVisible) { - minDimension.width += buttonsBar.getWidth(); - minDimension.height += buttonsBar.getHeight(); - } - Dimension dim = new Dimension(preferredSize); - Point location = frame.getLocation(); - if ( ! isWidthChangeable) { - dim.width = frame.getWidth(); - } else { + if (null == outerPanelOldSize && workareaRectangle.contains(preferredRectangle)) { + frame.pack(); + } else { + Dimension minDimension = new Dimension( + containerInsets.left + containerInsets.right, containerInsets.top + containerInsets.bottom); + if (buttonsBar != null && buttonsBar.isVisible) { + minDimension.width += buttonsBar.getWidth(); + minDimension.height += buttonsBar.getHeight(); + } + Dimension dim = new Dimension(preferredSize); + Point location = frame.getLocation(); + if ( ! isWidthChangeable) { + dim.width = frame.getWidth(); + } else { // このあたり、scalepercentを計算するのに使えそう - if (isVScrollBar) dim.width += scroller.getVerticalScrollBar().getWidth(); - if (dim.width < minDimension.width) dim.width = minDimension.width; + if (isVScrollBar) dim.width += scroller.getVerticalScrollBar().getWidth(); + if (dim.width < minDimension.width) dim.width = minDimension.width; - int dx = location.x - workareaRectangle.x; - if (dx < 0) { - dx = 0; - location.x = workareaRectangle.x; - } - int w = workareaRectangle.width - dx; - if (w < dim.width) { - int dw = dim.width - w; - if (dw < dx) { - location.x -= dw; - } else { - dim.width = workareaRectangle.width; - location.x = workareaRectangle.x; - } - } - } - if ( ! isHeightChangeable) { - dim.height = frame.getHeight(); - } else { + int dx = location.x - workareaRectangle.x; + if (dx < 0) { + dx = 0; + location.x = workareaRectangle.x; + } + int w = workareaRectangle.width - dx; + if (w < dim.width) { + int dw = dim.width - w; + if (dw < dx) { + location.x -= dw; + } else { + dim.width = workareaRectangle.width; + location.x = workareaRectangle.x; + } + } + } + if ( ! isHeightChangeable) { + dim.height = frame.getHeight(); + } else { - if (isHScrollBar) dim.height += scroller.getHorizontalScrollBar().getHeight(); - if (dim.height < minDimension.height) dim.height = minDimension.height; + if (isHScrollBar) dim.height += scroller.getHorizontalScrollBar().getHeight(); + if (dim.height < minDimension.height) dim.height = minDimension.height; - int dy = location.y - workareaRectangle.y; - if (dy < 0) { - dy = 0; - location.y = workareaRectangle.y; - } - int h = workareaRectangle.height - dy; - if (h < dim.height) { - int dh = dim.height - h; - if (dh < dy) { - location.y -= dh; - } else { - dim.height = workareaRectangle.height; - location.y = workareaRectangle.y; - } - } - } + int dy = location.y - workareaRectangle.y; + if (dy < 0) { + dy = 0; + location.y = workareaRectangle.y; + } + int h = workareaRectangle.height - dy; + if (h < dim.height) { + int dh = dim.height - h; + if (dh < dy) { + location.y -= dh; + } else { + dim.height = workareaRectangle.height; + location.y = workareaRectangle.y; + } + } + } // set full size /* dim.width = workareaRectangle.width; dim.height = workareaRectangle.height; - */ - if ( ! location.equals(frame.getLocation())) { - frame.setLocation(location); - } - if ( ! isFullScreen ) { - frame.setSize(dim); - } - } - scroller.revalidate(); - } + */ + if ( ! location.equals(frame.getLocation())) { + frame.setLocation(location); + } + if ( ! isFullScreen ) { + frame.setSize(dim); + } + } + scroller.revalidate(); + } - private Rectangle getWorkareaRectangle() { - final GraphicsConfiguration graphicsConfiguration = frame.getGraphicsConfiguration(); - final Rectangle screenBounds = graphicsConfiguration.getBounds(); - final Insets screenInsets = Toolkit.getDefaultToolkit().getScreenInsets(graphicsConfiguration); + private Rectangle getWorkareaRectangle() { + final GraphicsConfiguration graphicsConfiguration = frame.getGraphicsConfiguration(); + final Rectangle screenBounds = graphicsConfiguration.getBounds(); + final Insets screenInsets = Toolkit.getDefaultToolkit().getScreenInsets(graphicsConfiguration); - screenBounds.x += screenInsets.left; - screenBounds.y += screenInsets.top; - if (width != 0) { - screenBounds.width = width; - screenBounds.height = height; - } else { - screenBounds.width -= screenInsets.left + screenInsets.right; - screenBounds.height -= screenInsets.top + screenInsets.bottom; + screenBounds.x += screenInsets.left; + screenBounds.y += screenInsets.top; + if (width != 0) { + screenBounds.width = width; + screenBounds.height = height; + } else { + screenBounds.width -= screenInsets.left + screenInsets.right; + screenBounds.height -= screenInsets.top + screenInsets.bottom; } - return screenBounds; - } + return screenBounds; + } - void addZoomButtons() { - buttonsBar.createStrut(); - zoomOutButton = buttonsBar.createButton("zoom-out", "Zoom Out", new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - zoomFitButton.setSelected(false); + void addZoomButtons() { + buttonsBar.createStrut(); + zoomOutButton = buttonsBar.createButton("zoom-out", "Zoom Out", new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + zoomFitButton.setSelected(false); uiSettings.zoomOut(); - } - }); - zoomInButton = buttonsBar.createButton("zoom-in", "Zoom In", new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - zoomFitButton.setSelected(false); + } + }); + zoomInButton = buttonsBar.createButton("zoom-in", "Zoom In", new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + zoomFitButton.setSelected(false); uiSettings.zoomIn(); - } - }); - zoomAsIsButton = buttonsBar.createButton("zoom-100", "Zoom 100%", new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - zoomFitButton.setSelected(false); - forceResizable = false; + } + }); + zoomAsIsButton = buttonsBar.createButton("zoom-100", "Zoom 100%", new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + zoomFitButton.setSelected(false); + forceResizable = false; uiSettings.zoomAsIs(); - } - }); + } + }); - zoomFitButton = buttonsBar.createToggleButton("zoom-fit", "Zoom to Fit Window", - new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - if (e.getStateChange() == ItemEvent.SELECTED) { - setZoomToFitSelected(true); - forceResizable = true; - zoomToFit(); - updateZoomButtonsState(); - } else { - setZoomToFitSelected(false); - } - setSurfaceToHandleKbdFocus(); - } - }); + zoomFitButton = buttonsBar.createToggleButton("zoom-fit", "Zoom to Fit Window", + new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + if (e.getStateChange() == ItemEvent.SELECTED) { + setZoomToFitSelected(true); + forceResizable = true; + zoomToFit(); + updateZoomButtonsState(); + } else { + setZoomToFitSelected(false); + } + setSurfaceToHandleKbdFocus(); + } + }); - zoomFullScreenButton = buttonsBar.createToggleButton("zoom-fullscreen", "Full Screen", - new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - updateZoomButtonsState(); - if (e.getStateChange() == ItemEvent.SELECTED) { - uiSettings.setFullScreen(switchOnFullscreenMode()); - } else { - switchOffFullscreenMode(); - uiSettings.setFullScreen(false); - } - setSurfaceToHandleKbdFocus(); - } - }); - if ( ! isSeparateFrame) { - zoomFullScreenButton.setEnabled(false); - zoomFitButton.setEnabled(false); - } - } + zoomFullScreenButton = buttonsBar.createToggleButton("zoom-fullscreen", "Full Screen", + new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + updateZoomButtonsState(); + if (e.getStateChange() == ItemEvent.SELECTED) { + uiSettings.setFullScreen(switchOnFullscreenMode()); + } else { + switchOffFullscreenMode(); + uiSettings.setFullScreen(false); + } + setSurfaceToHandleKbdFocus(); + } + }); + if ( ! isSeparateFrame) { + zoomFullScreenButton.setEnabled(false); + zoomFitButton.setEnabled(false); + } + } protected void setSurfaceToHandleKbdFocus() { if (surface != null && ! surface.requestFocusInWindow()) { @@ -422,121 +422,121 @@ } boolean switchOnFullscreenMode() { - zoomFullScreenButton.setSelected(true); - oldContainerBounds = frame.getBounds(); - setButtonsBarVisible(false); - forceResizable = true; - frame.dispose(); - frame.setUndecorated(true); - frame.setResizable(false); - frame.setVisible(true); - try { - frame.getGraphicsConfiguration().getDevice().setFullScreenWindow(frame); - isFullScreen = true; - scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER); - scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - oldScrollerBorder = scroller.getBorder(); - scroller.setBorder(new EmptyBorder(0, 0, 0, 0)); - new FullscreenBorderDetectionThread(frame).start(); - } catch (Exception ex) { + zoomFullScreenButton.setSelected(true); + oldContainerBounds = frame.getBounds(); + setButtonsBarVisible(false); + forceResizable = true; + frame.dispose(); + frame.setUndecorated(true); + frame.setResizable(false); + frame.setVisible(true); + try { + frame.getGraphicsConfiguration().getDevice().setFullScreenWindow(frame); + isFullScreen = true; + scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER); + scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + oldScrollerBorder = scroller.getBorder(); + scroller.setBorder(new EmptyBorder(0, 0, 0, 0)); + new FullscreenBorderDetectionThread(frame).start(); + } catch (Exception ex) { Logger.getLogger(this.getClass().getName()).info("Cannot switch into FullScreen mode: " + ex.getMessage()); - return false; - } + return false; + } return true; - } + } - private void switchOffFullscreenMode() { - if (isFullScreen) { - zoomFullScreenButton.setSelected(false); - isFullScreen = false; - setButtonsBarVisible(true); - try { - frame.dispose(); - frame.setUndecorated(false); - frame.setResizable(true); - frame.getGraphicsConfiguration().getDevice().setFullScreenWindow(null); - } catch (Exception e) { - // nop - } - scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); - scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); - scroller.setBorder(oldScrollerBorder); - this.frame.setBounds(oldContainerBounds); - frame.setVisible(true); - pack(); - } - } + private void switchOffFullscreenMode() { + if (isFullScreen) { + zoomFullScreenButton.setSelected(false); + isFullScreen = false; + setButtonsBarVisible(true); + try { + frame.dispose(); + frame.setUndecorated(false); + frame.setResizable(true); + frame.getGraphicsConfiguration().getDevice().setFullScreenWindow(null); + } catch (Exception e) { + // nop + } + scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); + scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); + scroller.setBorder(oldScrollerBorder); + this.frame.setBounds(oldContainerBounds); + frame.setVisible(true); + pack(); + } + } - private void zoomToFit() { - Dimension scrollerSize = scroller.getSize(); - Insets scrollerInsets = scroller.getInsets(); + private void zoomToFit() { + Dimension scrollerSize = scroller.getSize(); + Insets scrollerInsets = scroller.getInsets(); uiSettings.zoomToFit(scrollerSize.width - scrollerInsets.left - scrollerInsets.right, scrollerSize.height - scrollerInsets.top - scrollerInsets.bottom + - (isFullScreen ? buttonsBar.getHeight() : 0), + (isFullScreen ? buttonsBar.getHeight() : 0), workingProtocol.getFbWidth(), workingProtocol.getFbHeight()); - } + } - void registerResizeListener(Container container) { - container.addComponentListener(new ComponentAdapter() { - @Override - public void componentResized(ComponentEvent e) { - if (isZoomToFitSelected()) { - zoomToFit(); - updateZoomButtonsState(); - updateWindowTitle(); - setSurfaceToHandleKbdFocus(); - } - } - }); - } + void registerResizeListener(Container container) { + container.addComponentListener(new ComponentAdapter() { + @Override + public void componentResized(ComponentEvent e) { + if (isZoomToFitSelected()) { + zoomToFit(); + updateZoomButtonsState(); + updateWindowTitle(); + setSurfaceToHandleKbdFocus(); + } + } + }); + } - void updateZoomButtonsState() { - zoomOutButton.setEnabled(uiSettings.getScalePercent() > UiSettings.MIN_SCALE_PERCENT); - zoomInButton.setEnabled(uiSettings.getScalePercent() < UiSettings.MAX_SCALE_PERCENT); - zoomAsIsButton.setEnabled(uiSettings.getScalePercent() != 100); - } + void updateZoomButtonsState() { + zoomOutButton.setEnabled(uiSettings.getScalePercent() > UiSettings.MIN_SCALE_PERCENT); + zoomInButton.setEnabled(uiSettings.getScalePercent() < UiSettings.MAX_SCALE_PERCENT); + zoomAsIsButton.setEnabled(uiSettings.getScalePercent() != 100); + } - public ButtonsBar createButtonsBar() { - buttonsBar = new ButtonsBar(); - return buttonsBar; - } + public ButtonsBar createButtonsBar() { + buttonsBar = new ButtonsBar(); + return buttonsBar; + } public void setButtonsBarVisible(boolean isVisible) { setButtonsBarVisible(isVisible, frame); } - private void setButtonsBarVisible(boolean isVisible, Container container) { - buttonsBar.setVisible(isVisible); - if (isVisible) { - buttonsBar.borderOff(); - container.add(buttonsBar.bar, BorderLayout.NORTH); + private void setButtonsBarVisible(boolean isVisible, Container container) { + buttonsBar.setVisible(isVisible); + if (isVisible) { + buttonsBar.borderOff(); + container.add(buttonsBar.bar, BorderLayout.NORTH); container.validate(); - } else { - container.remove(buttonsBar.bar); - buttonsBar.borderOn(); - } - } + } else { + container.remove(buttonsBar.bar); + buttonsBar.borderOn(); + } + } - public void setButtonsBarVisibleFS(boolean isVisible) { - if (isVisible) { - if ( ! buttonsBar.isVisible) { - lpane.add(buttonsBar.bar, JLayeredPane.POPUP_LAYER, 0); - final int bbWidth = buttonsBar.bar.getPreferredSize().width; - buttonsBar.bar.setBounds( - scroller.getViewport().getViewPosition().x + (scroller.getWidth() - bbWidth)/2, 0, - bbWidth, buttonsBar.bar.getPreferredSize().height); + public void setButtonsBarVisibleFS(boolean isVisible) { + if (isVisible) { + if ( ! buttonsBar.isVisible) { + lpane.add(buttonsBar.bar, JLayeredPane.POPUP_LAYER, 0); + final int bbWidth = buttonsBar.bar.getPreferredSize().width; + buttonsBar.bar.setBounds( + scroller.getViewport().getViewPosition().x + (scroller.getWidth() - bbWidth)/2, 0, + bbWidth, buttonsBar.bar.getPreferredSize().height); - // prevent mouse events to through down to Surface - if (null == buttonsBarMouseAdapter) buttonsBarMouseAdapter = new EmptyButtonsBarMouseAdapter(); - buttonsBar.bar.addMouseListener(buttonsBarMouseAdapter); - } - } else { - buttonsBar.bar.removeMouseListener(buttonsBarMouseAdapter); - lpane.remove(buttonsBar.bar); - lpane.repaint(buttonsBar.bar.getBounds()); - } - buttonsBar.setVisible(isVisible); - } + // prevent mouse events to through down to Surface + if (null == buttonsBarMouseAdapter) buttonsBarMouseAdapter = new EmptyButtonsBarMouseAdapter(); + buttonsBar.bar.addMouseListener(buttonsBarMouseAdapter); + } + } else { + buttonsBar.bar.removeMouseListener(buttonsBarMouseAdapter); + lpane.remove(buttonsBar.bar); + lpane.repaint(buttonsBar.bar.getBounds()); + } + buttonsBar.setVisible(isVisible); + } public Surface getSurface() { return surface; @@ -550,223 +550,223 @@ } public static class ButtonsBar { - private static final Insets BUTTONS_MARGIN = new Insets(2, 2, 2, 2); - private JPanel bar; - private boolean isVisible; + private static final Insets BUTTONS_MARGIN = new Insets(2, 2, 2, 2); + private JPanel bar; + private boolean isVisible; - public ButtonsBar() { - bar = new JPanel(new FlowLayout(FlowLayout.LEFT, 4, 1)); - } + public ButtonsBar() { + bar = new JPanel(new FlowLayout(FlowLayout.LEFT, 4, 1)); + } - public JButton createButton(String iconId, String tooltipText, ActionListener actionListener) { - JButton button = new JButton(Utils.getButtonIcon(iconId)); - button.setToolTipText(tooltipText); - button.setMargin(BUTTONS_MARGIN); - bar.add(button); - button.addActionListener(actionListener); - return button; - } + public JButton createButton(String iconId, String tooltipText, ActionListener actionListener) { + JButton button = new JButton(Utils.getButtonIcon(iconId)); + button.setToolTipText(tooltipText); + button.setMargin(BUTTONS_MARGIN); + bar.add(button); + button.addActionListener(actionListener); + return button; + } - public void createStrut() { - bar.add(Box.createHorizontalStrut(10)); - } + public void createStrut() { + bar.add(Box.createHorizontalStrut(10)); + } - public JToggleButton createToggleButton(String iconId, String tooltipText, ItemListener itemListener) { - JToggleButton button = new JToggleButton(Utils.getButtonIcon(iconId)); - button.setToolTipText(tooltipText); - button.setMargin(BUTTONS_MARGIN); - bar.add(button); - button.addItemListener(itemListener); - return button; - } + public JToggleButton createToggleButton(String iconId, String tooltipText, ItemListener itemListener) { + JToggleButton button = new JToggleButton(Utils.getButtonIcon(iconId)); + button.setToolTipText(tooltipText); + button.setMargin(BUTTONS_MARGIN); + bar.add(button); + button.addItemListener(itemListener); + return button; + } - public void setVisible(boolean isVisible) { - this.isVisible = isVisible; + public void setVisible(boolean isVisible) { + this.isVisible = isVisible; if (isVisible) bar.revalidate(); - } + } - public int getWidth() { - return bar.getMinimumSize().width; - } - public int getHeight() { - return bar.getMinimumSize().height; - } + public int getWidth() { + return bar.getMinimumSize().width; + } + public int getHeight() { + return bar.getMinimumSize().height; + } - public void borderOn() { - bar.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); - } + public void borderOn() { + bar.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); + } - public void borderOff() { - bar.setBorder(BorderFactory.createEmptyBorder()); - } - } + public void borderOff() { + bar.setBorder(BorderFactory.createEmptyBorder()); + } + } - private static class EmptyButtonsBarMouseAdapter extends MouseAdapter { - // empty - } + private static class EmptyButtonsBarMouseAdapter extends MouseAdapter { + // empty + } - private class FullscreenBorderDetectionThread extends Thread { - public static final int SHOW_HIDE_BUTTONS_BAR_DELAY_IN_MILLS = 700; - private final JFrame frame; - private ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); - private ScheduledFuture futureForShow; - private ScheduledFuture futureForHide; - private Point mousePoint, oldMousePoint; - private Point viewPosition; + private class FullscreenBorderDetectionThread extends Thread { + public static final int SHOW_HIDE_BUTTONS_BAR_DELAY_IN_MILLS = 700; + private final JFrame frame; + private ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); + private ScheduledFuture futureForShow; + private ScheduledFuture futureForHide; + private Point mousePoint, oldMousePoint; + private Point viewPosition; - public FullscreenBorderDetectionThread(JFrame frame) { - super("FS border detector"); - this.frame = frame; - } + public FullscreenBorderDetectionThread(JFrame frame) { + super("FS border detector"); + this.frame = frame; + } - public void run() { - setPriority(Thread.MIN_PRIORITY); - while(isFullScreen) { - mousePoint = MouseInfo.getPointerInfo().getLocation(); - if (null == oldMousePoint) oldMousePoint = mousePoint; - SwingUtilities.convertPointFromScreen(mousePoint, frame); - viewPosition = scroller.getViewport().getViewPosition(); - processButtonsBarVisibility(); + public void run() { + setPriority(Thread.MIN_PRIORITY); + while(isFullScreen) { + mousePoint = MouseInfo.getPointerInfo().getLocation(); + if (null == oldMousePoint) oldMousePoint = mousePoint; + SwingUtilities.convertPointFromScreen(mousePoint, frame); + viewPosition = scroller.getViewport().getViewPosition(); + processButtonsBarVisibility(); - boolean needScrolling = processVScroll() || processHScroll(); - oldMousePoint = mousePoint; - if (needScrolling) { - cancelShowExecutor(); - setButtonsBarVisibleFS(false); - makeScrolling(viewPosition); - } - try { + boolean needScrolling = processVScroll() || processHScroll(); + oldMousePoint = mousePoint; + if (needScrolling) { + cancelShowExecutor(); + setButtonsBarVisibleFS(false); + makeScrolling(viewPosition); + } + try { Thread.sleep(100); } catch (Exception e) { - // nop - } - } - } + // nop + } + } + } - private boolean processHScroll() { - if (mousePoint.x < FS_SCROLLING_ACTIVE_BORDER) { - if (viewPosition.x > 0) { - int delta = FS_SCROLLING_ACTIVE_BORDER - mousePoint.x; - if (mousePoint.y != oldMousePoint.y) delta *= 2; // speedify scrolling on mouse moving - viewPosition.x -= delta; - if (viewPosition.x < 0) viewPosition.x = 0; - return true; - } - } else if (mousePoint.x > (frame.getWidth() - FS_SCROLLING_ACTIVE_BORDER)) { - final Rectangle viewRect = scroller.getViewport().getViewRect(); - final int right = viewRect.width + viewRect.x; - if (right < outerPanel.getSize().width) { - int delta = FS_SCROLLING_ACTIVE_BORDER - (frame.getWidth() - mousePoint.x); - if (mousePoint.y != oldMousePoint.y) delta *= 2; // speedify scrolling on mouse moving - viewPosition.x += delta; - if (viewPosition.x + viewRect.width > outerPanel.getSize().width) viewPosition.x = - outerPanel.getSize().width - viewRect.width; - return true; - } - } - return false; - } + private boolean processHScroll() { + if (mousePoint.x < FS_SCROLLING_ACTIVE_BORDER) { + if (viewPosition.x > 0) { + int delta = FS_SCROLLING_ACTIVE_BORDER - mousePoint.x; + if (mousePoint.y != oldMousePoint.y) delta *= 2; // speedify scrolling on mouse moving + viewPosition.x -= delta; + if (viewPosition.x < 0) viewPosition.x = 0; + return true; + } + } else if (mousePoint.x > (frame.getWidth() - FS_SCROLLING_ACTIVE_BORDER)) { + final Rectangle viewRect = scroller.getViewport().getViewRect(); + final int right = viewRect.width + viewRect.x; + if (right < outerPanel.getSize().width) { + int delta = FS_SCROLLING_ACTIVE_BORDER - (frame.getWidth() - mousePoint.x); + if (mousePoint.y != oldMousePoint.y) delta *= 2; // speedify scrolling on mouse moving + viewPosition.x += delta; + if (viewPosition.x + viewRect.width > outerPanel.getSize().width) viewPosition.x = + outerPanel.getSize().width - viewRect.width; + return true; + } + } + return false; + } - private boolean processVScroll() { - if (mousePoint.y < FS_SCROLLING_ACTIVE_BORDER) { - if (viewPosition.y > 0) { - int delta = FS_SCROLLING_ACTIVE_BORDER - mousePoint.y; - if (mousePoint.x != oldMousePoint.x) delta *= 2; // speedify scrolling on mouse moving - viewPosition.y -= delta; - if (viewPosition.y < 0) viewPosition.y = 0; - return true; - } - } else if (mousePoint.y > (frame.getHeight() - FS_SCROLLING_ACTIVE_BORDER)) { - final Rectangle viewRect = scroller.getViewport().getViewRect(); - final int bottom = viewRect.height + viewRect.y; - if (bottom < outerPanel.getSize().height) { - int delta = FS_SCROLLING_ACTIVE_BORDER - (frame.getHeight() - mousePoint.y); - if (mousePoint.x != oldMousePoint.x) delta *= 2; // speedify scrolling on mouse moving - viewPosition.y += delta; - if (viewPosition.y + viewRect.height > outerPanel.getSize().height) viewPosition.y = - outerPanel.getSize().height - viewRect.height; - return true; - } - } - return false; - } + private boolean processVScroll() { + if (mousePoint.y < FS_SCROLLING_ACTIVE_BORDER) { + if (viewPosition.y > 0) { + int delta = FS_SCROLLING_ACTIVE_BORDER - mousePoint.y; + if (mousePoint.x != oldMousePoint.x) delta *= 2; // speedify scrolling on mouse moving + viewPosition.y -= delta; + if (viewPosition.y < 0) viewPosition.y = 0; + return true; + } + } else if (mousePoint.y > (frame.getHeight() - FS_SCROLLING_ACTIVE_BORDER)) { + final Rectangle viewRect = scroller.getViewport().getViewRect(); + final int bottom = viewRect.height + viewRect.y; + if (bottom < outerPanel.getSize().height) { + int delta = FS_SCROLLING_ACTIVE_BORDER - (frame.getHeight() - mousePoint.y); + if (mousePoint.x != oldMousePoint.x) delta *= 2; // speedify scrolling on mouse moving + viewPosition.y += delta; + if (viewPosition.y + viewRect.height > outerPanel.getSize().height) viewPosition.y = + outerPanel.getSize().height - viewRect.height; + return true; + } + } + return false; + } - private void processButtonsBarVisibility() { - if (mousePoint.y < 1) { - cancelHideExecutor(); - // show buttons bar after delay - if (! buttonsBar.isVisible && (null == futureForShow || futureForShow.isDone())) { - futureForShow = scheduler.schedule(new Runnable() { - @Override - public void run() { - showButtonsBar(); - } - }, SHOW_HIDE_BUTTONS_BAR_DELAY_IN_MILLS, TimeUnit.MILLISECONDS); - } - } else { - cancelShowExecutor(); - } - if (buttonsBar.isVisible && mousePoint.y <= buttonsBar.getHeight()) { - cancelHideExecutor(); - } - if (buttonsBar.isVisible && mousePoint.y > buttonsBar.getHeight()) { - // hide buttons bar after delay - if (null == futureForHide || futureForHide.isDone()) { - futureForHide = scheduler.schedule(new Runnable() { - @Override - public void run() { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - setButtonsBarVisibleFS(false); - SwingViewerWindow.this.frame.validate(); - } - }); - } - }, SHOW_HIDE_BUTTONS_BAR_DELAY_IN_MILLS, TimeUnit.MILLISECONDS); - } - } - } + private void processButtonsBarVisibility() { + if (mousePoint.y < 1) { + cancelHideExecutor(); + // show buttons bar after delay + if (! buttonsBar.isVisible && (null == futureForShow || futureForShow.isDone())) { + futureForShow = scheduler.schedule(new Runnable() { + @Override + public void run() { + showButtonsBar(); + } + }, SHOW_HIDE_BUTTONS_BAR_DELAY_IN_MILLS, TimeUnit.MILLISECONDS); + } + } else { + cancelShowExecutor(); + } + if (buttonsBar.isVisible && mousePoint.y <= buttonsBar.getHeight()) { + cancelHideExecutor(); + } + if (buttonsBar.isVisible && mousePoint.y > buttonsBar.getHeight()) { + // hide buttons bar after delay + if (null == futureForHide || futureForHide.isDone()) { + futureForHide = scheduler.schedule(new Runnable() { + @Override + public void run() { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + setButtonsBarVisibleFS(false); + SwingViewerWindow.this.frame.validate(); + } + }); + } + }, SHOW_HIDE_BUTTONS_BAR_DELAY_IN_MILLS, TimeUnit.MILLISECONDS); + } + } + } - private void cancelHideExecutor() { - cancelExecutor(futureForHide); - } - private void cancelShowExecutor() { - cancelExecutor(futureForShow); - } + private void cancelHideExecutor() { + cancelExecutor(futureForHide); + } + private void cancelShowExecutor() { + cancelExecutor(futureForShow); + } - private void cancelExecutor(ScheduledFuture future) { - if (future != null && ! future.isDone()) { - future.cancel(true); - } - } + private void cancelExecutor(ScheduledFuture future) { + if (future != null && ! future.isDone()) { + future.cancel(true); + } + } - private void makeScrolling(final Point viewPosition) { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - scroller.getViewport().setViewPosition(viewPosition); - final Point mousePosition = surface.getMousePosition(); - if (mousePosition != null) { - final MouseEvent mouseEvent = new MouseEvent(frame, 0, 0, 0, - mousePosition.x, mousePosition.y, 0, false); - for (MouseMotionListener mml : surface.getMouseMotionListeners()) { - mml.mouseMoved(mouseEvent); - } - } - } - }); - } + private void makeScrolling(final Point viewPosition) { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + scroller.getViewport().setViewPosition(viewPosition); + final Point mousePosition = surface.getMousePosition(); + if (mousePosition != null) { + final MouseEvent mouseEvent = new MouseEvent(frame, 0, 0, 0, + mousePosition.x, mousePosition.y, 0, false); + for (MouseMotionListener mml : surface.getMouseMotionListeners()) { + mml.mouseMoved(mouseEvent); + } + } + } + }); + } - private void showButtonsBar() { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - setButtonsBarVisibleFS(true); - } - }); - } - } + private void showButtonsBar() { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + setButtonsBarVisibleFS(true); + } + }); + } + } protected void createButtonsPanel(final ProtocolContext context, Container container) { final SwingViewerWindow.ButtonsBar buttonsBar = createButtonsBar(); @@ -823,55 +823,40 @@ JToggleButton ctrlButton = buttonsBar.createToggleButton("ctrl", "Ctrl Lock", new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - if (e.getStateChange() == ItemEvent.SELECTED) { - context.sendMessage(new KeyEventMessage(Keymap.K_CTRL_LEFT, true)); - } else { - context.sendMessage(new KeyEventMessage(Keymap.K_CTRL_LEFT, false)); - } - setSurfaceToHandleKbdFocus(); - } - }); + @Override + public void itemStateChanged(ItemEvent e) { + if (e.getStateChange() == ItemEvent.SELECTED) { + context.sendMessage(new KeyEventMessage(Keymap.K_CTRL_LEFT, true)); + } else { + context.sendMessage(new KeyEventMessage(Keymap.K_CTRL_LEFT, false)); + } + setSurfaceToHandleKbdFocus(); + } + }); kbdButtons.add(ctrlButton); JToggleButton altButton = buttonsBar.createToggleButton("alt", "Alt Lock", new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - if (e.getStateChange() == ItemEvent.SELECTED) { - context.sendMessage(new KeyEventMessage(Keymap.K_ALT_LEFT, true)); - } else { - context.sendMessage(new KeyEventMessage(Keymap.K_ALT_LEFT, false)); - } - setSurfaceToHandleKbdFocus(); - } - }); + @Override + public void itemStateChanged(ItemEvent e) { + if (e.getStateChange() == ItemEvent.SELECTED) { + context.sendMessage(new KeyEventMessage(Keymap.K_ALT_LEFT, true)); + } else { + context.sendMessage(new KeyEventMessage(Keymap.K_ALT_LEFT, false)); + } + setSurfaceToHandleKbdFocus(); + } + }); kbdButtons.add(altButton); JButton screenButton = buttonsBar.createButton("share", "Share my screen", new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - + @Override + public void actionPerformed(ActionEvent e) { ArrayList rectangles = viewer.getScreenRectangles(); int leftScreenNumber = 0; - int rightScreenNumber = 1; int singleWidth = (int) rectangles.get(leftScreenNumber).getWidth(); int singleHeight = (int) rectangles.get(leftScreenNumber).getHeight(); viewer.getRfb().setSingleDisplaySize(singleWidth, singleHeight); - /* - // show share sound dialog. - boolean setShareSound = presenter.showShareSoundDialog(); - if (setShareSound) { - try { - shareSound(viewer.getRfb().isTreeManager(), context); - } catch (SocketException e1) { - e1.printStackTrace(); - } catch (UnknownHostException e1) { - e1.printStackTrace(); - } - } - */ if (viewer.getRfb().isTreeManager()) { changeVncServer(viewer, singleWidth, singleHeight, viewer.getRfb().getId()); return; @@ -882,20 +867,10 @@ }); kbdButtons.add(screenButton); - /* - final JButton soundButton = buttonsBar.createButton("share-sound", "Shara Sound", new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - // 再生するかどうかボタンにしよう - } - }); - kbdButtons.add(soundButton); - */ - final JButton adjustHdSizeButton = buttonsBar.createButton("adjust-hd", "Adjust Hd Size", new ActionListener() { @Override public void actionPerformed(ActionEvent e) { -// adjustHdSizeButton.setSelected(false); + // adjustHdSizeButton.setSelected(false); int singleWidth = viewer.getRfb().getSingleWidth(); int singleHeight = viewer.getRfb().getSingleHeight(); if (viewer.getRfb().isTreeManager()) { @@ -934,9 +909,9 @@ modifierButtonListener.addButton(KeyEvent.VK_ALT, altButton); surface.addModifierListener(modifierButtonListener); -// JButton fileTransferButton = new JButton(Utils.getButtonIcon("file-transfer")); -// fileTransferButton.setMargin(buttonsMargin); -// buttonBar.add(fileTransferButton); + // JButton fileTransferButton = new JButton(Utils.getButtonIcon("file-transfer")); + // fileTransferButton.setMargin(buttonsMargin); + // buttonBar.add(fileTransferButton); buttonsBar.createStrut(); @@ -1010,16 +985,16 @@ message.append("Host: ").append(connectionString).append("\n\n"); message.append("Desktop geometry: ") - .append(String.valueOf(surface.getWidth())) - .append(" \u00D7 ") // multiplication sign - .append(String.valueOf(surface.getHeight())).append("\n"); + .append(String.valueOf(surface.getWidth())) + .append(" \u00D7 ") // multiplication sign + .append(String.valueOf(surface.getHeight())).append("\n"); message.append("Color format: ") - .append(String.valueOf(Math.round(Math.pow(2, workingProtocol.getPixelFormat().depth)))) - .append(" colors (") - .append(String.valueOf(workingProtocol.getPixelFormat().depth)) - .append(" bits)\n"); + .append(String.valueOf(Math.round(Math.pow(2, workingProtocol.getPixelFormat().depth)))) + .append(" colors (") + .append(String.valueOf(workingProtocol.getPixelFormat().depth)) + .append(" bits)\n"); message.append("Current protocol version: ") - .append(workingProtocol.getProtocolVersion()); + .append(workingProtocol.getProtocolVersion()); if (workingProtocol.isTight()) { message.append("tight"); } @@ -1031,9 +1006,9 @@ infoDialog.setVisible(true); } - public void setVisible(boolean b) { - frame.setVisible(b); - } + public void setVisible(boolean b) { + frame.setVisible(b); + } private void changeVncServer(ViewerInterface viewer, int width, int height, short id) { String localhost = "127.0.0.1";