RemoteControl 1.4.0
What's new:
* Requires HTI Connection 1.4.0 or later to work!
* Feature: New directory browse history dropdown menu in File Transfer mode showing ten recently visited paths.
* Change: Screen capture mode now updates its screen by using screencapture deltas (partial screen captures).
* Change: File Transfer mode toolbar and context menu items reorganized.
Binary file remotecontrol/.DS_Store has changed
--- a/remotecontrol/com.nokia.carbide.extensions.remotecontrol/feature.xml Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.carbide.extensions.remotecontrol/feature.xml Wed Apr 21 11:49:56 2010 +0300
@@ -2,7 +2,7 @@
<feature
id="com.nokia.carbide.extensions.remotecontrol"
label="Carbide.c++ Extensions - Remote Control"
- version="1.3.1"
+ version="1.4.0"
provider-name="Nokia"
plugin="com.nokia.s60tools.remotecontrol">
@@ -11,11 +11,12 @@
</description>
<copyright>
- Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License:: "http://www.eclipse.org/legal/epl-v10.html".
+ Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+All rights reserved. License:: "http://www.eclipse.org/legal/epl-v10.html".
</copyright>
<license url="license.txt">
-Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
All rights reserved.
This component and the accompanying materials are made available
under the terms of "Eclipse Public License v1.0"
@@ -23,16 +24,12 @@
at the URL "http://www.eclipse.org/legal/epl-v10.html".
</license>
- <url>
- <update label="Carbide.c++ Update Site" url="http://tools.ext.nokia.com/updates/carbide22"/>
- <discovery label="Carbide.c++ Update Site" url="http://tools.ext.nokia.com/updates/carbide22"/>
- </url>
<requires>
<import plugin="org.eclipse.ui"/>
<import plugin="org.eclipse.core.runtime"/>
<import plugin="com.nokia.s60tools.util" version="1.1.11" match="greaterOrEqual"/>
- <import plugin="com.nokia.s60tools.hticonnection" version="1.2.0" match="greaterOrEqual"/>
+ <import plugin="com.nokia.s60tools.hticonnection" version="1.4.0" match="greaterOrEqual"/>
</requires>
<plugin
Binary file remotecontrol/com.nokia.s60tools.remotecontrol.help/.DS_Store has changed
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/META-INF/MANIFEST.MF Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/META-INF/MANIFEST.MF Wed Apr 21 11:49:56 2010 +0300
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Carbide.c++ Extensions - Remote Control Help Plug-in
Bundle-SymbolicName: com.nokia.s60tools.remotecontrol.help;singleton:=true
-Bundle-Version: 1.3.1
+Bundle-Version: 1.4.0
Bundle-Vendor: Nokia
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/about.html Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/about.html Wed Apr 21 11:49:56 2010 +0300
@@ -1,17 +1,20 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
-</head>
-<body>
-
-<h2>About This Content</h2>
-<p>August 10, 2009</p>
-
-<h3>Copyright</h3>
-<p>Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.<br>
-License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></p>
-
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+ <title>About</title>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body>
+<h2>About This Content</h2>
+
+<p>March 26, 2010</p>
+
+<h3>Copyright</h3>
+
+<p>Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights
+reserved.<br>
+License: <a
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</p>
+</body>
+</html>
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/book.css Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/book.css Wed Apr 21 11:49:56 2010 +0300
@@ -1,185 +1,184 @@
-/*
- Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
- License: http://www.eclipse.org/legal/epl-v10.html.
-*/
-
-/* Add whitespace around entire display to avoid crowding edges of view */
-/* 20070523-Removed top margin size to close gap between location breadcrumbs and page title */
-html {
- margin: 0px 10px 10px 10px;
- }
-
-/* Set default font to serif style, 12-pt and plain */
-body, p, table {
- font-family: Georgia, "Times New Roman", Times, serif;
- font-size: 12px;
- font-weight: normal;
-}
-
-/* Use sans-serif fonts for all title styles */
-h1, h2, h3, h4, h5, h6, strong, em {
- font-family: Helvetica, sans-serif;
- color: #000000;
- }
-
-h1 { font-size:20px }
-h2 { font-size:18px }
-h3 { font-size:16px }
-h4 { font-size:14px }
-h5 { font-size:12px }
-h6 { font-size:10px }
-
-/* For headlines at the top of a view, add space */
-/* 20070522-added gradiant to background to update visual style of docs */
-h1, h2, h3 {
- background-image: url(html/images/green_fade_left_68_165_28.png);
- background-repeat: no-repeat;
- padding:10px 0px 10px 12px;
- }
-
-li {
- margin-bottom:8px;
- margin-top:8px;
- }
-
-/* Footer includes space and a gray line above the company logo */
-#footer {
- padding-top:10px;
- margin-top:20px;
- border-top:1px solid #999;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- color: #03C;
- }
-
-.listing {
- font-family: "Courier New", Courier, mono;
- color: #009;
- background-color: #EEE;
- padding: 10px 0px;
- margin: 10px 0px;
- }
-
-.code, pre {
- font-family: "Courier New", Courier, mono;
- font-size: 11px;
- color: #333;
- }
-
-.step {
- /* background-color: #EEE; */
- /* margin: 10px 0px; */
- color: #333;
- border-bottom:2px solid #EEE;
- }
-
-.substep {
- background-color: #EEE;
- }
-
-
-/* Figure/Listing/Table titles are centered and gray */
-p.table {
- color: #999;
- font-weight: bold;
- padding-top: 5px;
- }
-
-table {
- border: solid #999 1px;
- table-layout: auto;
- font-size: 12px;
- }
-
-td, th {
- border: solid #999 1px;
- padding: 5px;
- vertical-align:top;
- }
-
-/* 20070522-replaced gray with green background to match gradiant color for title */
-th {
- background-color:#ACD79B;
- /* background-color:#999;
- color:#FFF; */
- }
-
-div.ol.p {
- margin-left: 3em;
- }
-
-/* Make all ordered/unordered list items appear in bold gray */
-div ol > li, div ul > li {
- font-weight:bold;
- color: #333;
- }
-
-div ol > p, div ul > p, div li > p {
- font-weight:normal;
- }
-
-/* Make all H4 and H5 items appear in bold gray against a light green background */
-div h5, div h4 {
- padding:5px 0px 5px 12px;
- background-color:#ECFBEA;
- /* background-color: #EEE; */
- font-weight:bold;
- color: #333;
- }
-
-
-/* Notes stand out using a light top & bottom borders with dark gray text */
-p.note {
- /* color: #03C; */
- /* background-color: #FFFF99; */
- color: #333;
- padding: 5px;
- margin-left: 1em;
- margin-right: 1em;
- border-top: solid #BBB thin;
- border-bottom: solid #BBB thin;
- }
-
-
-/* Figure/Listing/Table titles are centered and gray */
-p.figure {
- color: #333;
- text-align: center;
- font-weight: bold;
- }
-
-/* highly visible red background and white text for things that need fixing before release */
-/* SHOULD NOT BE PRESENT IN RELEASED PRODUCTS */
-.fix {
- background-color: red;
- font-weight: bold;
- color: white;
- }
-
-.question {
- font-style:italic;
- font-weight:bold;
- color: #555;
- }
-
-.titleSmall {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- }
-
-
-.plain {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 12px;
- font-style: normal;
- line-height: normal;
- font-weight: normal;
- font-variant: normal;
- color: #000000;
- text-decoration: none;
- }
-
-a:link { color: #0033CC }
-a:visited { color: #555555 }
-a:hover { color: #0033CC }
-
+/*
+ Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ All rights reserved.
+ License: http://www.eclipse.org/legal/epl-v10.html
+*/
+
+/* Add whitespace around entire display to avoid crowding edges of view */
+/* 20070523-Removed top margin size to close gap between location breadcrumbs and page title */
+html {
+ margin: 2px 10px 10px 10px;
+ }
+
+/* Set default font to serif style, 12-pt and plain */
+body, p, table {
+ font-family: Verdana, Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ font-weight: normal;
+}
+
+/* Use sans-serif fonts for all title styles */
+h1, h2, h3, h4, h5, h6, strong, em {
+ font-family: Verdana, Helvetica, Arial, sans-serif;
+ color: #000000;
+ }
+
+h1 { font-size:20px }
+h2 { font-size:18px }
+h3 { font-size:16px }
+h4 { font-size:14px }
+h5 { font-size:13px }
+h6 { font-size:12px }
+
+/* For headlines at the top of a view, add space */
+/* 20090224-changed green fade to gold header image */
+h1, h2, h3 {
+ background-image: url(html/images/gold_header.png);
+ background-repeat: no-repeat;
+ padding:10px 0px 10px 12px;
+ }
+
+li {
+ margin-bottom:8px;
+ margin-top:8px;
+ }
+
+/* Footer includes space and a gray line above the company logo */
+#footer {
+ padding-top:10px;
+ margin-top:20px;
+ border-top:1px solid #999;
+ font-family: Helvetica, sans-serif;
+ font-size: 11px;
+ color:#333;
+ }
+
+.listing {
+ font-family: "Courier New", Courier, mono;
+ color: #000000;
+ background-color: #FFFFCC;
+ margin: 5px 0px;
+ }
+
+.code, pre {
+ font-family: "Courier New", Courier, mono;
+ font-size: 13px;
+ color: #000000;
+ }
+
+.step {
+ /* background-color: #EEE; */
+ /* margin: 10px 0px; */
+ /* color: #111; */
+ /* border-bottom:2px solid #EEE; */
+ }
+
+.substep {
+ background-color: #EEE;
+ }
+
+
+/* Figure/Listing/Table titles are centered and gray */
+p.table {
+ color: #999;
+ font-weight: bold;
+ padding-top: 5px;
+ }
+
+table {
+ border: solid #999 1px;
+ table-layout: auto;
+ font-size: 13px;
+ }
+
+td, th {
+ border: solid #999 1px;
+ padding: 5px;
+ vertical-align:top;
+ }
+
+/* 20070522-replaced gray with green background to match gradiant color for title */
+th {
+ background-color:#FFC550; /* background-color:#acd79b;
+ background-color:#999;
+ color:#FFF; */
+ }
+
+div.ol.p {
+ margin-left: 3em;
+ }
+
+/* Make all ordered/unordered list items appear in bold gray */
+div ol > li, div ul > li {
+ font-weight:bold;
+ color: #333;
+ }
+
+div ol > p, div ul > p, div li > p {
+ font-weight:normal;
+ }
+
+/* Make all H4 and H5 items appear in bold gray against a light green background */
+div h5, div h4 {
+ padding:5px 0px 5px 12px;
+ background-color:#FDCB2F;
+ /* background-color: #EEE; */
+ font-weight:bold;
+ color: #000000;
+ }
+
+
+/* Notes stand out using a light top & bottom borders with dark gray text */
+p.note {
+ /* color: #03C; */
+ /* background-color: #FFFF99; */
+ color: #333;
+ padding: 5px;
+ margin-left: 1em;
+ margin-right: 1em;
+ border-top: solid #BBB thin;
+ border-bottom: solid #BBB thin;
+ }
+
+
+/* Figure/Listing/Table titles are centered and gray */
+p.figure {
+ color: #333;
+ text-align: center;
+ font-weight: bold;
+ }
+
+/* highly visible red background and white text for things that need fixing before release */
+/* SHOULD NOT BE PRESENT IN RELEASED PRODUCTS */
+.fix {
+ background-color: red;
+ font-weight: bold;
+ color: white;
+ }
+
+.question {
+ font-style:italic;
+ font-weight:bold;
+ color: #555;
+ }
+
+.titleSmall {
+ font-family: Helvetica, sans-serif;
+ font-size: 11px;
+ }
+
+
+.plain {
+ font-family: Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: normal;
+ line-height: normal;
+ font-weight: normal;
+ font-variant: normal;
+ color: #000000;
+ text-decoration: none;
+ }
+
+a:link { color: #0033CC }
+a:visited { color: #555555 }
+a:hover { color: #0033CC }
Binary file remotecontrol/com.nokia.s60tools.remotecontrol.help/html/.DS_Store has changed
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/concepts/concepts.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/concepts/concepts.htm Wed Apr 21 11:49:56 2010 +0300
@@ -17,7 +17,7 @@
<li><a href="context_menus.htm">Dynamic context menus</a></li>
</ul>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/concepts/context_menus.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/concepts/context_menus.htm Wed Apr 21 11:49:56 2010 +0300
@@ -30,7 +30,7 @@
<li><a href="../tasks/transferring_files.htm">Transferring files with Remote Control</a></li>
</ul>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/concepts/file_transfer_mode.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/concepts/file_transfer_mode.htm Wed Apr 21 11:49:56 2010 +0300
@@ -17,7 +17,7 @@
<li><a href="../tasks/transferring_files.htm">Transferring files with Remote Control.</a></li>
</ul>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
Binary file remotecontrol/com.nokia.s60tools.remotecontrol.help/html/concepts/images/context_menu_file.png has changed
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/concepts/screen_capture_mode.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/concepts/screen_capture_mode.htm Wed Apr 21 11:49:56 2010 +0300
@@ -17,7 +17,7 @@
<li><a href="../tasks/saving_screenshots.htm">Saving screenshots</a></li>
</ul>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/concepts/touch_ui.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/concepts/touch_ui.htm Wed Apr 21 11:49:56 2010 +0300
@@ -9,7 +9,7 @@
<h2>Touch User Interface</h2>
<p>The <b>Screen Capture</b> mode supports tapping and dragging the screen with a mouse if you are connected to a device that supports the touch user interface.</p><p>Note that there is a delay in the device screen refresh. If you tap or drag longer than 2 seconds, you will be notified about this.</p>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/gettingstarted/GS_index.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/gettingstarted/GS_index.htm Wed Apr 21 11:49:56 2010 +0300
@@ -15,7 +15,7 @@
<li><a href="walk_through.htm">Basic walk-through</a></li>
</ul>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/gettingstarted/overview.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/gettingstarted/overview.htm Wed Apr 21 11:49:56 2010 +0300
@@ -10,7 +10,7 @@
<h2>Overview</h2>
<p>The Remote Control Carbide.c++ Extension provides an easy way of sharing a device screen on a PC and controlling a device with a PC. Remote Control uses the HTI Connection service for communicating between Carbide.c++ and device or an emulator.</p>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/gettingstarted/walk_through.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/gettingstarted/walk_through.htm Wed Apr 21 11:49:56 2010 +0300
@@ -24,7 +24,7 @@
<li><a href="../tasks/setting_preferences.htm">Setting Remote Control preferences</a></li>
</ul>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
Binary file remotecontrol/com.nokia.s60tools.remotecontrol.help/html/images/Thumbs.db has changed
Binary file remotecontrol/com.nokia.s60tools.remotecontrol.help/html/images/about_cpp.png has changed
Binary file remotecontrol/com.nokia.s60tools.remotecontrol.help/html/images/background_carbide.jpg has changed
Binary file remotecontrol/com.nokia.s60tools.remotecontrol.help/html/images/brandmark_cpp.gif has changed
Binary file remotecontrol/com.nokia.s60tools.remotecontrol.help/html/images/gold_header.png has changed
Binary file remotecontrol/com.nokia.s60tools.remotecontrol.help/html/images/toolbar_filetransfer.png has changed
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/legal.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/legal.htm Wed Apr 21 11:49:56 2010 +0300
@@ -10,11 +10,14 @@
<h3>License Information</h3>
<h5>COPYRIGHTS</h5>
-<p>Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. This component and the accompanying materials are made available under the terms of "Eclipse Public License v1.0" which accompanies this distribution and is available at the URL <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</p>
+<p>Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+This component and the accompanying materials are made available under the terms of "Eclipse Public License v1.0" which
+accompanies this distribution and is available at the URL <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</p>
+
<p>Initial Contributors:<br>
Nokia Corporation - initial contribution</p>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/reference/references.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/reference/references.htm Wed Apr 21 11:49:56 2010 +0300
@@ -14,7 +14,7 @@
<li><a href="toolbar.htm">Toolbar</a></li>
</ul>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/reference/toolbar.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/reference/toolbar.htm Wed Apr 21 11:49:56 2010 +0300
@@ -1,33 +1,35 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
-<title>Toolbar</title>
-<link href="../../book.css" type="text/css" rel="stylesheet">
-</head>
-<body>
-
-<h2>Toolbar</h2>
-<p>The Remote Control toolbar contains the following options:</p>
-
-<h5>Screen Capture mode</h5>
-<img src="../images/toolbar.png">
-<ul>
- <li>Start/Stop taking sequential screenshots</li>
- <li>Save single screenshot</li>
- <li>Preferences</li>
-</ul>
-
-<h5>File Transfer mode</h5>
-<img src="../images/toolbar_filetransfer.png">
-<ul>
- <li>Download</li>
- <li>Download as</li>
- <li>Upload</li>
- <li>Preferences</li>
-</ul>
-
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
-License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+ <title>Toolbar</title>
+ <link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+
+<body>
+<h2>Toolbar</h2>
+
+<p>The Remote Control toolbar contains the following options:</p>
+
+<h5>Screen Capture mode</h5>
+<img src="../images/toolbar.png">
+<ul>
+ <li>Start/Stop taking sequential screenshots</li>
+ <li>Save single screenshot</li>
+ <li>Preferences</li>
+</ul>
+
+<h5>File Transfer mode</h5>
+<img src="../images/toolbar_filetransfer.png">
+<ul>
+ <li>New folder</li>
+ <li>Refresh</li>
+ <li>Preferences</li>
+</ul>
+
+<div id="footer">
+Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights
+reserved. License: <a
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/release_notes.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/release_notes.htm Wed Apr 21 11:49:56 2010 +0300
@@ -1,113 +1,136 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
-<title>Release Notes</title>
-<link href="../book.css" type="text/css" rel="stylesheet">
-</head>
-<body>
-
-<h2>Release Notes</h2>
-<h4>Remote Control – Version 1.3.1</h4>
-<p>Released 10th August 2009</p>
-<ul>
- <li><a href="#description">Product description</a></li>
- <li><a href="#features">Main features</a></li>
- <li><a href="#newfeatures">What's new</a></li>
- <li><a href="#installation">Installation notes</a></li>
- <li><a href="#requirements">System requirements</a></li>
- <li><a href="#compissues">Compatibility issues</a></li>
- <li><a href="#issues">Known issues</a></li>
-</ul>
-
-<h3><a name="description"></a>Product description</h3>
-<p>Remote Control provides an easy way of sharing device screen on a PC and controlling a device with a PC. Remote Control uses the HTI Connection service for communicating between Carbide.c++ and an emulator/device.</p>
-<p> Remote Control can be started either by selecting <b>Carbide > Remote Control</b>, or from <b>Window > Show View > Other... > Carbide Extensions > Remote Control.</b></p>
-
-<h3><a name="features"></a>Main features</h3>
-<ul>
- <li>The File Transfer mode allows to transfer files between PC and a target device.</li>
- <li>The Screen Capture mode allows to take single screen shots.</li>
- <li>The File Transfer mode contains Download as, Download and open, and Refresh commands.</li>
- <li>The user can change the file name when downloading or uploading files.</li>
- <li>Support for touch user interface.</li>
- <li>Support for PC keyboard.</li>
- <li>Support for multiple screenshots.</li>
- <li>Support for virtual keyboards and key shortcut mappings.</li>
-</ul>
-
-<h3><a name="newfeatures"></a>What's new</h3>
-<ul>
- <li>Feature: The File Transfer mode contains Copy, Cut, Paste, and Rename commands.</li>
- <li>Feature: Files and folders can be dragged and dropped to the File Transfer view.</li>
- <li>Change: Modifications required to support Carbide.c++ 2.2</li>
-</ul>
-
-<h3><a name="installation"></a>Installation notes</h3>
-<ul>
- <li>N/A</li>
-</ul>
-
-<h3><a name="requirements"></a>System requirements</h3>
-<p>Basic requirements:</p>
-<ul>
- <li>Windows 2000 or Windows XP.</li>
- <li>Minimum Platform/SDK build PC.</li>
- <li>Normal Platform/SDK build PC.</li>
-</ul>
-<p>Additional requirements:</p>
-<ul>
- <li>HTI Connection is needed for being able to use Remote Connection.</li>
-</ul>
-
-<h3><a name="compissues"></a>Compatibility issues</h3>
-<ul>
- <li>N/A</li>
-</ul>
-
-<h3><a name="issues"></a>Known issues</h3>
-<ul>
- <li>N/A</li>
-</ul>
-
-<h3>Version history</h3>
-
-<h5>Version 1.2.1 – 18th May 2009</h5>
-<ul>
- <li>Feature: The File Transfer mode contains Download as, Download and open, and Refresh commands.</li>
- <li>Feature: The user can change the file name when downloading or uploading files.</li>
- <li>Feature: Support for multiple screenshots.</li>
- <li>Feature: Support for virtual keyboards and key shortcut mappings.</li>
- <li>Feature: Zoom level context menu in the Screen Capture mode</li>
- <li>Feature: The Path field in the File Transfer menu.</li>
- <li>Change: The list of existing drives as well as drive, folder, and file sizes can be retrieved from the device if a compatible version of <b>HTI Framework</b> is used (version 1.88, 1.89, 2.1, or newer).</li>
- <li>Fix: Fixed the issue causing free space field disappear when root-field was emptied.</li>
-</ul>
-
-<h5>Version 1.1.0 – 17th February 2009</h5>
-<ul>
- <li>Feature: The File Transfer mode allows to transfer files between PC and a target device.</li>
- <li>Feature: The Screen Capture mode allows to take single screen shots.</li>
- <li>Feature: Support for touch user interface.</li>
- <li>Feature: Support for PC keyboard.</li>
-</ul>
-
-<h5>Version 1.0.0 – 19th December 2008</h5>
-<p>The first version</p>
-
-<div id="footer">
-Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). <br>
-All rights reserved.<br>
-This component and the accompanying materials are made available <br>
-under the terms of "Eclipse Public License v1.0" <br>
-which accompanies this distribution and is available <br>
-at the URL <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-<br><br>
-Initial Contributors:<br>
-Nokia Corporation - initial contribution
-<br><br>
-Contributors:<br>
-Description:
-</div>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+ <title>Release Notes</title>
+ <link href="../book.css" type="text/css" rel="stylesheet">
+</head>
+
+<body>
+<h2>Release Notes</h2>
+
+<h4>Remote Control – Version 1.4.0</h4>
+
+<p>Released 26th March 2010</p>
+<ul>
+ <li><a href="#description">Product description</a></li>
+ <li><a href="#features">Main features</a></li>
+ <li><a href="#newfeatures">What's new</a></li>
+ <li><a href="#installation">Installation notes</a></li>
+ <li><a href="#requirements">System requirements</a></li>
+ <li><a href="#compissues">Compatibility issues</a></li>
+ <li><a href="#issues">Known issues</a></li>
+</ul>
+
+<h3><a name="description"></a>Product description</h3>
+
+<p>Remote Control provides an easy way of sharing device screen on a PC and
+controlling a device with a PC. Remote Control uses the HTI Connection service
+for communicating between Carbide.c++ and an emulator/device.</p>
+
+<p>Remote Control can be started either by selecting <b>Carbide > Remote
+Control</b>, or from <b>Window > Show View > Other... > Carbide
+Extensions > Remote Control.</b></p>
+
+<h3><a name="features"></a>Main features</h3>
+<ul>
+ <li>The File Transfer mode allows to transfer files between PC and a target
+ device.</li>
+ <li>The Screen Capture mode allows to take single screen shots.</li>
+ <li>The File Transfer mode contains Download as, Download and open, and
+ Refresh commands.</li>
+ <li>The user can change the file name when downloading or uploading
+ files.</li>
+ <li>Support for touch user interface.</li>
+ <li>Support for PC keyboard.</li>
+ <li>Support for multiple screenshots.</li>
+ <li>Support for virtual keyboards and key shortcut mappings.</li>
+</ul>
+
+<h3><a name="newfeatures"></a>What's new</h3>
+<ul>
+ <li>Requires HTI Connection 1.4.0 or later to work!</li>
+ <li>Feature: New directory browse history dropdown menu in File Transfer mode
+ showing ten recently visited paths.</li>
+ <li>Change: Screen capture mode now updates its screen by using screen
+ capture deltas (partial screen captures).</li>
+ <li>Change: File Transfer mode toolbar and context menu items
+ reorganized.</li>
+</ul>
+
+<h3><a name="installation"></a>Installation notes</h3>
+<ul>
+ <li>N/A</li>
+</ul>
+
+<h3><a name="requirements"></a>System requirements</h3>
+
+<p>Basic requirements:</p>
+<ul>
+ <li>Windows 2000 or Windows XP.</li>
+ <li>Minimum Platform/SDK build PC.</li>
+ <li>Normal Platform/SDK build PC.</li>
+</ul>
+
+<p>Additional requirements:</p>
+<ul>
+ <li>HTI Connection is needed for being able to use Remote Connection.</li>
+</ul>
+
+<h3><a name="compissues"></a>Compatibility issues</h3>
+<ul>
+ <li>N/A</li>
+</ul>
+
+<h3><a name="issues"></a>Known issues</h3>
+<ul>
+ <li>N/A</li>
+</ul>
+
+<h3>Version history</h3>
+
+<h5>Version 1.3.1 – 10th August 2009</h5>
+<ul>
+ <li>Feature: The File Transfer mode contains Copy, Cut, Paste, and Rename
+ commands.</li>
+ <li>Feature: Files and folders can be dragged and dropped to the File
+ Transfer view.</li>
+ <li>Change: Modifications required to support Carbide.c++ 2.2</li>
+</ul>
+
+<h5>Version 1.2.1 – 18th May 2009</h5>
+<ul>
+ <li>Feature: The File Transfer mode contains Download as, Download and open,
+ and Refresh commands.</li>
+ <li>Feature: The user can change the file name when downloading or uploading
+ files.</li>
+ <li>Feature: Support for multiple screenshots.</li>
+ <li>Feature: Support for virtual keyboards and key shortcut mappings.</li>
+ <li>Feature: Zoom level context menu in the Screen Capture mode</li>
+ <li>Feature: The Path field in the File Transfer menu.</li>
+ <li>Change: The list of existing drives as well as drive, folder, and file
+ sizes can be retrieved from the device if a compatible version of <b>HTI
+ Framework</b> is used (version 1.88, 1.89, 2.1, or newer).</li>
+ <li>Fix: Fixed the issue causing free space field disappear when root-field
+ was emptied.</li>
+</ul>
+
+<h5>Version 1.1.0 – 17th February 2009</h5>
+<ul>
+ <li>Feature: The File Transfer mode allows to transfer files between PC and a
+ target device.</li>
+ <li>Feature: The Screen Capture mode allows to take single screen shots.</li>
+ <li>Feature: Support for touch user interface.</li>
+ <li>Feature: Support for PC keyboard.</li>
+</ul>
+
+<h5>Version 1.0.0 – 19th December 2008</h5>
+
+<p>The first version</p>
+
+<div id="footer">
+Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights
+reserved. License: <a
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tasks/saving_screenshots.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tasks/saving_screenshots.htm Wed Apr 21 11:49:56 2010 +0300
@@ -38,7 +38,7 @@
<li><a href="../concepts/screen_capture_mode.htm">Screen Capture mode</a></li>
</ul>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tasks/setting_preferences.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tasks/setting_preferences.htm Wed Apr 21 11:49:56 2010 +0300
@@ -45,7 +45,7 @@
<li><a href="../concepts/file_transfer_mode.htm">File Transfer mode</a></li>
</ul>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tasks/tasks.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tasks/tasks.htm Wed Apr 21 11:49:56 2010 +0300
@@ -18,7 +18,7 @@
<li><a href="setting_preferences.htm">Setting Remote Control preferences</a></li>
</ul>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tasks/transferring_files.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tasks/transferring_files.htm Wed Apr 21 11:49:56 2010 +0300
@@ -1,52 +1,92 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
-<title>Transferring files with Remote Control</title>
-<link href="../../book.css" type="text/css" rel="stylesheet">
-</head>
-<body>
-
-<h2>Transferring files with Remote Control</h2>
-<p>After you start Carbide.c++ and the Datagateway for the first time, the root folder structure of the target device is displayed. Newer versions of <b>HTI Framework</b> (versions 1.88, 1.89, 2.1 and newer) also support the display of drive, folder, and file sizes.</p>
-
-<p>To navigate to the folder you want to work with, either double-click the folder icons, or enter the folder path in the <b>Path</b> field and press <i>Enter</i> or click <b>Go to directory</b>. You can enter a whole folder path such as <i>C:\Data\Images</i>, and you can use <i>..\</i> to move up in the folder structure.</p>
-
-<p>To transfer files, use the <a href="../reference/toolbar.htm">toolbar buttons</a> or right-click in the File Transfer mode, and select a function from the context menu. The dynamic context menu contains the following functions:</p>
-<ul>
-<li><b>New folder</b> creates a new folder under the selected folder.</li>
-<li><b>Delete</b> deletes the selected file(s) and folder(s).</li>
-<li><b>Download</b> transfers the selected files from the device to the PC. You cannot download folders.</li>
-<li><b>Download as</b> transfer the selected file from the device to the PC and lets you define a name and location for the file. Note that Download as lets you download only a single file. You cannot download folders.</li>
-<li><b>Upload</b> transfers the selected files from the PC to the device. You cannot upload folders.</li>
-<li><b>Open</b> transfers the selected files from the device to the PC and opens them in Carbide.c++. You cannot download folders.</li>
-<li><b>Copy</b> copies the selected files and folders. Copy is supported in HTI Framework versions 1.91, 2.5 or newer.</li>
-<li><b>Cut</b> cuts the selected files and folders. Cut is supported in HTI Framework versions 1.91, 2.5 or newer.</li>
-<li><b>Paste</b> pastes the selected files and folders to the current location. Paste is supported in HTI Framework versions 1.91, 2.5 or newer.</li>
-<li><b>Rename</b> renames the selected file or folder. Rename is supported in HTI Framework versions 1.91, 2.5 or newer.</li>
-<li><b>Preferences</b> open the Remote Control Preferences dialog.</li>
-<li><b>Refresh</b> load the folder structure and contents again.</li>
-</ul>
-<p>Note that the dynamic context menu only contain functions that are allowed for the selected file or folder.</p>
-
-<p><b>Tip</b>: You can also drag and drop files from Windows Explorer to the Remote Control File Transfer view.</p>
-
-<p>When uploading or downloading a file that already exists in the target folder, you are asked to confirm the file replace. In this dialog, you can turn off this warning by selecting <b>Always replace withouth prompt</b>. You can also rename the file by clicking <b>Rename</b>. Note that you can set the replacement options also in the <a href="setting_preferences.htm">Remote Control preferences</a>.</p>
-<p><img src="images\dlg_file_replace.png"></p>
-
-<p>When deleting files or folders, you are asked to confirm the file or folder delete. You can set this confirmation off in the <a href="setting_preferences.htm">Remote Control preferences</a>.</p>
-
-<h5>Related concepts</h5>
-<ul>
- <li><a href="../concepts/file_transfer_mode.htm">File Transfer mode</a></li>
-</ul>
-
-<h5>Related tasks</h5>
-<ul>
- <li><a href="setting_preferences.htm">Setting Remote Control preferences</a></li>
-</ul>
-
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
-License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+ <title>Transferring files with Remote Control</title>
+ <link href="../../book.css" type="text/css" rel="stylesheet">
+</head>
+
+<body>
+<h2>Transferring files with Remote Control</h2>
+
+<p>After you start Carbide.c++ and the Datagateway for the first time, the root
+folder structure of the target device is displayed. Newer versions of <b>HTI
+Framework</b> (versions 1.88, 1.89, 2.1 and newer) also support the display of
+drive, folder, and file sizes.</p>
+
+<p>To navigate to the folder you want to work with, you can either </p>
+<ul>
+ <li>double-click the folder icons;</li>
+ <li>select a path from the <strong>Path</strong> field drop-down menu that
+ lists the ten last visited directory locations; or</li>
+ <li>or enter the folder path in the <b>Path</b> field and press <i>Enter</i>
+ or click <b>Go to directory</b> . You can enter a whole folder path such as
+ <i>C:\Data\Images</i>, and you can use <i>..\</i> to move up in the folder
+ structure.</li>
+</ul>
+
+<p>To transfer files, use the <a href="../reference/toolbar.htm">toolbar
+buttons</a> or right-click in the File Transfer mode, and select a function
+from the context menu. The dynamic context menu contains the following
+functions:</p>
+<ul>
+ <li><b>Download</b> transfers the selected files from the device to the PC.
+ You cannot download folders.</li>
+ <li><b>Download as</b> transfer the selected file from the device to the PC
+ and lets you define a name and location for the file. Note that Download as
+ lets you download only a single file. You cannot download folders.</li>
+ <li><b>Open</b> transfers the selected files from the device to the PC and
+ opens them in Carbide.c++. You cannot download folders.</li>
+ <li><b>Upload</b> transfers the selected files from the PC to the device. You
+ cannot upload folders.</li>
+ <li><b>Delete</b> deletes the selected file(s) and folder(s).</li>
+ <li><b>Copy</b> copies the selected files and folders. Copy is supported in
+ HTI Framework versions 1.91, 2.5 or newer.</li>
+ <li><b>Cut</b> cuts the selected files and folders. Cut is supported in HTI
+ Framework versions 1.91, 2.5 or newer.</li>
+ <li><b>Paste</b> pastes the selected files and folders to the current
+ location. Paste is supported in HTI Framework versions 1.91, 2.5 or
+ newer.</li>
+ <li><b>Rename</b> renames the selected file or folder. Rename is supported in
+ HTI Framework versions 1.91, 2.5 or newer.</li>
+ <li><b>New folder</b> creates a new folder under the selected folder.</li>
+ <li><b>Refresh</b> load the folder structure and contents again.</li>
+ <li><b>Preferences</b> open the Remote Control Preferences dialog.</li>
+</ul>
+
+<p>Note that the dynamic context menu only contain functions that are allowed
+for the selected file or folder.</p>
+
+<p><b>Tip</b>: You can also drag and drop files from Windows Explorer to the
+Remote Control File Transfer view.</p>
+
+<p>When uploading or downloading a file that already exists in the target
+folder, you are asked to confirm the file replace. In this dialog, you can turn
+off this warning by selecting <b>Always replace withouth prompt</b>. You can
+also rename the file by clicking <b>Rename</b>. Note that you can set the
+replacement options also in the <a href="setting_preferences.htm">Remote
+Control preferences</a>.</p>
+
+<p><img src="images\dlg_file_replace.png"></p>
+
+<p>When deleting files or folders, you are asked to confirm the file or folder
+delete. You can set this confirmation off in the <a
+href="setting_preferences.htm">Remote Control preferences</a>.</p>
+
+<h5>Related concepts</h5>
+<ul>
+ <li><a href="../concepts/file_transfer_mode.htm">File Transfer mode</a></li>
+</ul>
+
+<h5>Related tasks</h5>
+<ul>
+ <li><a href="setting_preferences.htm">Setting Remote Control
+ preferences</a></li>
+</ul>
+
+<div id="footer">
+Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights
+reserved. License: <a
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
+</body>
+</html>
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tasks/using_pc_keyboard.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tasks/using_pc_keyboard.htm Wed Apr 21 11:49:56 2010 +0300
@@ -53,7 +53,7 @@
<li><a href="../concepts/screen_capture_mode.htm">Screen Capture mode</a></li>
</ul>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tasks/using_virtual_keyboard.htm Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tasks/using_virtual_keyboard.htm Wed Apr 21 11:49:56 2010 +0300
@@ -31,7 +31,7 @@
<li><a href="../concepts/screen_capture_mode.htm">Screen Capture mode</a></li>
</ul>
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
+<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
</body>
</html>
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/toc.htm Wed Apr 21 11:46:38 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
-<link href="../book.css" type="text/css" rel="stylesheet"></head>
-
-<body><h1>Remote Control Online Help</h1>
-<p><a href="release_notes.htm">Release notes</a></p>
-
-<p><a href="gettingstarted/GS_index.htm">Getting started</a></p>
-<ul>
- <li><a href="gettingstarted/overview.htm">Overview</a></li>
- <li><a href="gettingstarted/walk_through.htm">Basic walk-through</a></li>
-</ul>
-
-<p><a href="concepts/concepts.htm">Concepts</a></p>
-<ul>
- <li><a href="concepts/screen_capture_mode.htm">Screen Capture mode</a></li>
- <li><a href="concepts/file_transfer_mode.htm">File Transfer mode</a></li>
- <li><a href="concepts/touch_ui.htm">Touch User Interface</a></li>
- <li><a href="concepts/context_menus.htm">Dynamic context menus</a></li>
-</ul>
-
-<p><a href="tasks/tasks.htm">Tasks</a></p>
-<ul>
- <li><a href="tasks/saving_screenshots.htm">Saving screenshots</a></li>
- <li><a href="tasks/transferring_files.htm">Transferring files</a></li>
- <li><a href="tasks/using_virtual_keyboard.htm">Using virtual keyboard</a></li>
- <li><a href="tasks/using_pc_keyboard.htm">Using PC keyboard</a></li>
- <li><a href="tasks/setting_preferences.htm">Setting Remote Control preferences</a></li>
-</ul>
-
-<p><a href="reference/references.htm">References</a></p>
-<ul>
- <li><a href="reference/toolbar.htm">Toolbar</a></li>
-</ul>
-
-<p><a href="legal.htm">Legal</a></p>
-
-<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
-License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
-</body>
-</html>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/tool.htm Wed Apr 21 11:49:56 2010 +0300
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+ <title>Carbide.c++ User Guide</title>
+ <link href="../book.css" rel="stylesheet" type="text/css">
+ <style>
+ table, td, th { border: 0px none #FFF; }
+ </style>
+</head>
+
+<body background="images/background_carbide.jpg">
+<p> </p>
+
+<table width="530" border="0" align="center" cellpadding="0" cellspacing="5"
+bgcolor="#FFFFFF">
+ <tbody>
+ <tr>
+ <td width="215"><img src="images/about_cpp.png" width="225"
+ height="200"></td>
+ <td width="294" valign="bottom"><p align="right"><b><img
+ src="images/brandmark_cpp.gif" width="106" height="52"></b></p>
+
+ <p> </p>
+
+ <p> </p>
+
+ <p> </p>
+
+ <p class="titleSmall">Copyright © 2010 Nokia Corporation and/or its
+ subsidiary(-ies). All rights reserved. <br>
+ License: <a
+ href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></p>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2"><h1 align="center">Remote Control User Guide </h1>
+
+ <p align="center" class="titleSmall">Version 1.4.0; March, 2010</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</body>
+</html>
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/toolTOC.xml Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/html/toolTOC.xml Wed Apr 21 11:49:56 2010 +0300
@@ -3,7 +3,7 @@
<toc label="Remote Control" link_to="../com.nokia.carbide.help.common/carbideHelpTOC.xml#anchorCarbideFeature">
- <topic label="Remote Control" href="html/toc.htm" >
+ <topic label="Remote Control" href="html/tool.htm" >
<topic label="Release Notes" href="html/release_notes.htm" />
--- a/remotecontrol/com.nokia.s60tools.remotecontrol.help/src/com/nokia/s60tools/remotecontrol/help/HelpPlugin.java Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol.help/src/com/nokia/s60tools/remotecontrol/help/HelpPlugin.java Wed Apr 21 11:49:56 2010 +0300
@@ -1,7 +1,6 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
-*
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
--- a/remotecontrol/com.nokia.s60tools.remotecontrol/META-INF/MANIFEST.MF Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol/META-INF/MANIFEST.MF Wed Apr 21 11:49:56 2010 +0300
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Carbide.c++ Extensions - Remote Control
Bundle-SymbolicName: com.nokia.s60tools.remotecontrol;singleton:=true
-Bundle-Version: 1.3.1
+Bundle-Version: 1.4.0
Bundle-Activator: com.nokia.s60tools.remotecontrol.RemoteControlActivator
Bundle-Vendor: Nokia
Require-Bundle: org.eclipse.ui,
--- a/remotecontrol/com.nokia.s60tools.remotecontrol/ccbuild.xml Wed Apr 21 11:46:38 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,304 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="com.nokia.s60tools.remotecontrol" default="cc" basedir=".">
-
- <property name="basews" value="${ws}"/>
- <property name="baseos" value="${os}"/>
- <property name="basearch" value="${arch}"/>
- <property name="basenl" value="${nl}"/>
-
- <!-- Compiler settings -->
- <property name="javacFailOnError" value="true"/>
- <property name="javacDebugInfo" value="on"/>
- <property name="javacVerbose" value="false"/>
- <property name="logExtension" value=".log"/>
- <property name="compilerArg" value=""/>
- <property name="javacSource" value="5"/>
- <property name="javacTarget" value="5"/>
-
- <property name="bootclasspath" refid="path_bootclasspath"/>
- <property name="bundleJavacSource" value="${javacSource}"/>
- <property name="bundleJavacTarget" value="${javacTarget}"/>
- <property name="bundleBootClasspath" value="${bootclasspath}"/>
-
- <property name="help.project.name" value="${ant.project.name}.help"/>
- <property name="feature.project.folder" location="../com.nokia.carbide.extensions.remotecontrol"/>
- <property name="feature.project.name" value="com.nokia.carbide.extensions.remotecontrol"/>
- <property name="feature.name" value="RemoteControl"/>
-
- <property name="jar.filename" value="${ant.project.name}.jar"/>
- <property name="help.jar.filename" value="${help.project.name}.jar"/>
-
- <!-- Folder definitions -->
- <property name="carbide.int.folder" location="c:/Carbide_internal/plugins"/>
- <property name="carbide.dev.folder" location="c:/Carbide_development/plugins"/>
- <property name="test.folder" location="../com.nokia.s60tools.remotecontrol.tests"/>
- <property name="binaries.folder" location="../${feature.name}.binaries"/>
- <property name="reports.folder" location="reports"/>
- <property name="reports.emma" location="${reports.folder}/emma"/>
- <property name="instr.folder" location="instr"/>
-
-
- <!-- EMMA configuration -->
- <path id="emma.lib" >
- <pathelement location="${ant.home}/lib/emma.jar" />
- <pathelement location="${ant.home}/lib/emma_ant.jar" />
- </path>
-
- <taskdef resource="emma_ant.properties" classpathref="emma.lib" />
-
- <!-- PMD configuration -->
- <path id="pmd.lib" >
- <pathelement location="${ant.home}/lib/pmd-4.2.jar" />
- <pathelement location="${ant.home}/lib/asm-3.1.jar" />
- <pathelement location="${ant.home}/lib/jaxen-1.1.1.jar" />
- </path>
-
- <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="pmd.lib" />
-
- <path id="path_bootclasspath">
- <fileset dir="${java.home}/lib">
- <include name="*.jar"/>
- </fileset>
- </path>
-
- <path id="build_classpath">
- <path refid="carbide_classpath"/>
- </path>
-
- <path id="carbide_classpath">
- <fileset dir="${carbide.dev.folder}" includes="**/*.jar" />
- </path>
-
- <target name="properties" if="eclipse.running">
- <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
- </target>
-
- <!-- Initialization -->
- <target name="init" depends="properties">
- <condition property="pluginTemp" value="${buildTempFolder}/plugins">
- <isset property="buildTempFolder"/>
- </condition>
- <property name="pluginTemp" value="${basedir}"/>
- <condition property="build.result.folder" value="${pluginTemp}/${ant.project.name}">
- <isset property="buildTempFolder"/>
- </condition>
- <property name="build.result.folder" value="${basedir}"/>
- <property name="temp.folder" value="${basedir}/temp.folder"/>
- <property name="plugin.destination" value="${basedir}"/>
-
- <property name="jar.filename" value="${ant.project.name}.jar"/>
-
- <delete dir="${temp.folder}"/>
- <mkdir dir="${temp.folder}"/>
-
- <delete dir="${temp.folder}/bin"/>
- <mkdir dir="${temp.folder}/bin"/>
-
- <delete dir="${reports.folder}"/>
- <mkdir dir="${reports.folder}"/>
-
- <exec executable="svn" dir="../.">
- <arg line="up"/>
- </exec>
- </target>
-
- <!-- Build target -->
- <target name="build" depends="init" description="Build the source">
- <!-- Build the source -->
- <javac destdir="${temp.folder}/bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}">
- <compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
- <classpath refid="build_classpath" />
- <src path="src/" />
- <src path="../com.nokia.s60tools.remotecontrol.help/src/"/>
- <compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
- <compilerarg line="-log '${temp.folder}/bin${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
- </javac>
-
- <!-- Copy necessary resources -->
- <copy todir="${temp.folder}/bin" failonerror="true" overwrite="false">
- <fileset dir="src/" excludes="**/*.java, **/package.htm*" />
- </copy>
-
- <!-- Create build result folder -->
- <mkdir dir="${build.result.folder}"/>
-
- <!-- Copy classes from the temporary folder to bin -->
- <copy todir="${build.result.folder}" failonerror="true" overwrite="false">
- <fileset dir="${temp.folder}/bin" />
- </copy>
-
- <!-- Delete temporary folder -->
- <delete dir="${temp.folder}"/>
- </target>
-
- <!-- Clean target -->
- <target name="clean" description="Clean" depends="clean-test">
- <delete dir="${build.result.folder}" />
- <delete>
- <fileset dir="${binaries.folder}" includes="*.jar"/>
- </delete>
- </target>
-
- <!-- Analyze target -->
- <target name="analyze">
- <!-- PMD -->
- <pmd>
- <!-- Rules -->
- <ruleset>basic</ruleset>
- <ruleset>codesize</ruleset>
- <ruleset>coupling</ruleset>
- <ruleset>design</ruleset>
- <ruleset>strictexception</ruleset>
- <ruleset>strings</ruleset>
- <ruleset>sunsecure</ruleset>
-
- <!-- XML output -->
- <formatter type="xml" toFile="${reports.folder}/report.pmd.xml"/>
-
- <!-- Files to analyze -->
- <fileset dir="src/">
- <include name="**/*.java"/>
- </fileset>
- </pmd>
- </target>
-
- <!-- Instrumentation target, depends on JAR -->
- <target name="instr" depends="jar">
- <!-- Instrument the source code -->
- <emma>
- <instr instrpath="${binaries.folder}/${jar.filename}" destdir="${instr.folder}" metadatafile="${reports.emma}/metadata.emma" merge="true"/>
- </emma>
- </target>
-
- <!-- JAR target -->
- <target name="jar" depends="build" description="Create JAR">
-
- <delete dir="binaries"/>
- <mkdir dir="binaries"/>
- <delete dir="${help.project.name}/com/nokia/s60tools/remotecontrol/help"/>
- <mkdir dir="${help.project.name}/com/nokia/s60tools/remotecontrol/help"/>
-
- <copy todir="../${help.project.name}/com/nokia/s60tools/remotecontrol/help" failonerror="true" overwrite="true">
- <fileset dir="${build.result.folder}/com/nokia/s60tools/remotecontrol/help" />
- </copy>
- <delete dir="${build.result.folder}/com/nokia/s60tools/remotecontrol/help"/>
-
-
- <copy todir="binaries" failonerror="true" overwrite="false">
- <fileset dir="${build.result.folder}">
- <include name="com/**"/>
- <include name="icons/**"/>
- <include name="META-INF/**"/>
- <include name="plugin.xml"/>
- <include name="about.html"/>
- <include name="about.ini"/>
- <include name="about.mappings"/>
- <include name="about.properties"/>
- </fileset>
- </copy>
-
- <!-- Create JAR -->
- <zip destfile="${binaries.folder}/${jar.filename}" basedir="binaries" />
-
- <delete dir="binaries"/>
- <delete dir="com"/>
- </target>
-
- <!-- Feature target -->
- <target name="feature" depends="jar" description="Create feature">
- <property name="feature.folder" location="${binaries.folder}/feature"/>
-
- <mkdir dir="${feature.folder}"/>
- <mkdir dir="${feature.folder}/plugins"/>
- <mkdir dir="${feature.folder}/features/${feature.project.name}"/>
-
- <!-- Create help JAR -->
- <zip destfile="${feature.folder}/plugins/${help.jar.filename}" basedir="../${help.project.name}" excludes="src/,.*"/>
-
- <!-- Copy feature stuff to the temp folder -->
- <copy todir="${feature.folder}/features/${feature.project.name}" file="${feature.project.folder}/feature.xml"/>
- <copy todir="${feature.folder}/features/${feature.project.name}" file="${feature.project.folder}/license.txt"/>
-
- <!-- Copy the actual plug-in to the temp folder -->
- <copy todir="${feature.folder}/plugins" file="${binaries.folder}/${jar.filename}"/>
-
- <!-- Copy the actual plug-ins to the carbide folders -->
- <copy todir="${carbide.int.folder}" failonerror="true" overwrite="true">
- <fileset dir="${feature.folder}/plugins"/>
- </copy>
- <copy todir="${carbide.dev.folder}" failonerror="true" overwrite="true">
- <fileset dir="${feature.folder}/plugins"/>
- </copy>
-
- <!-- Create the feature zip -->
- <zip destfile="${binaries.folder}/${feature.name}.zip" basedir="${feature.folder}"/>
-
- <deltree dir="${feature.folder}"/>
-
- <!-- Nightly build -->
- <tstamp>
- <format property="timestamp" pattern="dd-MM-yyyy" />
- </tstamp>
-
- <copy tofile="../../../nightly_builds/${feature.name}/${feature.name}-${timestamp}.zip" file="${binaries.folder}/${feature.name}.zip"/>
- </target>
-
- <!-- Clean tests target -->
- <target name="clean-test" description="Clean test">
- <delete>
- <fileset dir="${test.folder}" includes="**/*.class" />
- </delete>
- <delete dir="${instr.folder}"/>
- <delete dir="${reports.folder}"/>
- </target>
-
- <!-- Test target, depends on instrumentation and analyze -->
- <target name="test" depends="instr" description="Run unit tests">
- <!-- Test classpath -->
- <path id="test_classpath">
- <!-- Test classes -->
- <pathelement location="${test.folder}/src"/>
-
- <!-- Instrumented class files -->
- <pathelement location="${instr.folder}"/>
-
- <!-- EMMA -->
- <pathelement path="${ant.home}/lib/emma.jar"/>
-
- <path refid="build_classpath" />
- </path>
-
- <!-- Compile the tests -->
- <javac srcdir="${test.folder}" verbose="${javacVerbose}">
- <classpath refid="test_classpath"/>
- </javac>
-
- <!-- Run JUnit -->
- <junit printsummary="yes" fork="yes" haltonfailure="yes">
- <classpath refid="test_classpath" />
-
- <!-- Plain format and XML -->
- <formatter type="plain" />
- <formatter type="xml" />
-
- <!-- Instrumentation arguments to JVM -->
- <jvmarg value="-Demma.coverage.out.file=${reports.emma}/coverage.emma" />
- <jvmarg value="-Demma.coverage.out.merge=true" />
-
- <!-- Test classes -->
- <test name="com.nokia.s60tools.remotecontrol.tests.AllJUnitPlugInTests" todir="${reports.folder}"/>
- </junit>
-
- <!-- Create EMMA report -->
- <emma>
- <report sourcepath="src/" >
- <fileset dir="${reports.emma}" >
- <include name="*.emma" />
- </fileset>
- <xml outfile="${reports.emma}/coverage.xml" />
- </report>
- </emma>
- </target>
-
- <target name="cc" depends="jar, analyze, feature" description="Build, instrument, run unit tests and analyze code"/>
-</project>
--- a/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/ftp/ui/view/FtpUtils.java Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/ftp/ui/view/FtpUtils.java Wed Apr 21 11:49:56 2010 +0300
@@ -859,22 +859,15 @@
}
if(canWrite) {
- if(contentProvider.getFileOperation() == OPERATION.COPY &&
- sourceFiles[j] instanceof FtpFolderObject) {
- // Copy operation for empty folders needs to be handled specially because
+ if(sourceFiles[j] instanceof FtpFolderObject) {
+ // Cut & Copy operation for empty folders needs to be handled specially because
// ftp copy copies contents of folder to target folder. If there is nothing in
- // source folder, then copying fails. This is handled user friendly by
+ // source folder, then cut/paste and copy/paste fails. This is handled user friendly by
// creating new empty folder if necessary.
- pasteCopiedFolder(contentProvider, sourcePath, sourceFile, destFilePath, destFileName, filesAndFolders);
+ pasteFolder(contentProvider, sourcePath, sourceFile, destFilePath, destFileName);
} else {
- // Paste file.
- PasteJob job = new PasteJob(Messages.getString("FtpUtils.PasteFileJob_Name") + sourceFile, //$NON-NLS-1$
- sourceFile,
- sourcePath,
- destFileName,
- destFilePath,
- contentProvider.getFileOperation());
- job.schedule();
+ // Paste file by using default handling.
+ doDefaultPasteOperation(contentProvider, sourcePath, destFilePath, sourceFile, destFileName);
}
}
}
@@ -886,6 +879,26 @@
}
/**
+ * Does default file/directory paste that does not require any special considerations.
+ * @param contentProvider Content provider
+ * @param sourcePath Path for source file/directory.
+ * @param destFilePath Path for target file/directory.
+ * @param sourceFile Source file name.
+ * @param destFileName Target file name.
+ */
+ private static void doDefaultPasteOperation(ViewContentProvider contentProvider,
+ String sourcePath, String destFilePath, String sourceFile,
+ String destFileName) {
+ PasteJob job = new PasteJob(Messages.getString("FtpUtils.PasteFileJob_Name") + sourceFile, //$NON-NLS-1$
+ sourceFile,
+ sourcePath,
+ destFileName,
+ destFilePath,
+ contentProvider.getFileOperation());
+ job.schedule();
+ }
+
+ /**
* Checks if destFilePath is subfolder to sourcePath or they are same..
* @param sourceFtpObject Source object.
* @param sourcePath Path for source folder.
@@ -933,10 +946,32 @@
* @param destFileName Target file name.
* @param destFilesAndFolders File and folder names in target path.
*/
- private static void pasteCopiedFolder(ViewContentProvider contentProvider, String sourcePath,
- String sourceFile, String destFilePath, String destFileName, String[] destFilesAndFolders) {
+ private static void pasteFolder(ViewContentProvider contentProvider, String sourcePath,
+ String sourceFile, String destFilePath, String destFileName) {
String sourceFilePath = addFileSepatorToEnd(sourcePath) + sourceFile;
String[] sourceFilesAndFolders = getFilesAndFolders(sourceFilePath);
+ String[] destFilesAndFolders = getFilesAndFolders(destFilePath);
+
+ String targetFilePath = addFileSepatorToEnd(destFilePath) + destFileName;
+
+ // Does destination folder already exist?
+ boolean destExists = false;
+ for (String fileFolder : destFilesAndFolders) {
+ if (fileFolder.equals(destFileName)) destExists = true; // ...yes it does.
+ }
+
+ // If destination folder exists, delete it.
+ if (destExists) {
+ DeleteDirJob deleteDirJob = new DeleteDirJob(Messages.getString("FtpUtils.Delete_Folder_Job_Name") + " " + //$NON-NLS-1$ //$NON-NLS-2$
+ targetFilePath, targetFilePath);
+ deleteDirJob.schedule();
+ }
+
+ // Create destination folder.
+ MakeDirJob makeDirJob = new MakeDirJob(Messages.getString("FtpUtils.Make_Dir_Job_Name") + " " + //$NON-NLS-1$ //$NON-NLS-2$
+ targetFilePath, targetFilePath);
+ makeDirJob.schedule();
+ destExists = true;
if(sourceFilesAndFolders == null) {
// Failed to list files. Show message to user.
@@ -946,30 +981,20 @@
message.open();
} else if(sourceFilesAndFolders.length == 0) {
- // Empty source folder. Checking if target folder already exists.
- for(String str : destFilesAndFolders) {
- if(str.equalsIgnoreCase(destFileName)) {
- // Trying to copy empty folder over existing folder, nothing to do.
- return;
- }
- }
-
- // Existing folder was not found. Need to create a new folder. Copying empty folder would fail.
- String targetFilePath = addFileSepatorToEnd(destFilePath) + destFileName;
- // Start job for making dir.
- MakeDirJob job = new MakeDirJob(Messages.getString("FtpUtils.Make_Dir_Job_Name") + " " + //$NON-NLS-1$ //$NON-NLS-2$
- targetFilePath, targetFilePath);
- job.schedule();
+ // Empty source folder.
+ if(contentProvider.getFileOperation() == OPERATION.CUT){
+ // Trying to cut empty folder over existing folder, needs to remove cut folder.
+ DeleteDirJob deleteDirJob = new DeleteDirJob(Messages.getString("FtpUtils.Delete_Folder_Job_Name") + " " + //$NON-NLS-1$ //$NON-NLS-2$
+ sourceFilePath, sourceFilePath);
+ deleteDirJob.schedule();
+ }
+ // Else trying to copy empty folder over existing folder, nothing to do.
+ return;
- } else {
- // Paste file.
- PasteJob job = new PasteJob(Messages.getString("FtpUtils.PasteFileJob_Name") + sourceFile, //$NON-NLS-1$
- sourceFile,
- sourcePath,
- destFileName,
- destFilePath,
- contentProvider.getFileOperation());
- job.schedule();
+ } else {
+ // Copy and Cut of non-empty directories works well also with the default paste operation.
+ doDefaultPasteOperation(contentProvider, sourcePath, destFilePath, sourceFile,
+ destFileName);
}
}
}
\ No newline at end of file
--- a/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/ftp/ui/view/FtpView.java Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/ftp/ui/view/FtpView.java Wed Apr 21 11:49:56 2010 +0300
@@ -361,10 +361,9 @@
* @param manager Tool bar instance.
*/
private void fillViewToolBar(IToolBarManager manager) {
- manager.removeAll();
- manager.add(downloadAction);
- manager.add(downloadAsAction);
- manager.add(uploadAction);
+ manager.removeAll();
+ manager.add(makeDirAction);
+ manager.add(refreshAction);
manager.add(preferencesAction);
updateActionStates();
manager.update(true);
@@ -435,12 +434,11 @@
*/
private void fillContextMenu(IMenuManager manager) {
manager.removeAll();
- manager.add(makeDirAction);
- manager.add(deleteAction);
manager.add(downloadAction);
manager.add(downloadAsAction);
+ manager.add(downloadAndOpenAction);
manager.add(uploadAction);
- manager.add(downloadAndOpenAction);
+ manager.add(deleteAction);
manager.add(new Separator());
@@ -454,8 +452,9 @@
manager.add(new Separator());
}
+ manager.add(makeDirAction);
+ manager.add(refreshAction);
manager.add(preferencesAction);
- manager.add(refreshAction);
updateActionStates();
manager.update(true);
@@ -475,11 +474,17 @@
public void refresh(){
viewer.refresh();
pathComposite.setConnected(isConnected);
+
String currentPath = contentProvider.getDirectoryPath();
+
+ refreshAction.setEnabled(isConnected);
+
if(currentPath != null) {
pathComposite.setPath(currentPath);
+ makeDirAction.setEnabled(isConnected);
} else {
pathComposite.setPath(""); //$NON-NLS-1$
+ makeDirAction.setEnabled(false);
}
}
--- a/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/ftp/ui/view/PathComposite.java Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/ftp/ui/view/PathComposite.java Wed Apr 21 11:49:56 2010 +0300
@@ -17,7 +17,11 @@
package com.nokia.s60tools.remotecontrol.ftp.ui.view;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CCombo;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.SelectionEvent;
@@ -28,8 +32,8 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Text;
+import com.nokia.s60tools.remotecontrol.RemoteControlActivator;
import com.nokia.s60tools.remotecontrol.resources.ImageKeys;
import com.nokia.s60tools.remotecontrol.resources.ImageResourceManager;
import com.nokia.s60tools.remotecontrol.resources.Messages;
@@ -39,12 +43,12 @@
* Composite for displaying and editing current file path.
*/
public class PathComposite extends AbstractUiFractionComposite
- implements KeyListener, SelectionListener {
+ implements KeyListener, SelectionListener, IPropertyChangeListener {
/**
* Editable text field containing path.
*/
- private Text pathText;
+ private CCombo pathCombo;
/**
* Button for going to current path.
@@ -57,6 +61,11 @@
private final FtpView ftpView;
/**
+ * Class for path history management.
+ */
+ private PathHistory pathHistory;
+
+ /**
* Constructor.
* @param parentComposite Parent composite for the created composite.
* @param ftpView Owner of this composite.
@@ -70,29 +79,34 @@
* @see com.nokia.s60tools.remotecontrol.ui.AbstractUiFractionComposite#createControls()
*/
protected void createControls() {
+
+ pathHistory = new PathHistory();
+
// Path label.
Label pathLabel = new Label(this, SWT.HORIZONTAL);
pathLabel.setText(Messages.getString("PathComposite.directoryPath_LabelText")); //$NON-NLS-1$
- // Text field containing path.
- final int textFieldStyleBits = SWT.LEFT | SWT.SINGLE | SWT.BACKGROUND | SWT.BORDER;
- pathText = new Text(this, textFieldStyleBits);
- pathText.setEditable(true);
- pathText.setLayoutData((new GridData(GridData.FILL_HORIZONTAL)));
+ // Combo field containing path and path history drop down.
+ pathCombo = new CCombo(this, SWT.BORDER);
+ // Fill path history.
+ pathCombo.setItems(pathHistory.getPathHistoryAsStringArray());
+ pathCombo.setLayoutData((new GridData(GridData.FILL_HORIZONTAL)));
// Go button.
goPathButton = new Button(this, SWT.NONE);
goPathButton.setImage(ImageResourceManager.getImage(ImageKeys.IMG_GO_TO_DIRECTORY));
goPathButton.setToolTipText(Messages.getString("PathComposite.goButton_TooltipText")); //$NON-NLS-1$
-
+
// Adding listeners.
- pathText.addKeyListener(this);
+ pathCombo.addKeyListener(this);
+ pathCombo.addSelectionListener(this);
goPathButton.addSelectionListener(this);
+ RemoteControlActivator.getPrefsStore().addPropertyChangeListener(this);
goPathButton.setEnabled(false);
- pathText.setEnabled(false);
+ pathCombo.setEnabled(false);
}
-
+
/* (non-Javadoc)
* @see com.nokia.s60tools.remotecontrol.ui.AbstractUiFractionComposite#createLayout()
*/
@@ -117,8 +131,11 @@
*/
public void dispose() {
super.dispose();
- pathText.removeKeyListener(this);
+ // Remove listeners.
+ pathCombo.removeKeyListener(this);
+ pathCombo.removeSelectionListener(this);
goPathButton.removeSelectionListener(this);
+ RemoteControlActivator.getPrefsStore().removePropertyChangeListener(this);
}
/* (non-Javadoc)
@@ -126,7 +143,7 @@
*/
@Override
public boolean setFocus() {
- return pathText.setFocus();
+ return pathCombo.setFocus();
}
/* (non-Javadoc)
@@ -136,7 +153,7 @@
if(e.keyCode == SWT.CR) {
// Updating directory listing when Return is pressed.
e.doit = false;
- ftpView.updatePathThenRefresh(pathText.getText());
+ ftpView.updatePathThenRefresh(pathCombo.getText());
}
}
@@ -148,11 +165,12 @@
}
/**
- * Changes text in text field to path.
+ * Changes text in text field to path and updates path history.
* @param path New path.
*/
public void setPath(String path) {
- pathText.setText(path);
+ pathCombo.setText(path);
+ pathHistory.addPathToHistory(new Path(path));
}
/* (non-Javadoc)
@@ -166,8 +184,8 @@
* @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
public void widgetSelected(SelectionEvent e) {
- if(e.widget == goPathButton) {
- ftpView.updatePathThenRefresh(pathText.getText());
+ if(e.widget == goPathButton || e.widget == pathCombo) {
+ ftpView.updatePathThenRefresh(pathCombo.getText());
}
}
@@ -177,6 +195,16 @@
*/
public void setConnected(boolean connected) {
goPathButton.setEnabled(connected);
- pathText.setEnabled(connected);
+ pathCombo.setEnabled(connected);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
+ */
+ public void propertyChange(PropertyChangeEvent event) {
+ if (event.getProperty().equals(PathHistory.CACHE_NAME)) {
+ pathCombo.setItems(pathHistory.getPathHistoryAsStringArray());
+ pathCombo.update();
+ }
}
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/ftp/ui/view/PathHistory.java Wed Apr 21 11:49:56 2010 +0300
@@ -0,0 +1,252 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.remotecontrol.ftp.ui.view;
+
+import java.util.ArrayList;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.preference.IPreferenceStore;
+
+import com.nokia.s60tools.remotecontrol.RemoteControlActivator;
+
+/**
+ * Class to store and fetch path history data.
+ */
+public class PathHistory {
+
+ // Name of path history -preference in preference store.
+ public static String CACHE_NAME = "PathComposite.pathHistory";
+ // Number of paths stored into path history.
+ private static Integer PATH_HISTORY_SIZE = 10;
+ // Minimum length of a path saved in path history.
+ private static Integer PATH_MIN_LEN = 3;
+
+ private ArrayList<IPath> pathHistory;
+ private IPath previousPath;
+
+ /**
+ * Add one path to history.
+ * @param path Path to be stored.
+ */
+ public void addPathToHistory(IPath newPath) {
+
+ // Don't add same path twice.
+ if (previousPath != null && newPath.equals(previousPath)) return;
+
+ // Check path minimum length.
+ if (newPath.toString().length() < PATH_MIN_LEN) {
+ previousPath = newPath;
+ return;
+ }
+
+ // Does path already exist in path history?
+ boolean visited = checkPathExists(newPath);
+ // Was last move one segment up? ex. C:\path1 -> C:\path1\path2
+ boolean oneUp = checkGoingOneSegmentUp(newPath);
+ // Was last move one segment down? ex. C:\path1\path2 -> C:\path1
+ boolean oneDown = checkBackingOneSegmentDown(newPath);
+ // Is there two name paths on top of path history?
+ boolean doubleOnTop = checkTwoFirstMatch();
+
+ // Special case: if one segment down, we need to show last path in path
+ // history but not add a new one. So we need to make two same paths on top
+ // because first path history path is not shown in path history drop down.
+ if (oneDown && !doubleOnTop) {
+ makeDoubleOnTop();
+ }
+
+ // Related to previous if: if stopped going down, we need to remove the
+ // double from top.
+ if (!oneDown && doubleOnTop) {
+ removeFirst();
+ }
+
+ // Next there are the cases and how to act in each case.
+ if (!visited && !oneUp && !oneDown) {
+ addNewToTop(newPath);
+ } else if (visited && !oneUp && !oneDown) {
+ liftExistingToTop(newPath);
+ } else if (!visited && oneUp && !oneDown) {
+ changeOneOnTop(newPath);
+ } else if (visited && oneUp && !oneDown) {
+ removeFirst();
+ liftExistingToTop(newPath);
+ } else if (visited && !oneUp && oneDown) {
+ removeExisting(newPath);
+ }
+
+ // Remove tail from path history.
+ if (getPathHistory().size() > PATH_HISTORY_SIZE+2) {
+ getPathHistory().removeAll(getPathHistory().subList(PATH_HISTORY_SIZE+2, getPathHistory().size()));
+ }
+
+ // Save path history changes.
+ storePathHistory();
+ previousPath = newPath;
+ }
+
+ /**
+ * Check path is already listed in path history.
+ * @param path Path to be checked.
+ */
+ private boolean checkPathExists(IPath newPath) {
+ // Check if path exists in the path history.
+ for (IPath path : getPathHistory()) {
+ if (path.equals(newPath)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Check if last movement was backing toward root in path hierarchy.
+ * @param path Path to be checked.
+ */
+ private boolean checkBackingOneSegmentDown(IPath newPath) {
+ if (previousPath != null) {
+ // If the whole currentPatch if included in newPath.
+ if (previousPath.matchingFirstSegments(newPath) == newPath.segmentCount()) {
+ // If newPath is one segment longer than currentPath.
+ if ((previousPath.segmentCount() - newPath.segmentCount()) == 1) {
+ // Return true only if moved one segment downwards in the path.
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Check if last movement was going toward leaves in path hierarchy.
+ * @param path Path to be checked.
+ */
+ private boolean checkGoingOneSegmentUp(IPath newPath) {
+ if (pathHistory.get(0) != null) {
+ // If the whole currentPatch if included in newPath.
+ if (newPath.matchingFirstSegments(pathHistory.get(0)) == pathHistory.get(0).segmentCount()) {
+ // If newPath is one segment longer than currentPath.
+ if ((newPath.segmentCount() - pathHistory.get(0).segmentCount()) == 1) {
+ // Return true only if moved one segment downwards in the path.
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Check if two first paths in path history are the same.
+ */
+ private boolean checkTwoFirstMatch() {
+ return (getPathHistory().size() > 1 && getPathHistory().get(0).equals(getPathHistory().get(1)));
+ }
+
+ /**
+ * Add new path to top of path history.
+ * @param newPath Path to be added.
+ */
+ private void addNewToTop(IPath newPath) {
+ getPathHistory().add(0, newPath);
+ }
+
+ /**
+ * Lift already existing path from path history to top position.
+ * @param newPath Path to be lifted.
+ */
+ private void liftExistingToTop(IPath newPath) {
+ getPathHistory().remove(newPath);
+ getPathHistory().add(0, newPath);
+ }
+
+ /**
+ * Change the value of first path in path history.
+ * @param newPath Path to be added on top as a replacement.
+ */
+ private void changeOneOnTop(IPath newPath) {
+ getPathHistory().remove(0);
+ getPathHistory().add(0, newPath);
+ }
+
+ /**
+ * Remove first path from path history.
+ */
+ private void removeFirst() {
+ getPathHistory().remove(0);
+ }
+
+ /**
+ * Remove already existing path from path history.
+ * @param newPath Path to be removed.
+ */
+ private void removeExisting(IPath newPath) {
+ getPathHistory().remove(newPath);
+ }
+
+ /**
+ * Copy first path of path history to top to create two same paths on top.
+ */
+ private void makeDoubleOnTop() {
+ getPathHistory().add(0, getPathHistory().get(0));
+ }
+
+ /**
+ * Return the path history for combo's dropdown.
+ * Remember: First path history path (current path) is not returned.
+ */
+ public String[] getPathHistoryAsStringArray() {
+ ArrayList<String> resultList = new ArrayList<String>();
+ for (int i = 1; i < getPathHistory().size() && i < PATH_HISTORY_SIZE+1; i++) {
+ resultList.add(getPathHistory().get(i).toString());
+ }
+ return resultList.toArray(new String[resultList.size()]);
+ }
+
+ /**
+ * Store path history to preference store. Only store first <PATH_HISTORY_SIZE>+2 paths.
+ */
+ private void storePathHistory() {
+ IPreferenceStore prefStore= RemoteControlActivator.getPrefsStore();
+ // Form data into a string separated with commas.
+ String storeString = "";
+ for (int i = 0; (i < getPathHistory().size()) && (i < PATH_HISTORY_SIZE+2); i++) {
+ storeString += getPathHistory().get(i).toString() + ",";
+ }
+ // Remove last comma.
+ storeString = storeString.substring(0, storeString.length()-1);
+ // Store string.
+ prefStore.setValue(CACHE_NAME, storeString);
+ }
+
+ /**
+ * Return path history.
+ */
+ private ArrayList<IPath> getPathHistory() {
+ // If path history is requested for the first time.
+ if (pathHistory == null) {
+ IPreferenceStore prefStore= RemoteControlActivator.getPrefsStore();
+ String[] pathStringArray = prefStore.getString(CACHE_NAME).split(",");
+ pathHistory = new ArrayList<IPath>();
+ for (String pathString : pathStringArray) {
+ pathHistory.add(new Path(pathString));
+ }
+ }
+ return pathHistory;
+ }
+}
--- a/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/ftp/ui/view/ViewContentProvider.java Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/ftp/ui/view/ViewContentProvider.java Wed Apr 21 11:49:56 2010 +0300
@@ -309,6 +309,7 @@
*/
public boolean supportsCopyMoveRename() {
// Copy, move, and rename are supported in 1.91-> and 2.5-> versions.
+ // 1.91-> versions are used for 3.x devices and 2.5-> versions for 5.x devices.
if(isSupportedVersion(new HTIVersion(1, 91)) ||
isSupportedVersion(new HTIVersion(2, 5))) {
return true;
--- a/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/job/PasteJob.java Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/job/PasteJob.java Wed Apr 21 11:49:56 2010 +0300
@@ -115,11 +115,48 @@
// File name changed, but folder is same. Just renaming it, as
// file can not be moved to be different name.
service.renameFileDir(sourceFile, destFile, timeout);
- } else {
+ } else {
// File name changed. Has to copy file and then delete old file, as
// file can not be moved to be different name.
- service.copyFileDir(sourceFile, destFile, timeout);
- service.deleteFile(sourceFile, timeout);
+
+ // Check if source file is a file or a directory.
+ String[] sourcePathDirs = service.listDirs(selectedPath, timeout);
+
+ boolean sourceIsDir = false;
+ for (String directory : sourcePathDirs) {
+ if (directory.equals(selectedFile)) sourceIsDir = true;
+ }
+
+ // Do we need to copy anything.
+ boolean doCopy = true;
+
+ // If source is directory...
+ if (sourceIsDir) {
+ // Are there any files in source directory.
+ String[] sourceDirs = service.listDirs(sourceFile, timeout);
+ String[] sourceFiles = service.listFiles(sourceFile, timeout);
+ if ((sourceDirs.length == 0) && (sourceFiles.length == 0)) {
+ doCopy = false;
+ }
+ }
+
+ // Copy source file or source directory if needed.
+ if (doCopy) {
+ // If there are files or folders inside source folder.
+ service.copyFileDir(sourceFile, destFile, timeout);
+ } else {
+ // If pasting an empty folder.
+ service.makeDir(destFile, timeout);
+ }
+
+ // If source is directory...
+ if (sourceIsDir) {
+ // ...delete it.
+ service.deleteDir(sourceFile, timeout);
+ } else { // If source is file...
+ // ...delete it.
+ service.deleteFile(sourceFile, timeout);
+ }
}
break;
--- a/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/keyboard/KeyboardMediator.java Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/keyboard/KeyboardMediator.java Wed Apr 21 11:49:56 2010 +0300
@@ -25,7 +25,6 @@
import com.nokia.s60tools.hticonnection.exceptions.ServiceShutdownException;
import com.nokia.s60tools.hticonnection.services.HTIServiceFactory;
import com.nokia.s60tools.hticonnection.services.IKeyEventService;
-import com.nokia.s60tools.remotecontrol.RemoteControlActivator;
import com.nokia.s60tools.remotecontrol.keyboard.BufKeyEvent.EventType;
import com.nokia.s60tools.remotecontrol.resources.Messages;
import com.nokia.s60tools.util.console.IConsolePrintUtility;
@@ -46,7 +45,7 @@
* writer before all the text is written and the writer waits for some time
* for screen refresh.
*
- * @see RemoteControlActivator#getKeyboardMediator
+ * @see com.nokia.s60tools.remotecontrol.RemoteControlActivator#getKeyboardMediator
*/
public class KeyboardMediator implements IKeyboardMediator {
--- a/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/resources/messages.properties Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/resources/messages.properties Wed Apr 21 11:49:56 2010 +0300
@@ -94,7 +94,7 @@
DownloadFileAction.Tooltip_Name=Download
DownloadFileAndOpenAction.Action_Name=Open
DownloadFileAndOpenAction.Tooltip_Name=Open
-DownloadFileAsAction.Action_Name=Download as..
+DownloadFileAsAction.Action_Name=Download as...
DownloadFileAsAction.Tooltip_Name=Download as
UploadFileAction.Action_Name=Upload
UploadFileAction.SelectUploadFiles_DlgText=Select files
--- a/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/screen/ui/view/ScreenView.java Wed Apr 21 11:46:38 2010 +0300
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/screen/ui/view/ScreenView.java Wed Apr 21 11:49:56 2010 +0300
@@ -19,6 +19,7 @@
package com.nokia.s60tools.remotecontrol.screen.ui.view;
import java.io.ByteArrayInputStream;
+
import java.util.Arrays;
import org.eclipse.jface.action.Action;
@@ -64,6 +65,7 @@
import com.nokia.s60tools.hticonnection.services.HTIScreenMode;
import com.nokia.s60tools.hticonnection.services.HTIServiceFactory;
import com.nokia.s60tools.hticonnection.services.IScreenCaptureService;
+import com.nokia.s60tools.hticonnection.services.ScreenCaptureData;
import com.nokia.s60tools.remotecontrol.RemoteControlActivator;
import com.nokia.s60tools.remotecontrol.actions.OpenPreferencePageAction;
import com.nokia.s60tools.remotecontrol.keyboard.IKeyboardMediator;
@@ -78,6 +80,7 @@
import com.nokia.s60tools.remotecontrol.screen.ui.actions.ZoomAction.ZoomFactor;
import com.nokia.s60tools.remotecontrol.ui.AbstractUiFractionComposite;
import com.nokia.s60tools.remotecontrol.ui.views.main.MainView;
+import com.nokia.s60tools.remotecontrol.util.ImageHelper;
import com.nokia.s60tools.remotecontrol.util.RemoteControlConsole;
/**
@@ -188,6 +191,11 @@
*/
private ScreenView instance;
+ /**
+ * Previously captured image data from the device screen.
+ */
+ byte[] previousImageData;
+
//
// Constants
//
@@ -566,9 +574,38 @@
IScreenCaptureService service = HTIServiceFactory.createScreenCaptureService(RemoteControlConsole.getInstance());
try {
+ // Getting the current screen mode.
+ HTIScreenMode screenMode = service.getScreenMode(screenSettings.getTimeoutTime());
+ // If screen mode has changed, take full screen capture.
+ if (!screenMode.equals(screenSettings.getScreenMode())) {
+ previousImageData = null;
+ }
+ screenSettings.setScreenMode(screenMode);
+
// Capturing the image.
- byte[] imagedata = service.captureFullScreen(IMAGE_TYPE, screenSettings.getColorChoice(), screenSettings.getTimeoutTime());
-
+ // If image not captured before, take a full screen capture.
+ byte[] imagedata = null;
+ if (previousImageData == null) {
+ service.resetScreenDelta(screenSettings.getTimeoutTime());
+ imagedata = service.captureFullScreenDelta(IMAGE_TYPE, screenSettings.getColorChoice(), screenSettings.getTimeoutTime()).getImageData();
+ previousImageData = imagedata;
+ } else { // If image captured earlier...
+ // ...capture only changed part of the image.
+ ScreenCaptureData captureData = service.captureFullScreenDelta(IMAGE_TYPE, screenSettings.getColorChoice(), screenSettings.getTimeoutTime());
+
+ // If image not empty (changes have been made since last screen delta).
+ if (captureData.getImageData().length > 0) {
+ // Add captured delta image on top of previous screen image.
+ imagedata = ImageHelper.overlayImage(previousImageData, captureData.getImageData(),
+ captureData.getTopLeftX(), captureData.getTopLeftY(), IMAGE_TYPE);
+ } else {
+ // No need to change the screen image.
+ imagedata = previousImageData;
+ }
+
+ // Replace previous image with changed image combination.
+ previousImageData = imagedata;
+ }
// Converting bytes to image.
ByteArrayInputStream is = new ByteArrayInputStream(imagedata);
Image image = new Image(Display.getCurrent(), is);
@@ -586,11 +623,7 @@
}
updateActionButtonStates();
-
- // Getting the current screen mode.
- HTIScreenMode screenMode = service.getScreenMode(screenSettings.getTimeoutTime());
- screenSettings.setScreenMode(screenMode);
-
+
// Screen captured successfully.
return true;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/remotecontrol/com.nokia.s60tools.remotecontrol/src/com/nokia/s60tools/remotecontrol/util/ImageHelper.java Wed Apr 21 11:49:56 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+package com.nokia.s60tools.remotecontrol.util;
+
+import java.awt.AlphaComposite;
+import java.awt.Graphics2D;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.imageio.ImageIO;
+
+/**
+ * A class to help image handling.
+ */
+public class ImageHelper {
+
+ /**
+ * Default mime type for returning image.
+ */
+ private static String defaultMimeType = "image/png";
+
+ /**
+ * Overlay given image on top of another given image.
+ * @param imgData Image data of image.
+ * @param overlayData Image data of image to overlay.
+ * @param posX X-axis position of the overlay image.
+ * @param posY Y-axis position of the overlay image.
+ * @param mimeType Mime type of the returned image.
+ * @return Image data of combined image.
+ * @throws IOException
+ */
+ public static byte[] overlayImage(byte[] imgData, byte[] overlayData, Integer posX,
+ Integer posY, String mimeType) throws IOException {
+
+ if (mimeType == null) mimeType = defaultMimeType;
+ // Remove "image/" from mimeType.
+ mimeType = mimeType.substring(6);
+
+ // Change overlay image data into BufferedImage form.
+ InputStream inputOverlay = new ByteArrayInputStream(overlayData);
+ BufferedImage overlayImg = ImageIO.read(inputOverlay);
+
+ // Change original image data into BufferedImage form.
+ InputStream inputOrig = new ByteArrayInputStream(imgData);
+ BufferedImage origImg = ImageIO.read(inputOrig);
+
+ // Overlay image on top of original image.
+ Graphics2D g = origImg.createGraphics();
+ g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f));
+ g.drawImage(overlayImg, posX, posY, null);
+ g.dispose();
+
+ // Change BufferedImage back to byte[] -form.
+ ByteArrayOutputStream resultData = new ByteArrayOutputStream();
+ ImageIO.write(origImg, mimeType, resultData);
+
+ // Return combined data.
+ return resultData.toByteArray();
+
+ }
+
+}