annotate src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java @ 407:7cd416d6a152

Show port Error dialog to server change client
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Mon, 16 Nov 2015 19:05:19 +0900
parents 5b496bef0b98
children f6a828dd37b0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 // Copyright (C) 2010, 2011, 2012, 2013 GlavSoft LLC.
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 // All rights reserved.
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 //
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 //-------------------------------------------------------------------------
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 // This file is part of the TightVNC software. Please visit our Web site:
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 //
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 // http://www.tightvnc.com/
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 //
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 // This program is free software; you can redistribute it and/or modify
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 // it under the terms of the GNU General Public License as published by
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 // the Free Software Foundation; either version 2 of the License, or
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 // (at your option) any later version.
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 //
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 // This program is distributed in the hope that it will be useful,
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 // GNU General Public License for more details.
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 //
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 // You should have received a copy of the GNU General Public License along
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 // with this program; if not, write to the Free Software Foundation, Inc.,
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 //-------------------------------------------------------------------------
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 //
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 package com.glavsoft.viewer;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 import com.glavsoft.rfb.protocol.ProtocolSettings;
395
704ac9e79e25 Call startVNCConnectionWithSocket for directedServerChangeReqeust
innparusu
parents: 389
diff changeset
28 import com.glavsoft.transport.Reader;
704ac9e79e25 Call startVNCConnectionWithSocket for directedServerChangeReqeust
innparusu
parents: 389
diff changeset
29 import com.glavsoft.transport.Writer;
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 import com.glavsoft.utils.Strings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 import com.glavsoft.viewer.mvp.Presenter;
368
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
32 import com.glavsoft.viewer.mvp.View;
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
33 import com.glavsoft.viewer.swing.*;
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 import com.glavsoft.viewer.swing.gui.ConnectionView;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 import com.glavsoft.viewer.swing.gui.ConnectionsHistory;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 import java.net.Socket;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 import java.util.logging.Logger;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 /**
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 * @author dime at tightvnc.com
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 */
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 public class ConnectionPresenter extends Presenter {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 public static final String PROPERTY_HOST_NAME = "HostName";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 public static final String PROPERTY_RFB_PORT_NUMBER = "PortNumber";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 public static final String PROPERTY_USE_SSH = "UseSsh";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 private static final String PROPERTY_SSH_USER_NAME = "SshUserName";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 private static final String PROPERTY_SSH_HOST_NAME = "SshHostName";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 private static final String PROPERTY_SSH_PORT_NUMBER = "SshPortNumber";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 private static final String PROPERTY_STATUS_BAR_MESSAGE = "Message";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 private static final String PROPERTY_CONNECTION_IN_PROGRESS = "ConnectionInProgress";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 public static final String CONNECTION_PARAMS_MODEL = "ConnectionParamsModel";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 public static final String CONNECTIONS_HISTORY_MODEL = "ConnectionsHistoryModel";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 public static final String CONNECTION_VIEW = "ConnectionView";
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 private final boolean hasSshSupport;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 private final boolean allowInteractive;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 private ConnectionsHistory connectionsHistory;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 private ProtocolSettings rfbSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 private UiSettings uiSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 private final Logger logger;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 private RfbConnectionWorker rfbConnectionWorker;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 private AbstractConnectionWorkerFactory connectionWorkerFactory;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 private NetworkConnectionWorker networkConnectionWorker;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 private boolean needReconnection = true;
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 57
diff changeset
66 private boolean isTreeVNC = false;
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
67 private boolean cuiVersion;
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
68 private boolean noConnection = false;
369
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
69 public ViewerInterface viewer;
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
70 private ConnectionParams connectionParams;
385
b0be610bc4db Set reconnectingID
innparusu
parents: 384
diff changeset
71 private short reconnectingId = -1;
369
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
72
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
73 public short getReconnectingId() {
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
74 return reconnectingId;
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
75 }
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
76
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
77 public void setReconnectingId(short reconnectingId) {
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
78 this.reconnectingId = reconnectingId;
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
79 }
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
80
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
81 public ConnectionParams getConnectionParams() {
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
82 return connectionParams;
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
83 }
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
84
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
85 public void setConnectionParams(ConnectionParams connectionParams) {
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
86 this.connectionParams = connectionParams;
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
87 }
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 public ConnectionPresenter(boolean hasSshSupport, boolean allowInteractive) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 this.hasSshSupport = hasSshSupport;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 this.allowInteractive = allowInteractive;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 logger = Logger.getLogger(getClass().getName());
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94
395
704ac9e79e25 Call startVNCConnectionWithSocket for directedServerChangeReqeust
innparusu
parents: 389
diff changeset
95 public void startConnection(ProtocolSettings rfbSettings, UiSettings uiSettings, int paramSettingsMask, boolean exchangeSocket, Reader is, Writer os)
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 throws IllegalStateException {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 this.rfbSettings = rfbSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 this.uiSettings = uiSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 if ( ! isModelRegisteredByName(CONNECTION_PARAMS_MODEL)) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 throw new IllegalStateException("No Connection Params model added.");
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 }
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
102
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 57
diff changeset
103 if(!isTreeVNC) {
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
104 connectionsHistory = new ConnectionsHistory();
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
105 addModel(CONNECTIONS_HISTORY_MODEL, connectionsHistory);
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
106 syncModels(paramSettingsMask);
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 57
diff changeset
107 }
383
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
108
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
109 if (exchangeSocket) {
395
704ac9e79e25 Call startVNCConnectionWithSocket for directedServerChangeReqeust
innparusu
parents: 389
diff changeset
110 rfbConnectionWorker.startVNCConnectionWithSocket(is, os);
383
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
111 return;
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
112 }
7d55adebcacb impliment changeDirectConnectedWithSocket
kkb
parents: 374
diff changeset
113
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 if (allowInteractive) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 show();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 populate();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 } else {
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
118 if (!noConnection)
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
119 connect();
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 }
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
122
85
432dac0b9dae delete Share Screen pop up in display mode.
sugi
parents: 80
diff changeset
123 public void setNoConnection(boolean c){
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
124 noConnection = c;
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
125 needReconnection = false;
85
432dac0b9dae delete Share Screen pop up in display mode.
sugi
parents: 80
diff changeset
126 }
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 public void setUseSsh(boolean useSsh) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 setModelProperty(PROPERTY_USE_SSH, useSsh, boolean.class);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 public void submitConnection(String hostName) throws WrongParameterException {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 if (Strings.isTrimmedEmpty(hostName)) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 throw new WrongParameterException("Host name is empty", PROPERTY_HOST_NAME);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 setModelProperty(PROPERTY_HOST_NAME, hostName);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 final String rfbPort = (String) getViewPropertyOrNull(PROPERTY_RFB_PORT_NUMBER);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 setModelProperty(PROPERTY_RFB_PORT_NUMBER, rfbPort);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 try {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 throwPossiblyHappenedException();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 } catch (Throwable e) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 throw new WrongParameterException("Wrong Port", PROPERTY_HOST_NAME);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 setSshOptions();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 saveHistory();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 populateFrom(CONNECTIONS_HISTORY_MODEL);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 connect();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
152
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 public void saveHistory() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 final ConnectionParams cp = (ConnectionParams) getModel(CONNECTION_PARAMS_MODEL);
396
b344444aca13 Add RederingForSpeed option to OptionsDialog
innparusu
parents: 395
diff changeset
155 if (cp == null)
b344444aca13 Add RederingForSpeed option to OptionsDialog
innparusu
parents: 395
diff changeset
156 return;
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 connectionsHistory.reorder(cp, rfbSettings, uiSettings);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 connectionsHistory.save();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 private void connect() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 final ConnectionParams connectionParams = (ConnectionParams) getModel(CONNECTION_PARAMS_MODEL);
66
84ad879891e9 dont move
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 65
diff changeset
163 if(!cuiVersion)
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
164 networkConnectionWorker = connectionWorkerFactory.createNetworkConnectionWorker();
384
0bbfc23ef8c4 implements exchangeDirectConnectedServer method
innparusu
parents: 383
diff changeset
165 else
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
166 networkConnectionWorker = new SwingNetworkConnectionWorker(null);
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 networkConnectionWorker.setConnectionParams(connectionParams);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 networkConnectionWorker.setPresenter(this);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 networkConnectionWorker.setHasSshSupport(hasSshSupport);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 networkConnectionWorker.execute();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 public void connectionFailed() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 cancelConnection();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 if (allowInteractive) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 enableConnectionDialog();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 } else {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 connect();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 public void connectionCancelled() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 cancelConnection();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 if (allowInteractive) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 enableConnectionDialog();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 } else {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 final ConnectionView connectionView = (ConnectionView) getView(CONNECTION_VIEW);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 if (connectionView != null) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 connectionView.closeApp();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 private void enableConnectionDialog() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 setViewProperty(PROPERTY_CONNECTION_IN_PROGRESS, false, boolean.class);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
197
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 public void successfulNetworkConnection(Socket workingSocket) { // EDT
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 logger.info("Connected");
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 showMessage("Connected");
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 rfbConnectionWorker = connectionWorkerFactory.createRfbConnectionWorker();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 rfbConnectionWorker.setWorkingSocket(workingSocket);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 rfbConnectionWorker.setRfbSettings(rfbSettings);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 rfbConnectionWorker.setUiSettings(uiSettings);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 rfbConnectionWorker.setConnectionString(
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 getModelProperty(PROPERTY_HOST_NAME) + ":" + getModelProperty(PROPERTY_RFB_PORT_NUMBER));
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 rfbConnectionWorker.execute();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 public void successfulRfbConnection() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 enableConnectionDialog();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 getView(CONNECTION_VIEW).closeView();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 public void cancelConnection() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 if (networkConnectionWorker != null) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 networkConnectionWorker.cancel();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 if (rfbConnectionWorker != null) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 rfbConnectionWorker.cancel();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 public void showConnectionErrorDialog(String message) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 final ConnectionView connectionView = (ConnectionView) getView(CONNECTION_VIEW);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 if (connectionView != null) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 connectionView.showConnectionErrorDialog(message);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
228 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230
407
7cd416d6a152 Show port Error dialog to server change client
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 397
diff changeset
231 public void showPortErrorDialog(String message) {
7cd416d6a152 Show port Error dialog to server change client
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 397
diff changeset
232 final ConnectionView connectionView = (ConnectionView) getView(CONNECTION_VIEW);
7cd416d6a152 Show port Error dialog to server change client
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 397
diff changeset
233 if (connectionView != null) {
7cd416d6a152 Show port Error dialog to server change client
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 397
diff changeset
234 connectionView.showErrorDialog(message);
7cd416d6a152 Show port Error dialog to server change client
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 397
diff changeset
235 }
7cd416d6a152 Show port Error dialog to server change client
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 397
diff changeset
236 }
7cd416d6a152 Show port Error dialog to server change client
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 397
diff changeset
237
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 public void showReconnectDialog(String errorTitle, String errorMessage) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 final ConnectionView connectionView = (ConnectionView) getView(CONNECTION_VIEW);
397
5b496bef0b98 Disable Reconnection Panel
innparusu
parents: 396
diff changeset
240 if (connectionView != null && needReconnection) {
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 connectionView.showReconnectDialog(errorTitle, errorMessage);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
244
296
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
245 public boolean showShareSoundDialog() {
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
246 final ConnectionView connectionView = (ConnectionView) getView(CONNECTION_VIEW);
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
247 boolean shareSound = false;
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
248 if (connectionView != null) {
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
249 shareSound = connectionView.showShareSoundDialog();
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
250 }
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
251 return shareSound;
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
252 }
966331aef4b3 add share sound dialog when screen change request.
oc
parents: 224
diff changeset
253
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 private void setSshOptions() {
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
255 if (hasSshSupport) {
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 try {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 final boolean useSsh = (Boolean)getViewProperty(PROPERTY_USE_SSH);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 setModelProperty(PROPERTY_USE_SSH, useSsh, boolean.class);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 } catch (PropertyNotFoundException e) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 //nop
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 setModelProperty(PROPERTY_SSH_USER_NAME, getViewPropertyOrNull(PROPERTY_SSH_USER_NAME));
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 setModelProperty(PROPERTY_SSH_HOST_NAME, getViewPropertyOrNull(PROPERTY_SSH_HOST_NAME));
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 setModelProperty(PROPERTY_SSH_PORT_NUMBER, getViewPropertyOrNull(PROPERTY_SSH_PORT_NUMBER));
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 setViewProperty(PROPERTY_SSH_PORT_NUMBER, getModelProperty(PROPERTY_SSH_PORT_NUMBER));
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 }
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
267 }
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
268
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 private void syncModels(int paramSettingsMask) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 final ConnectionParams cp = (ConnectionParams) getModel(CONNECTION_PARAMS_MODEL);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 final ConnectionParams mostSuitableConnection = connectionsHistory.getMostSuitableConnection(cp);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 cp.completeEmptyFieldsFrom(mostSuitableConnection);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 rfbSettings.copyDataFrom(connectionsHistory.getProtocolSettings(mostSuitableConnection), paramSettingsMask & 0xffff);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 uiSettings.copyDataFrom(connectionsHistory.getUiSettingsData(mostSuitableConnection), (paramSettingsMask >> 16) & 0xffff);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 if ( ! cp.isHostNameEmpty()) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 connectionsHistory.reorder(cp, rfbSettings, uiSettings);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
278
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
279 // protocolSettings.addListener(connectionsHistory);
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
280 // uiSettings.addListener(connectionsHistory);
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
282
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 public void populateFromHistoryItem(ConnectionParams connectionParams) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 setModelProperty(PROPERTY_HOST_NAME, connectionParams.hostName);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
285 setModelProperty(PROPERTY_RFB_PORT_NUMBER, connectionParams.getPortNumber(), int.class);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 setModelProperty(PROPERTY_USE_SSH, connectionParams.useSsh(), boolean.class);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 setModelProperty(PROPERTY_SSH_HOST_NAME, connectionParams.sshHostName);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 setModelProperty(PROPERTY_SSH_PORT_NUMBER, connectionParams.getSshPortNumber(), int.class);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 setModelProperty(PROPERTY_SSH_USER_NAME, connectionParams.sshUserName);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 populateFrom(CONNECTION_PARAMS_MODEL);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 rfbSettings.copyDataFrom(connectionsHistory.getProtocolSettings(connectionParams));
407
7cd416d6a152 Show port Error dialog to server change client
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 397
diff changeset
292 uiSettings.copyDataFrom(connectionsHistory.getUiSettingsData(connectionParams));
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 public void clearHistory() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 connectionsHistory.clear();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 connectionsHistory.reorder((ConnectionParams) getModel(CONNECTION_PARAMS_MODEL), rfbSettings, uiSettings);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 populateFrom(CONNECTIONS_HISTORY_MODEL);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 clearMessage();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
301
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 public void showMessage(String message) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 setViewProperty(PROPERTY_STATUS_BAR_MESSAGE, message);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 public void clearMessage() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307 showMessage("");
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
308 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
309
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 public void setConnectionWorkerFactory(AbstractConnectionWorkerFactory connectionWorkerFactory) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 this.connectionWorkerFactory = connectionWorkerFactory;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
313
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 public void reconnect(String predefinedPassword) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 connectionWorkerFactory.setPredefinedPassword(predefinedPassword);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 if (allowInteractive) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 clearMessage();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 enableConnectionDialog();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 show();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
320 populate();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321 } else if (needReconnection) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 connect();
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
325
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
326 public void clearPredefinedPassword() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 connectionWorkerFactory.setPredefinedPassword(null);
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
330 public UiSettings getUiSettings() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
331 return uiSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
332 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
333
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 public ProtocolSettings getRfbSettings() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
335 return rfbSettings;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
336 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
337
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 public boolean needReconnection() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 return needReconnection;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
340 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
341
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 public void setNeedReconnection(boolean need) {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 needReconnection = need;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 }
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 public boolean allowInteractive() {
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 return allowInteractive;
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 }
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
349
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 57
diff changeset
350 public void setIsTreeVNC(boolean flag) {
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
351 isTreeVNC = flag;
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
352 }
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
353
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
354 public void setCuiVersion(boolean b) {
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
355 cuiVersion = b;
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 57
diff changeset
356 }
65
ffd7537cebfc cuiversion
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 60
diff changeset
357
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
358 public SwingViewerWindow getViewer() {
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
359 if (rfbConnectionWorker != null) {
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
360 return rfbConnectionWorker.getViewer();
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
361 }
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
362 return null;
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
363 }
192
aa00e4b2fc27 fix root viewer.
oc
parents: 92
diff changeset
364
224
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
365 public Socket getSocket() {
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
366 return rfbConnectionWorker.getSocket();
ccbc3a951961 fix indent, update mm.
oc
parents: 202
diff changeset
367 }
368
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
368
395
704ac9e79e25 Call startVNCConnectionWithSocket for directedServerChangeReqeust
innparusu
parents: 389
diff changeset
369 public void startVNCConnection(Viewer viewer, boolean exchangeSocket, Reader is, Writer os) {
369
2d01ec1c02d2 Fix ReConnectingFlag
innparusu
parents: 368
diff changeset
370 this.viewer = viewer;
368
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
371 final boolean hasJsch = viewer.checkJsch();
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
372 ConnectionView connectionView = new ConnectionView(
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
373 viewer, // appWindowListener
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
374 this, hasJsch);
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
375 addView(CONNECTION_VIEW, connectionView);
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
376 if (viewer.isApplet) {
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
377 addView("AppletStatusStringView", new View() {
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
378 @Override
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
379 public void showView() { /*nop*/ }
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
380
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
381 @Override
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
382 public void closeView() { /*nop*/ }
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
383 });
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
384 }
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
385
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
386 SwingViewerWindowFactory viewerWindowFactory = new SwingViewerWindowFactory(viewer.isSeparateFrame, viewer.isApplet, viewer, viewer.width, viewer.height);
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
387
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
388 setConnectionWorkerFactory(
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
389 new SwingConnectionWorkerFactory(connectionView.getFrame(), viewer.passwordFromParams, this, viewerWindowFactory, viewer.myRfb));
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
390 setNeedReconnection(!viewer.noConnection);
395
704ac9e79e25 Call startVNCConnectionWithSocket for directedServerChangeReqeust
innparusu
parents: 389
diff changeset
391 startConnection(viewer.settings, viewer.uiSettings, viewer.paramsMask, exchangeSocket, is, os);
368
b60780e1fafc Add ServerChangeThread to inhelitClients method
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 296
diff changeset
392 }
57
17b702648079 version2.7.2 original version.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
393 }