Initial commit of the v4.5.0 opensource release of WebOS Quick Install
No files matched your search
@@ -0,0 +1 @@
|
||||
ca.canucksoftware.wosqi.WebOSQuickInstallApp
|
||||
@@ -0,0 +1,140 @@
|
||||
|
||||
package ca.canucksoftware.ipkg;
|
||||
|
||||
import ca.canucksoftware.utils.OnlineFile;
|
||||
import ca.canucksoftware.webos.InstalledEntry;
|
||||
import java.text.DateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.regex.Pattern;
|
||||
import org.json.JSONObject;
|
||||
|
||||
/**
|
||||
* @author Jason Robitaille
|
||||
*/
|
||||
public class PackageEntry {
|
||||
public String name;
|
||||
public String id;
|
||||
public String version;
|
||||
public String developer;
|
||||
public long size;
|
||||
public String md5sum;
|
||||
public JSONObject source;
|
||||
public String[] depends;
|
||||
public String arch;
|
||||
public String file;
|
||||
|
||||
public PackageEntry() {
|
||||
name = null;
|
||||
id = null;
|
||||
version = null;
|
||||
developer = null;
|
||||
size = 0;
|
||||
md5sum = null;
|
||||
source = null;
|
||||
depends = null;
|
||||
arch = null;
|
||||
file = null;
|
||||
}
|
||||
|
||||
public boolean newerThan(PackageEntry app) {
|
||||
return isGreaterVersionThan(app.version);
|
||||
}
|
||||
|
||||
public boolean isUpdate(InstalledEntry app) {
|
||||
return isGreaterVersionThan(app.getVersion());
|
||||
}
|
||||
|
||||
private boolean isGreaterVersionThan(String otherVersion) {
|
||||
boolean result = false;
|
||||
Pattern p = Pattern.compile("[.-]");
|
||||
String[] self = p.split(version);
|
||||
String[] other = p.split(otherVersion);
|
||||
for(int i=0; i<other.length; i++) {
|
||||
int selfVal = Integer.parseInt(self[i]);
|
||||
int otherVal = Integer.parseInt(other[i]);
|
||||
if(selfVal > otherVal) {
|
||||
result = true;
|
||||
break;
|
||||
} else if (selfVal < otherVal) {
|
||||
result = false;
|
||||
break;
|
||||
}
|
||||
if(self.length-1==i && other.length-1>i) {
|
||||
otherVal = Integer.parseInt(other[i+1]);
|
||||
if(otherVal>=0) {
|
||||
result = false;
|
||||
} else {
|
||||
result = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if(other.length-1==i && self.length-1>i) {
|
||||
selfVal = Integer.parseInt(self[i+1]);
|
||||
if(selfVal>0) {
|
||||
result = true;
|
||||
} else {
|
||||
result = false;
|
||||
}
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public String getDownloadUrl() {
|
||||
String url = null;
|
||||
OnlineFile online;
|
||||
if(source!=null) {
|
||||
if(source.has("Location")) {
|
||||
try {
|
||||
online = new OnlineFile(source.getString("Location"));
|
||||
if(online.exists()) {
|
||||
url = online.toString();
|
||||
}
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
}
|
||||
if((url==null) && (file!=null)) {
|
||||
online = new OnlineFile(file);
|
||||
if(online.exists()) {
|
||||
url = online.toString();
|
||||
} else {
|
||||
url = null;
|
||||
}
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
public String getFormattedDate() {
|
||||
String result = null;
|
||||
if(source!=null) {
|
||||
if(source.has("LastUpdated")) {
|
||||
try {
|
||||
Date d = new Date(Long.parseLong(source
|
||||
.getString("LastUpdated"))*1000);
|
||||
result = DateFormat.getDateTimeInstance().format(d);
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
boolean result = false;
|
||||
if(o instanceof String) {
|
||||
String currId = (String) o;
|
||||
result = currId.equals(id);
|
||||
} else if(o instanceof PackageEntry) {
|
||||
PackageEntry pkgCurr = (PackageEntry) o;
|
||||
result = pkgCurr.id.equals(id);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
/*
|
||||
* PackageFeed.java
|
||||
*/
|
||||
|
||||
package ca.canucksoftware.ipkg;
|
||||
|
||||
import ca.canucksoftware.utils.OnlineFile;
|
||||
import java.util.ArrayList;
|
||||
import java.io.File;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class PackageFeed {
|
||||
public ArrayList<PackageEntry> packages;
|
||||
private File feed;
|
||||
private String urlBase;
|
||||
|
||||
public PackageFeed(File f, String base){
|
||||
feed = f;
|
||||
urlBase = base;
|
||||
packages = new ArrayList(0);
|
||||
scan();
|
||||
}
|
||||
|
||||
private void scan() {
|
||||
BufferedReader input = null;
|
||||
packages.clear();
|
||||
try {
|
||||
if(feed.getName().toLowerCase().endsWith(".gz")) {
|
||||
input = new BufferedReader(new InputStreamReader(
|
||||
new GZIPInputStream(new FileInputStream(feed)), "UTF-8"));
|
||||
} else {
|
||||
input = new BufferedReader(new InputStreamReader(
|
||||
new FileInputStream(feed), "UTF-8"));
|
||||
}
|
||||
} catch(Exception e) {
|
||||
System.err.println("Error opening package list " + feed.getAbsolutePath());
|
||||
input = null;
|
||||
}
|
||||
if(input!=null) {
|
||||
try {
|
||||
String line = input.readLine();
|
||||
while(line!=null) {
|
||||
PackageEntry curr = new PackageEntry();
|
||||
line = line.trim();
|
||||
while(!line.equals("")) {
|
||||
if(!line.endsWith(":")) {
|
||||
if(line.startsWith("Package")) {
|
||||
curr.id = line.substring(line.indexOf(":")+1).trim();
|
||||
} else if(line.startsWith("Description")){
|
||||
curr.name =line.substring(line.indexOf(":")+1).trim();
|
||||
} else if(line.startsWith("Version")){
|
||||
curr.version = line.substring(line.indexOf(":")+1).trim();
|
||||
} else if(line.startsWith("Depends")) {
|
||||
curr.depends = line.substring(line.indexOf(":")+1).split(",");
|
||||
for(int i=0; i<curr.depends.length; i++) {
|
||||
curr.depends[i] = curr.depends[i].trim();
|
||||
}
|
||||
} else if(line.startsWith("Maintainer")){
|
||||
curr.developer = line.substring(line.indexOf(":")+1)
|
||||
.replaceAll("\\<.*?\\>", "").trim();
|
||||
} else if(line.startsWith("Size")) {
|
||||
String size = line.substring(line.indexOf(":")+1).trim();
|
||||
if(size.length()>0) {
|
||||
curr.size = Long.parseLong(size);
|
||||
}
|
||||
} else if(line.startsWith("Architecture")) {
|
||||
curr.arch = line.substring(line.indexOf(":")+1).trim().toLowerCase();
|
||||
} else if(line.startsWith("MD5Sum")) {
|
||||
curr.md5sum = line.substring(line.indexOf(":")+1).trim();
|
||||
} else if(line.startsWith("Filename")) {
|
||||
curr.file = urlBase + line.substring(line.indexOf(":")+1).trim();
|
||||
} else if(line.startsWith("Source")) {
|
||||
try {
|
||||
curr.source = new JSONObject(line.substring(line.indexOf(":")+1).trim());
|
||||
} catch(Exception e) {
|
||||
if(curr.id!=null) {
|
||||
System.err.println("Error reading source JSON of " + curr.id);
|
||||
curr.id = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
line = input.readLine();
|
||||
}
|
||||
if(curr.id!=null && curr.name!=null) {
|
||||
if(!packages.contains(curr)) {
|
||||
packages.add(curr);
|
||||
}
|
||||
}
|
||||
line = input.readLine();
|
||||
}
|
||||
} catch(Exception e) {
|
||||
System.err.println("Error parsing package feed: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
if(input!=null)
|
||||
try {
|
||||
input.close();
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
|
||||
public int indexOf(String id) {
|
||||
int index = -1;
|
||||
for(int i=0; i<packages.size(); i++) {
|
||||
if(packages.get(i).id.equalsIgnoreCase(id)) {
|
||||
index = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return index;
|
||||
}
|
||||
|
||||
public static PackageFeed Download(String url) {
|
||||
PackageFeed result = null;
|
||||
String base = null;
|
||||
int index = url.lastIndexOf("/");
|
||||
if(index>-1) {
|
||||
base = url.substring(0, index+1);
|
||||
}
|
||||
OnlineFile online = new OnlineFile(url);
|
||||
File f = online.download();
|
||||
if(f==null) { //2nd try if 1st failed
|
||||
f = online.download();
|
||||
}
|
||||
if(base!=null && f!=null) {
|
||||
result = new PackageFeed(f, base);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
package ca.canucksoftware.ipkg;
|
||||
|
||||
/**
|
||||
* @author Jason Robitaille
|
||||
*/
|
||||
public enum PackageFilter {
|
||||
Applications("Application"),
|
||||
Kernels("Kernel"),
|
||||
Linux_Apps("Linux Application"),
|
||||
Linux_Daemons("Linux Daemon"),
|
||||
Patches("Patch"),
|
||||
Plugins("Plugin"),
|
||||
Services("Service"),
|
||||
Themes("Theme"),
|
||||
None(null);
|
||||
|
||||
private String type;
|
||||
PackageFilter(String val) {
|
||||
type = val;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,323 @@
|
||||
|
||||
package ca.canucksoftware.ipkg;
|
||||
|
||||
import ca.canucksoftware.webos.InstalledEntry;
|
||||
import ca.canucksoftware.webos.DeviceInfo;
|
||||
import ca.canucksoftware.wosqi.WebOSQuickInstallApp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.prefs.Preferences;
|
||||
import javax.swing.JTextArea;
|
||||
import org.json.JSONArray;
|
||||
|
||||
/**
|
||||
* @author Jason Robitaille
|
||||
*/
|
||||
public class PackageManager {
|
||||
public final String ALL_CATEGORIES;
|
||||
private final String[] defaultFeeds;
|
||||
private boolean[] feedStates;
|
||||
private String[] feedUrls;
|
||||
private PackageFeed[] feeds;
|
||||
private ArrayList<PackageEntry> packages;
|
||||
private ArrayList<PackageEntry> filtered;
|
||||
private ArrayList<InstalledEntry> installed;
|
||||
private DeviceInfo device;
|
||||
private JTextArea label;
|
||||
private ResourceBundle bundle;
|
||||
|
||||
public PackageManager(DeviceInfo info, ArrayList<InstalledEntry> apps) {
|
||||
this(info, apps, null);
|
||||
}
|
||||
|
||||
public PackageManager(DeviceInfo info, ArrayList<InstalledEntry> apps, JTextArea display) {
|
||||
device = info;
|
||||
installed = apps;
|
||||
label = display;
|
||||
bundle = WebOSQuickInstallApp.bundle;
|
||||
ALL_CATEGORIES = "--" + bundle.getString("ALL") + "--";
|
||||
defaultFeeds = new String[] {
|
||||
"http://ipkg.preware.org/feeds/precentral/Packages.gz",
|
||||
"http://ipkg.preware.org/feeds/webos-internals/all/Packages.gz",
|
||||
"http://ipkg.preware.org/feeds/webos-internals/" + device.arch() + "/Packages.gz",
|
||||
"http://ipkg.preware.org/feeds/webos-patches/" + device.version() + "/Packages.gz",
|
||||
"http://ipkg.preware.org/feeds/webos-kernels/" + device.version() + "/Packages.gz",
|
||||
"http://www.prethemer.com/feeds/preware/themes/Packages.gz",
|
||||
"http://ipkg.preware.org/feeds/precentral-themes/Packages.gz",
|
||||
"http://webos-clock-themer.googlecode.com/svn/trunk/WebOS%20Clock%20Theme%20Builder/feed/Packages.gz"
|
||||
};
|
||||
Preferences prefs = Preferences.systemRoot();
|
||||
int numFeeds = prefs.getInt("numCustomFeeds", 0);
|
||||
feedStates = new boolean[defaultFeeds.length + numFeeds];
|
||||
feedUrls = new String[defaultFeeds.length + numFeeds];
|
||||
for(int i=0; i<defaultFeeds.length; i++) {
|
||||
feedStates[i] = prefs.getBoolean("defaultFeedState-" + i, true);
|
||||
}
|
||||
|
||||
feeds = new PackageFeed[defaultFeeds.length + numFeeds];
|
||||
packages = new ArrayList(0);
|
||||
for(int i=0; i<defaultFeeds.length; i++) {
|
||||
feedUrls[i] = defaultFeeds[i];
|
||||
if(feedStates[i]) {
|
||||
System.out.println("Downloading and parsing: " + feedUrls[i]);
|
||||
if(label!=null) {
|
||||
label.setText(feedUrls[i]);
|
||||
}
|
||||
feeds[i] = PackageFeed.Download(feedUrls[i]);
|
||||
if(feeds[i]!=null) {
|
||||
addToPackages(feeds[i].packages);
|
||||
} else {
|
||||
System.err.println("Failed to load feed: " + feedUrls[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
for(int i=defaultFeeds.length; i<feedUrls.length; i++) {
|
||||
String currUrl = prefs.get("customfeed" + (i-defaultFeeds.length), null);
|
||||
if(currUrl!=null) {
|
||||
feedUrls[i] = currUrl;
|
||||
feedStates[i] = prefs.getBoolean("customFeedState-" + (i-defaultFeeds.length), true);
|
||||
if(feedStates[i]) {
|
||||
System.out.println("Downloading and parsing: " + feedUrls[i]);
|
||||
if(label!=null) {
|
||||
label.setText(feedUrls[i]);
|
||||
}
|
||||
feeds[i] = PackageFeed.Download(feedUrls[i]);
|
||||
if(feeds[i]!=null) {
|
||||
addToPackages(feeds[i].packages);
|
||||
} else {
|
||||
System.err.println("Failed to load feed: " + feedUrls[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Collections.sort(packages, new PackageSorter(true));
|
||||
filtered = packages;
|
||||
}
|
||||
|
||||
private void addToPackages(ArrayList<PackageEntry> list) {
|
||||
for(int i=0; i<list.size(); i++) {
|
||||
PackageEntry curr = list.get(i);
|
||||
int index = indexOf(curr.id);
|
||||
if(index>-1) {
|
||||
PackageEntry existing = packages.get(index);
|
||||
if(curr.newerThan(existing)) {
|
||||
packages.set(index, curr);
|
||||
}
|
||||
} else {
|
||||
packages.add(curr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public PackageEntry getEntryById(String id) {
|
||||
PackageEntry result = null;
|
||||
int index = indexOf(id);
|
||||
if(index>-1) {
|
||||
result = packages.get(index);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private int indexOf(String id) {
|
||||
int result = -1;
|
||||
for(int i=0; i<packages.size(); i++) {
|
||||
if(packages.get(i).id.equals(id)) {
|
||||
result = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public void setFilter(PackageFilter filter) {
|
||||
filtered = new ArrayList(0);
|
||||
for(int i=0; i<packages.size(); i++) {
|
||||
PackageEntry curr = (PackageEntry) packages.get(i);
|
||||
if(filter==PackageFilter.None) {
|
||||
filtered.add(curr);
|
||||
} else {
|
||||
String type = PackageFilter.Applications.toString();
|
||||
if(curr.source!=null) {
|
||||
if(curr.source.has("Type")) {
|
||||
try {
|
||||
type = curr.source.getString("Type");
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
}
|
||||
if(type.equals(filter.toString())) {
|
||||
filtered.add(curr);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public ArrayList<String> getCategories() {
|
||||
ArrayList<String> result = new ArrayList(0);
|
||||
result.add(ALL_CATEGORIES);
|
||||
for(int i=0; i<filtered.size(); i++) {
|
||||
PackageEntry curr = filtered.get(i);
|
||||
if(curr.source!=null) {
|
||||
if(curr.source.has("Category")) {
|
||||
try {
|
||||
String category = curr.source.getString("Category");
|
||||
if(category.length()>0 &&
|
||||
!category.toLowerCase().equals("unavailable")) {
|
||||
if(!result.contains(category)) {
|
||||
result.add(category);
|
||||
}
|
||||
}
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
Collections.sort(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
public ArrayList<PackageEntry> getPackagesByCategory(String category) {
|
||||
return getPackagesByCategory(category, false);
|
||||
}
|
||||
|
||||
public ArrayList<PackageEntry> getPackagesByCategory(String category,
|
||||
boolean includeInstalled) {
|
||||
ArrayList<PackageEntry> results = new ArrayList(0);
|
||||
for(int i=0; i<filtered.size(); i++) {
|
||||
PackageEntry curr = filtered.get(i);
|
||||
if(category.equals(ALL_CATEGORIES)) {
|
||||
if(okToAdd(curr, includeInstalled)) {
|
||||
results.add(curr);
|
||||
}
|
||||
} else {
|
||||
if(curr.source!=null) {
|
||||
if(curr.source.has("Category")) {
|
||||
try {
|
||||
String currCategory = curr.source.getString("Category");
|
||||
if(currCategory.equals(category)) {
|
||||
if(okToAdd(curr, includeInstalled)) {
|
||||
results.add(curr);
|
||||
}
|
||||
}
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
private boolean okToAdd(PackageEntry item, boolean includeInstalled) {
|
||||
boolean result = true;
|
||||
if(!includeInstalled) {
|
||||
result &= (installed.indexOf(new InstalledEntry(item.id))==-1);
|
||||
}
|
||||
result &= item.arch.equals(device.arch()) || item.arch.equals("any") ||
|
||||
item.arch.equals("all") || device.arch().startsWith(item.arch);
|
||||
if(result && item.source!=null) {
|
||||
if(item.source.has("DeviceCompatibility")) {
|
||||
try {
|
||||
String deviceName = device.model().replace("Palm ", "").replace(" ", "");
|
||||
JSONArray array = item.source.getJSONArray("DeviceCompatibility");
|
||||
result &= array.toString().contains(deviceName);
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
String[] deviceVer = device.version().split("\\.");
|
||||
if(result && item.source.has("MinWebOSVersion")) {
|
||||
try {
|
||||
String[] min = item.source.getString("MinWebOSVersion").split("\\.");
|
||||
for(int i=0; i<min.length; i++) {
|
||||
int verVal = Integer.parseInt(deviceVer[i]);
|
||||
int minVal = Integer.parseInt(min[i]);
|
||||
if(verVal > minVal) {
|
||||
result &= true;
|
||||
break;
|
||||
} else if (verVal < minVal) {
|
||||
result &= false;
|
||||
break;
|
||||
}
|
||||
if(deviceVer.length-1==i && min.length-1>i) {
|
||||
minVal = Integer.parseInt(min[i+1]);
|
||||
if(minVal>0) {
|
||||
result &= false;
|
||||
} else {
|
||||
result &= true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if(min.length-1==i && deviceVer.length-1>i) {
|
||||
result &=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
if(result && item.source.has("MaxWebOSVersion")) {
|
||||
try {
|
||||
String[] max = item.source.getString("MaxWebOSVersion").split("\\.");
|
||||
for(int i=0; i<max.length; i++) {
|
||||
int verVal = Integer.parseInt(deviceVer[i]);
|
||||
int maxVal = Integer.parseInt(max[i]);
|
||||
if(verVal < maxVal) {
|
||||
result &= true;
|
||||
break;
|
||||
} else if (verVal > maxVal) {
|
||||
result &= false;
|
||||
break;
|
||||
}
|
||||
if(deviceVer.length-1==i && max.length-1>i) {
|
||||
result &= true;
|
||||
break;
|
||||
}
|
||||
if(max.length-1==i && deviceVer.length-1>i) {
|
||||
verVal = Integer.parseInt(deviceVer[i+1]);
|
||||
if(verVal>0) {
|
||||
result &= false;
|
||||
} else {
|
||||
result &= true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
if(result && item.source.has("Category")) {
|
||||
try {
|
||||
String category = item.source.getString("Category");
|
||||
if(category.toLowerCase().equals("unavailable")) {
|
||||
result &= false;
|
||||
}
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public ArrayList<PackageEntry> getUpdates() {
|
||||
ArrayList<PackageEntry> results = new ArrayList(0);
|
||||
for(int i=0; i<packages.size(); i++) {
|
||||
PackageEntry curr = (PackageEntry) packages.get(i);
|
||||
int index = installed.indexOf(new InstalledEntry(curr.id));
|
||||
if(index>-1) {
|
||||
if(curr.isUpdate(installed.get(index))) {
|
||||
results.add(curr);
|
||||
}
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
public void setInstalledAppList(ArrayList<InstalledEntry> apps) {
|
||||
installed = apps;
|
||||
}
|
||||
|
||||
public boolean hasPackages() {
|
||||
return (packages.size()>0);
|
||||
}
|
||||
|
||||
public boolean isInstalled(PackageEntry pkg) {
|
||||
return installed.contains(new InstalledEntry(pkg.id));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
|
||||
package ca.canucksoftware.ipkg;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
/**
|
||||
* @author Jason Robitaille
|
||||
*/
|
||||
public class PackageSorter implements Comparator {
|
||||
boolean ascending;
|
||||
PackageSorter(boolean ascending) {
|
||||
this.ascending = ascending;
|
||||
}
|
||||
public int compare(Object a, Object b) {
|
||||
int i;
|
||||
PackageEntry data1 = (PackageEntry)a;
|
||||
PackageEntry data2 = (PackageEntry)b;
|
||||
|
||||
if (ascending) {
|
||||
i = data1.name.compareToIgnoreCase(data2.name);
|
||||
if(i==0)
|
||||
i = data1.id.compareToIgnoreCase(data2.id);
|
||||
} else {
|
||||
i = data2.name.compareToIgnoreCase(data1.name);
|
||||
if(i==0)
|
||||
i = data2.id.compareToIgnoreCase(data1.id);
|
||||
}
|
||||
return i;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
|
||||
package ca.canucksoftware.utils;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import org.jdesktop.application.Application;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Jason
|
||||
*/
|
||||
public class FileUtils {
|
||||
public static File appDirectory() {
|
||||
File app, dir;
|
||||
try {
|
||||
app = new File(Application.getInstance()
|
||||
.getClass().getProtectionDomain().getCodeSource().getLocation().toURI());
|
||||
dir = app.getParentFile();
|
||||
} catch(Exception e) {
|
||||
app = new File(Application.getInstance().getClass().getProtectionDomain()
|
||||
.getCodeSource().getLocation()
|
||||
.getPath().replaceAll("%20", " "));
|
||||
dir = app.getParentFile();
|
||||
}
|
||||
return dir;
|
||||
}
|
||||
|
||||
public static void copy(File from, File to) throws IOException {
|
||||
FileInputStream fis = new FileInputStream(from);
|
||||
FileOutputStream fos = new FileOutputStream(to);
|
||||
try {
|
||||
byte[] buf = new byte[1024];
|
||||
int i = 0;
|
||||
while ((i = fis.read(buf)) != -1) {
|
||||
fos.write(buf, 0, i);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
throw e;
|
||||
} finally {
|
||||
if (fis != null)
|
||||
fis.close();
|
||||
if (fos != null)
|
||||
fos.close();
|
||||
}
|
||||
}
|
||||
|
||||
public static String getFilename(File file) {
|
||||
return getFilename(file.getName());
|
||||
}
|
||||
|
||||
public static String getFilename(String file) {
|
||||
String name = file;
|
||||
int index = name.lastIndexOf("\\");
|
||||
if(index>-1) {
|
||||
name = name.substring(index+1, name.length());
|
||||
} else {
|
||||
index = name.lastIndexOf("/");
|
||||
if(index>-1)
|
||||
name = name.substring(index+1, name.length());
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
public static String formatFilesize(File file) {
|
||||
return formatFilesize(file.length());
|
||||
}
|
||||
|
||||
public static String formatFilesize(long size) {
|
||||
String result = "";
|
||||
if(size<1000) { //bytes
|
||||
result = size + "B";
|
||||
} else if((size/1024)<1000) { //kilobytes
|
||||
result = roundNicely(((double)size)/1024.0) + "KB";
|
||||
} else {
|
||||
result = roundNicely((((double)size)/1024.0)/1024.0) + "MB";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private static String roundNicely(double dbl) {
|
||||
long rounded = Math.round((dbl*100.0));
|
||||
String result = String.valueOf(((double)rounded)/100.0);
|
||||
if(dbl<10) {
|
||||
result = String.valueOf(Math.round(dbl*100.0)/100.0);
|
||||
} else if(dbl<100) {
|
||||
result = String.valueOf(Math.round(dbl*10.0)/10.0);
|
||||
} else {
|
||||
result = String.valueOf(((long)dbl));
|
||||
}
|
||||
if(result.endsWith(".0")) {
|
||||
result = result.replace(".0", "");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static String getMD5Sum(File file) {
|
||||
return MD5.getMD5Checksum(file);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
|
||||
package ca.canucksoftware.utils;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.security.MessageDigest;
|
||||
|
||||
/**
|
||||
* @author Jason Robitaille
|
||||
*/
|
||||
public class MD5 {
|
||||
private static final byte[] HEX_CHAR_TABLE = {
|
||||
(byte)'0', (byte)'1', (byte)'2', (byte)'3',
|
||||
(byte)'4', (byte)'5', (byte)'6', (byte)'7',
|
||||
(byte)'8', (byte)'9', (byte)'a', (byte)'b',
|
||||
(byte)'c', (byte)'d', (byte)'e', (byte)'f'
|
||||
};
|
||||
|
||||
public static byte[] createChecksum(File f) throws Exception {
|
||||
InputStream fis = new FileInputStream(f);
|
||||
byte[] buffer = new byte[2048];
|
||||
MessageDigest complete = MessageDigest.getInstance("MD5");
|
||||
int numRead;
|
||||
do {
|
||||
numRead = fis.read(buffer);
|
||||
if (numRead > 0) {
|
||||
complete.update(buffer, 0, numRead);
|
||||
}
|
||||
} while (numRead != -1);
|
||||
fis.close();
|
||||
return complete.digest();
|
||||
}
|
||||
|
||||
public static String getMD5Checksum(File f) {
|
||||
String result = null;
|
||||
try {
|
||||
byte[] raw = createChecksum(f);
|
||||
result = getHexString(raw);
|
||||
} catch(Exception e) {}
|
||||
return result;
|
||||
}
|
||||
|
||||
private static String getHexString(byte[] raw) throws Exception {
|
||||
byte[] hex = new byte[2 * raw.length];
|
||||
int index = 0;
|
||||
|
||||
for (byte b : raw) {
|
||||
int v = b & 0xFF;
|
||||
hex[index++] = HEX_CHAR_TABLE[v >>> 4];
|
||||
hex[index++] = HEX_CHAR_TABLE[v & 0xF];
|
||||
}
|
||||
return new String(hex, "ASCII");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,205 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
||||
<Properties>
|
||||
<Property name="defaultCloseOperation" type="int" value="2"/>
|
||||
<Property name="modal" type="boolean" value="true"/>
|
||||
<Property name="name" type="java.lang.String" value="aboutBox" noResource="true"/>
|
||||
<Property name="resizable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<SyntheticProperties>
|
||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||
</SyntheticProperties>
|
||||
<Events>
|
||||
<EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="formKeyPressed"/>
|
||||
<EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="formKeyTyped"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="350" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="341" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane1">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="c0" green="c0" red="c0" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane1" noResource="true"/>
|
||||
<Property name="opaque" type="boolean" value="true"/>
|
||||
</Properties>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JButton" name="closeButton">
|
||||
<Properties>
|
||||
<Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.swingapp.ActionEditor">
|
||||
<action class="ca.canucksoftware.WebOSQuickInstallAboutBox" id="closeAboutBox" methodName="closeAboutBox"/>
|
||||
</Property>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="c0" green="c0" red="c0" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="closeButton" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="About.closeButton.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
<Property name="name" type="java.lang.String" value="closeButton" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="closeButtonKeyTyped"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="130" y="310" width="90" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel5">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel5" italic="true" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="horizontalAlignment" type="int" value="0"/>
|
||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||
<Image iconType="3" name="/ca/canucksoftware/wosqi/resources/donate.gif"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="About.jLabel5.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="horizontalTextPosition" type="int" value="0"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel5" noResource="true"/>
|
||||
<Property name="verticalTextPosition" type="int" value="1"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jLabel5MouseClicked"/>
|
||||
<EventHandler event="mouseMoved" listener="java.awt.event.MouseMotionListener" parameters="java.awt.event.MouseEvent" handler="jLabel5MouseMoved"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="120" width="330" height="50" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||
<Properties>
|
||||
<Property name="horizontalAlignment" type="int" value="0"/>
|
||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||
<Image iconType="3" name="/ca/canucksoftware/wosqi/resources/title.png"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel1" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="0" y="0" width="350" height="60" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel6">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel6" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="About.jLabel6.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel6" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="200" width="310" height="110" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="appVersionLabel">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font bold="true" component="appVersionLabel" property="font" relativeSize="true" size="5"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="horizontalAlignment" type="int" value="0"/>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="About.appVersionLabel.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="appVersionLabel" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="50" width="330" height="30" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel4">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel4" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="horizontalAlignment" type="int" value="0"/>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="About.jLabel4.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel4" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="170" width="310" height="40" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel2" property="font" relativeSize="true" size="3"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="horizontalAlignment" type="int" value="0"/>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="About.jLabel2.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="80" width="330" height="30" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
@@ -0,0 +1,173 @@
|
||||
|
||||
package ca.canucksoftware.wosqi;
|
||||
|
||||
import org.jdesktop.application.Action;
|
||||
import java.awt.Desktop;
|
||||
import java.net.URI;
|
||||
import java.awt.Cursor;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
public class About extends javax.swing.JDialog {
|
||||
private ResourceBundle bundle;
|
||||
|
||||
public About(java.awt.Frame parent) {
|
||||
super(parent);
|
||||
bundle = WebOSQuickInstallApp.bundle;
|
||||
initComponents();
|
||||
getRootPane().setDefaultButton(closeButton);
|
||||
jLabel5.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
|
||||
}
|
||||
|
||||
@Action
|
||||
public void closeAboutBox() {
|
||||
dispose();
|
||||
}
|
||||
|
||||
/** This method is called from within the constructor to
|
||||
* initialize the form.
|
||||
* WARNING: Do NOT modify this code. The content of this method is
|
||||
* always regenerated by the Form Editor.
|
||||
*/
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
jLayeredPane1 = new javax.swing.JLayeredPane();
|
||||
closeButton = new javax.swing.JButton();
|
||||
jLabel5 = new javax.swing.JLabel();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jLabel6 = new javax.swing.JLabel();
|
||||
javax.swing.JLabel appVersionLabel = new javax.swing.JLabel();
|
||||
jLabel4 = new javax.swing.JLabel();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
setModal(true);
|
||||
setName("aboutBox"); // NOI18N
|
||||
setResizable(false);
|
||||
addKeyListener(new java.awt.event.KeyAdapter() {
|
||||
public void keyPressed(java.awt.event.KeyEvent evt) {
|
||||
formKeyPressed(evt);
|
||||
}
|
||||
public void keyTyped(java.awt.event.KeyEvent evt) {
|
||||
formKeyTyped(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLayeredPane1.setBackground(new java.awt.Color(192, 192, 192));
|
||||
jLayeredPane1.setName("jLayeredPane1"); // NOI18N
|
||||
jLayeredPane1.setOpaque(true);
|
||||
|
||||
javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(ca.canucksoftware.wosqi.WebOSQuickInstallApp.class).getContext().getActionMap(About.class, this);
|
||||
closeButton.setAction(actionMap.get("closeAboutBox")); // NOI18N
|
||||
closeButton.setBackground(new java.awt.Color(192, 192, 192));
|
||||
closeButton.setFont(closeButton.getFont());
|
||||
closeButton.setText(bundle.getString("About.closeButton.text")); // NOI18N
|
||||
closeButton.setFocusable(false);
|
||||
closeButton.setName("closeButton"); // NOI18N
|
||||
closeButton.addKeyListener(new java.awt.event.KeyAdapter() {
|
||||
public void keyTyped(java.awt.event.KeyEvent evt) {
|
||||
closeButtonKeyTyped(evt);
|
||||
}
|
||||
});
|
||||
closeButton.setBounds(130, 310, 90, 25);
|
||||
jLayeredPane1.add(closeButton, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel5.setFont(jLabel5.getFont().deriveFont((jLabel5.getFont().getStyle() | java.awt.Font.ITALIC), jLabel5.getFont().getSize()+1));
|
||||
jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canucksoftware/wosqi/resources/donate.gif"))); // NOI18N
|
||||
jLabel5.setText(bundle.getString("About.jLabel5.text")); // NOI18N
|
||||
jLabel5.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
|
||||
jLabel5.setName("jLabel5"); // NOI18N
|
||||
jLabel5.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
|
||||
jLabel5.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||
jLabel5MouseClicked(evt);
|
||||
}
|
||||
});
|
||||
jLabel5.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
|
||||
public void mouseMoved(java.awt.event.MouseEvent evt) {
|
||||
jLabel5MouseMoved(evt);
|
||||
}
|
||||
});
|
||||
jLabel5.setBounds(10, 120, 330, 50);
|
||||
jLayeredPane1.add(jLabel5, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canucksoftware/wosqi/resources/title.png"))); // NOI18N
|
||||
jLabel1.setName("jLabel1"); // NOI18N
|
||||
jLabel1.setBounds(0, 0, 350, 60);
|
||||
jLayeredPane1.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel6.setFont(jLabel6.getFont());
|
||||
jLabel6.setText(bundle.getString("About.jLabel6.text")); // NOI18N
|
||||
jLabel6.setName("jLabel6"); // NOI18N
|
||||
jLabel6.setBounds(20, 200, 310, 110);
|
||||
jLayeredPane1.add(jLabel6, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
appVersionLabel.setFont(appVersionLabel.getFont().deriveFont(appVersionLabel.getFont().getStyle() | java.awt.Font.BOLD, appVersionLabel.getFont().getSize()+5));
|
||||
appVersionLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
appVersionLabel.setText(bundle.getString("About.appVersionLabel.text")); // NOI18N
|
||||
appVersionLabel.setName("appVersionLabel"); // NOI18N
|
||||
appVersionLabel.setBounds(10, 50, 330, 30);
|
||||
jLayeredPane1.add(appVersionLabel, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel4.setFont(jLabel4.getFont());
|
||||
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
jLabel4.setText(bundle.getString("About.jLabel4.text")); // NOI18N
|
||||
jLabel4.setName("jLabel4"); // NOI18N
|
||||
jLabel4.setBounds(20, 170, 310, 40);
|
||||
jLayeredPane1.add(jLabel4, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel2.setFont(jLabel2.getFont().deriveFont(jLabel2.getFont().getSize()+3f));
|
||||
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
jLabel2.setText(bundle.getString("About.jLabel2.text")); // NOI18N
|
||||
jLabel2.setName("jLabel2"); // NOI18N
|
||||
jLabel2.setBounds(10, 80, 330, 30);
|
||||
jLayeredPane1.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||
getContentPane().setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 350, Short.MAX_VALUE)
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 341, Short.MAX_VALUE)
|
||||
);
|
||||
|
||||
pack();
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void formKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_formKeyPressed
|
||||
|
||||
}//GEN-LAST:event_formKeyPressed
|
||||
|
||||
private void formKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_formKeyTyped
|
||||
|
||||
}//GEN-LAST:event_formKeyTyped
|
||||
|
||||
private void closeButtonKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_closeButtonKeyTyped
|
||||
|
||||
}//GEN-LAST:event_closeButtonKeyTyped
|
||||
|
||||
private void jLabel5MouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel5MouseMoved
|
||||
}//GEN-LAST:event_jLabel5MouseMoved
|
||||
|
||||
private void jLabel5MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel5MouseClicked
|
||||
try {
|
||||
Desktop.getDesktop().browse(new URI("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7G5QLAXMVVSGY"));
|
||||
} catch(Exception e) {}
|
||||
}//GEN-LAST:event_jLabel5MouseClicked
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JButton closeButton;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JLabel jLabel4;
|
||||
private javax.swing.JLabel jLabel5;
|
||||
private javax.swing.JLabel jLabel6;
|
||||
private javax.swing.JLayeredPane jLayeredPane1;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
}
|
||||
@@ -0,0 +1,324 @@
|
||||
# To change this template, choose Tools | Templates
|
||||
# and open the template in the editor.
|
||||
|
||||
MainView.jLabel2.text=Device:
|
||||
MainView.fileMenu.text=File
|
||||
MainView.jLayeredPane7.border.title=Files to Install
|
||||
MainView.jButton3.text=Install
|
||||
MainView.toolMenu.text=Tools
|
||||
MainView.helpMenu.text=Help
|
||||
MainView.jMenuItem1.text=Add File...
|
||||
MainView.jMenuItem2.text=Reinstall Novacom
|
||||
MainView.jMenuItem3.text=Send File
|
||||
MainView.jMenuItem4.text=Receive File
|
||||
MainView.jMenuItem5.text=Device Management
|
||||
MainView.jMenuItem6.text=Usage
|
||||
MainView.jMenuItem7.text=Disclaimer
|
||||
MainView.aboutMenuItem.text=About
|
||||
Usage.jLayeredPane2.border.title=How To Use
|
||||
Usage.jTextPane1.text=<html><body style="font:1em">In order to get WebOS Quick Install to work properly, there are a few minor requirements:<br/><ul><li/>Novacom driver installed on this computer.<br/><br/>If you want to reinstall the driver, click the "Reinstall Novacom" option in the top File menu.<br/><br/><li/>Developer mode enabled.<br/><br/>This can be done by typing "upupdowndownleftrightleftrightbastart", opening the DevMode app, and enabling the feature.<br/><br/><li/>When you plug in your device, choose "Just charge".</ul></body>
|
||||
Usage.jTextPane1.contentType=text/html
|
||||
ReveiveFile.jLabel2.text=File:
|
||||
ReceiveFile.jButton1.text=...
|
||||
ReveiveFile.jLabel1.text=Destination:
|
||||
ReceiveFile.jButton2.text=Get From Device
|
||||
ReceiveFile.jButton3.text=Cancel
|
||||
SendFile.jButton1.text=...
|
||||
SendFile.jLabel2.text=File:
|
||||
SendFile.jLabel1.text=Destination:
|
||||
SendFile.jButton3.text=Cancel
|
||||
SendFile.jButton2.text=Send To Device
|
||||
DeviceManagement.jLabel2.text=
|
||||
DeviceManagement.jLabel3.text=
|
||||
DeviceManagement.jLabel9.text=
|
||||
DeviceManagement.jButton1.text=Uninstall
|
||||
DeviceManagement.jLabel8.text=
|
||||
DeviceManagement.jLayeredPane3.border.title=User-Installed Content
|
||||
DeviceManagement.jLabel4.text=
|
||||
DeviceManagement.jLabel5.text=
|
||||
DeviceManagement.jTable1.columnModel.title1=
|
||||
DeviceManagement.jTable1.columnModel.title0=Name
|
||||
DeviceManagement.jLayeredPane2.border.title=Device Info
|
||||
DeviceManagement.jLabel1.text=
|
||||
DeviceManagement.jLabel10.text=
|
||||
DeviceManagement.jLabel11.text=
|
||||
DeviceManagement.jLabel12.text=
|
||||
DeviceManagement.jLabel13.text=
|
||||
LOADING_LIST...=Loading list...
|
||||
{0}_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN.={0} is disconnected. Please reconnect then try again.
|
||||
DEVICE_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN.=Device is disconnected. Please reconnect then try again.
|
||||
DEVICE\:=Device:
|
||||
OS\:=OS:
|
||||
ARCHITECTURE\:=Architecture:
|
||||
BUILD_NAME\:=Build Name:
|
||||
BUILD_TIME\:=Build Time:
|
||||
CPU_TYPE\:=CPU Type:
|
||||
CPU_SPEED\:=CPU Speed:
|
||||
CPU_HARDWARE\:=CPU Hardware:
|
||||
MODEM_TYPE\:=Modem Type:
|
||||
MODEM_FIRMWARE\:=Modem Firmware:
|
||||
DEPENDANT_PACKAGES_EXIST_WARNING=Warning: The follow packages are dependant on \"{0}\" and will be remove along with it:
|
||||
WARNING=Warning
|
||||
PROCESSING_FINISHED_DOWNLOAD._THIS_MAY_TAKE_A_FEW_MINUTES.=Processing finished download. This may take a few minutes.
|
||||
INSTALLING_DRIVER...=Installing driver...
|
||||
DRIVER_INSTALLED_SUCCESSFULLY.=Driver installed successfully.
|
||||
ERROR\:_DRIVER_INSTALLATION_FAILED=ERROR: Driver installation failed
|
||||
ERROR\:=ERROR:
|
||||
PLEASE_WAIT...=Please wait...
|
||||
SELECT=Select
|
||||
FILE_TRANSFERRED_SUCCESSFULLY.=File transferred successfully.
|
||||
FILE_TRANSFER_FAILED.=File transfer failed.
|
||||
SYSTEM_IS_BUSY._TRY_AGAIN_LATER.=System is busy. Try again later.
|
||||
CONNECTING...=Connecting...
|
||||
DOWNLOADING\:=Downloading:
|
||||
TRANSFERRING_AND_APPLYING\:=Transferring and applying:
|
||||
TRANSFERRING\:=Transferring:
|
||||
INSTALLING\:=Installing:
|
||||
INSTALL=Install
|
||||
NO_DEVICES_ARE_CONNECTED._CONNECT_A_DEVICE_THEN_RELAUNCH_WEBOS_QUICK_INSTALL.=No devices are connected. Connect a device then relaunch WebOS Quick Install.
|
||||
NO_DEVICES_FOUND=No Devices Found
|
||||
FULL_WOSQI_DISCLAIMER=This program is intended for use with WebOS applications that are in-testing, which under section 4.2 of the Palm SDK License Agreement allows for such unapproved applications to be installed on Palm devices. By using this program, the user understands that webOS applications installed may be dangerous and have not been approved for safety or stability by Palm Inc and could void your device's warranty. Installing webOS packages are done so at your own risk and neither the developer of WebOS Quick Install, nor Palm Inc can be held liable.
|
||||
DISCLAIMER=Disclaimer
|
||||
FOR_WEBOS_QUICK_INSTALL_TO_RUN_CORRECTLY,_YOUR_COMPUTER_NEEDS_TO_HAVE_THE_NOVACOM_DRIVER_INSTALLED._WOULD_YOU_LIKE_TO_INSTALL_IT_NOW?=For WebOS Quick Install to run correctly, your computer needs to have the Novacom driver installed. Would you like to install it now?
|
||||
NOVACOM_DRIVER_MISSING=Novacom Driver Missing
|
||||
JAR_FILES_(*.JAR)=Jar Files (*.jar)
|
||||
WEBOS_FILES_(*.IPK,_*.PATCH,_*.DIFF)=webOS Files (*.ipk, *.patch, *.diff)
|
||||
REPEATING_CONNECTION_WARNING=There are no devices currently connected. Please connect a device to continue.
|
||||
WEBOS_DOCTOR_NEEDED_FOR_DRIVERS=In order to install the Novacom driver on your system, a webOSDoctor is temporarily required. You can download it now (approx 200MB) or, if you already have one downloaded, you can select that one, and the driver will be installed.
|
||||
WEBOSDOCTOR_REQUIRED=webOSDoctor Required
|
||||
DOWNLOAD=Download
|
||||
SELECT_FILE...=Select File...
|
||||
CANCEL=Cancel
|
||||
InstalledPkgInfo.jLabel1.text=Name:
|
||||
InstalledPkgInfo.jLabel2.text=Version:
|
||||
InstalledPkgInfo.jLabel4.text=ID:
|
||||
InstalledPkgInfo.jButton1.text=Close
|
||||
InstalledPkgInfo.jLabel11.text=Author:
|
||||
InstalledPkgInfo.title=Package Info
|
||||
UNKNOWN=Unknown
|
||||
InstalledPatchInfo.title=Package Info
|
||||
InstalledPatchInfo.jButton1.text=Close
|
||||
InstalledPatchInfo.jLabel4.text=ID:
|
||||
InstalledPatchInfo.jLabel2.text=Version:
|
||||
InstalledPatchInfo.jLabel1.text=Name:
|
||||
InstalledPatchInfo.jLabel5.text=Description:
|
||||
InstalledPatchInfo.jLabel11.text=Author:
|
||||
About.closeButton.text=Close
|
||||
About.jLabel5.text=Help support development
|
||||
About.appVersionLabel.text=Version 4.5.0
|
||||
About.jLabel2.text=Freeware
|
||||
About.jLabel4.text=<html>Copyright \u00A9 2009-2013 Jason Robitaille.
|
||||
About.jLabel6.text=<html><p align="justify">Jason Robitaille and Canuck Coding are in no way affiliated with HP, LG or their affiliates. Palm, Pre, Pixi, Veer, TouchPad, Enyo, and webOS are among the trademarks owned by or licensed to Hewlett-Packard Development Company, L.P. www.hpwebos.com</p>
|
||||
FeedLoader.jLabel5.text=Downloading and parsing:
|
||||
FeedLoader.jLabel6.text=
|
||||
FeedViewer.jLayeredPane1.TabConstraints.tabTitle=Updates
|
||||
FeedViewer.jLayeredPane2.TabConstraints.tabTitle=Applications
|
||||
FeedViewer.jLayeredPane3.TabConstraints.tabTitle=Services
|
||||
FeedViewer.jLayeredPane4.TabConstraints.tabTitle=Plugins
|
||||
FeedViewer.jLayeredPane5.TabConstraints.tabTitle=Linux Apps
|
||||
FeedViewer.jLayeredPane6.TabConstraints.tabTitle=Kernels
|
||||
FeedViewer.jLayeredPane7.TabConstraints.tabTitle=Patches
|
||||
FeedViewer.jLayeredPane8.TabConstraints.tabTitle=Themes
|
||||
FeedViewer.jTextField1.text=
|
||||
FeedViewer.jButton1.text=
|
||||
FeedViewer.jButton2.text=Install
|
||||
FeedViewer.jLabel1.text=<html>
|
||||
FeedViewer.jLabel2.text=<html>
|
||||
FeedViewer.jTextPane1.contentType=text/html
|
||||
FeedViewer.jTextPane1.text=<html>
|
||||
FeedViewer.jLabel4.text=<html><b>Feed:</b>
|
||||
FeedViewer.jLabel3.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel5.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel6.text=<html><b>Last Updated:</b>
|
||||
FeedViewer.jLabel8.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel7.text=<html>
|
||||
FeedViewer.jLabel9.text=<html><b>Developer:</b>
|
||||
FeedViewer.jLabel10.text=<html>
|
||||
FeedViewer.jLabel11.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jTextField2.text=
|
||||
FeedViewer.jLabel22.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel21.text=<html>
|
||||
FeedViewer.jLabel20.text=<html><b>Developer:</b>
|
||||
FeedViewer.jLabel19.text=<html>
|
||||
FeedViewer.jLabel18.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel17.text=<html><b>Last Updated:</b>
|
||||
FeedViewer.jLabel16.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel15.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel14.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane2.text=<html>
|
||||
FeedViewer.jTextPane2.contentType=text/html
|
||||
FeedViewer.jLabel13.text=<html>
|
||||
FeedViewer.jLabel12.text=<html>
|
||||
FeedViewer.jButton4.text=Install
|
||||
FeedViewer.jButton3.text=
|
||||
FeedViewer.jLabel33.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel32.text=<html>
|
||||
FeedViewer.jLabel31.text=<html><b>Developer:</b>
|
||||
FeedViewer.jLabel30.text=<html>
|
||||
FeedViewer.jLabel29.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel28.text=<html><b>Last Updated:</b>
|
||||
FeedViewer.jLabel27.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel26.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel25.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane3.text=<html>
|
||||
FeedViewer.jTextPane3.contentType=text/html
|
||||
FeedViewer.jLabel24.text=<html>
|
||||
FeedViewer.jLabel23.text=<html>
|
||||
FeedViewer.jButton6.text=Install
|
||||
FeedViewer.jButton5.text=
|
||||
FeedViewer.jTextField3.text=
|
||||
FeedViewer.jLabel44.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel43.text=<html>
|
||||
FeedViewer.jLabel42.text=<html><b>Developer:</b>
|
||||
FeedViewer.jLabel41.text=<html>
|
||||
FeedViewer.jLabel40.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel39.text=<html><b>Last Updated:</b>
|
||||
FeedViewer.jLabel38.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel37.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel36.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane4.text=<html>
|
||||
FeedViewer.jTextPane4.contentType=text/html
|
||||
FeedViewer.jLabel35.text=<html>
|
||||
FeedViewer.jLabel34.text=<html>
|
||||
FeedViewer.jButton8.text=Install
|
||||
FeedViewer.jButton7.text=
|
||||
FeedViewer.jTextField4.text=
|
||||
FeedViewer.jTextField5.text=
|
||||
FeedViewer.jLabel55.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel54.text=<html>
|
||||
FeedViewer.jLabel53.text=<html><b>Developer:</b>
|
||||
FeedViewer.jLabel52.text=<html>
|
||||
FeedViewer.jLabel51.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel50.text=<html><b>Last Updated:</b>
|
||||
FeedViewer.jLabel49.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel48.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel47.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane5.text=<html>
|
||||
FeedViewer.jTextPane5.contentType=text/html
|
||||
FeedViewer.jLabel46.text=<html>
|
||||
FeedViewer.jLabel45.text=<html>
|
||||
FeedViewer.jButton10.text=Install
|
||||
FeedViewer.jButton9.text=
|
||||
FeedViewer.jLabel66.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel65.text=<html>
|
||||
FeedViewer.jLabel64.text=<html><b>Developer:</b>
|
||||
FeedViewer.jLabel63.text=<html>
|
||||
FeedViewer.jLabel62.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel61.text=<html><b>Last Updated:</b>
|
||||
FeedViewer.jLabel60.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel59.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel58.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane6.text=<html>
|
||||
FeedViewer.jTextPane6.contentType=text/html
|
||||
FeedViewer.jLabel57.text=<html>
|
||||
FeedViewer.jLabel56.text=<html>
|
||||
FeedViewer.jButton12.text=Install
|
||||
FeedViewer.jButton11.text=
|
||||
FeedViewer.jTextField6.text=
|
||||
FeedViewer.jLabel77.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel76.text=<html>
|
||||
FeedViewer.jLabel75.text=<html><b>Developer:</b>
|
||||
FeedViewer.jLabel74.text=<html>
|
||||
FeedViewer.jLabel73.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel72.text=<html><b>Last Updated:</b>
|
||||
FeedViewer.jLabel71.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel70.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel69.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane7.text=<html>
|
||||
FeedViewer.jTextPane7.contentType=text/html
|
||||
FeedViewer.jLabel68.text=<html>
|
||||
FeedViewer.jLabel67.text=<html>
|
||||
FeedViewer.jButton14.text=Install
|
||||
FeedViewer.jButton13.text=
|
||||
FeedViewer.jTextField7.text=
|
||||
FeedViewer.jLabel88.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel87.text=<html>
|
||||
FeedViewer.jLabel86.text=<html><b>Developer:</b>
|
||||
FeedViewer.jLabel85.text=<html>
|
||||
FeedViewer.jLabel84.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel83.text=<html><b>Last Updated:</b>
|
||||
FeedViewer.jLabel82.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel81.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel80.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane8.text=<html>
|
||||
FeedViewer.jTextPane8.contentType=text/html
|
||||
FeedViewer.jLabel79.text=<html>
|
||||
FeedViewer.jLabel78.text=
|
||||
FeedViewer.jButton16.text=Update
|
||||
FeedViewer.jLayeredPane9.TabConstraints.tabTitle=Linux Daemons
|
||||
FeedViewer.jLabel99.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel98.text=<html>
|
||||
FeedViewer.jLabel97.text=<html><b>Developer:</b>
|
||||
FeedViewer.jLabel96.text=<html>
|
||||
FeedViewer.jLabel95.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel94.text=<html><b>Last Updated:</b>
|
||||
FeedViewer.jLabel93.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel92.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel91.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane9.text=<html>
|
||||
FeedViewer.jTextPane9.contentType=text/html
|
||||
FeedViewer.jLabel90.text=<html>
|
||||
FeedViewer.jLabel89.text=<html>
|
||||
FeedViewer.jButton18.text=Install
|
||||
FeedViewer.jButton17.text=
|
||||
FeedViewer.jTextField9.text=
|
||||
SendFile.title=Send File
|
||||
ReceiveFile.title=Receive File
|
||||
FeedViewer.availablePackagesTabs.TabConstraints.tabTitle=Available Packages
|
||||
Installer.jLabel5.text=
|
||||
FeedViewer.jButton15.text=Update All
|
||||
ALL=All
|
||||
WEBOS_PACKAGE_FILE=WebOS Package File
|
||||
WEBOS_PATCH_FILE=WebOS Patch File
|
||||
WEBOS_DIFF_FILE=WebOS Diff File
|
||||
UNKNOWN_FILE=Unknown File
|
||||
ERROR\:_FEED_LOADING_FAILED=ERROR: Feed loading failed
|
||||
ERROR\:_DRIVER_INSTALLATION_FAILED=ERROR: Driver installation failed
|
||||
ERROR\:_UNABLE_TO_DOWNLOAD_{0}=ERROR: Unable to download {0}
|
||||
VERSION\:=Version:
|
||||
VERSION\:=Version:
|
||||
DEVELOPER\:=Developer:
|
||||
DEVELOPER\:=Developer:
|
||||
DEVELOPER\:=Developer:
|
||||
LAST_UPDATED\:=Last Updated:
|
||||
LAST_UPDATED\:=Last Updated:
|
||||
LAST_UPDATED\:=Last Updated:
|
||||
LAST_UPDATED\:=Last Updated:
|
||||
NO_PACKAGES_FOUND=No Packages Found
|
||||
DEPENDANCY_INSTALL_WARNING=Warning: \"{0}\" is dependant on the following packages and will be installed along with it:
|
||||
NO_UPDATES_FOUND=No Updates Found
|
||||
MainView.installTable.columnModel.title2=Type
|
||||
MainView.installTable.columnModel.title1=Size
|
||||
MainView.installTable.columnModel.title0=Name
|
||||
Settings.title=Settings
|
||||
Settings.jLabel1.text=Language:
|
||||
MainView.jMenuItem8.text=Settings
|
||||
<SYSTEM_DEFAULT>=<System Default>
|
||||
ENGLISH=English
|
||||
FRENCH=French
|
||||
GERMAN=German
|
||||
SIMPLIFIED_CHINESE=Simplified Chinese
|
||||
THE_NEW_LANGUAGE_WILL_TAKE_EFFECT_THE_NEXT_TIME_WEBOS_QUICK_INSTALL_IS_LAUNCHED.=The new language will take effect the next time WebOS Quick Install is launched.
|
||||
LANGUAGE_CHANGED.=Language Changed
|
||||
ERROR\:_INVALID_FEED_URL=ERROR: Invalid feed url
|
||||
CUSTOM_FEED_URL\:=Custom feed url:
|
||||
EXIT=Exit
|
||||
DoctorDownloader.jLabel1.text_1=<html>Downloading Novacom Drivers
|
||||
DoctorDownloader.jProgressBar1.string=...
|
||||
MainView.jMenuItem9.text=Linux Commandline
|
||||
Settings.jTable1.columnModel.title3=
|
||||
Settings.jTable1.columnModel.title2=
|
||||
Settings.jTable1.columnModel.title0=
|
||||
Settings.jTable1.columnModel.title1=
|
||||
Settings.jLabel2.text=Default Feeds:
|
||||
Settings.jLabel3.text=Custom Feeds:
|
||||
Settings.jButton1.text=Delete stored DevMode passwords
|
||||
FEED_PRECENTRAL=webOS Nation
|
||||
FEED_WEBOSINTERNALS=WebOS-Internals
|
||||
FEED_PATCHES=WebOS Patches
|
||||
FEED_KERNELS=WebOS Kernels
|
||||
FEED_PRETHEMER=PreThemer
|
||||
FEED_PCTHEMES=webOS Nation Themes
|
||||
FEED_CLOCK=Clock Themes
|
||||
Settings.jCheckBox1.text=<html>Use device name when possible
|
||||
OK=OK
|
||||
@@ -0,0 +1,313 @@
|
||||
# To change this template, choose Tools | Templates
|
||||
# and open the template in the editor.
|
||||
|
||||
MainView.jLabel2.text=Ger\u00E4t:
|
||||
MainView.fileMenu.text=Datei
|
||||
MainView.jLayeredPane7.border.title=Zu installierende Dateien
|
||||
MainView.jButton3.text=Installieren
|
||||
MainView.toolMenu.text=Tools
|
||||
MainView.helpMenu.text=Hilfe
|
||||
MainView.jMenuItem1.text=Datei hinzuf\u00FCgen...
|
||||
MainView.jMenuItem2.text=Novacom reinstallieren
|
||||
MainView.jMenuItem3.text=Datei senden
|
||||
MainView.jMenuItem4.text=Datei empfangen
|
||||
MainView.jMenuItem5.text=Ger\u00E4tmanagement
|
||||
MainView.jMenuItem6.text=Benutzung
|
||||
MainView.jMenuItem7.text=Haftungsausschluss
|
||||
MainView.aboutMenuItem.text=\u00DCber
|
||||
DoctorDownloader.jLabel1.text_1=<html>Novacom lade herunter
|
||||
Usage.jLayeredPane2.border.title=Anleitung
|
||||
Usage.jTextPane1.text=<html><body style="font:1em">Damit WebOS Quick Install richtig funktionieren kann, m\u00FCssen einige Voraussetzungen erf\u00FCllt sein:<br/><ul><li/>Der Novacom-Treiber muss auf diesem Computer installiert sein.<br/><br/>Falls Sie den Treiber reinstallieren wollen, w\u00E4hlen Sie 'Novacom reinstallieren" aus dem Datei-Men\u00FC.<br/><br/><li/>Der Entwicklermodus muss aktiviert sein.<br/><br/>Dieses kann durch das Eintippen von 'upupdowndownleftrightleftrightbastart', dem \u00D6ffnen des DevMode-Programmes und der Aktivierung der Option erreicht werden.<br/><br/><li/>Wenn Sie Ihr Ger\u00E4t anschlie\u00DFen, w\u00E4hlen Sie "Nur aufladen".</ul></body>
|
||||
Usage.jTextPane1.contentType=text/html
|
||||
ReveiveFile.jLabel2.text=Datei:
|
||||
ReceiveFile.jButton1.text=...
|
||||
ReveiveFile.jLabel1.text=Ziel:
|
||||
ReceiveFile.jButton2.text=vom Ger\u00E4t holen
|
||||
ReceiveFile.jButton3.text=Abbrechen
|
||||
SendFile.jButton1.text=...
|
||||
SendFile.jLabel2.text=Datei:
|
||||
SendFile.jLabel1.text=Ziel:
|
||||
SendFile.jButton3.text=Abbrechen
|
||||
SendFile.jButton2.text=zum Ger\u00E4t senden
|
||||
DeviceManagement.jLabel2.text=
|
||||
DeviceManagement.jLabel3.text=
|
||||
DeviceManagement.jLabel9.text=
|
||||
DeviceManagement.jButton1.text=Deinstallieren
|
||||
DeviceManagement.jLabel8.text=
|
||||
DeviceManagement.jLayeredPane3.border.title=Vom Nutzer Installierter Inhalt
|
||||
DeviceManagement.jLabel4.text=
|
||||
DeviceManagement.jLabel5.text=
|
||||
DeviceManagement.jTable1.columnModel.title1=
|
||||
DeviceManagement.jTable1.columnModel.title0=Name
|
||||
DeviceManagement.jLayeredPane2.border.title=Ger\u00E4teinformation
|
||||
DeviceManagement.jLabel1.text=
|
||||
DeviceManagement.jLabel10.text=
|
||||
DeviceManagement.jLabel11.text=
|
||||
DeviceManagement.jLabel12.text=
|
||||
DeviceManagement.jLabel13.text=
|
||||
LOADING_LIST...=Liste wird geladen...
|
||||
{0}_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN.={0} ist nicht verbunden. Bitte verbinden Sie es und versuchen Sie es erneut.
|
||||
DEVICE_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN.=Ger\u00E4t ist nicht verbunden. Bitte verbinden Sie es und versuchen Sie es erneut.
|
||||
DEVICE\:=Ger\u00E4t:
|
||||
OS\:=OS:
|
||||
ARCHITECTURE\:=Architektur:
|
||||
BUILD_NAME\:=Build-Name:
|
||||
BUILD_TIME\:=Build-Zeit:
|
||||
CPU_TYPE\:=CPU-Typ:
|
||||
CPU_SPEED\:=CPU-Geschwindigkeit:
|
||||
CPU_HARDWARE\:=CPU-Hardware:
|
||||
MODEM_TYPE\:=Modem-Typ:
|
||||
MODEM_FIRMWARE\:=Modem-Firmware:
|
||||
DEPENDANT_PACKAGES_EXIST_WARNING=Achtung: Weitere Pakete sind von \"{0}\" abh\u00E4ngig und werden zusammen damit entfernt:
|
||||
WARNING=Achtung
|
||||
PROCESSING_FINISHED_DOWNLOAD._THIS_MAY_TAKE_A_FEW_MINUTES.=Beendeter Download wird bearbeitet. Dieses kann einige Minuten dauern.
|
||||
INSTALLING_DRIVER...=Treiber wird installiert...
|
||||
DRIVER_INSTALLED_SUCCESSFULLY.=Treiber wurde erfolgreich installiert.
|
||||
ERROR\:_DRIVER_INSTALLATION_FAILED=FEHLER: Installation des Treibers fehlgeschlagen
|
||||
ERROR\:=FEHLER:
|
||||
PLEASE_WAIT...=Bitte warten Sie...
|
||||
SELECT=Ausw\u00E4hlen
|
||||
FILE_TRANSFERRED_SUCCESSFULLY.=Datei erfolgreich \u00FCbertragen.
|
||||
FILE_TRANSFER_FAILED.=Datei\u00FCbertragung fehlgeschlagen.
|
||||
SYSTEM_IS_BUSY._TRY_AGAIN_LATER.=Das System ist ausgelastet. Versuchen Sie es sp\u00E4ter erneut.
|
||||
CONNECTING...=Verbinde...
|
||||
DOWNLOADING\:=Lade herunter:
|
||||
TRANSFERRING_AND_APPLYING\:=\u00DCbertrage und wende an:
|
||||
TRANSFERRING\:=\u00DCbertrage:
|
||||
INSTALLING\:=Installiere:
|
||||
INSTALL=Installieren
|
||||
NO_DEVICES_ARE_CONNECTED._CONNECT_A_DEVICE_THEN_RELAUNCH_WEBOS_QUICK_INSTALL.=Es sind keine Ger\u00E4te verbunden. Verbinden Sie ein Ger\u00E4t und starten Sie WebOS Quick Install erneut.
|
||||
NO_DEVICES_FOUND=Keine Ger\u00E4te gefunden
|
||||
FULL_WOSQI_DISCLAIMER=Dieses Programm ist f\u00FCr den Einsatz mit - im Test befindlichen - WebOS-Applikationen vorgesehen, was nach Absatz 4.2 der Palm SDK Lizenzvereinbarung die Installation solcher ungenehmigter Applikationen auf Palm Ger\u00E4ten erm\u00F6glicht. Mit der Benutzung dieses Programms versteht der Anwender, dass dabei installierte WebOS-Applikationen gef\u00E4hrlich sein k\u00F6nnten, deren Sicherheit oder Stabilit\u00E4t nicht von Palm Inc. best\u00E4tigt wird und er die Garantie f\u00FCr sein Ger\u00E4t verlieren k\u00F6nnte. Die Installation von WebOS-Paketen geschieht deshalb auf eigenes Risiko und weder der Entwickler von WebOS Quick Install noch Palm Inc. k\u00F6nnen daf\u00FCr zur Verantwortung gezogen werden.
|
||||
DISCLAIMER=Haftungsausschluss
|
||||
FOR_WEBOS_QUICK_INSTALL_TO_RUN_CORRECTLY,_YOUR_COMPUTER_NEEDS_TO_HAVE_THE_NOVACOM_DRIVER_INSTALLED._WOULD_YOU_LIKE_TO_INSTALL_IT_NOW?=Damit WebOS Quick Install richtig arbeiten kann, muss der Novacom-Treiber auf Ihrem Computer installiert sein. Wollen Sie ihn jetzt installieren?
|
||||
NOVACOM_DRIVER_MISSING=Novacom-Treiber Fehlt
|
||||
JAR_FILES_(*.JAR)=Jar-Dateien (*.jar)
|
||||
WEBOS_FILES_(*.IPK,_*.PATCH,_*.DIFF)=webOS-Dateien (*.ipk, *.patch, *.diff)
|
||||
REPEATING_CONNECTION_WARNING=Zur Zeit sind keine Ger\u00E4te verbunden. Bitte verbinden Sie ein Ger\u00E4t, um fortzufahren.
|
||||
WEBOS_DOCTOR_NEEDED_FOR_DRIVERS=Zeitweise ist ein webOSDoctor notwendig, damit der Novacom-Treiber auf Ihrem System installiert werden kann. Sie k\u00F6nnen ihn jetzt herunterladen (ca. 200MB) oder - falls Sie bereits einen heruntergeladen haben - diesen ausw\u00E4hlen und der Treiber wird installiert.
|
||||
WEBOSDOCTOR_REQUIRED=webOSDoctor wird ben\u00F6tigt
|
||||
DOWNLOAD=Download
|
||||
SELECT_FILE...=Datei ausw\u00E4hlen...
|
||||
CANCEL=Abbrechen
|
||||
InstalledPkgInfo.jLabel1.text=Name:
|
||||
InstalledPkgInfo.jLabel2.text=Version:
|
||||
InstalledPkgInfo.jLabel4.text=ID:
|
||||
InstalledPkgInfo.jButton1.text=Schlie\u00DFen
|
||||
InstalledPkgInfo.jLabel11.text=Author:
|
||||
InstalledPkgInfo.title=Paketinformation
|
||||
UNKNOWN=Unbekannt
|
||||
InstalledPatchInfo.title=Paketinformation
|
||||
InstalledPatchInfo.jButton1.text=Schlie\u00DFen
|
||||
InstalledPatchInfo.jLabel4.text=ID:
|
||||
InstalledPatchInfo.jLabel2.text=Version:
|
||||
InstalledPatchInfo.jLabel1.text=Name:
|
||||
InstalledPatchInfo.jLabel5.text=Beschreibung:
|
||||
InstalledPatchInfo.jLabel11.text=Author:
|
||||
About.closeButton.text=Schlie\u00DFen
|
||||
About.jLabel5.text=Unterst\u00FCtzen Sie die Entwicklung
|
||||
About.appVersionLabel.text=Version 4.5.0
|
||||
About.jLabel2.text=Deutsche \u00DCbersetzung von Tobias Kaller
|
||||
About.jLabel4.text=<html>Copyright \u00A9 2009-2013 Jason Robitaille. All rights reserved.
|
||||
About.jLabel6.text=<html><p align="justify">Jason Robitaille and Canuck Coding are in no way affiliated with HP, LG or their affiliates. Palm, Pre, Pixi, Veer, TouchPad, and WebOS are among the trademarks owned by or licensed to Hewlett-Packard Development Company, L.P. www.hpwebos.com</p>
|
||||
FeedLoader.jLabel5.text=Lade herunter und verarbeite:
|
||||
FeedLoader.jLabel6.text=
|
||||
FeedViewer.jLayeredPane1.TabConstraints.tabTitle=Updates
|
||||
FeedViewer.jLayeredPane2.TabConstraints.tabTitle=Anwendungen
|
||||
FeedViewer.jLayeredPane3.TabConstraints.tabTitle=Dienste
|
||||
FeedViewer.jLayeredPane4.TabConstraints.tabTitle=Plugins
|
||||
FeedViewer.jLayeredPane5.TabConstraints.tabTitle=Linux Programme
|
||||
FeedViewer.jLayeredPane6.TabConstraints.tabTitle=Kernels
|
||||
FeedViewer.jLayeredPane7.TabConstraints.tabTitle=Patches
|
||||
FeedViewer.jLayeredPane8.TabConstraints.tabTitle=Themes
|
||||
FeedViewer.jTextField1.text=
|
||||
FeedViewer.jButton1.text=
|
||||
FeedViewer.jButton2.text=Installieren
|
||||
FeedViewer.jLabel1.text=<html>
|
||||
FeedViewer.jLabel2.text=<html>
|
||||
FeedViewer.jTextPane1.contentType=text/html
|
||||
FeedViewer.jTextPane1.text=<html>
|
||||
FeedViewer.jLabel4.text=<html><b>Feed:</b>
|
||||
FeedViewer.jLabel3.text=<html><b>Lizenz:</b>
|
||||
FeedViewer.jLabel5.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel6.text=<html><b>Zuletzt aktualisiert:</b>
|
||||
FeedViewer.jLabel8.text=<html><b>Beschreibung:</b>
|
||||
FeedViewer.jLabel7.text=<html>
|
||||
FeedViewer.jLabel9.text=<html><b>Entwickler:</b>
|
||||
FeedViewer.jLabel10.text=<html>
|
||||
FeedViewer.jLabel11.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jTextField2.text=
|
||||
FeedViewer.jLabel22.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel21.text=<html>
|
||||
FeedViewer.jLabel20.text=<html><b>Entwickler:</b>
|
||||
FeedViewer.jLabel19.text=<html>
|
||||
FeedViewer.jLabel18.text=<html><b>Beschreibung:</b>
|
||||
FeedViewer.jLabel17.text=<html><b>Zuletzt aktualisiert:</b>
|
||||
FeedViewer.jLabel16.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel15.text=<html><b>Lizenz:</b>
|
||||
FeedViewer.jLabel14.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane2.text=<html>
|
||||
FeedViewer.jTextPane2.contentType=text/html
|
||||
FeedViewer.jLabel13.text=<html>
|
||||
FeedViewer.jLabel12.text=<html>
|
||||
FeedViewer.jButton4.text=Installieren
|
||||
FeedViewer.jButton3.text=
|
||||
FeedViewer.jLabel33.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel32.text=<html>
|
||||
FeedViewer.jLabel31.text=<html><b>Entwickler:</b>
|
||||
FeedViewer.jLabel30.text=<html>
|
||||
FeedViewer.jLabel29.text=<html><b>Beschreibung:</b>
|
||||
FeedViewer.jLabel28.text=<html><b>Zuletzt aktualisiert:</b>
|
||||
FeedViewer.jLabel27.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel26.text=<html><b>Lizenz:</b>
|
||||
FeedViewer.jLabel25.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane3.text=<html>
|
||||
FeedViewer.jTextPane3.contentType=text/html
|
||||
FeedViewer.jLabel24.text=<html>
|
||||
FeedViewer.jLabel23.text=<html>
|
||||
FeedViewer.jButton6.text=Installieren
|
||||
FeedViewer.jButton5.text=
|
||||
FeedViewer.jTextField3.text=
|
||||
FeedViewer.jLabel44.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel43.text=<html>
|
||||
FeedViewer.jLabel42.text=<html><b>Entwickler:</b>
|
||||
FeedViewer.jLabel41.text=<html>
|
||||
FeedViewer.jLabel40.text=<html><b>Beschreibung:</b>
|
||||
FeedViewer.jLabel39.text=<html><b>Zuletzt aktualisiert:</b>
|
||||
FeedViewer.jLabel38.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel37.text=<html><b>Lizenz:</b>
|
||||
FeedViewer.jLabel36.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane4.text=<html>
|
||||
FeedViewer.jTextPane4.contentType=text/html
|
||||
FeedViewer.jLabel35.text=<html>
|
||||
FeedViewer.jLabel34.text=<html>
|
||||
FeedViewer.jButton8.text=Installieren
|
||||
FeedViewer.jButton7.text=
|
||||
FeedViewer.jTextField4.text=
|
||||
FeedViewer.jTextField5.text=
|
||||
FeedViewer.jLabel55.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel54.text=<html>
|
||||
FeedViewer.jLabel53.text=<html><b>Entwickler:</b>
|
||||
FeedViewer.jLabel52.text=<html>
|
||||
FeedViewer.jLabel51.text=<html><b>Beschreibung:</b>
|
||||
FeedViewer.jLabel50.text=<html><b>Zuletzt aktualisiert:</b>
|
||||
FeedViewer.jLabel49.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel48.text=<html><b>Lizenz:</b>
|
||||
FeedViewer.jLabel47.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane5.text=<html>
|
||||
FeedViewer.jTextPane5.contentType=text/html
|
||||
FeedViewer.jLabel46.text=<html>
|
||||
FeedViewer.jLabel45.text=<html>
|
||||
FeedViewer.jButton10.text=Installieren
|
||||
FeedViewer.jButton9.text=
|
||||
FeedViewer.jLabel66.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel65.text=<html>
|
||||
FeedViewer.jLabel64.text=<html><b>Entwickler:</b>
|
||||
FeedViewer.jLabel63.text=<html>
|
||||
FeedViewer.jLabel62.text=<html><b>Beschreibung:</b>
|
||||
FeedViewer.jLabel61.text=<html><b>Zuletzt aktualisiert:</b>
|
||||
FeedViewer.jLabel60.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel59.text=<html><b>Lizenz:</b>
|
||||
FeedViewer.jLabel58.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane6.text=<html>
|
||||
FeedViewer.jTextPane6.contentType=text/html
|
||||
FeedViewer.jLabel57.text=<html>
|
||||
FeedViewer.jLabel56.text=<html>
|
||||
FeedViewer.jButton12.text=Installieren
|
||||
FeedViewer.jButton11.text=
|
||||
FeedViewer.jTextField6.text=
|
||||
FeedViewer.jLabel77.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel76.text=<html>
|
||||
FeedViewer.jLabel75.text=<html><b>Entwickler:</b>
|
||||
FeedViewer.jLabel74.text=<html>
|
||||
FeedViewer.jLabel73.text=<html><b>Beschreibung:</b>
|
||||
FeedViewer.jLabel72.text=<html><b>Zuletzt aktualisiert:</b>
|
||||
FeedViewer.jLabel71.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel70.text=<html><b>Lizenz:</b>
|
||||
FeedViewer.jLabel69.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane7.text=<html>
|
||||
FeedViewer.jTextPane7.contentType=text/html
|
||||
FeedViewer.jLabel68.text=<html>
|
||||
FeedViewer.jLabel67.text=<html>
|
||||
FeedViewer.jButton14.text=Installieren
|
||||
FeedViewer.jButton13.text=
|
||||
FeedViewer.jTextField7.text=
|
||||
FeedViewer.jLabel88.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel87.text=<html>
|
||||
FeedViewer.jLabel86.text=<html><b>Entwickler:</b>
|
||||
FeedViewer.jLabel85.text=<html>
|
||||
FeedViewer.jLabel84.text=<html><b>Beschreibung:</b>
|
||||
FeedViewer.jLabel83.text=<html><b>Zuletzt aktualisiert:</b>
|
||||
FeedViewer.jLabel82.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel81.text=<html><b>Lizenz:</b>
|
||||
FeedViewer.jLabel80.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane8.text=<html>
|
||||
FeedViewer.jTextPane8.contentType=text/html
|
||||
FeedViewer.jLabel79.text=<html>
|
||||
FeedViewer.jLabel78.text=
|
||||
FeedViewer.jButton16.text=Aktualisiere
|
||||
FeedViewer.jLayeredPane9.TabConstraints.tabTitle=Linux Daemons
|
||||
FeedViewer.jLabel99.text=<html><a href="#">Homepage</a>
|
||||
FeedViewer.jLabel98.text=<html>
|
||||
FeedViewer.jLabel97.text=<html><b>Entwickler:</b>
|
||||
FeedViewer.jLabel96.text=<html>
|
||||
FeedViewer.jLabel95.text=<html><b>Beschreibung:</b>
|
||||
FeedViewer.jLabel94.text=<html><b>Zuletzt aktualisiert:</b>
|
||||
FeedViewer.jLabel93.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel92.text=<html><b>Lizenz:</b>
|
||||
FeedViewer.jLabel91.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane9.text=<html>
|
||||
FeedViewer.jTextPane9.contentType=text/html
|
||||
FeedViewer.jLabel90.text=<html>
|
||||
FeedViewer.jLabel89.text=<html>
|
||||
FeedViewer.jButton18.text=Installieren
|
||||
FeedViewer.jButton17.text=
|
||||
FeedViewer.jTextField9.text=
|
||||
SendFile.title=Datei senden
|
||||
ReceiveFile.title=Datei empfangen
|
||||
FeedViewer.availablePackagesTabs.TabConstraints.tabTitle=verf\u00FCgbare Pakete
|
||||
Installer.jLabel5.text=
|
||||
FeedViewer.jButton15.text=Alle aktualisieren
|
||||
ALL=Alle
|
||||
WEBOS_PACKAGE_FILE=WebOS Paket Datei
|
||||
WEBOS_PATCH_FILE=WebOS Patch Datei
|
||||
WEBOS_DIFF_FILE=WebOS Diff Datei
|
||||
UNKNOWN_FILE=Unbekannte Datei
|
||||
ERROR\:_FEED_LOADING_FAILED=FEHLER: Laden der Feeds fehlgeschlagen
|
||||
ERROR\:_DRIVER_INSTALLATION_FAILED=FEHLER: Installation des Treibers fehlgeschlagen
|
||||
ERROR\:_UNABLE_TO_DOWNLOAD_{0}=FEHLER: {0} konnte nicht heruntergeladen werden
|
||||
VERSION\:=Version:
|
||||
DEVELOPER\:=Entwickler:
|
||||
LAST_UPDATED\:=Zuletzt aktualisiert:
|
||||
NO_PACKAGES_FOUND=Keine Pakete Gefunden
|
||||
DEPENDANCY_INSTALL_WARNING=Achtung: \"{0}\" ist von den folgenden Paketen abh\u00E4ngig und wird zusammen damit installiert:
|
||||
NO_UPDATES_FOUND=Updates Gefunden
|
||||
MainView.installTable.columnModel.title2=Art
|
||||
MainView.installTable.columnModel.title1=Gr\u00F6\u00DFe
|
||||
MainView.installTable.columnModel.title0=Name
|
||||
Settings.title=Grundeinstellungen
|
||||
Settings.jLabel1.text=Sprache:
|
||||
MainView.jMenuItem8.text=Grundeinstellungen
|
||||
<SYSTEM_DEFAULT>=<Systemvorgabe>
|
||||
ENGLISH=Englisch
|
||||
FRENCH=Franz\u00F6sisch
|
||||
GERMAN=Deutsch
|
||||
SIMPLIFIED_CHINESE=Vereinfachtes Chinesisch
|
||||
THE_NEW_LANGUAGE_WILL_TAKE_EFFECT_THE_NEXT_TIME_WEBOS_QUICK_INSTALL_IS_LAUNCHED.=Die neu ausgew\u00E4hlte Sprache wird bei dem n\u00E4chsten Start von WebOS Quick Install aktiv.
|
||||
LANGUAGE_CHANGED.=Sprache wurde ge\u00E4ndert
|
||||
ERROR\:_INVALID_FEED_URL=FEHLER: Ung\u00FCltige Feed-URL
|
||||
CUSTOM_FEED_URL\:=Benutzerdefinierte Feed-URL
|
||||
EXIT=Beenden
|
||||
MainView.jMenuItem9.text=Linux-Befehlszeile
|
||||
Settings.jLabel2.text=Voreingestellte Feeds:
|
||||
Settings.jLabel3.text=Eigene Feeds:
|
||||
Settings.jButton1.text=Gespeichertes Passwort f\u00FCr Entwicklermodus l\u00F6schen
|
||||
FEED_PRECENTRAL=webOS Nation
|
||||
FEED_WEBOSINTERNALS=WebOS-Internals
|
||||
FEED_PATCHES=WebOS Patches
|
||||
FEED_KERNELS=WebOS Kernels
|
||||
FEED_PRETHEMER=PreThemer
|
||||
FEED_PCTHEMES=webOS Nation Themes
|
||||
FEED_CLOCK=Clock Themes
|
||||
Settings.jCheckBox1.text=<html>Wenn m\u00F6glich Ger\u00E4tenamen benutzen
|
||||
OK=OK
|
||||
@@ -0,0 +1,313 @@
|
||||
# To change this template, choose Tools | Templates
|
||||
# and open the template in the editor.
|
||||
|
||||
MainView.jLabel2.text=Device:
|
||||
MainView.fileMenu.text=Fichier
|
||||
MainView.jLayeredPane7.border.title=Fichiers \u00E0 installer
|
||||
MainView.jButton3.text=Installer
|
||||
MainView.toolMenu.text=Outils
|
||||
MainView.helpMenu.text=Aide
|
||||
MainView.jMenuItem1.text=Ajouter un fichier ...
|
||||
MainView.jMenuItem2.text=R\u00E9installer Novacom
|
||||
MainView.jMenuItem3.text=Envoyer un fichier
|
||||
MainView.jMenuItem4.text=Recevoir un fichier
|
||||
MainView.jMenuItem5.text=Gestion des p\u00E9riph\u00E9riques
|
||||
MainView.jMenuItem6.text=Utilisation
|
||||
MainView.jMenuItem7.text=Responsabilit\u00E9
|
||||
MainView.aboutMenuItem.text=A propos
|
||||
DoctorDownloader.jLabel1.text_1=<html>Novacom T\u00E9l\u00E9chargement
|
||||
Usage.jLayeredPane2.border.title=Comment utiliser
|
||||
Usage.jTextPane1.text=<html><body style="font:1em">Avant WebOS Quick Install fonctionne correctement, il y a quelques exigences mineures:<br/><ul><li/>Driver Novacom install\u00E9 sur cet ordinateur<br/><br/>Si vous voulez r\u00E9installer le composant, cliquez sur le "R\u00E9installer Novacom" option dans le menu principal Fichier.<br/><br/><li/>Mode d\u00E9veloppeur activ\u00E9.<br/><br/>Cela peut \u00EAtre fait par tapant 'upupdowndownleftrightleftrightbastart', Ouvrez DevMode l'application, et d'activer la fonction.<br/><br/><li/Lorsque vous branchez votre appareil, choisissez "Charger".</ul></body>
|
||||
Usage.jTextPane1.contentType=text/html
|
||||
ReveiveFile.jLabel2.text=Fichier:
|
||||
ReceiveFile.jButton1.text=...
|
||||
ReveiveFile.jLabel1.text=Destination:
|
||||
ReceiveFile.jButton2.text=Obtenir de p\u00E9riph\u00E9rique
|
||||
ReceiveFile.jButton3.text=Annuler
|
||||
SendFile.jButton1.text=...
|
||||
SendFile.jLabel2.text=Fichier:
|
||||
SendFile.jLabel1.text=Destination:
|
||||
SendFile.jButton3.text=Annuler
|
||||
SendFile.jButton2.text=Envoyer au p\u00E9riph\u00E9rique
|
||||
DeviceManagement.jLabel2.text=
|
||||
DeviceManagement.jLabel3.text=
|
||||
DeviceManagement.jLabel9.text=
|
||||
DeviceManagement.jButton1.text=D\u00E9sinstaller
|
||||
DeviceManagement.jLabel8.text=
|
||||
DeviceManagement.jLayeredPane3.border.title=Contenu Utilisateur-install\u00E9
|
||||
DeviceManagement.jLabel4.text=
|
||||
DeviceManagement.jLabel5.text=
|
||||
DeviceManagement.jTable1.columnModel.title1=
|
||||
DeviceManagement.jTable1.columnModel.title0=Nom
|
||||
DeviceManagement.jLayeredPane2.border.title=Info appareil
|
||||
DeviceManagement.jLabel1.text=
|
||||
DeviceManagement.jLabel10.text=
|
||||
DeviceManagement.jLabel11.text=
|
||||
DeviceManagement.jLabel12.text=
|
||||
DeviceManagement.jLabel13.text=
|
||||
LOADING_LIST...=Chargement de la liste...
|
||||
{0}_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN.={0} est d\u00E9branch\u00E9. S'il vous pla\u00EEt se reconnecter puis r\u00E9essayez.
|
||||
DEVICE_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN.=L'appareil est d\u00E9branch\u00E9. S'il vous pla\u00EEt se reconnecter puis r\u00E9essayez.
|
||||
DEVICE\:=Device:
|
||||
OS\:=OS:
|
||||
ARCHITECTURE\:=Architecture:
|
||||
BUILD_NAME\:=Construire nom:
|
||||
BUILD_TIME\:=Temps de construction:
|
||||
CPU_TYPE\:=Type de processeur:
|
||||
CPU_SPEED\:=Vitesse du processeur:
|
||||
CPU_HARDWARE\:=Mat\u00E9riel du processeur:
|
||||
MODEM_TYPE\:=Type de modem:
|
||||
MODEM_FIRMWARE\:=Firmware de modem:
|
||||
DEPENDANT_PACKAGES_EXIST_WARNING=Attention: Le suivi des paquets d\u00E9pendent de \"{0}\" et seront retirer avec elle:
|
||||
WARNING=Attention
|
||||
PROCESSING_FINISHED_DOWNLOAD._THIS_MAY_TAKE_A_FEW_MINUTES.=Traitement termin\u00E9 le t\u00E9l\u00E9chargement. Cela peut prendre quelques minutes.
|
||||
INSTALLING_DRIVER...=Installation du driver...
|
||||
DRIVER_INSTALLED_SUCCESSFULLY.=Driver install\u00E9 avec succ\u00E8s.
|
||||
ERROR\:_DRIVER_INSTALLATION_FAILED=ERREUR: L'installation du driver a \u00E9chou\u00E9
|
||||
ERROR\:=ERREUR:
|
||||
PLEASE_WAIT...=S'il vous pla\u00EEt patienter...
|
||||
SELECT=Select
|
||||
FILE_TRANSFERRED_SUCCESSFULLY.=Dossier transf\u00E9r\u00E9 avec succ\u00E8s.
|
||||
FILE_TRANSFER_FAILED.=Le transfert de fichiers a \u00E9chou\u00E9.
|
||||
SYSTEM_IS_BUSY._TRY_AGAIN_LATER.=Le syst\u00E8me est occup\u00E9. R\u00E9essayez plus tard.
|
||||
CONNECTING...=Connecting...
|
||||
DOWNLOADING\:=T\u00E9l\u00E9chargement:
|
||||
TRANSFERRING_AND_APPLYING\:=Transfert et de l'application:
|
||||
TRANSFERRING\:=Transfert:
|
||||
INSTALLING\:=Installation:
|
||||
INSTALL=Installer
|
||||
NO_DEVICES_ARE_CONNECTED._CONNECT_A_DEVICE_THEN_RELAUNCH_WEBOS_QUICK_INSTALL.=Pas de p\u00E9riph\u00E9riques sont connect\u00E9s. Connectez un p\u00E9riph\u00E9rique puis relancer WebOS Quick Install.
|
||||
NO_DEVICES_FOUND=Aucun p\u00E9riph\u00E9rique trouv\u00E9
|
||||
FULL_WOSQI_DISCLAIMER=Ce programme est destin\u00E9 \u00E0 \u00EAtre utilis\u00E9 avec des applications WebOS qui sont dans l'essai, qui, en vertu de l'article 4.2 de l'Accord Palm licence du kit SDK permet de telles applications non autoris\u00E9es \u00E0 \u00EAtre install\u00E9 sur les appareils Palm. En utilisant ce programme, l'utilisateur comprend que les applications install\u00E9es webOS peut \u00EAtre dangereux et n'ont pas \u00E9t\u00E9 approuv\u00E9s pour la s\u00E9curit\u00E9 ou la stabilit\u00E9 par Palm Inc et pourrait annuler la garantie de votre appareil. Installation des paquetages webOS sont fait \u00E0 vos risques et p\u00E9rils et ni le d\u00E9veloppeur de WebOS Quick Install, ni Palm Inc peut \u00EAtre tenu responsable.
|
||||
DISCLAIMER=Responsabilit\u00E9
|
||||
FOR_WEBOS_QUICK_INSTALL_TO_RUN_CORRECTLY,_YOUR_COMPUTER_NEEDS_TO_HAVE_THE_NOVACOM_DRIVER_INSTALLED._WOULD_YOU_LIKE_TO_INSTALL_IT_NOW?=Pour WebOS Quick Install afin de fonctionner correctement, votre ordinateur doit avoir install\u00E9 le driver Novacom. Souhaitez-vous l'installer maintenant?
|
||||
NOVACOM_DRIVER_MISSING=Driver Novacom manquant
|
||||
JAR_FILES_(*.JAR)=Fichiers JAR (*.jar)
|
||||
WEBOS_FILES_(*.IPK,_*.PATCH,_*.DIFF)=Fichiers webOS (*.ipk, *.patch, *.diff)
|
||||
REPEATING_CONNECTION_WARNING=Il n'y a pas de dispositifs actuellement connect\u00E9. S'il vous pla\u00EEt connecter un p\u00E9riph\u00E9rique de continuer.
|
||||
WEBOS_DOCTOR_NEEDED_FOR_DRIVERS=Pour installer le driver Novacom sur votre syst\u00E8me, un webOSDoctor est temporairement n\u00E9cessaire. Vous pouvez le t\u00E9l\u00E9charger maintenant (environ 200 MB) ou, si vous avez d\u00E9j\u00E0 un t\u00E9l\u00E9charg\u00E9, vous pouvez s\u00E9lectionner celui-l\u00E0, et le driver sera install\u00E9.
|
||||
WEBOSDOCTOR_REQUIRED=webOSDoctor requis
|
||||
DOWNLOAD=T\u00E9l\u00E9charger
|
||||
SELECT_FILE...=S\u00E9lectionner un fichier...
|
||||
CANCEL=Annuler
|
||||
InstalledPkgInfo.jLabel1.text=Nom:
|
||||
InstalledPkgInfo.jLabel2.text=Version:
|
||||
InstalledPkgInfo.jLabel4.text=ID:
|
||||
InstalledPkgInfo.jButton1.text=Fermer
|
||||
InstalledPkgInfo.jLabel11.text=Auteur:
|
||||
InstalledPkgInfo.title=Info Package
|
||||
UNKNOWN=Inconnu
|
||||
InstalledPatchInfo.title=Info Package
|
||||
InstalledPatchInfo.jButton1.text=Fermer
|
||||
InstalledPatchInfo.jLabel4.text=ID:
|
||||
InstalledPatchInfo.jLabel2.text=Version:
|
||||
InstalledPatchInfo.jLabel1.text=Nom:
|
||||
InstalledPatchInfo.jLabel5.text=Description:
|
||||
InstalledPatchInfo.jLabel11.text=Auteur:
|
||||
About.closeButton.text=Fermer
|
||||
About.jLabel5.text=Aide de soutien au d\u00E9veloppement
|
||||
About.appVersionLabel.text=Version 4.5.0
|
||||
About.jLabel2.text=La traduction de fran\u00E7ais a fait par Jake Morrison.
|
||||
About.jLabel4.text=<html>Copyright \u00A9 2009-2013 Jason Robitaille. Tous droits r\u00E9serv\u00E9s.
|
||||
About.jLabel6.text=<html><p align="justify">Jason Robitaille et Canuck Coding sont en aucun cas affili\u00E9 avec HP ou LG ou des sous filiales. Palm, Pre, Pixi, Veer, TouchPad, et WebOS sont des marques commerciales ou des marques d\u00E9pos\u00E9es appartenant \u00E0 ou sous licence de Hewlett-Packard www.hpwebos.com</p>
|
||||
FeedLoader.jLabel5.text=Le t\u00E9l\u00E9chargement et l'analyse:
|
||||
FeedLoader.jLabel6.text=
|
||||
FeedViewer.jLayeredPane1.TabConstraints.tabTitle=Mises \u00E0 jour
|
||||
FeedViewer.jLayeredPane2.TabConstraints.tabTitle=Applications
|
||||
FeedViewer.jLayeredPane3.TabConstraints.tabTitle=Services
|
||||
FeedViewer.jLayeredPane4.TabConstraints.tabTitle=Plugins
|
||||
FeedViewer.jLayeredPane5.TabConstraints.tabTitle=Apps de Linux
|
||||
FeedViewer.jLayeredPane6.TabConstraints.tabTitle=Page d'accueil
|
||||
FeedViewer.jLayeredPane7.TabConstraints.tabTitle=Patches
|
||||
FeedViewer.jLayeredPane8.TabConstraints.tabTitle=Th\u00E8mes
|
||||
FeedViewer.jTextField1.text=
|
||||
FeedViewer.jButton1.text=
|
||||
FeedViewer.jButton2.text=Installer
|
||||
FeedViewer.jLabel1.text=<html>
|
||||
FeedViewer.jLabel2.text=<html>
|
||||
FeedViewer.jTextPane1.contentType=text/html
|
||||
FeedViewer.jTextPane1.text=<html>
|
||||
FeedViewer.jLabel4.text=<html><b>Feed:</b>
|
||||
FeedViewer.jLabel3.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel5.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel6.text=<html><b>Derni\u00E8re mise \u00E0 jour:</b>
|
||||
FeedViewer.jLabel8.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel7.text=<html>
|
||||
FeedViewer.jLabel9.text=<html><b>D\u00E9veloppeur:</b>
|
||||
FeedViewer.jLabel10.text=<html>
|
||||
FeedViewer.jLabel11.text=<html><a href="#">Page d'accueil</a>
|
||||
FeedViewer.jTextField2.text=
|
||||
FeedViewer.jLabel22.text=<html><a href="#">Page d'accueil</a>
|
||||
FeedViewer.jLabel21.text=<html>
|
||||
FeedViewer.jLabel20.text=<html><b>D\u00E9veloppeur:</b>
|
||||
FeedViewer.jLabel19.text=<html>
|
||||
FeedViewer.jLabel18.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel17.text=<html><b>Derni\u00E8re mise \u00E0 jour:</b>
|
||||
FeedViewer.jLabel16.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel15.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel14.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane2.text=<html>
|
||||
FeedViewer.jTextPane2.contentType=text/html
|
||||
FeedViewer.jLabel13.text=<html>
|
||||
FeedViewer.jLabel12.text=<html>
|
||||
FeedViewer.jButton4.text=Installer
|
||||
FeedViewer.jButton3.text=
|
||||
FeedViewer.jLabel33.text=<html><a href="#">Page d'accueil</a>
|
||||
FeedViewer.jLabel32.text=<html>
|
||||
FeedViewer.jLabel31.text=<html><b>D\u00E9veloppeur:</b>
|
||||
FeedViewer.jLabel30.text=<html>
|
||||
FeedViewer.jLabel29.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel28.text=<html><b>Derni\u00E8re mise \u00E0 jour:</b>
|
||||
FeedViewer.jLabel27.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel26.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel25.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane3.text=<html>
|
||||
FeedViewer.jTextPane3.contentType=text/html
|
||||
FeedViewer.jLabel24.text=<html>
|
||||
FeedViewer.jLabel23.text=<html>
|
||||
FeedViewer.jButton6.text=Installer
|
||||
FeedViewer.jButton5.text=
|
||||
FeedViewer.jTextField3.text=
|
||||
FeedViewer.jLabel44.text=<html><a href="#">Page d'accueil</a>
|
||||
FeedViewer.jLabel43.text=<html>
|
||||
FeedViewer.jLabel42.text=<html><b>D\u00E9veloppeur:</b>
|
||||
FeedViewer.jLabel41.text=<html>
|
||||
FeedViewer.jLabel40.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel39.text=<html><b>Derni\u00E8re mise \u00E0 jour:</b>
|
||||
FeedViewer.jLabel38.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel37.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel36.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane4.text=<html>
|
||||
FeedViewer.jTextPane4.contentType=text/html
|
||||
FeedViewer.jLabel35.text=<html>
|
||||
FeedViewer.jLabel34.text=<html>
|
||||
FeedViewer.jButton8.text=Installer
|
||||
FeedViewer.jButton7.text=
|
||||
FeedViewer.jTextField4.text=
|
||||
FeedViewer.jTextField5.text=
|
||||
FeedViewer.jLabel55.text=<html><a href="#">Page d'accueil</a>
|
||||
FeedViewer.jLabel54.text=<html>
|
||||
FeedViewer.jLabel53.text=<html><b>D\u00E9veloppeur:</b>
|
||||
FeedViewer.jLabel52.text=<html>
|
||||
FeedViewer.jLabel51.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel50.text=<html><b>Derni\u00E8re mise \u00E0 jour:</b>
|
||||
FeedViewer.jLabel49.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel48.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel47.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane5.text=<html>
|
||||
FeedViewer.jTextPane5.contentType=text/html
|
||||
FeedViewer.jLabel46.text=<html>
|
||||
FeedViewer.jLabel45.text=<html>
|
||||
FeedViewer.jButton10.text=Installer
|
||||
FeedViewer.jButton9.text=
|
||||
FeedViewer.jLabel66.text=<html><a href="#">Page d'accueil</a>
|
||||
FeedViewer.jLabel65.text=<html>
|
||||
FeedViewer.jLabel64.text=<html><b>D\u00E9veloppeur:</b>
|
||||
FeedViewer.jLabel63.text=<html>
|
||||
FeedViewer.jLabel62.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel61.text=<html><b>Derni\u00E8re mise \u00E0 jour:</b>
|
||||
FeedViewer.jLabel60.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel59.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel58.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane6.text=<html>
|
||||
FeedViewer.jTextPane6.contentType=text/html
|
||||
FeedViewer.jLabel57.text=<html>
|
||||
FeedViewer.jLabel56.text=<html>
|
||||
FeedViewer.jButton12.text=Installer
|
||||
FeedViewer.jButton11.text=
|
||||
FeedViewer.jTextField6.text=
|
||||
FeedViewer.jLabel77.text=<html><a href="#">Page d'accueil</a>
|
||||
FeedViewer.jLabel76.text=<html>
|
||||
FeedViewer.jLabel75.text=<html><b>D\u00E9veloppeur:</b>
|
||||
FeedViewer.jLabel74.text=<html>
|
||||
FeedViewer.jLabel73.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel72.text=<html><b>Derni\u00E8re mise \u00E0 jour:</b>
|
||||
FeedViewer.jLabel71.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel70.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel69.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane7.text=<html>
|
||||
FeedViewer.jTextPane7.contentType=text/html
|
||||
FeedViewer.jLabel68.text=<html>
|
||||
FeedViewer.jLabel67.text=<html>
|
||||
FeedViewer.jButton14.text=Installer
|
||||
FeedViewer.jButton13.text=
|
||||
FeedViewer.jTextField7.text=
|
||||
FeedViewer.jLabel88.text=<html><a href="#">Page d'accueil</a>
|
||||
FeedViewer.jLabel87.text=<html>
|
||||
FeedViewer.jLabel86.text=<html><b>D\u00E9veloppeur:</b>
|
||||
FeedViewer.jLabel85.text=<html>
|
||||
FeedViewer.jLabel84.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel83.text=<html><b>Derni\u00E8re mise \u00E0 jour:</b>
|
||||
FeedViewer.jLabel82.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel81.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel80.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane8.text=<html>
|
||||
FeedViewer.jTextPane8.contentType=text/html
|
||||
FeedViewer.jLabel79.text=<html>
|
||||
FeedViewer.jLabel78.text=
|
||||
FeedViewer.jButton16.text=Update
|
||||
FeedViewer.jLayeredPane9.TabConstraints.tabTitle=Daemon de Linux
|
||||
FeedViewer.jLabel99.text=<html><a href="#">Page d'accueil</a>
|
||||
FeedViewer.jLabel98.text=<html>
|
||||
FeedViewer.jLabel97.text=<html><b>D\u00E9veloppeur:</b>
|
||||
FeedViewer.jLabel96.text=<html>
|
||||
FeedViewer.jLabel95.text=<html><b>Description:</b>
|
||||
FeedViewer.jLabel94.text=<html><b>Derni\u00E8re mise \u00E0 jour:</b>
|
||||
FeedViewer.jLabel93.text=<html><b>Version:</b>
|
||||
FeedViewer.jLabel92.text=<html><b>License:</b>
|
||||
FeedViewer.jLabel91.text=<html><b>Feed:</b>
|
||||
FeedViewer.jTextPane9.text=<html>
|
||||
FeedViewer.jTextPane9.contentType=text/html
|
||||
FeedViewer.jLabel90.text=<html>
|
||||
FeedViewer.jLabel89.text=<html>
|
||||
FeedViewer.jButton18.text=Installer
|
||||
FeedViewer.jButton17.text=
|
||||
FeedViewer.jTextField9.text=
|
||||
SendFile.title=Envoyer un fichier
|
||||
ReceiveFile.title=Recevoir un fichier
|
||||
FeedViewer.availablePackagesTabs.TabConstraints.tabTitle=Les Paquets Disponibles
|
||||
Installer.jLabel5.text=
|
||||
FeedViewer.jButton15.text=Tout mettre \u00E0 jour
|
||||
ALL=Tous Les
|
||||
WEBOS_PACKAGE_FILE=Fichier Package de WebOS
|
||||
WEBOS_PATCH_FILE=Fichier Patch de WebOS
|
||||
WEBOS_DIFF_FILE=Fichier Diff de WebOS
|
||||
UNKNOWN_FILE=Fichier Inconnu
|
||||
ERROR\:_FEED_LOADING_FAILED=ERREUR: Flux chargement a \u00E9chou\u00E9
|
||||
ERROR\:_DRIVER_INSTALLATION_FAILED=ERREUR: L'installation du driver a \u00E9chou\u00E9
|
||||
ERROR\:_UNABLE_TO_DOWNLOAD_{0}=ERREUR: Impossible de t\u00E9l\u00E9charger {0}
|
||||
VERSION\:=Version:
|
||||
DEVELOPER\:=D\u00E9veloppeur:
|
||||
LAST_UPDATED\:=Derni\u00E8re mise \u00E0 jour:
|
||||
NO_PACKAGES_FOUND=Aucun paquet trouv\u00E9
|
||||
DEPENDANCY_INSTALL_WARNING=Attention: \"{0}\" appname d\u00E9pend des paquets suivants seront install\u00E9s et avec elle:
|
||||
NO_UPDATES_FOUND=Aucune mise \u00E0 jour introuvable
|
||||
MainView.installTable.columnModel.title2=Type
|
||||
MainView.installTable.columnModel.title1=Taille
|
||||
MainView.installTable.columnModel.title0=Nom
|
||||
Settings.title=Param\u00E8tres
|
||||
Settings.jLabel1.text=Langue:
|
||||
MainView.jMenuItem8.text=Param\u00E8tres
|
||||
<SYSTEM_DEFAULT>=<Syst\u00E8me par d\u00E9faut>
|
||||
ENGLISH=Anglais
|
||||
FRENCH=Fran\u00E7ais
|
||||
GERMAN=Allemande
|
||||
SIMPLIFIED_CHINESE=Chinois simplifi\u00E9
|
||||
THE_NEW_LANGUAGE_WILL_TAKE_EFFECT_THE_NEXT_TIME_WEBOS_QUICK_INSTALL_IS_LAUNCHED.=Le nouveau langue va entrer en vigueur la prochaine fois WebOS Quick Install est lanc\u00E9e.
|
||||
LANGUAGE_CHANGED.=Langue modifi\u00E9
|
||||
ERROR\:_INVALID_FEED_URL=ERREUR: URL de flux non valide
|
||||
CUSTOM_FEED_URL\:=URL de flux personnalis\u00E9es:
|
||||
EXIT=Quitter
|
||||
MainView.jMenuItem9.text=Ligne de commande Linux
|
||||
Settings.jLabel2.text=Flux par D\u00E9faut:
|
||||
Settings.jLabel3.text=Flux par Personnalis\u00E9:
|
||||
Settings.jButton1.text=Delete stored DevMode passwords
|
||||
FEED_PRECENTRAL=webOS Nation
|
||||
FEED_WEBOSINTERNALS=WebOS-Internals
|
||||
FEED_PATCHES=Tache de WebOS
|
||||
FEED_KERNELS=WebOS Kernels
|
||||
FEED_PRETHEMER=PreThemer
|
||||
FEED_PCTHEMES=Th\u00E8mes de webOS Nation
|
||||
FEED_CLOCK=Th\u00E8mes de Horlage
|
||||
Settings.jCheckBox1.text=<html>Supprimer les mots des passe stock\u00E9s DevMode
|
||||
RETRY=R\u00E9essayer
|
||||
@@ -0,0 +1,313 @@
|
||||
# To change this template, choose Tools | Templates
|
||||
# and open the template in the editor.
|
||||
|
||||
MainView.jLabel2.text=\u8BBE\u5907:
|
||||
MainView.fileMenu.text=\u6587\u4EF6
|
||||
MainView.jLayeredPane7.border.title=\u4F9B\u5B89\u88C5\u7684\u6587\u4EF6
|
||||
MainView.jButton3.text=\u5B89\u88C5
|
||||
MainView.toolMenu.text=\u5DE5\u5177
|
||||
MainView.helpMenu.text=\u5E2E\u52A9
|
||||
MainView.jMenuItem1.text=\u6DFB\u52A0\u6587\u4EF6...
|
||||
MainView.jMenuItem2.text=\u91CD\u5B89\u88C5Novacom\u9A71\u52A8
|
||||
MainView.jMenuItem3.text=\u53D1\u9001\u6587\u4EF6
|
||||
MainView.jMenuItem4.text=\u63A5\u6536\u6587\u4EF6
|
||||
MainView.jMenuItem5.text=\u8BBE\u5907\u7BA1\u7406
|
||||
MainView.jMenuItem6.text=\u4F7F\u7528
|
||||
MainView.jMenuItem7.text=\u653E\u5F03
|
||||
MainView.aboutMenuItem.text=\u5173\u4E8E
|
||||
DoctorDownloader.jLabel1.text_1=<html>Novacom\u4E0B\u8F7D\u4E2D
|
||||
Usage.jLayeredPane2.border.title=\u5982\u4F55\u4F7F\u7528
|
||||
Usage.jTextPane1.text=<html><body style="font:1em">\u672C\u7A0B\u5E8F\u6B63\u5E38\u8FD0\u884C\u524D\u63D0:<br/><ul><li/>\u5B89\u88C5Novacom\u9A71\u52A8<br/><br/>\u53EF\u70B9\u51FB\u9876\u90E8\u83DC\u5355\u9009\u62E9\u91CD\u65B0\u5B89\u88C5Novacom\u9A71\u52A8<br/><br/><li/>\u5DF2\u5F00\u542F\u5F00\u53D1\u8005\u6A21\u5F0F<br/><br/>\u4E3B\u754C\u9762\u8FDE\u7EED\u8F93\u5165"upupdowndownleftrightleftrightbastart"\u8C03\u51FA\u5F00\u53D1\u8005\u6A21\u5F0F\u9009\u9879<br/><br/><li/>\u624B\u673A\u63A5\u6570\u636E\u7EBF\u8FDE\u7535\u8111\u540E\u9009\u62E9"Just charge".</ul></body>
|
||||
Usage.jTextPane1.contentType=text/html
|
||||
ReveiveFile.jLabel2.text=\u6587\u4EF6:
|
||||
ReceiveFile.jButton1.text=...
|
||||
ReveiveFile.jLabel1.text=\u76EE\u6807:
|
||||
ReceiveFile.jButton2.text=\u53D6\u81EA\u8BBE\u5907
|
||||
ReceiveFile.jButton3.text=\u53D6\u6D88
|
||||
SendFile.jButton1.text=...
|
||||
SendFile.jLabel2.text=\u6587\u4EF6:
|
||||
SendFile.jLabel1.text=\u76EE\u6807:
|
||||
SendFile.jButton3.text=\u53D6\u6D88
|
||||
SendFile.jButton2.text=\u53D1\u5F80\u8BBE\u5907
|
||||
DeviceManagement.jLabel2.text=
|
||||
DeviceManagement.jLabel3.text=
|
||||
DeviceManagement.jLabel9.text=
|
||||
DeviceManagement.jButton1.text=\u5378\u8F7D
|
||||
DeviceManagement.jLabel8.text=
|
||||
DeviceManagement.jLayeredPane3.border.title=\u7528\u6237\u5DF2\u5B89\u88C5\u5185\u5BB9
|
||||
DeviceManagement.jLabel4.text=
|
||||
DeviceManagement.jLabel5.text=
|
||||
DeviceManagement.jTable1.columnModel.title1=
|
||||
DeviceManagement.jTable1.columnModel.title0=\u540D\u79F0
|
||||
DeviceManagement.jLayeredPane2.border.title=\u8BBE\u5907\u4FE1\u606F
|
||||
DeviceManagement.jLabel1.text=
|
||||
DeviceManagement.jLabel10.text=
|
||||
DeviceManagement.jLabel11.text=
|
||||
DeviceManagement.jLabel12.text=
|
||||
DeviceManagement.jLabel13.text=
|
||||
LOADING_LIST...=\u5217\u8868\u5BFC\u5165\u4E2D...
|
||||
{0}_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN.={0} \u8FDE\u63A5\u4E2D\u65AD,\u8BF7\u91CD\u8BD5
|
||||
DEVICE_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN.=\u8FDE\u63A5\u4E2D\u65AD,\u8BF7\u91CD\u8BD5
|
||||
DEVICE\:=\u8BBE\u5907:
|
||||
OS\:=\u64CD\u4F5C\u7CFB\u7EDF:
|
||||
ARCHITECTURE\:=\u7ED3\u6784:
|
||||
BUILD_NAME\:=\u5EFA\u7ACB\u540D\u79F0:
|
||||
BUILD_TIME\:=\u5EFA\u7ACB\u65F6\u95F4:
|
||||
CPU_TYPE\:=CPU\u7C7B\u578B:
|
||||
CPU_SPEED\:=CPU\u901F\u5EA6:
|
||||
CPU_HARDWARE\:=CPU\u786C\u4EF6:
|
||||
MODEM_TYPE\:=\u732B\u7C7B\u578B:
|
||||
MODEM_FIRMWARE\:=\u732B\u56FA\u4EF6:
|
||||
DEPENDANT_PACKAGES_EXIST_WARNING=\u6CE8\u610F:\u4EE5\u4E0B\u6587\u4EF6\u4E0E\"{0}\"\u5173\u8054,\u5C06\u4F1A\u4E00\u8D77\u5220\u9664
|
||||
WARNING=\u6CE8\u610F
|
||||
PROCESSING_FINISHED_DOWNLOAD._THIS_MAY_TAKE_A_FEW_MINUTES.=\u7A0D\u7B49\u7247\u523B
|
||||
INSTALLING_DRIVER...=\u6B63\u5728\u5B89\u88C5\u9A71\u52A8...
|
||||
DRIVER_INSTALLED_SUCCESSFULLY.=\u9A71\u52A8\u5B89\u88C5\u6210\u529F.
|
||||
ERROR\:_DRIVER_INSTALLATION_FAILED=\u51FA\u9519:\u9A71\u52A8\u5B89\u88C5\u5931\u8D25
|
||||
ERROR\:=\u51FA\u9519:
|
||||
PLEASE_WAIT...=\u7A0D\u7B49...
|
||||
SELECT=\u9009\u62E9
|
||||
FILE_TRANSFERRED_SUCCESSFULLY.=\u6587\u4EF6\u4F20\u9001\u6210\u529F
|
||||
FILE_TRANSFER_FAILED.=\u6587\u4EF6\u4F20\u9001\u5931\u8D25
|
||||
SYSTEM_IS_BUSY._TRY_AGAIN_LATER.=\u7CFB\u7EDF\u5FD9,\u7A0D\u540E\u518D\u8BD5.
|
||||
CONNECTING...=\u8FDE\u63A5\u4E2D...
|
||||
DOWNLOADING\:=\u4E0B\u8F7D\u4E2D:
|
||||
TRANSFERRING_AND_APPLYING\:=\u4F20\u9001\u4E2D:
|
||||
TRANSFERRING\:=\u4F20\u9001\u4E2D:
|
||||
INSTALLING\:=\u5B89\u88C5\u4E2D:
|
||||
INSTALL=\u5B89\u88C5
|
||||
NO_DEVICES_ARE_CONNECTED._CONNECT_A_DEVICE_THEN_RELAUNCH_WEBOS_QUICK_INSTALL.=\u8BBE\u5907\u672A\u8FDE\u63A5,\u8BF7\u8FDE\u63A5\u540E\u518D\u6B21\u8FD0\u884C
|
||||
NO_DEVICES_FOUND=\u672A\u53D1\u73B0\u8BBE\u5907
|
||||
FULL_WOSQI_DISCLAIMER=\u7A0B\u5E8F\u6709\u98CE\u9669,\u540E\u679C\u9700\u81EA\u8D1F,\u8BF7\u8C28\u614E\u4F7F\u7528.
|
||||
DISCLAIMER=\u653E\u5F03
|
||||
FOR_WEBOS_QUICK_INSTALL_TO_RUN_CORRECTLY,_YOUR_COMPUTER_NEEDS_TO_HAVE_THE_NOVACOM_DRIVER_INSTALLED._WOULD_YOU_LIKE_TO_INSTALL_IT_NOW?=\u5B89\u88C5Novacom\u9A71\u52A8\u624D\u80FD\u7528,\u73B0\u5728\u5B89\u88C5\u5417?
|
||||
NOVACOM_DRIVER_MISSING=Novacom\u9A71\u52A8\u7F3A\u5931
|
||||
JAR_FILES_(*.JAR)=Jar\u6587\u4EF6(*.jar)
|
||||
WEBOS_FILES_(*.IPK,_*.PATCH,_*.DIFF)=webOS\u6587\u4EF6(*.ipk, *.patch, *.diff)
|
||||
REPEATING_CONNECTION_WARNING=\u8BF7\u8FDE\u63A5\u597D\u8BBE\u5907\u518D\u7EE7\u7EED.
|
||||
WEBOS_DOCTOR_NEEDED_FOR_DRIVERS=\u9700\u8981\u9009\u62E9webOSDoctor\u4EE5\u5B89\u88C5Novacom\u9A71\u52A8.\u6CA1\u6709\u5C31\u73B0\u5728\u4E0B\u8F7D\u4E00\u4E2A.
|
||||
WEBOSDOCTOR_REQUIRED=\u9700\u8981webOSDoctor
|
||||
DOWNLOAD=\u4E0B\u8F7D
|
||||
SELECT_FILE...=\u9009\u62E9\u6587\u4EF6...
|
||||
CANCEL=\u53D6\u6D88
|
||||
InstalledPkgInfo.jLabel1.text=\u540D\u79F0:
|
||||
InstalledPkgInfo.jLabel2.text=\u7248\u672C:
|
||||
InstalledPkgInfo.jLabel4.text=ID:
|
||||
InstalledPkgInfo.jButton1.text=\u5173\u95ED
|
||||
InstalledPkgInfo.jLabel11.text=\u4F5C\u8005:
|
||||
InstalledPkgInfo.title=\u6587\u4EF6\u4FE1\u606F
|
||||
UNKNOWN=\u672A\u77E5
|
||||
InstalledPatchInfo.title=\u6587\u4EF6\u4FE1\u606F
|
||||
InstalledPatchInfo.jButton1.text=\u5173\u95ED
|
||||
InstalledPatchInfo.jLabel4.text=ID:
|
||||
InstalledPatchInfo.jLabel2.text=\u7248\u672C:
|
||||
InstalledPatchInfo.jLabel1.text=\u540D\u79F0:
|
||||
InstalledPatchInfo.jLabel5.text=\u63CF\u8FF0:
|
||||
InstalledPatchInfo.jLabel11.text=\u4F5C\u8005:
|
||||
About.closeButton.text=\u5173\u95ED
|
||||
About.jLabel5.text=\u5E2E\u52A9
|
||||
About.appVersionLabel.text=\u7248\u672C\u53F7 4.5.0
|
||||
About.jLabel2.text=\u7B80\u4F53\u4E2D\u6587\u7FFB\u8BD1:medigi8@twitter
|
||||
About.jLabel4.text=<html>\u7248\u6743\u5F52Jason Robitaille\u6240\u6709,\u76D7\u7248\u5FC5\u7A76.
|
||||
About.jLabel6.text=<html><p align="justify">\u6B64\u4E3A\u4E2A\u4EBA\u4F5C\u54C1,\u4E0EPalm\u516C\u53F8\u65E0\u5173.Palm,Pre,Pixi,Veer,TouchPad\u548CWebOS\u6CE8\u518C\u5546\u6807\u5F52 Hewlett-Packard\u516C\u53F8\u6240\u6709.</p>
|
||||
FeedLoader.jLabel5.text=\u5206\u6790\u4E0B\u8F7D\u4E2D:
|
||||
FeedLoader.jLabel6.text=
|
||||
FeedViewer.jLayeredPane1.TabConstraints.tabTitle=\u66F4\u65B0
|
||||
FeedViewer.jLayeredPane2.TabConstraints.tabTitle=\u5E94\u7528\u8F6F\u4EF6
|
||||
FeedViewer.jLayeredPane3.TabConstraints.tabTitle=\u670D\u52A1
|
||||
FeedViewer.jLayeredPane4.TabConstraints.tabTitle=\u63D2\u4EF6
|
||||
FeedViewer.jLayeredPane5.TabConstraints.tabTitle=Linux\u8F6F\u4EF6
|
||||
FeedViewer.jLayeredPane6.TabConstraints.tabTitle=\u5185\u6838
|
||||
FeedViewer.jLayeredPane7.TabConstraints.tabTitle=\u8865\u4E01
|
||||
FeedViewer.jLayeredPane8.TabConstraints.tabTitle=\u4E3B\u9898
|
||||
FeedViewer.jTextField1.text=
|
||||
FeedViewer.jButton1.text=
|
||||
FeedViewer.jButton2.text=\u5B89\u88C5
|
||||
FeedViewer.jLabel1.text=<html>
|
||||
FeedViewer.jLabel2.text=<html>
|
||||
FeedViewer.jTextPane1.contentType=text/html
|
||||
FeedViewer.jTextPane1.text=<html>
|
||||
FeedViewer.jLabel4.text=<html><b>\u6E90:</b>
|
||||
FeedViewer.jLabel3.text=<html><b>\u8BB8\u53EF:</b>
|
||||
FeedViewer.jLabel5.text=<html><b>\u7248\u672C:</b>
|
||||
FeedViewer.jLabel6.text=<html><b>\u4E0A\u6B21\u4FEE\u6539:</b>
|
||||
FeedViewer.jLabel8.text=<html><b>\u63CF\u8FF0:</b>
|
||||
FeedViewer.jLabel7.text=<html>
|
||||
FeedViewer.jLabel9.text=<html><b>\u4F5C\u8005:</b>
|
||||
FeedViewer.jLabel10.text=<html>
|
||||
FeedViewer.jLabel11.text=<html><a href="#">\u4E3B\u754C\u9762</a>
|
||||
FeedViewer.jTextField2.text=
|
||||
FeedViewer.jLabel22.text=<html><a href="#">\u4E3B\u754C\u9762</a>
|
||||
FeedViewer.jLabel21.text=<html>
|
||||
FeedViewer.jLabel20.text=<html><b>\u4F5C\u8005:</b>
|
||||
FeedViewer.jLabel19.text=<html>
|
||||
FeedViewer.jLabel18.text=<html><b>\u63CF\u8FF0:</b>
|
||||
FeedViewer.jLabel17.text=<html><b>\u4E0A\u6B21\u4FEE\u6539:</b>
|
||||
FeedViewer.jLabel16.text=<html><b>\u7248\u672C:</b>
|
||||
FeedViewer.jLabel15.text=<html><b>\u8BB8\u53EF:</b>
|
||||
FeedViewer.jLabel14.text=<html><b>\u6E90:</b>
|
||||
FeedViewer.jTextPane2.text=<html>
|
||||
FeedViewer.jTextPane2.contentType=text/html
|
||||
FeedViewer.jLabel13.text=<html>
|
||||
FeedViewer.jLabel12.text=<html>
|
||||
FeedViewer.jButton4.text=\u5B89\u88C5
|
||||
FeedViewer.jButton3.text=
|
||||
FeedViewer.jLabel33.text=<html><a href="#">\u4E3B\u754C\u9762</a>
|
||||
FeedViewer.jLabel32.text=<html>
|
||||
FeedViewer.jLabel31.text=<html><b>\u4F5C\u8005:</b>
|
||||
FeedViewer.jLabel30.text=<html>
|
||||
FeedViewer.jLabel29.text=<html><b>\u63CF\u8FF0:</b>
|
||||
FeedViewer.jLabel28.text=<html><b>\u4E0A\u6B21\u4FEE\u6539:</b>
|
||||
FeedViewer.jLabel27.text=<html><b>\u7248\u672C:</b>
|
||||
FeedViewer.jLabel26.text=<html><b>\u8BB8\u53EF:</b>
|
||||
FeedViewer.jLabel25.text=<html><b>\u6E90:</b>
|
||||
FeedViewer.jTextPane3.text=<html>
|
||||
FeedViewer.jTextPane3.contentType=text/html
|
||||
FeedViewer.jLabel24.text=<html>
|
||||
FeedViewer.jLabel23.text=<html>
|
||||
FeedViewer.jButton6.text=\u5B89\u88C5
|
||||
FeedViewer.jButton5.text=
|
||||
FeedViewer.jTextField3.text=
|
||||
FeedViewer.jLabel44.text=<html><a href="#">\u4E3B\u754C\u9762</a>
|
||||
FeedViewer.jLabel43.text=<html>
|
||||
FeedViewer.jLabel42.text=<html><b>\u4F5C\u8005:</b>
|
||||
FeedViewer.jLabel41.text=<html>
|
||||
FeedViewer.jLabel40.text=<html><b>\u63CF\u8FF0:</b>
|
||||
FeedViewer.jLabel39.text=<html><b>\u4E0A\u6B21\u4FEE\u6539:</b>
|
||||
FeedViewer.jLabel38.text=<html><b>\u7248\u672C:</b>
|
||||
FeedViewer.jLabel37.text=<html><b>\u8BB8\u53EF:</b>
|
||||
FeedViewer.jLabel36.text=<html><b>\u6E90:</b>
|
||||
FeedViewer.jTextPane4.text=<html>
|
||||
FeedViewer.jTextPane4.contentType=text/html
|
||||
FeedViewer.jLabel35.text=<html>
|
||||
FeedViewer.jLabel34.text=<html>
|
||||
FeedViewer.jButton8.text=\u5B89\u88C5
|
||||
FeedViewer.jButton7.text=
|
||||
FeedViewer.jTextField4.text=
|
||||
FeedViewer.jTextField5.text=
|
||||
FeedViewer.jLabel55.text=<html><a href="#">\u4E3B\u754C\u9762</a>
|
||||
FeedViewer.jLabel54.text=<html>
|
||||
FeedViewer.jLabel53.text=<html><b>\u4F5C\u8005:</b>
|
||||
FeedViewer.jLabel52.text=<html>
|
||||
FeedViewer.jLabel51.text=<html><b>\u63CF\u8FF0:</b>
|
||||
FeedViewer.jLabel50.text=<html><b>\u4E0A\u6B21\u4FEE\u6539:</b>
|
||||
FeedViewer.jLabel49.text=<html><b>\u7248\u672C:</b>
|
||||
FeedViewer.jLabel48.text=<html><b>\u8BB8\u53EF:</b>
|
||||
FeedViewer.jLabel47.text=<html><b>\u6E90:</b>
|
||||
FeedViewer.jTextPane5.text=<html>
|
||||
FeedViewer.jTextPane5.contentType=text/html
|
||||
FeedViewer.jLabel46.text=<html>
|
||||
FeedViewer.jLabel45.text=<html>
|
||||
FeedViewer.jButton10.text=\u5B89\u88C5
|
||||
FeedViewer.jButton9.text=
|
||||
FeedViewer.jLabel66.text=<html><a href="#">\u4E3B\u754C\u9762</a>
|
||||
FeedViewer.jLabel65.text=<html>
|
||||
FeedViewer.jLabel64.text=<html><b>\u4F5C\u8005:</b>
|
||||
FeedViewer.jLabel63.text=<html>
|
||||
FeedViewer.jLabel62.text=<html><b>\u63CF\u8FF0:</b>
|
||||
FeedViewer.jLabel61.text=<html><b>\u4E0A\u6B21\u4FEE\u6539:</b>
|
||||
FeedViewer.jLabel60.text=<html><b>\u7248\u672C:</b>
|
||||
FeedViewer.jLabel59.text=<html><b>\u8BB8\u53EF:</b>
|
||||
FeedViewer.jLabel58.text=<html><b>\u6E90:</b>
|
||||
FeedViewer.jTextPane6.text=<html>
|
||||
FeedViewer.jTextPane6.contentType=text/html
|
||||
FeedViewer.jLabel57.text=<html>
|
||||
FeedViewer.jLabel56.text=<html>
|
||||
FeedViewer.jButton12.text=\u5B89\u88C5
|
||||
FeedViewer.jButton11.text=
|
||||
FeedViewer.jTextField6.text=
|
||||
FeedViewer.jLabel77.text=<html><a href="#">\u4E3B\u754C\u9762</a>
|
||||
FeedViewer.jLabel76.text=<html>
|
||||
FeedViewer.jLabel75.text=<html><b>\u4F5C\u8005:</b>
|
||||
FeedViewer.jLabel74.text=<html>
|
||||
FeedViewer.jLabel73.text=<html><b>\u63CF\u8FF0:</b>
|
||||
FeedViewer.jLabel72.text=<html><b>\u4E0A\u6B21\u4FEE\u6539:</b>
|
||||
FeedViewer.jLabel71.text=<html><b>\u7248\u672C:</b>
|
||||
FeedViewer.jLabel70.text=<html><b>\u8BB8\u53EF:</b>
|
||||
FeedViewer.jLabel69.text=<html><b>\u6E90:</b>
|
||||
FeedViewer.jTextPane7.text=<html>
|
||||
FeedViewer.jTextPane7.contentType=text/html
|
||||
FeedViewer.jLabel68.text=<html>
|
||||
FeedViewer.jLabel67.text=<html>
|
||||
FeedViewer.jButton14.text=\u5B89\u88C5
|
||||
FeedViewer.jButton13.text=
|
||||
FeedViewer.jTextField7.text=
|
||||
FeedViewer.jLabel88.text=<html><a href="#">\u4E3B\u754C\u9762</a>
|
||||
FeedViewer.jLabel87.text=<html>
|
||||
FeedViewer.jLabel86.text=<html><b>\u4F5C\u8005:</b>
|
||||
FeedViewer.jLabel85.text=<html>
|
||||
FeedViewer.jLabel84.text=<html><b>\u63CF\u8FF0:</b>
|
||||
FeedViewer.jLabel83.text=<html><b>\u4E0A\u6B21\u4FEE\u6539:</b>
|
||||
FeedViewer.jLabel82.text=<html><b>\u7248\u672C:</b>
|
||||
FeedViewer.jLabel81.text=<html><b>\u8BB8\u53EF:</b>
|
||||
FeedViewer.jLabel80.text=<html><b>\u6E90:</b>
|
||||
FeedViewer.jTextPane8.text=<html>
|
||||
FeedViewer.jTextPane8.contentType=text/html
|
||||
FeedViewer.jLabel79.text=<html>
|
||||
FeedViewer.jLabel78.text=
|
||||
FeedViewer.jButton16.text=\u66F4\u65B0
|
||||
FeedViewer.jLayeredPane9.TabConstraints.tabTitle=Linux\u540E\u53F0\u7A0B\u5E8F
|
||||
FeedViewer.jLabel99.text=<html><a href="#">\u4E3B\u754C\u9762</a>
|
||||
FeedViewer.jLabel98.text=<html>
|
||||
FeedViewer.jLabel97.text=<html><b>\u4F5C\u8005:</b>
|
||||
FeedViewer.jLabel96.text=<html>
|
||||
FeedViewer.jLabel95.text=<html><b>\u63CF\u8FF0:</b>
|
||||
FeedViewer.jLabel94.text=<html><b>\u4E0A\u6B21\u4FEE\u6539:</b>
|
||||
FeedViewer.jLabel93.text=<html><b>\u7248\u672C:</b>
|
||||
FeedViewer.jLabel92.text=<html><b>\u8BB8\u53EF:</b>
|
||||
FeedViewer.jLabel91.text=<html><b>\u6E90:</b>
|
||||
FeedViewer.jTextPane9.text=<html>
|
||||
FeedViewer.jTextPane9.contentType=text/html
|
||||
FeedViewer.jLabel90.text=<html>
|
||||
FeedViewer.jLabel89.text=<html>
|
||||
FeedViewer.jButton18.text=\u5B89\u88C5
|
||||
FeedViewer.jButton17.text=
|
||||
FeedViewer.jTextField9.text=
|
||||
SendFile.title=\u53D1\u9001\u6587\u4EF6
|
||||
ReceiveFile.title=\u63A5\u6536\u6587\u4EF6
|
||||
FeedViewer.availablePackagesTabs.TabConstraints.tabTitle=\u53EF\u7528\u8F6F\u4EF6\u5305
|
||||
Installer.jLabel5.text=
|
||||
FeedViewer.jButton15.text=\u5168\u90E8\u66F4\u65B0
|
||||
ALL=\u5168\u90E8
|
||||
WEBOS_PACKAGE_FILE=WebOS\u8F6F\u4EF6\u5305\u6587\u4EF6
|
||||
WEBOS_PATCH_FILE=WebOS\u8865\u4E01\u6587\u4EF6
|
||||
WEBOS_DIFF_FILE=WebOS Diff\u6587\u4EF6
|
||||
UNKNOWN_FILE=\u672A\u77E5\u6587\u4EF6
|
||||
ERROR\:_FEED_LOADING_FAILED=\u51FA\u9519:\u5BFC\u5165\u6E90\u65F6\u5931\u8D25
|
||||
ERROR\:_DRIVER_INSTALLATION_FAILED=\u51FA\u9519:\u9A71\u52A8\u5B89\u88C5\u5931\u8D25
|
||||
ERROR\:_UNABLE_TO_DOWNLOAD_{0}=\u51FA\u9519:\u65E0\u6CD5\u4E0B\u8F7D{0}
|
||||
VERSION\:=\u7248\u672C:
|
||||
DEVELOPER\:=\u4F5C\u8005:
|
||||
LAST_UPDATED\:=\u4E0A\u6B21\u4FEE\u6539:
|
||||
NO_PACKAGES_FOUND=\u672A\u53D1\u73B0\u8F6F\u4EF6\u5305
|
||||
DEPENDANCY_INSTALL_WARNING=\u8B66\u544A:\u4EE5\u4E0B\u6587\u4EF6\u4E0E{0}\u5173\u8054,\u5C06\u4F1A\u4E00\u5E76\u5B89\u88C5
|
||||
NO_UPDATES_FOUND=\u672A\u53D1\u73B0\u66F4\u65B0
|
||||
MainView.installTable.columnModel.title2=\u7C7B\u578B
|
||||
MainView.installTable.columnModel.title1=\u5927\u5C0F
|
||||
MainView.installTable.columnModel.title0=\u540D\u79F0
|
||||
Settings.title=\u8BBE\u7F6E
|
||||
Settings.jLabel1.text=\u8BED\u8A00:
|
||||
MainView.jMenuItem8.text=\u8BBE\u7F6E
|
||||
<SYSTEM_DEFAULT>=<\u7CFB\u7EDF\u9ED8\u8BA4>
|
||||
ENGLISH=\u82F1\u8BED
|
||||
FRENCH=\u6CD5\u8BED
|
||||
GERMAN=\u5FB7\u8BED
|
||||
SIMPLIFIED_CHINESE=\u7B80\u4F53\u4E2D\u6587
|
||||
THE_NEW_LANGUAGE_WILL_TAKE_EFFECT_THE_NEXT_TIME_WEBOS_QUICK_INSTALL_IS_LAUNCHED.=\u66F4\u6539\u8BED\u8A00\u540E\u9700\u91CD\u542F\u7A0B\u5E8F.
|
||||
LANGUAGE_CHANGED.=\u8BED\u8A00\u5DF2\u66F4\u6539
|
||||
ERROR\:_INVALID_FEED_URL=\u51FA\u9519:\u65E0\u6548\u5730\u5740
|
||||
CUSTOM_FEED_URL\:=\u9972\u6599\u5730\u5740:
|
||||
EXIT=\u9000\u51FA
|
||||
MainView.jMenuItem9.text=Linux\u547D\u4EE4\u884C
|
||||
Settings.jLabel2.text=\u9ED8\u8BA4\u6E90:
|
||||
Settings.jLabel3.text=\u81EA\u5B9A\u4E49\u6E90:
|
||||
Settings.jButton1.text=\u5220\u9664\u5DF2\u5B58\u5F00\u53D1\u8005\u6A21\u5F0F\u5BC6\u7801
|
||||
FEED_PRECENTRAL=webOS Nation
|
||||
FEED_WEBOSINTERNALS=WebOS-Internals
|
||||
FEED_PATCHES=WebOS\u8865\u4E01
|
||||
FEED_KERNELS=WebOS\u5185\u6838
|
||||
FEED_PRETHEMER=\u4E3B\u9898
|
||||
FEED_PCTHEMES=webOS Nation \u4E3B\u9898
|
||||
FEED_CLOCK=\u65F6\u949F\u4E3B\u9898
|
||||
Settings.jCheckBox1.text=<html>\u5C3D\u53EF\u80FD\u4F7F\u7528\u8BBE\u5907\u540D\u79F0
|
||||
OK=\u597D
|
||||
@@ -0,0 +1,365 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.6" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
||||
<Properties>
|
||||
<Property name="defaultCloseOperation" type="int" value="2"/>
|
||||
<Property name="title" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jMenuItem5.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="modal" type="boolean" value="true"/>
|
||||
<Property name="name" type="java.lang.String" value="aboutBox" noResource="true"/>
|
||||
<Property name="resizable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<SyntheticProperties>
|
||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||
</SyntheticProperties>
|
||||
<Events>
|
||||
<EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowClosing"/>
|
||||
<EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="formKeyPressed"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" min="-2" pref="619" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" min="-2" pref="385" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane1">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane1" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jLayeredPane1MouseClicked"/>
|
||||
<EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="jLayeredPane1KeyTyped"/>
|
||||
</Events>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane3">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
|
||||
<TitledBorder title="User-Installed Content">
|
||||
<ResourceString PropertyName="titleX" bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLayeredPane3.border.title" replaceFormat="bundle.getString("{key}")"/>
|
||||
</TitledBorder>
|
||||
</Border>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane3" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jLayeredPane3MouseClicked"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="320" y="10" width="280" height="360" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane1" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="50" width="240" height="260" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTable" name="jTable1">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="2" rowCount="0">
|
||||
<Column editable="false" title="Name" type="java.lang.String"/>
|
||||
<Column editable="true" title="" type="java.lang.Boolean"/>
|
||||
</Table>
|
||||
</Property>
|
||||
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||
<TableColumnModel selectionModel="0">
|
||||
<Column maxWidth="-1" minWidth="-1" prefWidth="250" resizable="false">
|
||||
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jTable1.columnModel.title0" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Title>
|
||||
<Editor/>
|
||||
<Renderer/>
|
||||
</Column>
|
||||
<Column maxWidth="-1" minWidth="-1" prefWidth="50" resizable="false">
|
||||
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jTable1.columnModel.title1" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Title>
|
||||
<Editor/>
|
||||
<Renderer/>
|
||||
</Column>
|
||||
</TableColumnModel>
|
||||
</Property>
|
||||
<Property name="fillsViewportHeight" type="boolean" value="true"/>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
<Property name="gridColor" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="c0" green="c0" red="c0" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jTable1" noResource="true"/>
|
||||
<Property name="selectionModel" type="javax.swing.ListSelectionModel" editor="org.netbeans.modules.form.editors2.JTableSelectionModelEditor">
|
||||
<JTableSelectionModel selectionMode="0"/>
|
||||
</Property>
|
||||
<Property name="showVerticalLines" type="boolean" value="false"/>
|
||||
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
|
||||
<TableHeader reorderingAllowed="false" resizingAllowed="false"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTable1MouseClicked"/>
|
||||
<EventHandler event="mousePressed" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTable1MousePressed"/>
|
||||
<EventHandler event="mouseReleased" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTable1MouseReleased"/>
|
||||
<EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="jTable1KeyTyped"/>
|
||||
</Events>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JComboBox" name="jComboBox1">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
||||
<StringArray count="2">
|
||||
<StringItem index="0" value="Packages"/>
|
||||
<StringItem index="1" value="Patches"/>
|
||||
</StringArray>
|
||||
</Property>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
<Property name="name" type="java.lang.String" value="jComboBox1" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jComboBox1ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="154" y="20" width="100" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="jButton1">
|
||||
<Properties>
|
||||
<Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.swingapp.ActionEditor">
|
||||
<action class="ca.canucksoftware.WebOSQuickInstallManage" id="uninstall" methodName="uninstall"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jButton1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
<Property name="name" type="java.lang.String" value="jButton1" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="150" y="320" width="110" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane2">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
|
||||
<TitledBorder title="Device Info">
|
||||
<ResourceString PropertyName="titleX" bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLayeredPane2.border.title" replaceFormat="bundle.getString("{key}")"/>
|
||||
</TitledBorder>
|
||||
</Border>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane2" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jLayeredPane2MouseClicked"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="10" width="280" height="360" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="jLabel7">
|
||||
<Properties>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel7" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="190" y="20" width="70" height="70" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel3">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLabel3.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel3" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="180" width="250" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel13">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLabel13.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel13" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="300" width="250" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel8">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLabel8.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel8" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="240" width="250" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel12">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLabel12.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel12" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="270" width="250" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel11">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLabel11.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel11" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="330" width="250" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel9">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLabel9.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel9" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="210" width="250" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel4">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLabel4.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel4" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="150" width="250" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLabel1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel1" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="60" width="170" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel10">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLabel10.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel10" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="120" width="250" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLabel2.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="30" width="170" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel5">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="DeviceManagement.jLabel5.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel5" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="90" width="170" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
@@ -0,0 +1,650 @@
|
||||
/*
|
||||
* WebOSQuickInstallAboutBox.java
|
||||
*/
|
||||
|
||||
package ca.canucksoftware.wosqi;
|
||||
|
||||
import ca.canucksoftware.webos.InstalledEntry;
|
||||
import ca.canucksoftware.webos.DeviceInfo;
|
||||
import ca.canucksoftware.webos.WebOSConnection;
|
||||
import java.awt.Color;
|
||||
import java.net.URL;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.ArrayList;
|
||||
import org.jdesktop.application.Action;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.table.DefaultTableModel;
|
||||
import java.util.TimerTask;
|
||||
import java.util.Timer;
|
||||
import java.util.ResourceBundle;
|
||||
import javax.swing.JDialog;
|
||||
import javax.swing.JFrame;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class DeviceManagement extends javax.swing.JDialog {
|
||||
private ResourceBundle bundle;
|
||||
private WebOSConnection webOS;
|
||||
private DefaultTableModel modTable;
|
||||
private JSONArray apps;
|
||||
private ArrayList<InstalledEntry> pkgs;
|
||||
private ArrayList<InstalledEntry> filtered;
|
||||
private Timer t;
|
||||
|
||||
public DeviceManagement(java.awt.Frame parent, WebOSConnection connection) {
|
||||
super(parent);
|
||||
bundle = WebOSQuickInstallApp.bundle;
|
||||
initComponents();
|
||||
webOS = connection;
|
||||
apps = null;
|
||||
pkgs = null;
|
||||
filtered = new ArrayList<InstalledEntry>();
|
||||
jTable1.setAutoCreateColumnsFromModel(false);
|
||||
modTable = (DefaultTableModel) jTable1.getModel();
|
||||
modTable.addRow(new Object[] {bundle.getString("LOADING_LIST..."),Boolean.FALSE});
|
||||
this.getContentPane().requestFocus();
|
||||
t = new Timer();
|
||||
if(!webOS.isConnected()) {
|
||||
DeviceInfo info = webOS.getDeviceInfo();
|
||||
if(info!=null && !info.model().equals(DeviceInfo.Model.Unknown.toString())) {
|
||||
JOptionPane.showMessageDialog(rootPane, MessageFormat.format(bundle
|
||||
.getString("{0}_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN."),
|
||||
new Object[] {info.model()}));
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(rootPane, bundle
|
||||
.getString("DEVICE_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN."));
|
||||
}
|
||||
t.schedule(new DoDispose(), 200);
|
||||
} else {
|
||||
t.schedule(new DoLoadDetails(), 100);
|
||||
webOS.configIpkg();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void loadDeviceDetails() {
|
||||
DeviceInfo info = webOS.getDeviceInfo();
|
||||
URL imgURL;
|
||||
if(info.model().equals(DeviceInfo.Model.Emulator.toString())) {
|
||||
imgURL = getClass().getResource("resources/Emulator 64x64.png");
|
||||
} else if(info.model().equals(DeviceInfo.Model.Palm_Pixi.toString()) ||
|
||||
info.model().equals(DeviceInfo.Model.Palm_Pixi_Plus.toString())) {
|
||||
imgURL = getClass().getResource("resources/Palm Pixi 64x64.png");
|
||||
} else if(info.model().equals(DeviceInfo.Model.Palm_Pre.toString()) ||
|
||||
info.model().equals(DeviceInfo.Model.Palm_Pre_Plus.toString())) {
|
||||
imgURL = getClass().getResource("resources/Palm Pre 64x64.png");
|
||||
} else if(info.model().equals(DeviceInfo.Model.Palm_Pre_2.toString())) {
|
||||
imgURL = getClass().getResource("resources/Palm Pre 2 64x64.png");
|
||||
} else if(info.model().equals(DeviceInfo.Model.HP_Veer.toString())) {
|
||||
imgURL = getClass().getResource("resources/HP Veer 64x64.png");
|
||||
} else if(info.model().equals(DeviceInfo.Model.HP_TouchPad.toString())) {
|
||||
imgURL = getClass().getResource("resources/HP TouchPad 64x64.png");
|
||||
} else if(info.model().equals(DeviceInfo.Model.HP_Pre_3.toString())) {
|
||||
imgURL = getClass().getResource("resources/HP Pre 3 64x64.png");
|
||||
} else { //unknown
|
||||
imgURL = getClass().getResource("resources/Palm Pre 2 64x64.png");
|
||||
}
|
||||
jLabel7.setIcon(new ImageIcon(imgURL));
|
||||
jLabel2.setText(bundle.getString("DEVICE:") + " " + info.name());
|
||||
jLabel1.setText(bundle.getString("OS:") + " webOS " + info.version());
|
||||
jLabel5.setText(bundle.getString("ARCHITECTURE:") + " " + info.arch());
|
||||
jLabel10.setText(bundle.getString("BUILD_NAME:") + " " + info.buildName());
|
||||
jLabel4.setText(bundle.getString("BUILD_TIME:") + " " + info.buildTime());
|
||||
|
||||
if(!info.model().equals(DeviceInfo.Model.Emulator.toString())) {
|
||||
try {
|
||||
String out = webOS.runProgram("/bin/grep", new String[] {"-e", "Processor",
|
||||
"-e", "BogoMIPS", "-e", "Hardware", "/proc/cpuinfo"});
|
||||
String[] tokens = out.split("\n");
|
||||
for(int i=0; i<tokens.length; i++) {
|
||||
if(tokens[i].startsWith("Processor")) {
|
||||
jLabel3.setText(bundle.getString("CPU_TYPE:") + " " +
|
||||
tokens[i].substring(tokens[i].indexOf(":")+2));
|
||||
} else if(tokens[i].startsWith("BogoMIPS")) {
|
||||
jLabel9.setText(bundle.getString("CPU_SPEED:") + " " +
|
||||
tokens[i].substring(tokens[i].indexOf(":")+2) + " MHz");
|
||||
} else if(tokens[i].startsWith("Hardware")) {
|
||||
jLabel8.setText(bundle.getString("CPU_HARDWARE:") + " " +
|
||||
tokens[i].substring(tokens[i].indexOf(":")+2));
|
||||
}
|
||||
}
|
||||
} catch(Exception e) {
|
||||
System.err.println("Unable to get CPU info");
|
||||
}
|
||||
|
||||
try {
|
||||
String out = webOS.runProgram("/usr/bin/PmModemInfo", new String[] {"-e"});
|
||||
String[] tokens = out.split("\n");
|
||||
jLabel12.setText(bundle.getString("MODEM_TYPE:") + " " +
|
||||
tokens[0].substring(tokens[0].indexOf("=")+1));
|
||||
jLabel13.setText(bundle.getString("MODEM_FIRMWARE:") + " " +
|
||||
tokens[1].substring(tokens[1].indexOf("=")+1));
|
||||
jLabel11.setText(tokens[2].substring(1,5) + ": " + tokens[2].substring(6));
|
||||
} catch(Exception e) {
|
||||
System.err.println("Unable to get modem info");
|
||||
}
|
||||
}
|
||||
t.schedule(new DoLoadPackages(), 100);
|
||||
}
|
||||
|
||||
private void loadPackages() {
|
||||
if(pkgs==null) {
|
||||
try {
|
||||
pkgs = webOS.listInstalled();
|
||||
apps = getApps();
|
||||
for(int i=0; i<pkgs.size(); i++) {
|
||||
InstalledEntry curr = pkgs.get(i);
|
||||
String name = curr.getName();
|
||||
if(name.equals("This is a webOS application.")) {
|
||||
if(apps!=null) {
|
||||
JSONObject json = getAppInfoFromId(curr.getId());
|
||||
try {
|
||||
curr.setName(json.getString("title"));
|
||||
curr.setDeveloper(json.getString("vendor"));
|
||||
} catch(Exception e) {}
|
||||
} else {
|
||||
curr.setName(curr.getName(webOS));
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch(StackOverflowError e) {
|
||||
System.err.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
filtered.clear();
|
||||
while(modTable.getRowCount()>0) {
|
||||
modTable.removeRow(0);
|
||||
}
|
||||
for(int i=0; i<pkgs.size(); i++) {
|
||||
InstalledEntry curr = pkgs.get(i);
|
||||
if((jComboBox1.getSelectedIndex()==1)==
|
||||
(curr.getId().startsWith("ca.canucksoftware.patches.") ||
|
||||
curr.getId().startsWith("org.webosinternals.patches."))) {
|
||||
filtered.add(curr);
|
||||
modTable.addRow(new Object[] {curr.getName(), Boolean.FALSE});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private JSONArray getApps() {
|
||||
JSONArray results = null;
|
||||
try {
|
||||
String out = webOS.runProgram("/usr/bin/luna-send", new String[] {"-n", "1",
|
||||
"palm://com.palm.applicationManager/listApps", "{}"});
|
||||
int leftBrace = out.indexOf("{");
|
||||
int rightBrace = out.lastIndexOf("}");
|
||||
if(leftBrace>-1 && rightBrace>-1) {
|
||||
out = out.substring(leftBrace, rightBrace+1);
|
||||
results = new JSONObject(out).getJSONArray("apps");
|
||||
}
|
||||
} catch(Exception e) {
|
||||
System.err.println("Unable to get apps list from luna-send: " +
|
||||
e.getMessage());
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
private JSONObject getAppInfoFromId(String appid) {
|
||||
JSONObject result = null;
|
||||
for(int i=0; i<apps.length(); i++) {
|
||||
try {
|
||||
JSONObject curr = apps.getJSONObject(i);
|
||||
if(curr.getString("id").equals(appid)) {
|
||||
result = curr;
|
||||
break;
|
||||
}
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public void uninstall() {
|
||||
webOS.remountPartitionReadWrite();
|
||||
for(int i=0; i<modTable.getRowCount(); i++) {
|
||||
if(modTable.getValueAt(i, 1)==Boolean.TRUE) {
|
||||
InstalledEntry curr = filtered.get(i);
|
||||
ArrayList<String> warn = webOS.whatDependsRecursive(curr.getId());
|
||||
if(warn.size()>0) {
|
||||
String warnMsg = "<html><body width=\"300px\">" +
|
||||
MessageFormat.format(bundle
|
||||
.getString("DEPENDANT_PACKAGES_EXIST_WARNING"),
|
||||
new Object[] {modTable.getValueAt(i, 0)}) + "\n";
|
||||
for(int j=0; j<warn.size(); j++) {
|
||||
warnMsg += "\n" + pkgs.get(indexOfPackage(warn.get(j))).getName();
|
||||
}
|
||||
if(JOptionPane.showConfirmDialog(rootPane, warnMsg,
|
||||
bundle.getString("WARNING"), JOptionPane.OK_CANCEL_OPTION,
|
||||
JOptionPane.WARNING_MESSAGE)==JOptionPane.OK_OPTION) {
|
||||
uninstallPackage(curr);
|
||||
uninstall();
|
||||
break;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if(uninstallPackage(curr)) {
|
||||
i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
webOS.executeRestartFlags();
|
||||
}
|
||||
|
||||
public int indexOfPackage(String appid) {
|
||||
int result = -1;
|
||||
for(int i=0; i<pkgs.size(); i++) {
|
||||
if(pkgs.get(i).getId().equals(appid)) {
|
||||
result = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public int indexOfFiltered(String appid) {
|
||||
int result = -1;
|
||||
for(int i=0; i<filtered.size(); i++) {
|
||||
if(filtered.get(i).getId().equals(appid)) {
|
||||
result = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public boolean uninstallPackage(InstalledEntry entry) {
|
||||
InstalledEntry curr = entry;
|
||||
boolean continueOn = true;
|
||||
ArrayList<String> depends = webOS.whatDepends(entry.getId());
|
||||
if(depends.size()>0) {
|
||||
for(int i=0; i<depends.size(); i++) {
|
||||
int index = indexOfPackage(depends.get(i));
|
||||
if(index>-1) {
|
||||
continueOn &= uninstallPackage(pkgs.get(index));
|
||||
if(!continueOn) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(continueOn && webOS.uninstall(curr.getId())) {
|
||||
pkgs.remove(curr);
|
||||
int index = indexOfFiltered(curr.getId());
|
||||
if(index>-1) {
|
||||
modTable.removeRow(index);
|
||||
filtered.remove(index);
|
||||
}
|
||||
continueOn = true;
|
||||
} else {
|
||||
continueOn = false;
|
||||
}
|
||||
return continueOn;
|
||||
}
|
||||
|
||||
|
||||
@Action
|
||||
public void closeManagement() {
|
||||
dispose();
|
||||
}
|
||||
|
||||
private void setState(boolean enable) {
|
||||
jComboBox1.setEnabled(enable);
|
||||
jButton1.setEnabled(enable);
|
||||
jTable1.setEnabled(enable);
|
||||
if(enable) {
|
||||
jTable1.setBackground(new Color(255, 255, 255));
|
||||
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
|
||||
} else {
|
||||
jTable1.setBackground(new Color(230, 230, 230));
|
||||
setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
|
||||
}
|
||||
}
|
||||
|
||||
/** This method is called from within the constructor to
|
||||
* initialize the form.
|
||||
* WARNING: Do NOT modify this code. The content of this method is
|
||||
* always regenerated by the Form Editor.
|
||||
*/
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
jLayeredPane1 = new javax.swing.JLayeredPane();
|
||||
jLayeredPane3 = new javax.swing.JLayeredPane();
|
||||
jScrollPane1 = new javax.swing.JScrollPane();
|
||||
jTable1 = new javax.swing.JTable();
|
||||
jComboBox1 = new javax.swing.JComboBox();
|
||||
jButton1 = new javax.swing.JButton();
|
||||
jLayeredPane2 = new javax.swing.JLayeredPane();
|
||||
jLabel7 = new javax.swing.JLabel();
|
||||
jLabel3 = new javax.swing.JLabel();
|
||||
jLabel13 = new javax.swing.JLabel();
|
||||
jLabel8 = new javax.swing.JLabel();
|
||||
jLabel12 = new javax.swing.JLabel();
|
||||
jLabel11 = new javax.swing.JLabel();
|
||||
jLabel9 = new javax.swing.JLabel();
|
||||
jLabel4 = new javax.swing.JLabel();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jLabel10 = new javax.swing.JLabel();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
jLabel5 = new javax.swing.JLabel();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
setTitle(bundle.getString("MainView.jMenuItem5.text")); // NOI18N
|
||||
setModal(true);
|
||||
setName("aboutBox"); // NOI18N
|
||||
setResizable(false);
|
||||
addWindowListener(new java.awt.event.WindowAdapter() {
|
||||
public void windowClosing(java.awt.event.WindowEvent evt) {
|
||||
formWindowClosing(evt);
|
||||
}
|
||||
});
|
||||
addKeyListener(new java.awt.event.KeyAdapter() {
|
||||
public void keyPressed(java.awt.event.KeyEvent evt) {
|
||||
formKeyPressed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLayeredPane1.setName("jLayeredPane1"); // NOI18N
|
||||
jLayeredPane1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||
jLayeredPane1MouseClicked(evt);
|
||||
}
|
||||
});
|
||||
jLayeredPane1.addKeyListener(new java.awt.event.KeyAdapter() {
|
||||
public void keyTyped(java.awt.event.KeyEvent evt) {
|
||||
jLayeredPane1KeyTyped(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLayeredPane3.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("DeviceManagement.jLayeredPane3.border.title"))); // NOI18N
|
||||
jLayeredPane3.setName("jLayeredPane3"); // NOI18N
|
||||
jLayeredPane3.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||
jLayeredPane3MouseClicked(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jScrollPane1.setName("jScrollPane1"); // NOI18N
|
||||
|
||||
jTable1.setModel(new javax.swing.table.DefaultTableModel(
|
||||
new Object [][] {
|
||||
|
||||
},
|
||||
new String [] {
|
||||
"Name", ""
|
||||
}
|
||||
) {
|
||||
Class[] types = new Class [] {
|
||||
java.lang.String.class, java.lang.Boolean.class
|
||||
};
|
||||
boolean[] canEdit = new boolean [] {
|
||||
false, true
|
||||
};
|
||||
|
||||
public Class getColumnClass(int columnIndex) {
|
||||
return types [columnIndex];
|
||||
}
|
||||
|
||||
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
||||
return canEdit [columnIndex];
|
||||
}
|
||||
});
|
||||
jTable1.setFillsViewportHeight(true);
|
||||
jTable1.setFocusable(false);
|
||||
jTable1.setGridColor(new java.awt.Color(192, 192, 192));
|
||||
jTable1.setName("jTable1"); // NOI18N
|
||||
jTable1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
|
||||
jTable1.setShowVerticalLines(false);
|
||||
jTable1.getTableHeader().setResizingAllowed(false);
|
||||
jTable1.getTableHeader().setReorderingAllowed(false);
|
||||
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||
jTable1MouseClicked(evt);
|
||||
}
|
||||
public void mousePressed(java.awt.event.MouseEvent evt) {
|
||||
jTable1MousePressed(evt);
|
||||
}
|
||||
public void mouseReleased(java.awt.event.MouseEvent evt) {
|
||||
jTable1MouseReleased(evt);
|
||||
}
|
||||
});
|
||||
jTable1.addKeyListener(new java.awt.event.KeyAdapter() {
|
||||
public void keyTyped(java.awt.event.KeyEvent evt) {
|
||||
jTable1KeyTyped(evt);
|
||||
}
|
||||
});
|
||||
jScrollPane1.setViewportView(jTable1);
|
||||
jTable1.getColumnModel().getColumn(0).setResizable(false);
|
||||
jTable1.getColumnModel().getColumn(0).setPreferredWidth(250);
|
||||
jTable1.getColumnModel().getColumn(0).setHeaderValue(bundle.getString("DeviceManagement.jTable1.columnModel.title0")); // NOI18N
|
||||
jTable1.getColumnModel().getColumn(1).setResizable(false);
|
||||
jTable1.getColumnModel().getColumn(1).setPreferredWidth(50);
|
||||
jTable1.getColumnModel().getColumn(1).setHeaderValue(bundle.getString("DeviceManagement.jTable1.columnModel.title1")); // NOI18N
|
||||
|
||||
jScrollPane1.setBounds(20, 50, 240, 260);
|
||||
jLayeredPane3.add(jScrollPane1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Packages", "Patches" }));
|
||||
jComboBox1.setFocusable(false);
|
||||
jComboBox1.setName("jComboBox1"); // NOI18N
|
||||
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jComboBox1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jComboBox1.setBounds(154, 20, 100, 20);
|
||||
jLayeredPane3.add(jComboBox1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(ca.canucksoftware.wosqi.WebOSQuickInstallApp.class).getContext().getActionMap(DeviceManagement.class, this);
|
||||
jButton1.setAction(actionMap.get("uninstall")); // NOI18N
|
||||
jButton1.setText(bundle.getString("DeviceManagement.jButton1.text")); // NOI18N
|
||||
jButton1.setFocusable(false);
|
||||
jButton1.setName("jButton1"); // NOI18N
|
||||
jButton1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton1.setBounds(150, 320, 110, 23);
|
||||
jLayeredPane3.add(jButton1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLayeredPane3.setBounds(320, 10, 280, 360);
|
||||
jLayeredPane1.add(jLayeredPane3, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLayeredPane2.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("DeviceManagement.jLayeredPane2.border.title"))); // NOI18N
|
||||
jLayeredPane2.setName("jLayeredPane2"); // NOI18N
|
||||
jLayeredPane2.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||
jLayeredPane2MouseClicked(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLabel7.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel7.setName("jLabel7"); // NOI18N
|
||||
jLabel7.setBounds(190, 20, 70, 70);
|
||||
jLayeredPane2.add(jLabel7, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel3.setText(bundle.getString("DeviceManagement.jLabel3.text")); // NOI18N
|
||||
jLabel3.setName("jLabel3"); // NOI18N
|
||||
jLabel3.setBounds(20, 180, 250, 20);
|
||||
jLayeredPane2.add(jLabel3, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel13.setText(bundle.getString("DeviceManagement.jLabel13.text")); // NOI18N
|
||||
jLabel13.setName("jLabel13"); // NOI18N
|
||||
jLabel13.setBounds(20, 300, 250, 20);
|
||||
jLayeredPane2.add(jLabel13, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel8.setText(bundle.getString("DeviceManagement.jLabel8.text")); // NOI18N
|
||||
jLabel8.setName("jLabel8"); // NOI18N
|
||||
jLabel8.setBounds(20, 240, 250, 20);
|
||||
jLayeredPane2.add(jLabel8, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel12.setText(bundle.getString("DeviceManagement.jLabel12.text")); // NOI18N
|
||||
jLabel12.setName("jLabel12"); // NOI18N
|
||||
jLabel12.setBounds(20, 270, 250, 20);
|
||||
jLayeredPane2.add(jLabel12, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel11.setText(bundle.getString("DeviceManagement.jLabel11.text")); // NOI18N
|
||||
jLabel11.setName("jLabel11"); // NOI18N
|
||||
jLabel11.setBounds(20, 330, 250, 20);
|
||||
jLayeredPane2.add(jLabel11, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel9.setText(bundle.getString("DeviceManagement.jLabel9.text")); // NOI18N
|
||||
jLabel9.setName("jLabel9"); // NOI18N
|
||||
jLabel9.setBounds(20, 210, 250, 20);
|
||||
jLayeredPane2.add(jLabel9, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel4.setText(bundle.getString("DeviceManagement.jLabel4.text")); // NOI18N
|
||||
jLabel4.setName("jLabel4"); // NOI18N
|
||||
jLabel4.setBounds(20, 150, 250, 20);
|
||||
jLayeredPane2.add(jLabel4, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel1.setText(bundle.getString("DeviceManagement.jLabel1.text")); // NOI18N
|
||||
jLabel1.setName("jLabel1"); // NOI18N
|
||||
jLabel1.setBounds(20, 60, 170, 20);
|
||||
jLayeredPane2.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel10.setText(bundle.getString("DeviceManagement.jLabel10.text")); // NOI18N
|
||||
jLabel10.setName("jLabel10"); // NOI18N
|
||||
jLabel10.setBounds(20, 120, 250, 20);
|
||||
jLayeredPane2.add(jLabel10, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel2.setText(bundle.getString("DeviceManagement.jLabel2.text")); // NOI18N
|
||||
jLabel2.setName("jLabel2"); // NOI18N
|
||||
jLabel2.setBounds(20, 30, 170, 20);
|
||||
jLayeredPane2.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel5.setText(bundle.getString("DeviceManagement.jLabel5.text")); // NOI18N
|
||||
jLabel5.setName("jLabel5"); // NOI18N
|
||||
jLabel5.setBounds(20, 90, 170, 20);
|
||||
jLayeredPane2.add(jLabel5, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLayeredPane2.setBounds(20, 10, 280, 360);
|
||||
jLayeredPane1.add(jLayeredPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||
getContentPane().setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 619, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 385, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
);
|
||||
|
||||
pack();
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void formKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_formKeyPressed
|
||||
}//GEN-LAST:event_formKeyPressed
|
||||
|
||||
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
|
||||
|
||||
}//GEN-LAST:event_jTable1MouseClicked
|
||||
|
||||
private void jTable1KeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTable1KeyTyped
|
||||
}//GEN-LAST:event_jTable1KeyTyped
|
||||
|
||||
private void jLayeredPane1KeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jLayeredPane1KeyTyped
|
||||
}//GEN-LAST:event_jLayeredPane1KeyTyped
|
||||
|
||||
private void jLayeredPane2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLayeredPane2MouseClicked
|
||||
}//GEN-LAST:event_jLayeredPane2MouseClicked
|
||||
|
||||
private void jLayeredPane3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLayeredPane3MouseClicked
|
||||
}//GEN-LAST:event_jLayeredPane3MouseClicked
|
||||
|
||||
private void jLayeredPane1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLayeredPane1MouseClicked
|
||||
}//GEN-LAST:event_jLayeredPane1MouseClicked
|
||||
|
||||
private void jTable1MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MousePressed
|
||||
int i = jTable1.rowAtPoint(evt.getPoint());
|
||||
if(i>-1) {
|
||||
if(jTable1.columnAtPoint(evt.getPoint())==0) {
|
||||
JFrame mainFrame = WebOSQuickInstallApp.getApplication().getMainFrame();
|
||||
if(jComboBox1.getSelectedIndex()==0) {
|
||||
InstalledPkgInfo info = new InstalledPkgInfo(mainFrame, webOS,
|
||||
filtered.get(i));
|
||||
info.setLocationRelativeTo(mainFrame);
|
||||
WebOSQuickInstallApp.getApplication().show(info);
|
||||
} else {
|
||||
InstalledPatchInfo info = new InstalledPatchInfo(mainFrame, webOS,
|
||||
filtered.get(i));
|
||||
info.setLocationRelativeTo(mainFrame);
|
||||
WebOSQuickInstallApp.getApplication().show(info);
|
||||
}
|
||||
}
|
||||
}
|
||||
int row = jTable1.getSelectedRow();
|
||||
if(row>-1) {
|
||||
jTable1.removeRowSelectionInterval(row, row);
|
||||
}
|
||||
}//GEN-LAST:event_jTable1MousePressed
|
||||
|
||||
private void jTable1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseReleased
|
||||
int row = jTable1.getSelectedRow();
|
||||
if(row>-1) {
|
||||
jTable1.removeRowSelectionInterval(row, row);
|
||||
}
|
||||
}//GEN-LAST:event_jTable1MouseReleased
|
||||
|
||||
private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
|
||||
}//GEN-LAST:event_formWindowClosing
|
||||
|
||||
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed
|
||||
t.schedule(new DoLoadPackages(), 50);
|
||||
}//GEN-LAST:event_jComboBox1ActionPerformed
|
||||
|
||||
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
|
||||
t.schedule(new DoDeleteApps(), 50);
|
||||
}//GEN-LAST:event_jButton1ActionPerformed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JButton jButton1;
|
||||
private javax.swing.JComboBox jComboBox1;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel10;
|
||||
private javax.swing.JLabel jLabel11;
|
||||
private javax.swing.JLabel jLabel12;
|
||||
private javax.swing.JLabel jLabel13;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JLabel jLabel3;
|
||||
private javax.swing.JLabel jLabel4;
|
||||
private javax.swing.JLabel jLabel5;
|
||||
private javax.swing.JLabel jLabel7;
|
||||
private javax.swing.JLabel jLabel8;
|
||||
private javax.swing.JLabel jLabel9;
|
||||
private javax.swing.JLayeredPane jLayeredPane1;
|
||||
private javax.swing.JLayeredPane jLayeredPane2;
|
||||
private javax.swing.JLayeredPane jLayeredPane3;
|
||||
private javax.swing.JScrollPane jScrollPane1;
|
||||
private javax.swing.JTable jTable1;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
class DoLoadDetails extends TimerTask {
|
||||
public void run() {
|
||||
loadDeviceDetails();
|
||||
}
|
||||
}
|
||||
|
||||
class DoLoadPackages extends TimerTask {
|
||||
public void run() {
|
||||
loadPackages();
|
||||
}
|
||||
}
|
||||
class DoDeleteApps extends TimerTask {
|
||||
public void run() {
|
||||
setState(false);
|
||||
uninstall();
|
||||
setState(true);
|
||||
}
|
||||
}
|
||||
class DoDispose extends TimerTask {
|
||||
public void run() {
|
||||
dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,164 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
||||
<Properties>
|
||||
<Property name="defaultCloseOperation" type="int" value="0"/>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="db" green="db" red="db" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
|
||||
<Color id="Wait Cursor"/>
|
||||
</Property>
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="db" green="db" red="db" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.ComponentChooserEditor">
|
||||
<ComponentRef name="null"/>
|
||||
</Property>
|
||||
<Property name="modal" type="boolean" value="true"/>
|
||||
<Property name="name" type="java.lang.String" value="transfer" noResource="true"/>
|
||||
<Property name="resizable" type="boolean" value="false"/>
|
||||
<Property name="undecorated" type="boolean" value="true"/>
|
||||
</Properties>
|
||||
<SyntheticProperties>
|
||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||
</SyntheticProperties>
|
||||
<Events>
|
||||
<EventHandler event="windowActivated" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowActivated"/>
|
||||
<EventHandler event="windowClosed" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowClosed"/>
|
||||
<EventHandler event="windowOpened" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowOpened"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="262" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" min="-2" pref="75" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane1">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="db" green="db" red="db" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.CompoundBorderInfo">
|
||||
<CompoundBorder>
|
||||
<Border PropertyName="outside" info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
|
||||
<LineBorder>
|
||||
<Color PropertyName="color" blue="99" green="99" red="99" type="rgb"/>
|
||||
</LineBorder>
|
||||
</Border>
|
||||
<Border PropertyName="inside" info="org.netbeans.modules.form.compat2.border.BevelBorderInfo">
|
||||
<BevelBorder>
|
||||
<Color PropertyName="highlightOuter" blue="c0" green="c0" id="lightGray" palette="1" red="c0" type="palette"/>
|
||||
<Color PropertyName="highlightInner" blue="cc" green="cc" red="cc" type="rgb"/>
|
||||
</BevelBorder>
|
||||
</Border>
|
||||
</CompoundBorder>
|
||||
</Border>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane1" noResource="true"/>
|
||||
<Property name="opaque" type="boolean" value="true"/>
|
||||
</Properties>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane2">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
<Property name="horizontalScrollBarPolicy" type="int" value="31"/>
|
||||
<Property name="verticalScrollBarPolicy" type="int" value="21"/>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane2" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="20" width="240" height="30" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTextArea" name="jTextArea2">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="db" green="db" red="db" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="columns" type="int" value="20"/>
|
||||
<Property name="editable" type="boolean" value="false"/>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||
<Font name="Tahoma" size="11" style="0"/>
|
||||
</Property>
|
||||
<Property name="lineWrap" type="boolean" value="true"/>
|
||||
<Property name="rows" type="int" value="2"/>
|
||||
<Property name="wrapStyleWord" type="boolean" value="true"/>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jTextArea2" noResource="true"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JLabel" name="jLabel6">
|
||||
<Properties>
|
||||
<Property name="horizontalAlignment" type="int" value="0"/>
|
||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||
<Image iconType="3" name="/ca/canucksoftware/wosqi/resources/activity.gif"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="FeedLoader.jLabel6.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel6" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="0" y="48" width="260" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel5">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font bold="true" component="jLabel5" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="horizontalAlignment" type="int" value="0"/>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="FeedLoader.jLabel5.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel5" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="0" width="240" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
@@ -0,0 +1,161 @@
|
||||
/*
|
||||
* WebOSQuickInstallAboutBox.java
|
||||
*/
|
||||
|
||||
package ca.canucksoftware.wosqi;
|
||||
|
||||
import ca.canucksoftware.ipkg.PackageManager;
|
||||
import ca.canucksoftware.webos.DeviceInfo;
|
||||
import ca.canucksoftware.webos.WebOSConnection;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
public class FeedLoader extends javax.swing.JDialog {
|
||||
private ResourceBundle bundle;
|
||||
private WebOSConnection webOS;
|
||||
public PackageManager pkgMgr;
|
||||
public Timer t;
|
||||
|
||||
public FeedLoader(java.awt.Frame parent, WebOSConnection connection) {
|
||||
super(parent);
|
||||
bundle = WebOSQuickInstallApp.bundle;
|
||||
initComponents();
|
||||
t = new Timer();
|
||||
webOS = connection;
|
||||
if(!webOS.isConnected()) {
|
||||
DeviceInfo info = webOS.getDeviceInfo();
|
||||
if(info!=null && !info.model().equals(DeviceInfo.Model.Unknown.toString())) {
|
||||
JOptionPane.showMessageDialog(rootPane, MessageFormat.format(bundle
|
||||
.getString("{0}_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN."),
|
||||
new Object[] {info.model()}));
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(rootPane, bundle
|
||||
.getString("DEVICE_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN."));
|
||||
}
|
||||
t.schedule(new DoDispose(), 200);
|
||||
} else {
|
||||
t.schedule(new DoLoad(), 200);
|
||||
}
|
||||
}
|
||||
|
||||
/** This method is called from within the constructor to
|
||||
* initialize the form.
|
||||
* WARNING: Do NOT modify this code. The content of this method is
|
||||
* always regenerated by the Form Editor.
|
||||
*/
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
jLayeredPane1 = new javax.swing.JLayeredPane();
|
||||
jScrollPane2 = new javax.swing.JScrollPane();
|
||||
jTextArea2 = new javax.swing.JTextArea();
|
||||
jLabel6 = new javax.swing.JLabel();
|
||||
jLabel5 = new javax.swing.JLabel();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
|
||||
setBackground(new java.awt.Color(219, 219, 219));
|
||||
setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR));
|
||||
setForeground(new java.awt.Color(219, 219, 219));
|
||||
setIconImage(null);
|
||||
setModal(true);
|
||||
setName("transfer"); // NOI18N
|
||||
setResizable(false);
|
||||
setUndecorated(true);
|
||||
addWindowListener(new java.awt.event.WindowAdapter() {
|
||||
public void windowActivated(java.awt.event.WindowEvent evt) {
|
||||
formWindowActivated(evt);
|
||||
}
|
||||
public void windowClosed(java.awt.event.WindowEvent evt) {
|
||||
formWindowClosed(evt);
|
||||
}
|
||||
public void windowOpened(java.awt.event.WindowEvent evt) {
|
||||
formWindowOpened(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLayeredPane1.setBackground(new java.awt.Color(219, 219, 219));
|
||||
jLayeredPane1.setBorder(javax.swing.BorderFactory.createCompoundBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(153, 153, 153)), javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED, java.awt.Color.lightGray, new java.awt.Color(204, 204, 204), null, null)));
|
||||
jLayeredPane1.setName("jLayeredPane1"); // NOI18N
|
||||
jLayeredPane1.setOpaque(true);
|
||||
|
||||
jScrollPane2.setBorder(null);
|
||||
jScrollPane2.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
|
||||
jScrollPane2.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
|
||||
jScrollPane2.setName("jScrollPane2"); // NOI18N
|
||||
|
||||
jTextArea2.setBackground(new java.awt.Color(219, 219, 219));
|
||||
jTextArea2.setColumns(20);
|
||||
jTextArea2.setEditable(false);
|
||||
jTextArea2.setFont(new java.awt.Font("Tahoma", 0, 11));
|
||||
jTextArea2.setLineWrap(true);
|
||||
jTextArea2.setRows(2);
|
||||
jTextArea2.setWrapStyleWord(true);
|
||||
jTextArea2.setBorder(null);
|
||||
jTextArea2.setName("jTextArea2"); // NOI18N
|
||||
jScrollPane2.setViewportView(jTextArea2);
|
||||
|
||||
jScrollPane2.setBounds(10, 20, 240, 30);
|
||||
jLayeredPane1.add(jScrollPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
jLabel6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canucksoftware/wosqi/resources/activity.gif"))); // NOI18N
|
||||
jLabel6.setText(bundle.getString("FeedLoader.jLabel6.text")); // NOI18N
|
||||
jLabel6.setName("jLabel6"); // NOI18N
|
||||
jLabel6.setBounds(0, 48, 260, 20);
|
||||
jLayeredPane1.add(jLabel6, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel5.setFont(jLabel5.getFont().deriveFont(jLabel5.getFont().getStyle() | java.awt.Font.BOLD));
|
||||
jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
jLabel5.setText(bundle.getString("FeedLoader.jLabel5.text")); // NOI18N
|
||||
jLabel5.setName("jLabel5"); // NOI18N
|
||||
jLabel5.setBounds(10, 0, 240, 20);
|
||||
jLayeredPane1.add(jLabel5, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||
getContentPane().setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
);
|
||||
|
||||
pack();
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened
|
||||
|
||||
}//GEN-LAST:event_formWindowOpened
|
||||
|
||||
private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated
|
||||
}//GEN-LAST:event_formWindowActivated
|
||||
|
||||
private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed
|
||||
}//GEN-LAST:event_formWindowClosed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JLabel jLabel5;
|
||||
private javax.swing.JLabel jLabel6;
|
||||
private javax.swing.JLayeredPane jLayeredPane1;
|
||||
private javax.swing.JScrollPane jScrollPane2;
|
||||
private javax.swing.JTextArea jTextArea2;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
class DoLoad extends TimerTask {
|
||||
public void run() {
|
||||
pkgMgr = new PackageManager(webOS.getDeviceInfo(), webOS.listInstalled(),
|
||||
jTextArea2);
|
||||
dispose();
|
||||
}
|
||||
}
|
||||
class DoDispose extends TimerTask {
|
||||
public void run() {
|
||||
dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,327 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
||||
<NonVisualComponents>
|
||||
<Component class="javax.swing.ButtonGroup" name="buttonGroup1">
|
||||
</Component>
|
||||
</NonVisualComponents>
|
||||
<Properties>
|
||||
<Property name="defaultCloseOperation" type="int" value="2"/>
|
||||
<Property name="title" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPatchInfo.title" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.ComponentChooserEditor">
|
||||
<ComponentRef name="null"/>
|
||||
</Property>
|
||||
<Property name="modal" type="boolean" value="true"/>
|
||||
<Property name="resizable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<SyntheticProperties>
|
||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||
</SyntheticProperties>
|
||||
<Events>
|
||||
<EventHandler event="windowActivated" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowActivated"/>
|
||||
<EventHandler event="windowClosed" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowClosed"/>
|
||||
<EventHandler event="windowOpened" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowOpened"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" min="-2" pref="269" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" pref="339" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane1">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane1" noResource="true"/>
|
||||
<Property name="opaque" type="boolean" value="true"/>
|
||||
</Properties>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane2">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
|
||||
<EtchetBorder/>
|
||||
</Border>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane2" noResource="true"/>
|
||||
<Property name="opaque" type="boolean" value="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="10" width="250" height="330" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JButton" name="jButton1">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPatchInfo.jButton1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jButton1" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="90" y="298" width="70" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel7">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel7" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel7" noResource="true"/>
|
||||
<Property name="verticalTextPosition" type="int" value="1"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="90" y="10" width="150" height="40" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel6">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel6" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel6" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="90" y="50" width="150" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel1" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPatchInfo.jLabel1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel1" noResource="true"/>
|
||||
<Property name="verticalTextPosition" type="int" value="1"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="10" width="60" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane1" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="220" width="220" height="70" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTextArea" name="jTextArea1">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="f0" green="f0" red="f0" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="columns" type="int" value="20"/>
|
||||
<Property name="editable" type="boolean" value="false"/>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||
<Font name="Tahoma" size="12" style="0"/>
|
||||
</Property>
|
||||
<Property name="lineWrap" type="boolean" value="true"/>
|
||||
<Property name="rows" type="int" value="3"/>
|
||||
<Property name="wrapStyleWord" type="boolean" value="true"/>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jTextArea1" noResource="true"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane2">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane2" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="90" y="90" width="150" height="40" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTextArea" name="jTextArea2">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="f0" green="f0" red="f0" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="columns" type="int" value="20"/>
|
||||
<Property name="editable" type="boolean" value="false"/>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jTextArea2" property="font" relativeSize="true" size="-1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="rows" type="int" value="1"/>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||
<Insets value="[0, 0, 0, 0]"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jTextArea2" noResource="true"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel2" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPatchInfo.jLabel2.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="50" width="70" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel10">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel10" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel10" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="90" y="140" width="150" height="50" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel5">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel5" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPatchInfo.jLabel5.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel5" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="190" width="80" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel4">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel4" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPatchInfo.jLabel4.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel4" noResource="true"/>
|
||||
<Property name="verticalTextPosition" type="int" value="1"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="90" width="40" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel11">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel11" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPatchInfo.jLabel11.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel11" noResource="true"/>
|
||||
<Property name="verticalTextPosition" type="int" value="1"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="140" width="70" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
@@ -0,0 +1,278 @@
|
||||
/*
|
||||
* WebOSQuickInstallAboutBox.java
|
||||
*/
|
||||
|
||||
package ca.canucksoftware.wosqi;
|
||||
|
||||
import ca.canucksoftware.webos.InstalledEntry;
|
||||
import ca.canucksoftware.webos.WebOSConnection;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.TimerTask;
|
||||
import java.util.Timer;
|
||||
|
||||
public class InstalledPatchInfo extends javax.swing.JDialog {
|
||||
private Timer t;
|
||||
private ResourceBundle bundle;
|
||||
private WebOSConnection webOS;
|
||||
private InstalledEntry app;
|
||||
public InstalledPatchInfo(java.awt.Frame parent, WebOSConnection wc, InstalledEntry ae) {
|
||||
super(parent);
|
||||
bundle = WebOSQuickInstallApp.bundle;
|
||||
initComponents();
|
||||
webOS = wc;
|
||||
app = ae;
|
||||
getRootPane().setDefaultButton(jButton1);
|
||||
t = new Timer();
|
||||
jLabel7.setText("<html><p width=\"150\">" + app.getName() + "</p>");
|
||||
jLabel6.setText(app.getVersion());
|
||||
jTextArea2.setText(app.getId());
|
||||
jTextArea2.setCaretPosition(0);
|
||||
String dev = app.getDeveloper();
|
||||
if(dev!=null) {
|
||||
jLabel10.setText("<html><p width=\"150\">" + dev + "</p>");
|
||||
}
|
||||
t.schedule(new DoDelayedLoad(), 50);
|
||||
}
|
||||
|
||||
private String removeHTML(String s) {
|
||||
s = s.replaceAll("</p>", "\n\n");
|
||||
s = s.replaceAll("<br>", "\n");
|
||||
s = s.replaceAll("<ul>", "\n");
|
||||
s = s.replaceAll("<ol>", "\n");
|
||||
s = s.replaceAll("<li>", "\t- ");
|
||||
s = s.replaceAll("</li>", "\n");
|
||||
s = s.replaceAll("\\<.*?\\>", "");
|
||||
s = s.replaceAll("’", "'");
|
||||
s = s.replaceAll(" ", " ");
|
||||
s = s.replaceAll(":", ":");
|
||||
s = s.replaceAll(""", "\"");
|
||||
s = s.replaceAll("&", "&");
|
||||
s = s.replaceAll("<", "<");
|
||||
s = s.replaceAll(">", ">");
|
||||
s = s.replaceAll("»", "\"");
|
||||
s = s.replaceAll("«", "\"");
|
||||
s = s.replaceAll("»", "\"");
|
||||
s = s.replaceAll("©", "©");
|
||||
s = s.replaceAll("®", "®");
|
||||
return s;
|
||||
}
|
||||
|
||||
public void closeInfo() {
|
||||
dispose();
|
||||
}
|
||||
|
||||
/** This method is called from within the constructor to
|
||||
* initialize the form.
|
||||
* WARNING: Do NOT modify this code. The content of this method is
|
||||
* always regenerated by the Form Editor.
|
||||
*/
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
buttonGroup1 = new javax.swing.ButtonGroup();
|
||||
jLayeredPane1 = new javax.swing.JLayeredPane();
|
||||
jLayeredPane2 = new javax.swing.JLayeredPane();
|
||||
jButton1 = new javax.swing.JButton();
|
||||
jLabel7 = new javax.swing.JLabel();
|
||||
jLabel6 = new javax.swing.JLabel();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jScrollPane1 = new javax.swing.JScrollPane();
|
||||
jTextArea1 = new javax.swing.JTextArea();
|
||||
jScrollPane2 = new javax.swing.JScrollPane();
|
||||
jTextArea2 = new javax.swing.JTextArea();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
jLabel10 = new javax.swing.JLabel();
|
||||
jLabel5 = new javax.swing.JLabel();
|
||||
jLabel4 = new javax.swing.JLabel();
|
||||
jLabel11 = new javax.swing.JLabel();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
setTitle(bundle.getString("InstalledPatchInfo.title")); // NOI18N
|
||||
setIconImage(null);
|
||||
setModal(true);
|
||||
setResizable(false);
|
||||
addWindowListener(new java.awt.event.WindowAdapter() {
|
||||
public void windowActivated(java.awt.event.WindowEvent evt) {
|
||||
formWindowActivated(evt);
|
||||
}
|
||||
public void windowClosed(java.awt.event.WindowEvent evt) {
|
||||
formWindowClosed(evt);
|
||||
}
|
||||
public void windowOpened(java.awt.event.WindowEvent evt) {
|
||||
formWindowOpened(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLayeredPane1.setName("jLayeredPane1"); // NOI18N
|
||||
jLayeredPane1.setOpaque(true);
|
||||
|
||||
jLayeredPane2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
|
||||
jLayeredPane2.setName("jLayeredPane2"); // NOI18N
|
||||
jLayeredPane2.setOpaque(true);
|
||||
|
||||
jButton1.setText(bundle.getString("InstalledPatchInfo.jButton1.text")); // NOI18N
|
||||
jButton1.setName("jButton1"); // NOI18N
|
||||
jButton1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton1.setBounds(90, 298, 70, 23);
|
||||
jLayeredPane2.add(jButton1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel7.setFont(jLabel7.getFont().deriveFont(jLabel7.getFont().getSize()+1f));
|
||||
jLabel7.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel7.setName("jLabel7"); // NOI18N
|
||||
jLabel7.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
|
||||
jLabel7.setBounds(90, 10, 150, 40);
|
||||
jLayeredPane2.add(jLabel7, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel6.setFont(jLabel6.getFont().deriveFont(jLabel6.getFont().getSize()+1f));
|
||||
jLabel6.setName("jLabel6"); // NOI18N
|
||||
jLabel6.setBounds(90, 50, 150, 20);
|
||||
jLayeredPane2.add(jLabel6, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel1.setFont(jLabel1.getFont().deriveFont(jLabel1.getFont().getSize()+1f));
|
||||
jLabel1.setText(bundle.getString("InstalledPatchInfo.jLabel1.text")); // NOI18N
|
||||
jLabel1.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel1.setName("jLabel1"); // NOI18N
|
||||
jLabel1.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
|
||||
jLabel1.setBounds(20, 10, 60, 20);
|
||||
jLayeredPane2.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jScrollPane1.setBorder(null);
|
||||
jScrollPane1.setName("jScrollPane1"); // NOI18N
|
||||
|
||||
jTextArea1.setBackground(new java.awt.Color(240, 240, 240));
|
||||
jTextArea1.setColumns(20);
|
||||
jTextArea1.setEditable(false);
|
||||
jTextArea1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
|
||||
jTextArea1.setLineWrap(true);
|
||||
jTextArea1.setRows(3);
|
||||
jTextArea1.setWrapStyleWord(true);
|
||||
jTextArea1.setBorder(null);
|
||||
jTextArea1.setName("jTextArea1"); // NOI18N
|
||||
jScrollPane1.setViewportView(jTextArea1);
|
||||
|
||||
jScrollPane1.setBounds(20, 220, 220, 70);
|
||||
jLayeredPane2.add(jScrollPane1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jScrollPane2.setBorder(null);
|
||||
jScrollPane2.setName("jScrollPane2"); // NOI18N
|
||||
|
||||
jTextArea2.setBackground(new java.awt.Color(240, 240, 240));
|
||||
jTextArea2.setColumns(20);
|
||||
jTextArea2.setEditable(false);
|
||||
jTextArea2.setFont(jTextArea2.getFont().deriveFont(jTextArea2.getFont().getSize()-1f));
|
||||
jTextArea2.setRows(1);
|
||||
jTextArea2.setBorder(null);
|
||||
jTextArea2.setMargin(new java.awt.Insets(0, 0, 0, 0));
|
||||
jTextArea2.setName("jTextArea2"); // NOI18N
|
||||
jScrollPane2.setViewportView(jTextArea2);
|
||||
|
||||
jScrollPane2.setBounds(90, 90, 150, 40);
|
||||
jLayeredPane2.add(jScrollPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel2.setFont(jLabel2.getFont().deriveFont(jLabel2.getFont().getSize()+1f));
|
||||
jLabel2.setText(bundle.getString("InstalledPatchInfo.jLabel2.text")); // NOI18N
|
||||
jLabel2.setName("jLabel2"); // NOI18N
|
||||
jLabel2.setBounds(20, 50, 70, 20);
|
||||
jLayeredPane2.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel10.setFont(jLabel10.getFont().deriveFont(jLabel10.getFont().getSize()+1f));
|
||||
jLabel10.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel10.setName("jLabel10"); // NOI18N
|
||||
jLabel10.setBounds(90, 140, 150, 50);
|
||||
jLayeredPane2.add(jLabel10, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel5.setFont(jLabel5.getFont().deriveFont(jLabel5.getFont().getSize()+1f));
|
||||
jLabel5.setText(bundle.getString("InstalledPatchInfo.jLabel5.text")); // NOI18N
|
||||
jLabel5.setName("jLabel5"); // NOI18N
|
||||
jLabel5.setBounds(20, 190, 80, 20);
|
||||
jLayeredPane2.add(jLabel5, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel4.setFont(jLabel4.getFont().deriveFont(jLabel4.getFont().getSize()+1f));
|
||||
jLabel4.setText(bundle.getString("InstalledPatchInfo.jLabel4.text")); // NOI18N
|
||||
jLabel4.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel4.setName("jLabel4"); // NOI18N
|
||||
jLabel4.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
|
||||
jLabel4.setBounds(20, 90, 40, 20);
|
||||
jLayeredPane2.add(jLabel4, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel11.setFont(jLabel11.getFont().deriveFont(jLabel11.getFont().getSize()+1f));
|
||||
jLabel11.setText(bundle.getString("InstalledPatchInfo.jLabel11.text")); // NOI18N
|
||||
jLabel11.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel11.setName("jLabel11"); // NOI18N
|
||||
jLabel11.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
|
||||
jLabel11.setBounds(20, 140, 70, 20);
|
||||
jLayeredPane2.add(jLabel11, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLayeredPane2.setBounds(10, 10, 250, 330);
|
||||
jLayeredPane1.add(jLayeredPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||
getContentPane().setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 269, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 339, Short.MAX_VALUE)
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
pack();
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened
|
||||
}//GEN-LAST:event_formWindowOpened
|
||||
|
||||
private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated
|
||||
}//GEN-LAST:event_formWindowActivated
|
||||
|
||||
private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed
|
||||
}//GEN-LAST:event_formWindowClosed
|
||||
|
||||
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
|
||||
closeInfo();
|
||||
}//GEN-LAST:event_jButton1ActionPerformed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.ButtonGroup buttonGroup1;
|
||||
private javax.swing.JButton jButton1;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel10;
|
||||
private javax.swing.JLabel jLabel11;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JLabel jLabel4;
|
||||
private javax.swing.JLabel jLabel5;
|
||||
private javax.swing.JLabel jLabel6;
|
||||
private javax.swing.JLabel jLabel7;
|
||||
private javax.swing.JLayeredPane jLayeredPane1;
|
||||
private javax.swing.JLayeredPane jLayeredPane2;
|
||||
private javax.swing.JScrollPane jScrollPane1;
|
||||
private javax.swing.JScrollPane jScrollPane2;
|
||||
private javax.swing.JTextArea jTextArea1;
|
||||
private javax.swing.JTextArea jTextArea2;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
class DoDelayedLoad extends TimerTask {
|
||||
public void run() {
|
||||
app.parseControl(webOS);
|
||||
String dev = app.getDeveloper();
|
||||
String descript = app.getDescription();
|
||||
if(dev==null) {
|
||||
dev = bundle.getString("UNKNOWN");
|
||||
}
|
||||
if(descript==null) {
|
||||
descript = bundle.getString("UNKNOWN");
|
||||
} else if(descript.equals("N/A")) {
|
||||
descript = bundle.getString("UNKNOWN");
|
||||
}
|
||||
jLabel10.setText("<html><p width=\"150\">" + dev + "</p>");
|
||||
jTextArea1.setText(removeHTML(descript));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,272 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
||||
<NonVisualComponents>
|
||||
<Component class="javax.swing.ButtonGroup" name="buttonGroup1">
|
||||
</Component>
|
||||
</NonVisualComponents>
|
||||
<Properties>
|
||||
<Property name="defaultCloseOperation" type="int" value="2"/>
|
||||
<Property name="title" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPkgInfo.title" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.ComponentChooserEditor">
|
||||
<ComponentRef name="null"/>
|
||||
</Property>
|
||||
<Property name="modal" type="boolean" value="true"/>
|
||||
<Property name="resizable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<SyntheticProperties>
|
||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||
</SyntheticProperties>
|
||||
<Events>
|
||||
<EventHandler event="windowActivated" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowActivated"/>
|
||||
<EventHandler event="windowClosed" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowClosed"/>
|
||||
<EventHandler event="windowOpened" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowOpened"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" min="-2" pref="269" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="239" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane1">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane1" noResource="true"/>
|
||||
<Property name="opaque" type="boolean" value="true"/>
|
||||
</Properties>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane2">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
|
||||
<EtchetBorder/>
|
||||
</Border>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane2" noResource="true"/>
|
||||
<Property name="opaque" type="boolean" value="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="10" width="250" height="220" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane2">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane2" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="90" y="90" width="150" height="40" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTextArea" name="jTextArea2">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="f0" green="f0" red="f0" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="columns" type="int" value="20"/>
|
||||
<Property name="editable" type="boolean" value="false"/>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jTextArea2" property="font" relativeSize="true" size="-1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="rows" type="int" value="1"/>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||
<Insets value="[0, 0, 0, 0]"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jTextArea2" noResource="true"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JLabel" name="jLabel11">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel11" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPkgInfo.jLabel11.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel11" noResource="true"/>
|
||||
<Property name="verticalTextPosition" type="int" value="1"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="140" width="70" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel10">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel10" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel10" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="90" y="140" width="150" height="40" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel6">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel6" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel6" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="90" y="50" width="150" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel1" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPkgInfo.jLabel1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel1" noResource="true"/>
|
||||
<Property name="verticalTextPosition" type="int" value="1"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="10" width="60" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel4">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel4" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPkgInfo.jLabel4.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel4" noResource="true"/>
|
||||
<Property name="verticalTextPosition" type="int" value="1"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="90" width="40" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel2" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPkgInfo.jLabel2.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="50" width="70" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="jButton1">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jButton1" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="InstalledPkgInfo.jButton1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jButton1" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="90" y="190" width="70" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel7">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel7" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel7" noResource="true"/>
|
||||
<Property name="verticalTextPosition" type="int" value="1"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="90" y="10" width="150" height="40" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
@@ -0,0 +1,242 @@
|
||||
/*
|
||||
* WebOSQuickInstallAboutBox.java
|
||||
*/
|
||||
|
||||
package ca.canucksoftware.wosqi;
|
||||
|
||||
import ca.canucksoftware.webos.InstalledEntry;
|
||||
import ca.canucksoftware.webos.WebOSConnection;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.TimerTask;
|
||||
import java.util.Timer;
|
||||
|
||||
public class InstalledPkgInfo extends javax.swing.JDialog {
|
||||
private Timer t;
|
||||
private ResourceBundle bundle;
|
||||
private WebOSConnection webOS;
|
||||
private InstalledEntry app;
|
||||
public InstalledPkgInfo(java.awt.Frame parent, WebOSConnection wc, InstalledEntry ae) {
|
||||
super(parent);
|
||||
bundle = WebOSQuickInstallApp.bundle;
|
||||
initComponents();
|
||||
webOS = wc;
|
||||
app = ae;
|
||||
getRootPane().setDefaultButton(jButton1);
|
||||
t = new Timer();
|
||||
jLabel7.setText("<html><p width=\"150\">" + app.getName() + "</p>");
|
||||
jLabel6.setText(app.getVersion());
|
||||
jTextArea2.setText(app.getId());
|
||||
jTextArea2.setCaretPosition(0);
|
||||
String dev = app.getDeveloper();
|
||||
if(dev!=null) {
|
||||
jLabel10.setText("<html><p width=\"150\">" + dev + "</p>");
|
||||
}
|
||||
t.schedule(new DoDelayedLoad(), 50);
|
||||
}
|
||||
|
||||
private String removeHTML(String s) {
|
||||
s = s.replaceAll("</p>", "\n\n");
|
||||
s = s.replaceAll("<br>", "\n");
|
||||
s = s.replaceAll("<ul>", "\n");
|
||||
s = s.replaceAll("<ol>", "\n");
|
||||
s = s.replaceAll("<li>", "\t- ");
|
||||
s = s.replaceAll("</li>", "\n");
|
||||
s = s.replaceAll("\\<.*?\\>", "");
|
||||
s = s.replaceAll("’", "'");
|
||||
s = s.replaceAll(" ", " ");
|
||||
s = s.replaceAll(":", ":");
|
||||
s = s.replaceAll(""", "\"");
|
||||
s = s.replaceAll("&", "&");
|
||||
s = s.replaceAll("<", "<");
|
||||
s = s.replaceAll(">", ">");
|
||||
s = s.replaceAll("»", "\"");
|
||||
s = s.replaceAll("«", "\"");
|
||||
s = s.replaceAll("»", "\"");
|
||||
s = s.replaceAll("©", "©");
|
||||
s = s.replaceAll("®", "®");
|
||||
return s;
|
||||
}
|
||||
|
||||
public void closeInfo() {
|
||||
dispose();
|
||||
}
|
||||
|
||||
/** This method is called from within the constructor to
|
||||
* initialize the form.
|
||||
* WARNING: Do NOT modify this code. The content of this method is
|
||||
* always regenerated by the Form Editor.
|
||||
*/
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
buttonGroup1 = new javax.swing.ButtonGroup();
|
||||
jLayeredPane1 = new javax.swing.JLayeredPane();
|
||||
jLayeredPane2 = new javax.swing.JLayeredPane();
|
||||
jScrollPane2 = new javax.swing.JScrollPane();
|
||||
jTextArea2 = new javax.swing.JTextArea();
|
||||
jLabel11 = new javax.swing.JLabel();
|
||||
jLabel10 = new javax.swing.JLabel();
|
||||
jLabel6 = new javax.swing.JLabel();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jLabel4 = new javax.swing.JLabel();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
jButton1 = new javax.swing.JButton();
|
||||
jLabel7 = new javax.swing.JLabel();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
setTitle(bundle.getString("InstalledPkgInfo.title")); // NOI18N
|
||||
setIconImage(null);
|
||||
setModal(true);
|
||||
setResizable(false);
|
||||
addWindowListener(new java.awt.event.WindowAdapter() {
|
||||
public void windowActivated(java.awt.event.WindowEvent evt) {
|
||||
formWindowActivated(evt);
|
||||
}
|
||||
public void windowClosed(java.awt.event.WindowEvent evt) {
|
||||
formWindowClosed(evt);
|
||||
}
|
||||
public void windowOpened(java.awt.event.WindowEvent evt) {
|
||||
formWindowOpened(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLayeredPane1.setName("jLayeredPane1"); // NOI18N
|
||||
jLayeredPane1.setOpaque(true);
|
||||
|
||||
jLayeredPane2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
|
||||
jLayeredPane2.setName("jLayeredPane2"); // NOI18N
|
||||
jLayeredPane2.setOpaque(true);
|
||||
|
||||
jScrollPane2.setBorder(null);
|
||||
jScrollPane2.setName("jScrollPane2"); // NOI18N
|
||||
|
||||
jTextArea2.setBackground(new java.awt.Color(240, 240, 240));
|
||||
jTextArea2.setColumns(20);
|
||||
jTextArea2.setEditable(false);
|
||||
jTextArea2.setFont(jTextArea2.getFont().deriveFont(jTextArea2.getFont().getSize()-1f));
|
||||
jTextArea2.setRows(1);
|
||||
jTextArea2.setBorder(null);
|
||||
jTextArea2.setMargin(new java.awt.Insets(0, 0, 0, 0));
|
||||
jTextArea2.setName("jTextArea2"); // NOI18N
|
||||
jScrollPane2.setViewportView(jTextArea2);
|
||||
|
||||
jScrollPane2.setBounds(90, 90, 150, 40);
|
||||
jLayeredPane2.add(jScrollPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel11.setFont(jLabel11.getFont().deriveFont(jLabel11.getFont().getSize()+1f));
|
||||
jLabel11.setText(bundle.getString("InstalledPkgInfo.jLabel11.text")); // NOI18N
|
||||
jLabel11.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel11.setName("jLabel11"); // NOI18N
|
||||
jLabel11.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
|
||||
jLabel11.setBounds(20, 140, 70, 20);
|
||||
jLayeredPane2.add(jLabel11, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel10.setFont(jLabel10.getFont().deriveFont(jLabel10.getFont().getSize()+1f));
|
||||
jLabel10.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel10.setName("jLabel10"); // NOI18N
|
||||
jLabel10.setBounds(90, 140, 150, 40);
|
||||
jLayeredPane2.add(jLabel10, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel6.setFont(jLabel6.getFont().deriveFont(jLabel6.getFont().getSize()+1f));
|
||||
jLabel6.setName("jLabel6"); // NOI18N
|
||||
jLabel6.setBounds(90, 50, 150, 20);
|
||||
jLayeredPane2.add(jLabel6, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel1.setFont(jLabel1.getFont().deriveFont(jLabel1.getFont().getSize()+1f));
|
||||
jLabel1.setText(bundle.getString("InstalledPkgInfo.jLabel1.text")); // NOI18N
|
||||
jLabel1.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel1.setName("jLabel1"); // NOI18N
|
||||
jLabel1.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
|
||||
jLabel1.setBounds(20, 10, 60, 20);
|
||||
jLayeredPane2.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel4.setFont(jLabel4.getFont().deriveFont(jLabel4.getFont().getSize()+1f));
|
||||
jLabel4.setText(bundle.getString("InstalledPkgInfo.jLabel4.text")); // NOI18N
|
||||
jLabel4.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel4.setName("jLabel4"); // NOI18N
|
||||
jLabel4.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
|
||||
jLabel4.setBounds(20, 90, 40, 20);
|
||||
jLayeredPane2.add(jLabel4, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel2.setFont(jLabel2.getFont().deriveFont(jLabel2.getFont().getSize()+1f));
|
||||
jLabel2.setText(bundle.getString("InstalledPkgInfo.jLabel2.text")); // NOI18N
|
||||
jLabel2.setName("jLabel2"); // NOI18N
|
||||
jLabel2.setBounds(20, 50, 70, 20);
|
||||
jLayeredPane2.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jButton1.setFont(jButton1.getFont());
|
||||
jButton1.setText(bundle.getString("InstalledPkgInfo.jButton1.text")); // NOI18N
|
||||
jButton1.setName("jButton1"); // NOI18N
|
||||
jButton1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton1.setBounds(90, 190, 70, 23);
|
||||
jLayeredPane2.add(jButton1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel7.setFont(jLabel7.getFont().deriveFont(jLabel7.getFont().getSize()+1f));
|
||||
jLabel7.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel7.setName("jLabel7"); // NOI18N
|
||||
jLabel7.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
|
||||
jLabel7.setBounds(90, 10, 150, 40);
|
||||
jLayeredPane2.add(jLabel7, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLayeredPane2.setBounds(10, 10, 250, 220);
|
||||
jLayeredPane1.add(jLayeredPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||
getContentPane().setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 269, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 239, Short.MAX_VALUE)
|
||||
);
|
||||
|
||||
pack();
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened
|
||||
}//GEN-LAST:event_formWindowOpened
|
||||
|
||||
private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated
|
||||
}//GEN-LAST:event_formWindowActivated
|
||||
|
||||
private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed
|
||||
}//GEN-LAST:event_formWindowClosed
|
||||
|
||||
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
|
||||
closeInfo();
|
||||
}//GEN-LAST:event_jButton1ActionPerformed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.ButtonGroup buttonGroup1;
|
||||
private javax.swing.JButton jButton1;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel10;
|
||||
private javax.swing.JLabel jLabel11;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JLabel jLabel4;
|
||||
private javax.swing.JLabel jLabel6;
|
||||
private javax.swing.JLabel jLabel7;
|
||||
private javax.swing.JLayeredPane jLayeredPane1;
|
||||
private javax.swing.JLayeredPane jLayeredPane2;
|
||||
private javax.swing.JScrollPane jScrollPane2;
|
||||
private javax.swing.JTextArea jTextArea2;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
class DoDelayedLoad extends TimerTask {
|
||||
public void run() {
|
||||
jLabel7.setText("<html><p width=\"150\">" + app.getName(webOS) + "</p>");
|
||||
app.parseControl(webOS);
|
||||
String dev = app.getDeveloper();
|
||||
if(dev==null) {
|
||||
dev = bundle.getString("UNKNOWN");
|
||||
}
|
||||
jLabel10.setText("<html><p width=\"150\">" + dev + "</p>");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
||||
<Properties>
|
||||
<Property name="defaultCloseOperation" type="int" value="0"/>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="db" green="db" red="db" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
|
||||
<Color id="Wait Cursor"/>
|
||||
</Property>
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="db" green="db" red="db" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.ComponentChooserEditor">
|
||||
<ComponentRef name="null"/>
|
||||
</Property>
|
||||
<Property name="modal" type="boolean" value="true"/>
|
||||
<Property name="name" type="java.lang.String" value="transfer" noResource="true"/>
|
||||
<Property name="resizable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<SyntheticProperties>
|
||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||
</SyntheticProperties>
|
||||
<Events>
|
||||
<EventHandler event="windowActivated" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowActivated"/>
|
||||
<EventHandler event="windowClosed" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowClosed"/>
|
||||
<EventHandler event="windowOpened" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="formWindowOpened"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" min="-2" pref="296" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="126" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane1">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="db" green="db" red="db" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="e9" green="f1" red="f3" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane1" noResource="true"/>
|
||||
<Property name="opaque" type="boolean" value="true"/>
|
||||
</Properties>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="jLabel5">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel5" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="horizontalAlignment" type="int" value="0"/>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Installer.jLabel5.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel5" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="30" y="70" width="240" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="db" green="db" red="db" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="db" green="db" red="db" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||
<Image iconType="3" name="/ca/canucksoftware/wosqi/resources/busy_icon.gif"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel1" noResource="true"/>
|
||||
<Property name="opaque" type="boolean" value="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="120" y="10" width="60" height="50" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel3">
|
||||
<Properties>
|
||||
<Property name="horizontalAlignment" type="int" value="0"/>
|
||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||
<Image iconType="3" name="/ca/canucksoftware/wosqi/resources/Pre-48x48.png"/>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="3"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel3" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="170" y="10" width="60" height="50" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel4">
|
||||
<Properties>
|
||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||
<Image iconType="3" name="/ca/canucksoftware/wosqi/resources/Computer-48x48.png"/>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel4" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="70" y="10" width="50" height="50" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel2" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="horizontalAlignment" type="int" value="0"/>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="30" y="90" width="240" height="30" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
@@ -0,0 +1,259 @@
|
||||
/*
|
||||
* WebOSQuickInstallAboutBox.java
|
||||
*/
|
||||
|
||||
package ca.canucksoftware.wosqi;
|
||||
|
||||
import ca.canucksoftware.ipkg.PackageFeed;
|
||||
import ca.canucksoftware.utils.FileUtils;
|
||||
import ca.canucksoftware.utils.OnlineFile;
|
||||
import ca.canucksoftware.webos.DeviceInfo;
|
||||
import ca.canucksoftware.webos.Patcher;
|
||||
import ca.canucksoftware.webos.ScriptType;
|
||||
import ca.canucksoftware.webos.WebOSConnection;
|
||||
import java.io.File;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
public class Installer extends javax.swing.JDialog {
|
||||
private ResourceBundle bundle;
|
||||
private WebOSConnection webOS;
|
||||
private Patcher patcher;
|
||||
private ArrayList items;
|
||||
public Timer t;
|
||||
|
||||
public Installer(java.awt.Frame parent, WebOSConnection connection, ArrayList list) {
|
||||
super(parent);
|
||||
bundle = WebOSQuickInstallApp.bundle;
|
||||
initComponents();
|
||||
t = new Timer();
|
||||
webOS = connection;
|
||||
items = list;
|
||||
if(!webOS.isConnected()) {
|
||||
DeviceInfo info = webOS.getDeviceInfo();
|
||||
if(info!=null && !info.model().equals(DeviceInfo.Model.Unknown.toString())) {
|
||||
JOptionPane.showMessageDialog(rootPane, MessageFormat.format(bundle
|
||||
.getString("{0}_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN."),
|
||||
new Object[] {info.model()}));
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(rootPane, bundle
|
||||
.getString("DEVICE_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN."));
|
||||
}
|
||||
t.schedule(new DoDispose(), 200);
|
||||
} else {
|
||||
if(webOS.isSystemBusy()) {
|
||||
JOptionPane.showMessageDialog(rootPane,
|
||||
bundle.getString("SYSTEM_IS_BUSY._TRY_AGAIN_LATER."));
|
||||
t.schedule(new DoDispose(), 200);
|
||||
} else {
|
||||
t.schedule(new DoTransfer(), 200);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void processList() {
|
||||
boolean containsPatch = false;
|
||||
boolean okForPatch = false;
|
||||
|
||||
jLabel5.setText(bundle.getString("CONNECTING..."));
|
||||
webOS.remountPartitionReadWrite();
|
||||
webOS.mkdir("/media/internal/.developer/");
|
||||
patcher = new Patcher(webOS);
|
||||
webOS.sendScript(ScriptType.ScanID);
|
||||
webOS.configIpkg();
|
||||
|
||||
for(int i=0; i<items.size(); i++) {
|
||||
Object curr = items.get(i);
|
||||
File currFile = null;
|
||||
if(curr instanceof String) {
|
||||
jLabel5.setText(bundle.getString("DOWNLOADING:"));
|
||||
jLabel2.setText("<html><center>" + FileUtils.getFilename((String) curr) +
|
||||
"</center></html>");
|
||||
System.out.println("Downloading: " + ((String) curr));
|
||||
OnlineFile url = new OnlineFile((String) curr);
|
||||
currFile = url.download();
|
||||
if(currFile==null) {
|
||||
JOptionPane.showMessageDialog(rootPane, MessageFormat.format(
|
||||
bundle.getString("ERROR:_UNABLE_TO_DOWNLOAD_{0}"),
|
||||
new Object[] {FileUtils.getFilename((String) curr)}));
|
||||
}
|
||||
} else if(curr instanceof File) {
|
||||
currFile = (File) curr;
|
||||
}
|
||||
if(currFile!=null) {
|
||||
String name = FileUtils.getFilename(currFile);
|
||||
jLabel2.setText("<html><center>" + name + "</center></html>");
|
||||
if(isPatch(name)) {
|
||||
if(!containsPatch) {
|
||||
webOS.sendScript(ScriptType.Patch);
|
||||
PackageFeed wosiFeed = PackageFeed.Download("http://ipkg.preware.org/feeds/webos-internals/all/Packages.gz");
|
||||
int ausmtIndex = wosiFeed.indexOf("org.webosinternals.ausmt");
|
||||
if(ausmtIndex>-1) {
|
||||
okForPatch = patcher.meetsRequirements(wosiFeed.packages.get(ausmtIndex).getDownloadUrl());
|
||||
} else {
|
||||
okForPatch = false;
|
||||
}
|
||||
containsPatch = true;
|
||||
}
|
||||
if(okForPatch) {
|
||||
jLabel5.setText(bundle.getString("TRANSFERRING_AND_APPLYING:"));
|
||||
if(patcher.install(currFile)) {
|
||||
webOS.lunaRestartFlag = true;
|
||||
currFile.delete();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
jLabel5.setText(bundle.getString("TRANSFERRING:"));
|
||||
if(webOS.sendFile(currFile, "/media/internal/.developer/" + name)) {
|
||||
jLabel5.setText(bundle.getString("INSTALLING:"));
|
||||
if(webOS.install("/media/internal/.developer/" + name)) {
|
||||
currFile.delete();
|
||||
} else {
|
||||
webOS.delete("/media/internal/.developer/" + name);
|
||||
}
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(rootPane, bundle.getString("FILE_TRANSFER_FAILED."));
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
Thread.sleep(500);
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
|
||||
webOS.executeRestartFlags();
|
||||
|
||||
webOS.removeScript(ScriptType.ScanID);
|
||||
if(containsPatch) {
|
||||
webOS.removeScript(ScriptType.Patch);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isPatch(String s) {
|
||||
return (s.endsWith(".patch") || s.endsWith(".diff"));
|
||||
}
|
||||
|
||||
/** This method is called from within the constructor to
|
||||
* initialize the form.
|
||||
* WARNING: Do NOT modify this code. The content of this method is
|
||||
* always regenerated by the Form Editor.
|
||||
*/
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
jLayeredPane1 = new javax.swing.JLayeredPane();
|
||||
jLabel5 = new javax.swing.JLabel();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jLabel3 = new javax.swing.JLabel();
|
||||
jLabel4 = new javax.swing.JLabel();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
|
||||
setBackground(new java.awt.Color(219, 219, 219));
|
||||
setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR));
|
||||
setForeground(new java.awt.Color(219, 219, 219));
|
||||
setIconImage(null);
|
||||
setModal(true);
|
||||
setName("transfer"); // NOI18N
|
||||
setResizable(false);
|
||||
addWindowListener(new java.awt.event.WindowAdapter() {
|
||||
public void windowActivated(java.awt.event.WindowEvent evt) {
|
||||
formWindowActivated(evt);
|
||||
}
|
||||
public void windowClosed(java.awt.event.WindowEvent evt) {
|
||||
formWindowClosed(evt);
|
||||
}
|
||||
public void windowOpened(java.awt.event.WindowEvent evt) {
|
||||
formWindowOpened(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLayeredPane1.setBackground(new java.awt.Color(219, 219, 219));
|
||||
jLayeredPane1.setForeground(new java.awt.Color(243, 241, 233));
|
||||
jLayeredPane1.setName("jLayeredPane1"); // NOI18N
|
||||
jLayeredPane1.setOpaque(true);
|
||||
|
||||
jLabel5.setFont(jLabel5.getFont());
|
||||
jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
jLabel5.setText(bundle.getString("Installer.jLabel5.text")); // NOI18N
|
||||
jLabel5.setName("jLabel5"); // NOI18N
|
||||
jLabel5.setBounds(30, 70, 240, 20);
|
||||
jLayeredPane1.add(jLabel5, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel1.setBackground(new java.awt.Color(219, 219, 219));
|
||||
jLabel1.setForeground(new java.awt.Color(219, 219, 219));
|
||||
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canucksoftware/wosqi/resources/busy_icon.gif"))); // NOI18N
|
||||
jLabel1.setName("jLabel1"); // NOI18N
|
||||
jLabel1.setOpaque(true);
|
||||
jLabel1.setBounds(120, 10, 60, 50);
|
||||
jLayeredPane1.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canucksoftware/wosqi/resources/Pre-48x48.png"))); // NOI18N
|
||||
jLabel3.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
|
||||
jLabel3.setName("jLabel3"); // NOI18N
|
||||
jLabel3.setBounds(170, 10, 60, 50);
|
||||
jLayeredPane1.add(jLabel3, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canucksoftware/wosqi/resources/Computer-48x48.png"))); // NOI18N
|
||||
jLabel4.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel4.setName("jLabel4"); // NOI18N
|
||||
jLabel4.setBounds(70, 10, 50, 50);
|
||||
jLayeredPane1.add(jLabel4, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel2.setFont(jLabel2.getFont());
|
||||
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
jLabel2.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel2.setName("jLabel2"); // NOI18N
|
||||
jLabel2.setBounds(30, 90, 240, 30);
|
||||
jLayeredPane1.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||
getContentPane().setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 296, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 126, Short.MAX_VALUE)
|
||||
);
|
||||
|
||||
pack();
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened
|
||||
|
||||
}//GEN-LAST:event_formWindowOpened
|
||||
|
||||
private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated
|
||||
}//GEN-LAST:event_formWindowActivated
|
||||
|
||||
private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed
|
||||
}//GEN-LAST:event_formWindowClosed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JLabel jLabel3;
|
||||
private javax.swing.JLabel jLabel4;
|
||||
private javax.swing.JLabel jLabel5;
|
||||
private javax.swing.JLayeredPane jLayeredPane1;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
class DoTransfer extends TimerTask {
|
||||
public void run() {
|
||||
processList();
|
||||
dispose();
|
||||
}
|
||||
}
|
||||
class DoDispose extends TimerTask {
|
||||
public void run() {
|
||||
dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,523 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.5" maxVersion="1.7">
|
||||
<NonVisualComponents>
|
||||
<Container class="javax.swing.JPanel" name="mainPanel">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="mainView" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new ImagePanel(bgImg)"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="620" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="345" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane1">
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane3">
|
||||
<Properties>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="460" y="160" width="170" height="210" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||
<Properties>
|
||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||
<Image iconType="3" name="/ca/canucksoftware/wosqi/resources/pre_shadow.png"/>
|
||||
</Property>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="30" width="150" height="160" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane7">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
|
||||
<TitledBorder title="Files to Install">
|
||||
<Border PropertyName="innerBorder" info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
|
||||
<LineBorder roundedCorners="true">
|
||||
<Color PropertyName="color" blue="80" green="80" red="80" type="rgb"/>
|
||||
</LineBorder>
|
||||
</Border>
|
||||
<ResourceString PropertyName="titleX" bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jLayeredPane7.border.title" replaceFormat="bundle.getString("{key}")"/>
|
||||
</TitledBorder>
|
||||
</Border>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="25" width="590" height="240" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JButton" name="jButton4">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="cb" green="cb" red="cb" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||
<Image iconType="3" name="/ca/canucksoftware/wosqi/resources/remove.png"/>
|
||||
</Property>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
<Property name="iconTextGap" type="int" value="0"/>
|
||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||
<Insets value="[0, 0, 0, 0]"/>
|
||||
</Property>
|
||||
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[36, 33]"/>
|
||||
</Property>
|
||||
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[36, 33]"/>
|
||||
</Property>
|
||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[36, 33]"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton4ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="520" y="70" width="40" height="30" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="jButton5">
|
||||
<Properties>
|
||||
<Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.swingapp.ActionEditor">
|
||||
<action class="ca.canucksoftware.MainView" id="openRepository" methodName="openRepository"/>
|
||||
</Property>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="cb" green="cb" red="cb" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
<Property name="iconTextGap" type="int" value="0"/>
|
||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||
<Insets value="[0, 0, 0, 0]"/>
|
||||
</Property>
|
||||
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[36, 33]"/>
|
||||
</Property>
|
||||
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[36, 33]"/>
|
||||
</Property>
|
||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[36, 33]"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton5ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="520" y="120" width="40" height="40" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane2">
|
||||
<Properties>
|
||||
<Property name="autoscrolls" type="boolean" value="true"/>
|
||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[485, 191]"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="30" width="-1" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTable" name="jTable1">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
||||
<Font name="Tahoma" size="12" style="0"/>
|
||||
</Property>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="3" rowCount="0">
|
||||
<Column editable="false" title="Name" type="java.lang.String"/>
|
||||
<Column editable="false" title="Size" type="java.lang.String"/>
|
||||
<Column editable="false" title="Type" type="java.lang.String"/>
|
||||
</Table>
|
||||
</Property>
|
||||
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||
<TableColumnModel selectionModel="0">
|
||||
<Column maxWidth="-1" minWidth="-1" prefWidth="350" resizable="false">
|
||||
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.installTable.columnModel.title0" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Title>
|
||||
<Editor/>
|
||||
<Renderer/>
|
||||
</Column>
|
||||
<Column maxWidth="-1" minWidth="-1" prefWidth="125" resizable="false">
|
||||
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.installTable.columnModel.title1" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Title>
|
||||
<Editor/>
|
||||
<Renderer/>
|
||||
</Column>
|
||||
<Column maxWidth="-1" minWidth="-1" prefWidth="250" resizable="false">
|
||||
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.installTable.columnModel.title2" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Title>
|
||||
<Editor/>
|
||||
<Renderer/>
|
||||
</Column>
|
||||
</TableColumnModel>
|
||||
</Property>
|
||||
<Property name="fillsViewportHeight" type="boolean" value="true"/>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[2147483647, 2147483647]"/>
|
||||
</Property>
|
||||
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[45, 45]"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="installTable" noResource="true"/>
|
||||
<Property name="rowHeight" type="int" value="20"/>
|
||||
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
|
||||
<TableHeader reorderingAllowed="false" resizingAllowed="true"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JButton" name="jButton1">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="dc" green="dc" red="dc" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||
<Image iconType="3" name="/ca/canucksoftware/wosqi/resources/add.png"/>
|
||||
</Property>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
<Property name="iconTextGap" type="int" value="0"/>
|
||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||
<Insets value="[0, 0, 0, 0]"/>
|
||||
</Property>
|
||||
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[36, 33]"/>
|
||||
</Property>
|
||||
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[36, 33]"/>
|
||||
</Property>
|
||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[36, 33]"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="520" y="30" width="40" height="30" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||
<Properties>
|
||||
<Property name="horizontalAlignment" type="int" value="4"/>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jLabel2.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="350" y="5" width="100" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="jButton2">
|
||||
<Properties>
|
||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||
<Image iconType="3" name="/ca/canucksoftware/wosqi/resources/find-apps-precentralnet.png"/>
|
||||
</Property>
|
||||
<Property name="borderPainted" type="boolean" value="false"/>
|
||||
<Property name="contentAreaFilled" type="boolean" value="false"/>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton2ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="280" width="130" height="60" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="jButton3">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="a5" green="a5" red="a5" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jButton3" property="font" relativeSize="true" size="3"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jButton3.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
<Property name="horizontalTextPosition" type="int" value="0"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton3ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="240" y="290" width="140" height="33" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JComboBox" name="jComboBox1">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="dc" green="dc" red="dc" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
||||
<StringArray count="0"/>
|
||||
</Property>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="popupMenuWillBecomeInvisible" listener="javax.swing.event.PopupMenuListener" parameters="javax.swing.event.PopupMenuEvent" handler="jComboBox1PopupMenuWillBecomeInvisible"/>
|
||||
<EventHandler event="popupMenuWillBecomeVisible" listener="javax.swing.event.PopupMenuListener" parameters="javax.swing.event.PopupMenuEvent" handler="jComboBox1PopupMenuWillBecomeVisible"/>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jComboBox1ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="460" y="5" width="140" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JMenuBar" name="menuBar">
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
|
||||
<Property name="useNullLayout" type="boolean" value="true"/>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Menu class="javax.swing.JMenu" name="fileMenu">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.fileMenu.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
|
||||
</AuxValues>
|
||||
<SubComponents>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="jMenuItem1">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jMenuItem1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem1ActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JSeparator" name="jSeparator2">
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="jMenuItem8">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jMenuItem8.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem8ActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="jMenuItem2">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jMenuItem2.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem2ActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JSeparator" name="jSeparator1">
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="exitMenuItem">
|
||||
<Properties>
|
||||
<Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.swingapp.ActionEditor">
|
||||
<action class="org.jdesktop.application.Application" id="quit" methodName="quit"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="EXIT" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
|
||||
</AuxValues>
|
||||
</MenuItem>
|
||||
</SubComponents>
|
||||
</Menu>
|
||||
<Menu class="javax.swing.JMenu" name="toolMenu">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.toolMenu.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<SubComponents>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="jMenuItem3">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jMenuItem3.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem3ActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="jMenuItem4">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jMenuItem4.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem4ActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="jMenuItem5">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jMenuItem5.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem5ActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JSeparator" name="jSeparator3">
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="jMenuItem9">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jMenuItem9.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem9ActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
</SubComponents>
|
||||
</Menu>
|
||||
<Menu class="javax.swing.JMenu" name="helpMenu">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.helpMenu.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
|
||||
</AuxValues>
|
||||
<SubComponents>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="jMenuItem6">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jMenuItem6.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem6ActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="jMenuItem7">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.jMenuItem7.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem7ActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="aboutMenuItem">
|
||||
<Properties>
|
||||
<Property name="action" type="javax.swing.Action" editor="org.netbeans.modules.swingapp.ActionEditor">
|
||||
<action class="ca.canucksoftware.wosqi.WebOSQuickInstallView" id="showAboutBox" methodName="showAboutBox"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="MainView.aboutMenuItem.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="aboutMenuItemActionPerformed"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
|
||||
</AuxValues>
|
||||
</MenuItem>
|
||||
</SubComponents>
|
||||
</Menu>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</NonVisualComponents>
|
||||
<Properties>
|
||||
<Property name="component" type="javax.swing.JComponent" editor="org.netbeans.modules.form.ComponentChooserEditor">
|
||||
<ComponentRef name="mainPanel"/>
|
||||
</Property>
|
||||
<Property name="menuBar" type="javax.swing.JMenuBar" editor="org.netbeans.modules.form.ComponentChooserEditor">
|
||||
<ComponentRef name="menuBar"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
|
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,119,0,0,2,108"/>
|
||||
</AuxValues>
|
||||
</Form>
|
||||
@@ -0,0 +1,907 @@
|
||||
|
||||
package ca.canucksoftware.wosqi;
|
||||
|
||||
import ca.canucksoftware.ipkg.PackageManager;
|
||||
import ca.canucksoftware.novacom.Novacom;
|
||||
import ca.canucksoftware.novacom.DriverInstaller;
|
||||
import ca.canucksoftware.utils.FileUtils;
|
||||
import ca.canucksoftware.webos.DeviceInfo;
|
||||
import ca.canucksoftware.webos.WebOS;
|
||||
import ca.canucksoftware.webos.WebOSConnection;
|
||||
import ca.canucksoftware.webos.WebOSDevice;
|
||||
import ca.canucksoftware.webos.WebOSException;
|
||||
import java.awt.Color;
|
||||
import java.awt.Component;
|
||||
import java.awt.Container;
|
||||
import java.awt.Cursor;
|
||||
import java.awt.Desktop;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Image;
|
||||
import java.io.File;
|
||||
import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import java.util.prefs.Preferences;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.table.DefaultTableModel;
|
||||
import net.iharder.dnd.FileDrop;
|
||||
import org.jdesktop.application.SingleFrameApplication;
|
||||
import org.jdesktop.application.FrameView;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
/**
|
||||
* The application's main frame.
|
||||
*/
|
||||
public class MainView extends FrameView {
|
||||
private ResourceBundle bundle;
|
||||
private Image bgImg;
|
||||
private String chooserPath;
|
||||
private WebOSDevice[] devices;
|
||||
private WebOSConnection[] webOS;
|
||||
private PackageManager[] pkgMgr;
|
||||
private ArrayList<File> items;
|
||||
private DefaultTableModel modTable;
|
||||
private File installDir;
|
||||
private Timer timer;
|
||||
|
||||
public MainView(SingleFrameApplication app) {
|
||||
super(app);
|
||||
bundle = WebOSQuickInstallApp.bundle;
|
||||
URL bgURL = getClass().getResource("resources/background.jpg");
|
||||
bgImg = new ImageIcon(bgURL).getImage();
|
||||
URL iconURL = getClass().getResource("resources/icon.png");
|
||||
getFrame().setIconImage(new ImageIcon(iconURL).getImage());
|
||||
items = new ArrayList<File>();
|
||||
initComponents();
|
||||
jButton2.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
|
||||
jTable1.setGridColor(Color.CYAN);
|
||||
modTable = (DefaultTableModel) jTable1.getModel();
|
||||
installDir = new File(FileUtils.appDirectory(), bundle.getString("INSTALL"));
|
||||
chooserPath = Preferences.userRoot().get("chooserPath", null);
|
||||
new FileDrop(jTable1, new FileDrop.Listener() {
|
||||
public void filesDropped(File[] files ) {
|
||||
for(int i=0; i<files.length; i++) {
|
||||
String name = files[i].getName().toLowerCase();
|
||||
if(name.endsWith(".ipk") || name.endsWith(".patch") ||
|
||||
name.endsWith(".diff")) {
|
||||
addFile(files[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
devices = new WebOSDevice[0];
|
||||
webOS = new WebOSConnection[0];
|
||||
loadList();
|
||||
timer = new Timer();
|
||||
if(Novacom.isInstalled()) {
|
||||
reloadDeviceCache();
|
||||
if(jComboBox1.getItemCount()==0) {
|
||||
timer.schedule(new FirstCheckConnection(), 100);
|
||||
}
|
||||
} else {
|
||||
timer.schedule(new DoInstallDrivers(), 100);
|
||||
}
|
||||
}
|
||||
|
||||
private void loadList() {
|
||||
if(!installDir.isDirectory()) {
|
||||
installDir.mkdirs();
|
||||
}
|
||||
items.clear();
|
||||
while(modTable.getRowCount()>0) {
|
||||
modTable.removeRow(0);
|
||||
}
|
||||
File[] files = installDir.listFiles(new WebOSFileFilter());
|
||||
for(int i=0; i<files.length; i++) {
|
||||
items.add(files[i]);
|
||||
addRow(files[i]);
|
||||
}
|
||||
}
|
||||
|
||||
private void addRow(File current){
|
||||
String type;
|
||||
if (current.getName().toLowerCase().endsWith(".ipk")) {
|
||||
type = " " + bundle.getString("WEBOS_PACKAGE_FILE");
|
||||
} else if (current.getName().toLowerCase().endsWith(".patch")) {
|
||||
type = " " + bundle.getString("WEBOS_PATCH_FILE");
|
||||
} else if (current.getName().toLowerCase().endsWith(".diff")) {
|
||||
type = " " + bundle.getString("WEBOS_DIFF_FILE");
|
||||
} else {
|
||||
type = " " + bundle.getString("UNKNOWN_FILE");
|
||||
}
|
||||
modTable.addRow(new Object[]{" " + FileUtils.getFilename(current),
|
||||
FileUtils.formatFilesize(current), type});
|
||||
}
|
||||
|
||||
private void removeRow(){
|
||||
int index = jTable1.getSelectedRow();
|
||||
items.get(index).delete();
|
||||
items.remove(index);
|
||||
modTable.removeRow(index);
|
||||
}
|
||||
|
||||
|
||||
private void addDialog() {
|
||||
JFileChooser fc = new JFileChooser();
|
||||
fc.setAcceptAllFileFilterUsed(false);
|
||||
fc.setFileFilter(new WebOSChooseFilter());
|
||||
fc.setMultiSelectionEnabled(true);
|
||||
if(chooserPath!=null)
|
||||
fc.setCurrentDirectory(new File(chooserPath));
|
||||
fc.setDialogTitle("");
|
||||
disableNewFolderButton(fc);
|
||||
if(fc.showDialog(getFrame(), bundle.getString("SELECT"))==
|
||||
JFileChooser.APPROVE_OPTION) {
|
||||
File[] files = fc.getSelectedFiles();
|
||||
if(files.length>0) {
|
||||
chooserPath = files[0].getParentFile().getAbsolutePath();
|
||||
Preferences.userRoot().put("chooserPath", chooserPath);
|
||||
}
|
||||
for(int i=0; i<files.length; i++){
|
||||
addFile(files[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void disableNewFolderButton(Container c) {
|
||||
int len = c.getComponentCount();
|
||||
for(int i=0; i<len; i++) {
|
||||
Component comp = c.getComponent(i);
|
||||
if(comp instanceof JButton) {
|
||||
JButton b = (JButton)comp;
|
||||
Icon icon = b.getIcon();
|
||||
if(icon != null && (icon == UIManager.getIcon("FileChooser.newFolderIcon")
|
||||
|| icon == UIManager.getIcon("FileChooser.upFolderIcon")))
|
||||
b.setEnabled(false);
|
||||
} else if (comp instanceof Container) {
|
||||
disableNewFolderButton((Container)comp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addFile(File from) {
|
||||
File to = new File(installDir, FileUtils.getFilename(from));
|
||||
boolean exists = to.exists();
|
||||
if(exists) {
|
||||
to.delete();
|
||||
}
|
||||
try {
|
||||
FileUtils.copy(from, to);
|
||||
} catch(Exception e) {
|
||||
if(to.length()==0) {
|
||||
to.delete();
|
||||
exists = false;
|
||||
}
|
||||
System.err.println("ERROR: Unable to copy file to install directory: "
|
||||
+ from.getAbsolutePath());
|
||||
}
|
||||
if(exists) { //update list
|
||||
loadList();
|
||||
} else { //new file to add to list
|
||||
items.add(to);
|
||||
addRow(to);
|
||||
}
|
||||
}
|
||||
|
||||
private void reloadDeviceCache() {
|
||||
try {
|
||||
String id = null;
|
||||
if(devices.length>0) {
|
||||
id = devices[getConnectionIndex()].getId();
|
||||
}
|
||||
WebOSDevice[] newDevices = WebOS.listDevices();
|
||||
WebOSConnection[] newWebOS = new WebOSConnection[newDevices.length];
|
||||
PackageManager[] newPkgMgr = new PackageManager[newDevices.length];
|
||||
jComboBox1.removeAllItems();
|
||||
for(int i=0; i<newDevices.length; i++) {
|
||||
for(int j=0; j<devices.length; j++) {
|
||||
if(devices[j].getId().equals(newDevices[i].getId())) {
|
||||
newWebOS[i] = webOS[j];
|
||||
newPkgMgr[i] = pkgMgr[j];
|
||||
}
|
||||
}
|
||||
if(newWebOS[i]==null) {
|
||||
try {
|
||||
newWebOS[i] = newDevices[i].connect();
|
||||
} catch(WebOSException e) {
|
||||
newWebOS[i] = null;
|
||||
}
|
||||
}
|
||||
if( newWebOS[i] != null) {
|
||||
String deviceName = newWebOS[i].getDeviceInfo().name();
|
||||
if(deviceName.equals(DeviceInfo.Model.Unknown.toString())) {
|
||||
deviceName = newDevices[i].getName();
|
||||
}
|
||||
jComboBox1.addItem(deviceName);
|
||||
if(id!=null && newDevices[i].getId().equals(id)) {
|
||||
jComboBox1.setSelectedIndex(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(jComboBox1.getSelectedIndex()==-1 && jComboBox1.getItemCount()>0) {
|
||||
jComboBox1.setSelectedIndex(0);
|
||||
}
|
||||
devices = newDevices;
|
||||
webOS = newWebOS;
|
||||
pkgMgr = newPkgMgr;
|
||||
} catch(Exception e) {
|
||||
System.err.println(e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public int getConnectionIndex() {
|
||||
int currIndex = jComboBox1.getSelectedIndex();
|
||||
int result = 0;
|
||||
int counter = -1;
|
||||
for(result=0; result<devices.length; result++) {
|
||||
if(webOS[result]!=null) {
|
||||
counter++;
|
||||
}
|
||||
if(counter==currIndex) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private void connectionWarningIfNeeded() {
|
||||
if(jComboBox1.getItemCount()==0) {
|
||||
if(JOptionPane.showConfirmDialog(mainPanel,
|
||||
bundle.getString("REPEATING_CONNECTION_WARNING"),
|
||||
bundle.getString("NO_DEVICES_FOUND"), JOptionPane.OK_CANCEL_OPTION,
|
||||
JOptionPane.WARNING_MESSAGE)==JOptionPane.OK_OPTION) {
|
||||
reloadDeviceCache();
|
||||
connectionWarningIfNeeded();
|
||||
} else {
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void firstConnectionWarningIfNeeded() {
|
||||
if(jComboBox1.getItemCount()==0) {
|
||||
int choice = JOptionPane.showOptionDialog(mainPanel, bundle.getString("REPEATING_CONNECTION_WARNING"),
|
||||
bundle.getString("NO_DEVICES_FOUND"), JOptionPane.YES_NO_CANCEL_OPTION,
|
||||
JOptionPane.ERROR_MESSAGE, null, new Object[] {bundle.getString("OK"),
|
||||
bundle.getString("CANCEL"), bundle.getString("MainView.jMenuItem2.text")},
|
||||
bundle.getString("OK"));
|
||||
if(choice==JOptionPane.YES_OPTION) {
|
||||
reloadDeviceCache();
|
||||
firstConnectionWarningIfNeeded();
|
||||
} else if(choice==JOptionPane.CANCEL_OPTION) {
|
||||
installDrivers(false);
|
||||
firstConnectionWarningIfNeeded();
|
||||
} else {
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void installDrivers(boolean exitOnFail) {
|
||||
JFrame mainFrame = WebOSQuickInstallApp.getApplication().getMainFrame();
|
||||
DriverInstaller downloader = new DriverInstaller(mainFrame);
|
||||
downloader.setLocationRelativeTo(mainFrame);
|
||||
WebOSQuickInstallApp.getApplication().show(downloader);
|
||||
reloadDeviceCache();
|
||||
}
|
||||
|
||||
/** This method is called from within the constructor to
|
||||
* initialize the form.
|
||||
* WARNING: Do NOT modify this code. The content of this method is
|
||||
* always regenerated by the Form Editor.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
mainPanel = new ImagePanel(bgImg);
|
||||
jLayeredPane1 = new javax.swing.JLayeredPane();
|
||||
jLayeredPane3 = new javax.swing.JLayeredPane();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jLayeredPane7 = new javax.swing.JLayeredPane();
|
||||
jButton4 = new javax.swing.JButton();
|
||||
jButton5 = new javax.swing.JButton();
|
||||
jScrollPane2 = new javax.swing.JScrollPane();
|
||||
jTable1 = new javax.swing.JTable();
|
||||
jButton1 = new javax.swing.JButton();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
jButton2 = new javax.swing.JButton();
|
||||
jButton3 = new javax.swing.JButton();
|
||||
jComboBox1 = new javax.swing.JComboBox();
|
||||
menuBar = new javax.swing.JMenuBar();
|
||||
javax.swing.JMenu fileMenu = new javax.swing.JMenu();
|
||||
jMenuItem1 = new javax.swing.JMenuItem();
|
||||
jSeparator2 = new javax.swing.JSeparator();
|
||||
jMenuItem8 = new javax.swing.JMenuItem();
|
||||
jMenuItem2 = new javax.swing.JMenuItem();
|
||||
jSeparator1 = new javax.swing.JSeparator();
|
||||
javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
|
||||
toolMenu = new javax.swing.JMenu();
|
||||
jMenuItem3 = new javax.swing.JMenuItem();
|
||||
jMenuItem4 = new javax.swing.JMenuItem();
|
||||
jMenuItem5 = new javax.swing.JMenuItem();
|
||||
jSeparator3 = new javax.swing.JSeparator();
|
||||
jMenuItem9 = new javax.swing.JMenuItem();
|
||||
javax.swing.JMenu helpMenu = new javax.swing.JMenu();
|
||||
jMenuItem6 = new javax.swing.JMenuItem();
|
||||
jMenuItem7 = new javax.swing.JMenuItem();
|
||||
javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
|
||||
|
||||
mainPanel.setName("mainView"); // NOI18N
|
||||
|
||||
jLayeredPane3.setFocusable(false);
|
||||
|
||||
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canucksoftware/wosqi/resources/pre_shadow.png"))); // NOI18N
|
||||
jLabel1.setFocusable(false);
|
||||
jLabel1.setBounds(10, 30, 150, 160);
|
||||
jLayeredPane3.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLayeredPane3.setBounds(460, 160, 170, 210);
|
||||
jLayeredPane1.add(jLayeredPane3, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLayeredPane7.setBorder(javax.swing.BorderFactory.createTitledBorder(new javax.swing.border.LineBorder(new java.awt.Color(128, 128, 128), 1, true), bundle.getString("MainView.jLayeredPane7.border.title"))); // NOI18N
|
||||
|
||||
jButton4.setBackground(new java.awt.Color(203, 203, 203));
|
||||
jButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canucksoftware/wosqi/resources/remove.png"))); // NOI18N
|
||||
jButton4.setFocusable(false);
|
||||
jButton4.setIconTextGap(0);
|
||||
jButton4.setMargin(new java.awt.Insets(0, 0, 0, 0));
|
||||
jButton4.setMaximumSize(new java.awt.Dimension(36, 33));
|
||||
jButton4.setMinimumSize(new java.awt.Dimension(36, 33));
|
||||
jButton4.setPreferredSize(new java.awt.Dimension(36, 33));
|
||||
jButton4.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton4ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton4.setBounds(520, 70, 40, 30);
|
||||
jLayeredPane7.add(jButton4, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(ca.canucksoftware.wosqi.WebOSQuickInstallApp.class).getContext().getActionMap(MainView.class, this);
|
||||
jButton5.setAction(actionMap.get("openRepository")); // NOI18N
|
||||
jButton5.setBackground(new java.awt.Color(203, 203, 203));
|
||||
jButton5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canucksoftware/wosqi/resources/online.png"))); // NOI18N
|
||||
jButton5.setFocusable(false);
|
||||
jButton5.setIconTextGap(0);
|
||||
jButton5.setMargin(new java.awt.Insets(0, 0, 0, 0));
|
||||
jButton5.setMaximumSize(new java.awt.Dimension(36, 33));
|
||||
jButton5.setMinimumSize(new java.awt.Dimension(36, 33));
|
||||
jButton5.setPreferredSize(new java.awt.Dimension(36, 33));
|
||||
jButton5.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton5ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton5.setBounds(520, 120, 40, 40);
|
||||
jLayeredPane7.add(jButton5, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jScrollPane2.setAutoscrolls(true);
|
||||
jScrollPane2.setPreferredSize(new java.awt.Dimension(485, 191));
|
||||
|
||||
jTable1.setFont(new java.awt.Font("Tahoma", 0, 12));
|
||||
jTable1.setModel(new javax.swing.table.DefaultTableModel(
|
||||
new Object [][] {
|
||||
|
||||
},
|
||||
new String [] {
|
||||
"Name", "Size", "Type"
|
||||
}
|
||||
) {
|
||||
Class[] types = new Class [] {
|
||||
java.lang.String.class, java.lang.String.class, java.lang.String.class
|
||||
};
|
||||
boolean[] canEdit = new boolean [] {
|
||||
false, false, false
|
||||
};
|
||||
|
||||
public Class getColumnClass(int columnIndex) {
|
||||
return types [columnIndex];
|
||||
}
|
||||
|
||||
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
||||
return canEdit [columnIndex];
|
||||
}
|
||||
});
|
||||
jTable1.setFillsViewportHeight(true);
|
||||
jTable1.setFocusable(false);
|
||||
jTable1.setMaximumSize(new java.awt.Dimension(2147483647, 2147483647));
|
||||
jTable1.setMinimumSize(new java.awt.Dimension(45, 45));
|
||||
jTable1.setName("installTable"); // NOI18N
|
||||
jTable1.setRowHeight(20);
|
||||
jTable1.getTableHeader().setReorderingAllowed(false);
|
||||
jScrollPane2.setViewportView(jTable1);
|
||||
jTable1.getColumnModel().getColumn(0).setResizable(false);
|
||||
jTable1.getColumnModel().getColumn(0).setPreferredWidth(350);
|
||||
jTable1.getColumnModel().getColumn(0).setHeaderValue(bundle.getString("MainView.installTable.columnModel.title0")); // NOI18N
|
||||
jTable1.getColumnModel().getColumn(1).setResizable(false);
|
||||
jTable1.getColumnModel().getColumn(1).setPreferredWidth(125);
|
||||
jTable1.getColumnModel().getColumn(1).setHeaderValue(bundle.getString("MainView.installTable.columnModel.title1")); // NOI18N
|
||||
jTable1.getColumnModel().getColumn(2).setResizable(false);
|
||||
jTable1.getColumnModel().getColumn(2).setPreferredWidth(250);
|
||||
jTable1.getColumnModel().getColumn(2).setHeaderValue(bundle.getString("MainView.installTable.columnModel.title2")); // NOI18N
|
||||
|
||||
jScrollPane2.setBounds(20, 30, 485, 191);
|
||||
jLayeredPane7.add(jScrollPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jButton1.setBackground(new java.awt.Color(220, 220, 220));
|
||||
jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canucksoftware/wosqi/resources/add.png"))); // NOI18N
|
||||
jButton1.setFocusable(false);
|
||||
jButton1.setIconTextGap(0);
|
||||
jButton1.setMargin(new java.awt.Insets(0, 0, 0, 0));
|
||||
jButton1.setMaximumSize(new java.awt.Dimension(36, 33));
|
||||
jButton1.setMinimumSize(new java.awt.Dimension(36, 33));
|
||||
jButton1.setPreferredSize(new java.awt.Dimension(36, 33));
|
||||
jButton1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton1.setBounds(520, 30, 40, 30);
|
||||
jLayeredPane7.add(jButton1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLayeredPane7.setBounds(10, 25, 590, 240);
|
||||
jLayeredPane1.add(jLayeredPane7, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
|
||||
jLabel2.setText(bundle.getString("MainView.jLabel2.text")); // NOI18N
|
||||
jLabel2.setFocusable(false);
|
||||
jLabel2.setBounds(350, 5, 100, 20);
|
||||
jLayeredPane1.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canucksoftware/wosqi/resources/find-apps-precentralnet.png"))); // NOI18N
|
||||
jButton2.setBorderPainted(false);
|
||||
jButton2.setContentAreaFilled(false);
|
||||
jButton2.setFocusable(false);
|
||||
jButton2.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton2ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton2.setBounds(20, 280, 130, 60);
|
||||
jLayeredPane1.add(jButton2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jButton3.setBackground(new java.awt.Color(165, 165, 165));
|
||||
jButton3.setFont(jButton3.getFont().deriveFont(jButton3.getFont().getSize()+3f));
|
||||
jButton3.setText(bundle.getString("MainView.jButton3.text")); // NOI18N
|
||||
jButton3.setFocusable(false);
|
||||
jButton3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
|
||||
jButton3.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton3ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton3.setBounds(240, 290, 140, 33);
|
||||
jLayeredPane1.add(jButton3, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jComboBox1.setBackground(new java.awt.Color(220, 220, 220));
|
||||
jComboBox1.setFocusable(false);
|
||||
jComboBox1.addPopupMenuListener(new javax.swing.event.PopupMenuListener() {
|
||||
public void popupMenuCanceled(javax.swing.event.PopupMenuEvent evt) {
|
||||
}
|
||||
public void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {
|
||||
jComboBox1PopupMenuWillBecomeInvisible(evt);
|
||||
}
|
||||
public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {
|
||||
jComboBox1PopupMenuWillBecomeVisible(evt);
|
||||
}
|
||||
});
|
||||
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jComboBox1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jComboBox1.setBounds(460, 5, 140, 20);
|
||||
jLayeredPane1.add(jComboBox1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
org.jdesktop.layout.GroupLayout mainPanelLayout = new org.jdesktop.layout.GroupLayout(mainPanel);
|
||||
mainPanel.setLayout(mainPanelLayout);
|
||||
mainPanelLayout.setHorizontalGroup(
|
||||
mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(jLayeredPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 620, Short.MAX_VALUE)
|
||||
);
|
||||
mainPanelLayout.setVerticalGroup(
|
||||
mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(jLayeredPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 354, Short.MAX_VALUE)
|
||||
);
|
||||
|
||||
fileMenu.setText(bundle.getString("MainView.fileMenu.text")); // NOI18N
|
||||
|
||||
jMenuItem1.setText(bundle.getString("MainView.jMenuItem1.text")); // NOI18N
|
||||
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jMenuItem1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
fileMenu.add(jMenuItem1);
|
||||
fileMenu.add(jSeparator2);
|
||||
|
||||
jMenuItem8.setText(bundle.getString("MainView.jMenuItem8.text")); // NOI18N
|
||||
jMenuItem8.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jMenuItem8ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
fileMenu.add(jMenuItem8);
|
||||
|
||||
jMenuItem2.setText(bundle.getString("MainView.jMenuItem2.text")); // NOI18N
|
||||
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jMenuItem2ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
fileMenu.add(jMenuItem2);
|
||||
fileMenu.add(jSeparator1);
|
||||
|
||||
exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
|
||||
exitMenuItem.setText(bundle.getString("EXIT")); // NOI18N
|
||||
fileMenu.add(exitMenuItem);
|
||||
|
||||
menuBar.add(fileMenu);
|
||||
|
||||
toolMenu.setText(bundle.getString("MainView.toolMenu.text")); // NOI18N
|
||||
|
||||
jMenuItem3.setText(bundle.getString("MainView.jMenuItem3.text")); // NOI18N
|
||||
jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jMenuItem3ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
toolMenu.add(jMenuItem3);
|
||||
|
||||
jMenuItem4.setText(bundle.getString("MainView.jMenuItem4.text")); // NOI18N
|
||||
jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jMenuItem4ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
toolMenu.add(jMenuItem4);
|
||||
|
||||
jMenuItem5.setText(bundle.getString("MainView.jMenuItem5.text")); // NOI18N
|
||||
jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jMenuItem5ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
toolMenu.add(jMenuItem5);
|
||||
toolMenu.add(jSeparator3);
|
||||
|
||||
jMenuItem9.setText(bundle.getString("MainView.jMenuItem9.text")); // NOI18N
|
||||
jMenuItem9.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jMenuItem9ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
toolMenu.add(jMenuItem9);
|
||||
|
||||
menuBar.add(toolMenu);
|
||||
|
||||
helpMenu.setText(bundle.getString("MainView.helpMenu.text")); // NOI18N
|
||||
|
||||
jMenuItem6.setText(bundle.getString("MainView.jMenuItem6.text")); // NOI18N
|
||||
jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jMenuItem6ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
helpMenu.add(jMenuItem6);
|
||||
|
||||
jMenuItem7.setText(bundle.getString("MainView.jMenuItem7.text")); // NOI18N
|
||||
jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jMenuItem7ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
helpMenu.add(jMenuItem7);
|
||||
|
||||
aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
|
||||
aboutMenuItem.setText(bundle.getString("MainView.aboutMenuItem.text")); // NOI18N
|
||||
aboutMenuItem.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
aboutMenuItemActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
helpMenu.add(aboutMenuItem);
|
||||
|
||||
menuBar.add(helpMenu);
|
||||
|
||||
setComponent(mainPanel);
|
||||
setMenuBar(menuBar);
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
|
||||
if(items.size()>0) {
|
||||
JFrame mainFrame = WebOSQuickInstallApp.getApplication().getMainFrame();
|
||||
Installer installer = new Installer(mainFrame, webOS[getConnectionIndex()],
|
||||
items);
|
||||
installer.setLocationRelativeTo(mainFrame);
|
||||
WebOSQuickInstallApp.getApplication().show(installer);
|
||||
loadList();
|
||||
reloadDeviceCache();
|
||||
timer.schedule(new CheckConnection(), 200);
|
||||
}
|
||||
}//GEN-LAST:event_jButton3ActionPerformed
|
||||
|
||||
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed
|
||||
JFrame mainFrame = WebOSQuickInstallApp.getApplication().getMainFrame();
|
||||
int index = getConnectionIndex();
|
||||
if(pkgMgr[index]==null) {
|
||||
FeedLoader loader = new FeedLoader(mainFrame, webOS[index]);
|
||||
loader.setLocationRelativeTo(mainFrame);
|
||||
WebOSQuickInstallApp.getApplication().show(loader);
|
||||
pkgMgr[index] = loader.pkgMgr;
|
||||
} else {
|
||||
pkgMgr[index].setInstalledAppList(webOS[index].listInstalled());
|
||||
}
|
||||
if(pkgMgr[index]!=null) {
|
||||
if(pkgMgr[index].hasPackages()) {
|
||||
FeedViewer feeds = new FeedViewer(mainFrame, webOS[index], pkgMgr[index]);
|
||||
feeds.setLocationRelativeTo(mainFrame);
|
||||
WebOSQuickInstallApp.getApplication().show(feeds);
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(mainPanel, bundle.getString("ERROR:_FEED_LOADING_FAILED"));
|
||||
}
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(mainPanel, bundle.getString("ERROR:_FEED_LOADING_FAILED"));
|
||||
}
|
||||
reloadDeviceCache();
|
||||
timer.schedule(new CheckConnection(), 200);
|
||||
}//GEN-LAST:event_jButton5ActionPerformed
|
||||
|
||||
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
|
||||
addDialog();
|
||||
}//GEN-LAST:event_jButton1ActionPerformed
|
||||
|
||||
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
|
||||
removeRow();
|
||||
}//GEN-LAST:event_jButton4ActionPerformed
|
||||
|
||||
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
|
||||
try {
|
||||
Desktop.getDesktop().browse(new URI("http://www.webosnation.com/"));
|
||||
} catch(Exception e) {}
|
||||
}//GEN-LAST:event_jButton2ActionPerformed
|
||||
|
||||
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
|
||||
addDialog();
|
||||
}//GEN-LAST:event_jMenuItem1ActionPerformed
|
||||
|
||||
private void jComboBox1PopupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {//GEN-FIRST:event_jComboBox1PopupMenuWillBecomeVisible
|
||||
reloadDeviceCache();
|
||||
timer.schedule(new CheckConnection(), 200);
|
||||
}//GEN-LAST:event_jComboBox1PopupMenuWillBecomeVisible
|
||||
|
||||
private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed
|
||||
JOptionPane.showMessageDialog(mainPanel, "<html><body width=\"400px\">" +
|
||||
bundle.getString("FULL_WOSQI_DISCLAIMER") + "</body>",
|
||||
bundle.getString("DISCLAIMER"),JOptionPane.INFORMATION_MESSAGE);
|
||||
reloadDeviceCache();
|
||||
timer.schedule(new CheckConnection(), 200);
|
||||
}//GEN-LAST:event_jMenuItem7ActionPerformed
|
||||
|
||||
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
|
||||
installDrivers(false);
|
||||
}//GEN-LAST:event_jMenuItem2ActionPerformed
|
||||
|
||||
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
|
||||
JFrame mainFrame = WebOSQuickInstallApp.getApplication().getMainFrame();
|
||||
SendFile transfer = new SendFile(mainFrame, webOS[getConnectionIndex()]);
|
||||
transfer.setLocationRelativeTo(mainFrame);
|
||||
WebOSQuickInstallApp.getApplication().show(transfer);
|
||||
reloadDeviceCache();
|
||||
timer.schedule(new CheckConnection(), 200);
|
||||
}//GEN-LAST:event_jMenuItem3ActionPerformed
|
||||
|
||||
private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed
|
||||
JFrame mainFrame = WebOSQuickInstallApp.getApplication().getMainFrame();
|
||||
ReceiveFile transfer = new ReceiveFile(mainFrame, webOS[getConnectionIndex()]);
|
||||
transfer.setLocationRelativeTo(mainFrame);
|
||||
WebOSQuickInstallApp.getApplication().show(transfer);
|
||||
reloadDeviceCache();
|
||||
timer.schedule(new CheckConnection(), 200);
|
||||
}//GEN-LAST:event_jMenuItem4ActionPerformed
|
||||
|
||||
private void jComboBox1PopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {//GEN-FIRST:event_jComboBox1PopupMenuWillBecomeInvisible
|
||||
timer.schedule(new CheckConnection(), 200);
|
||||
}//GEN-LAST:event_jComboBox1PopupMenuWillBecomeInvisible
|
||||
|
||||
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem6ActionPerformed
|
||||
JFrame mainFrame = WebOSQuickInstallApp.getApplication().getMainFrame();
|
||||
Usage usage = new Usage(mainFrame);
|
||||
usage.setLocationRelativeTo(mainFrame);
|
||||
WebOSQuickInstallApp.getApplication().show(usage);
|
||||
reloadDeviceCache();
|
||||
}//GEN-LAST:event_jMenuItem6ActionPerformed
|
||||
|
||||
private void aboutMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_aboutMenuItemActionPerformed
|
||||
JFrame mainFrame = WebOSQuickInstallApp.getApplication().getMainFrame();
|
||||
About about = new About(mainFrame);
|
||||
about.setLocationRelativeTo(mainFrame);
|
||||
WebOSQuickInstallApp.getApplication().show(about);
|
||||
reloadDeviceCache();
|
||||
timer.schedule(new CheckConnection(), 200);
|
||||
}//GEN-LAST:event_aboutMenuItemActionPerformed
|
||||
|
||||
private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed
|
||||
JFrame mainFrame = WebOSQuickInstallApp.getApplication().getMainFrame();
|
||||
DeviceManagement manage = new DeviceManagement(mainFrame, webOS[getConnectionIndex()]);
|
||||
manage.setLocationRelativeTo(mainFrame);
|
||||
WebOSQuickInstallApp.getApplication().show(manage);
|
||||
reloadDeviceCache();
|
||||
timer.schedule(new CheckConnection(), 200);
|
||||
}//GEN-LAST:event_jMenuItem5ActionPerformed
|
||||
|
||||
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed
|
||||
}//GEN-LAST:event_jComboBox1ActionPerformed
|
||||
|
||||
private void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem8ActionPerformed
|
||||
JFrame mainFrame = WebOSQuickInstallApp.getApplication().getMainFrame();
|
||||
Settings settings = new Settings(mainFrame);
|
||||
settings.setLocationRelativeTo(mainFrame);
|
||||
WebOSQuickInstallApp.getApplication().show(settings);
|
||||
if(settings.feedsChanged) {
|
||||
for(int i=0; i<pkgMgr.length; i++) {
|
||||
pkgMgr[i] = null;
|
||||
}
|
||||
}
|
||||
reloadDeviceCache();
|
||||
timer.schedule(new CheckConnection(), 200);
|
||||
}//GEN-LAST:event_jMenuItem8ActionPerformed
|
||||
|
||||
private void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem9ActionPerformed
|
||||
int index = getConnectionIndex();
|
||||
if(webOS[index]!=null) {
|
||||
try {
|
||||
webOS[index].launchTerminal();
|
||||
} catch(UnsupportedOperationException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}//GEN-LAST:event_jMenuItem9ActionPerformed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JButton jButton1;
|
||||
private javax.swing.JButton jButton2;
|
||||
private javax.swing.JButton jButton3;
|
||||
private javax.swing.JButton jButton4;
|
||||
private javax.swing.JButton jButton5;
|
||||
private javax.swing.JComboBox jComboBox1;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JLayeredPane jLayeredPane1;
|
||||
private javax.swing.JLayeredPane jLayeredPane3;
|
||||
private javax.swing.JLayeredPane jLayeredPane7;
|
||||
private javax.swing.JMenuItem jMenuItem1;
|
||||
private javax.swing.JMenuItem jMenuItem2;
|
||||
private javax.swing.JMenuItem jMenuItem3;
|
||||
private javax.swing.JMenuItem jMenuItem4;
|
||||
private javax.swing.JMenuItem jMenuItem5;
|
||||
private javax.swing.JMenuItem jMenuItem6;
|
||||
private javax.swing.JMenuItem jMenuItem7;
|
||||
private javax.swing.JMenuItem jMenuItem8;
|
||||
private javax.swing.JMenuItem jMenuItem9;
|
||||
private javax.swing.JScrollPane jScrollPane2;
|
||||
private javax.swing.JSeparator jSeparator1;
|
||||
private javax.swing.JSeparator jSeparator2;
|
||||
private javax.swing.JSeparator jSeparator3;
|
||||
private javax.swing.JTable jTable1;
|
||||
private javax.swing.JPanel mainPanel;
|
||||
private javax.swing.JMenuBar menuBar;
|
||||
private javax.swing.JMenu toolMenu;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
class DoInstallDrivers extends TimerTask {
|
||||
public void run() {
|
||||
if(JOptionPane.showConfirmDialog(null, "<html><body width=\"400px\">" +
|
||||
bundle.getString("FOR_WEBOS_QUICK_INSTALL_TO_RUN_CORRECTLY," +
|
||||
"_YOUR_COMPUTER_NEEDS_TO_HAVE_THE_NOVACOM_DRIVER_INSTALLED._" +
|
||||
"WOULD_YOU_LIKE_TO_INSTALL_IT_NOW?"),
|
||||
bundle.getString("NOVACOM_DRIVER_MISSING"), JOptionPane.YES_NO_OPTION,
|
||||
JOptionPane.WARNING_MESSAGE)==JOptionPane.YES_OPTION) {
|
||||
installDrivers(true);
|
||||
if(devices.length==0) {
|
||||
timer.schedule(new CheckConnection(), 100);
|
||||
/*JOptionPane.showMessageDialog(mainPanel,
|
||||
bundle.getString("NO_DEVICES_ARE_CONNECTED." +
|
||||
"_CONNECT_A_DEVICE_THEN_RELAUNCH_WEBOS_QUICK_INSTALL."),
|
||||
bundle.getString("NO_DEVICES_FOUND"),
|
||||
JOptionPane.ERROR_MESSAGE);
|
||||
System.exit(0);*/
|
||||
}
|
||||
} else {
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class CheckConnection extends TimerTask {
|
||||
public void run() {
|
||||
connectionWarningIfNeeded();
|
||||
}
|
||||
}
|
||||
|
||||
class FirstCheckConnection extends TimerTask {
|
||||
public void run() {
|
||||
firstConnectionWarningIfNeeded();
|
||||
/*JOptionPane.showMessageDialog(mainPanel,
|
||||
bundle.getString("NO_DEVICES_ARE_CONNECTED." +
|
||||
"_CONNECT_A_DEVICE_THEN_RELAUNCH_WEBOS_QUICK_INSTALL."),
|
||||
bundle.getString("NO_DEVICES_FOUND"), JOptionPane.ERROR_MESSAGE);
|
||||
System.exit(0);*/
|
||||
}
|
||||
}
|
||||
|
||||
class ImagePanel extends JPanel {
|
||||
|
||||
private Image img;
|
||||
|
||||
public ImagePanel(String img) {
|
||||
this(new ImageIcon(img).getImage());
|
||||
}
|
||||
|
||||
public ImagePanel(Image img) {
|
||||
this.img = img;
|
||||
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
|
||||
setPreferredSize(size);
|
||||
setMinimumSize(size);
|
||||
setMaximumSize(size);
|
||||
setSize(size);
|
||||
setLayout(null);
|
||||
}
|
||||
|
||||
@Override public void paintComponent(Graphics g) {
|
||||
g.drawImage(img, 0, 0, null);
|
||||
}
|
||||
}
|
||||
|
||||
class DoctorChooseFilter extends javax.swing.filechooser.FileFilter {
|
||||
private final String[] okFileExtensions = new String[] {".jar"};
|
||||
|
||||
public boolean accept(File f) {
|
||||
for (String extension : okFileExtensions)
|
||||
if (f.getName().toLowerCase().endsWith(extension) || f.isDirectory())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return bundle.getString("JAR_FILES_(*.JAR)");
|
||||
}
|
||||
}
|
||||
|
||||
class WebOSChooseFilter extends javax.swing.filechooser.FileFilter {
|
||||
private final String[] okFileExtensions = new String[] {".ipk", ".diff", ".patch"};
|
||||
|
||||
public boolean accept(File f) {
|
||||
for (String extension : okFileExtensions)
|
||||
if (f.getName().toLowerCase().endsWith(extension) || f.isDirectory())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return bundle.getString("WEBOS_FILES_(*.IPK,_*.PATCH,_*.DIFF)");
|
||||
}
|
||||
}
|
||||
|
||||
class WebOSFileFilter implements java.io.FileFilter{
|
||||
private final String[] okFileExtensions = new String[] {".ipk", ".diff", ".patch"};
|
||||
|
||||
public boolean accept(File file) {
|
||||
for (String extension : okFileExtensions)
|
||||
if (file.getName().toLowerCase().endsWith(extension))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,208 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
||||
<Properties>
|
||||
<Property name="defaultCloseOperation" type="int" value="2"/>
|
||||
<Property name="title" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="ReceiveFile.title" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.ComponentChooserEditor">
|
||||
<ComponentRef name="null"/>
|
||||
</Property>
|
||||
<Property name="modal" type="boolean" value="true"/>
|
||||
<Property name="name" type="java.lang.String" value="transfer" noResource="true"/>
|
||||
<Property name="resizable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<SyntheticProperties>
|
||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||
</SyntheticProperties>
|
||||
<AuxValues>
|
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="0"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="470" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="160" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane1">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane1" noResource="true"/>
|
||||
</Properties>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane2">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
|
||||
<LineBorder>
|
||||
<Color PropertyName="color" blue="c0" green="c0" red="c0" type="rgb"/>
|
||||
</LineBorder>
|
||||
</Border>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="10" width="450" height="140" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JButton" name="jButton3">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jButton3" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="ReceiveFile.jButton3.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jButton3" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton3ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="260" y="100" width="79" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="jButton2">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jButton2" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="ReceiveFile.jButton2.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jButton2" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton2ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="110" y="100" width="140" height="25" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="jButton1">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jButton1" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="ReceiveFile.jButton1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jButton1" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="400" y="58" width="-1" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JTextField" name="jTextField2">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jTextField2" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="enabled" type="boolean" value="false"/>
|
||||
<Property name="name" type="java.lang.String" value="jTextField2" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTextField2MouseClicked"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="120" y="60" width="270" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel1" property="font" relativeSize="true" size="3"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="ReveiveFile.jLabel1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel1" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="60" width="140" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JTextField" name="jTextField1">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jTextField1" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jTextField1" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="80" y="20" width="360" height="24" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel2" property="font" relativeSize="true" size="3"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="ReveiveFile.jLabel2.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="20" width="70" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
@@ -0,0 +1,271 @@
|
||||
/*
|
||||
* WebOSQuickInstallAboutBox.java
|
||||
*/
|
||||
|
||||
package ca.canucksoftware.wosqi;
|
||||
|
||||
import ca.canucksoftware.utils.FileUtils;
|
||||
import ca.canucksoftware.webos.DeviceInfo;
|
||||
import ca.canucksoftware.webos.WebOSConnection;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.Icon;
|
||||
import java.awt.Component;
|
||||
import java.awt.Container;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JDialog;
|
||||
import java.io.*;
|
||||
import java.text.MessageFormat;
|
||||
import javax.swing.JOptionPane;
|
||||
import java.util.*;
|
||||
import java.util.Timer;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
public class ReceiveFile extends javax.swing.JDialog {
|
||||
private ResourceBundle bundle;
|
||||
public Timer t;
|
||||
private WebOSConnection webOS;
|
||||
private File dest;
|
||||
private String src;
|
||||
private boolean transferStarted;
|
||||
|
||||
public ReceiveFile(java.awt.Frame parent, WebOSConnection connection) {
|
||||
super(parent);
|
||||
bundle = WebOSQuickInstallApp.bundle;
|
||||
initComponents();
|
||||
webOS = connection;
|
||||
dest = null;
|
||||
transferStarted = false;
|
||||
t = new Timer();
|
||||
if(!webOS.isConnected()) {
|
||||
DeviceInfo info = webOS.getDeviceInfo();
|
||||
if(info!=null && !info.model().equals(DeviceInfo.Model.Unknown.toString())) {
|
||||
JOptionPane.showMessageDialog(rootPane, MessageFormat.format(bundle
|
||||
.getString("{0}_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN."),
|
||||
new Object[] {info.model()}));
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(rootPane, bundle
|
||||
.getString("DEVICE_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN."));
|
||||
}
|
||||
t.schedule(new DoDispose(), 200);
|
||||
}
|
||||
}
|
||||
|
||||
public void startTransfer() {
|
||||
if(dest!=null && dest.exists()) {
|
||||
transferStarted = true;
|
||||
jButton1.setEnabled(false);
|
||||
jButton2.setEnabled(false);
|
||||
jButton3.setEnabled(false);
|
||||
jTextField2.setEnabled(false);
|
||||
setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
|
||||
jButton2.setText(bundle.getString("PLEASE_WAIT..."));
|
||||
src = formatSrc(jTextField1.getText());
|
||||
t.schedule(new DoTransfer(), 200);
|
||||
}
|
||||
}
|
||||
|
||||
private String formatSrc(String file) {
|
||||
String result = null;
|
||||
result = file.replace("\\", "/");
|
||||
if(!result.startsWith("/"))
|
||||
result = "/" + result;
|
||||
return result;
|
||||
}
|
||||
|
||||
public void closeCustTransfer() {
|
||||
dispose();
|
||||
}
|
||||
|
||||
private void loadFileChooser() {
|
||||
JFileChooser fc = new JFileChooser(); //Create a file chooser
|
||||
fc.setDialogTitle("");
|
||||
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
||||
disableNewFolderButton(fc);
|
||||
if (fc.showDialog(rootPane, bundle.getString("SELECT"))==
|
||||
JFileChooser.APPROVE_OPTION) {
|
||||
dest = fc.getSelectedFile();
|
||||
jTextField2.setText(dest.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
|
||||
private void disableNewFolderButton(Container c) {
|
||||
int len = c.getComponentCount();
|
||||
for(int i=0; i<len; i++) {
|
||||
Component comp = c.getComponent(i);
|
||||
if(comp instanceof JButton) {
|
||||
JButton b = (JButton)comp;
|
||||
Icon icon = b.getIcon();
|
||||
if(icon != null && (icon == UIManager.getIcon("FileChooser.newFolderIcon")
|
||||
|| icon == UIManager.getIcon("FileChooser.upFolderIcon")))
|
||||
b.setEnabled(false);
|
||||
} else if (comp instanceof Container) {
|
||||
disableNewFolderButton((Container)comp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** This method is called from within the constructor to
|
||||
* initialize the form.
|
||||
* WARNING: Do NOT modify this code. The content of this method is
|
||||
* always regenerated by the Form Editor.
|
||||
*/
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
jLayeredPane1 = new javax.swing.JLayeredPane();
|
||||
jLayeredPane2 = new javax.swing.JLayeredPane();
|
||||
jButton3 = new javax.swing.JButton();
|
||||
jButton2 = new javax.swing.JButton();
|
||||
jButton1 = new javax.swing.JButton();
|
||||
jTextField2 = new javax.swing.JTextField();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jTextField1 = new javax.swing.JTextField();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
setTitle(bundle.getString("ReceiveFile.title")); // NOI18N
|
||||
setIconImage(null);
|
||||
setModal(true);
|
||||
setName("transfer"); // NOI18N
|
||||
setResizable(false);
|
||||
|
||||
jLayeredPane1.setName("jLayeredPane1"); // NOI18N
|
||||
|
||||
jLayeredPane2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(192, 192, 192)));
|
||||
jLayeredPane2.setName("jLayeredPane2"); // NOI18N
|
||||
|
||||
jButton3.setFont(jButton3.getFont().deriveFont(jButton3.getFont().getSize()+1f));
|
||||
jButton3.setText(bundle.getString("ReceiveFile.jButton3.text")); // NOI18N
|
||||
jButton3.setName("jButton3"); // NOI18N
|
||||
jButton3.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton3ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton3.setBounds(260, 100, 79, 23);
|
||||
jLayeredPane2.add(jButton3, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jButton2.setFont(jButton2.getFont().deriveFont(jButton2.getFont().getSize()+1f));
|
||||
jButton2.setText(bundle.getString("ReceiveFile.jButton2.text")); // NOI18N
|
||||
jButton2.setName("jButton2"); // NOI18N
|
||||
jButton2.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton2ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton2.setBounds(110, 100, 140, 25);
|
||||
jLayeredPane2.add(jButton2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jButton1.setFont(jButton1.getFont());
|
||||
jButton1.setText(bundle.getString("ReceiveFile.jButton1.text")); // NOI18N
|
||||
jButton1.setName("jButton1"); // NOI18N
|
||||
jButton1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton1.setBounds(400, 58, 45, 23);
|
||||
jLayeredPane2.add(jButton1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jTextField2.setFont(jTextField2.getFont());
|
||||
jTextField2.setEnabled(false);
|
||||
jTextField2.setName("jTextField2"); // NOI18N
|
||||
jTextField2.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||
jTextField2MouseClicked(evt);
|
||||
}
|
||||
});
|
||||
jTextField2.setBounds(120, 60, 270, 20);
|
||||
jLayeredPane2.add(jTextField2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel1.setFont(jLabel1.getFont().deriveFont(jLabel1.getFont().getSize()+3f));
|
||||
jLabel1.setText(bundle.getString("ReveiveFile.jLabel1.text")); // NOI18N
|
||||
jLabel1.setName("jLabel1"); // NOI18N
|
||||
jLabel1.setBounds(10, 60, 140, 20);
|
||||
jLayeredPane2.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jTextField1.setFont(jTextField1.getFont());
|
||||
jTextField1.setName("jTextField1"); // NOI18N
|
||||
jTextField1.setBounds(80, 20, 360, 24);
|
||||
jLayeredPane2.add(jTextField1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel2.setFont(jLabel2.getFont().deriveFont(jLabel2.getFont().getSize()+3f));
|
||||
jLabel2.setText(bundle.getString("ReveiveFile.jLabel2.text")); // NOI18N
|
||||
jLabel2.setName("jLabel2"); // NOI18N
|
||||
jLabel2.setBounds(10, 20, 70, 20);
|
||||
jLayeredPane2.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLayeredPane2.setBounds(10, 10, 450, 140);
|
||||
jLayeredPane1.add(jLayeredPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||
getContentPane().setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 470, Short.MAX_VALUE)
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 160, Short.MAX_VALUE)
|
||||
);
|
||||
|
||||
pack();
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
|
||||
loadFileChooser();
|
||||
}//GEN-LAST:event_jButton1ActionPerformed
|
||||
|
||||
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
|
||||
startTransfer();
|
||||
}//GEN-LAST:event_jButton2ActionPerformed
|
||||
|
||||
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
|
||||
closeCustTransfer();
|
||||
}//GEN-LAST:event_jButton3ActionPerformed
|
||||
|
||||
private void jTextField2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextField2MouseClicked
|
||||
if(!transferStarted)
|
||||
loadFileChooser();
|
||||
}//GEN-LAST:event_jTextField2MouseClicked
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
javax.swing.JButton jButton1;
|
||||
javax.swing.JButton jButton2;
|
||||
javax.swing.JButton jButton3;
|
||||
javax.swing.JLabel jLabel1;
|
||||
javax.swing.JLabel jLabel2;
|
||||
javax.swing.JLayeredPane jLayeredPane1;
|
||||
javax.swing.JLayeredPane jLayeredPane2;
|
||||
javax.swing.JTextField jTextField1;
|
||||
javax.swing.JTextField jTextField2;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
class DoTransfer extends TimerTask {
|
||||
public void run() {
|
||||
dest=new File(dest, FileUtils.getFilename(src));
|
||||
if(dest.exists()) {
|
||||
dest.delete();
|
||||
}
|
||||
if(webOS.receiveFile(src, dest)) {
|
||||
JOptionPane.showMessageDialog(rootPane,
|
||||
bundle.getString("FILE_TRANSFERRED_SUCCESSFULLY."));
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(rootPane,
|
||||
bundle.getString("FILE_TRANSFER_FAILED."));
|
||||
}
|
||||
jButton1.setEnabled(true);
|
||||
jButton2.setEnabled(true);
|
||||
jButton3.setEnabled(true);
|
||||
jTextField2.setEnabled(true);
|
||||
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
|
||||
dispose();
|
||||
}
|
||||
}
|
||||
class DoDispose extends TimerTask {
|
||||
public void run() {
|
||||
dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,208 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
||||
<Properties>
|
||||
<Property name="defaultCloseOperation" type="int" value="2"/>
|
||||
<Property name="title" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="SendFile.title" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.ComponentChooserEditor">
|
||||
<ComponentRef name="null"/>
|
||||
</Property>
|
||||
<Property name="modal" type="boolean" value="true"/>
|
||||
<Property name="name" type="java.lang.String" value="transfer" noResource="true"/>
|
||||
<Property name="resizable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<SyntheticProperties>
|
||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||
</SyntheticProperties>
|
||||
<AuxValues>
|
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="470" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="160" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane1">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane1" noResource="true"/>
|
||||
</Properties>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane2">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
|
||||
<LineBorder>
|
||||
<Color PropertyName="color" blue="c0" green="c0" red="c0" type="rgb"/>
|
||||
</LineBorder>
|
||||
</Border>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="10" width="450" height="140" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JButton" name="jButton3">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jButton3" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="SendFile.jButton3.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jButton3" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton3ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="260" y="100" width="79" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="jButton2">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jButton2" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="SendFile.jButton2.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jButton2" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton2ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="110" y="100" width="140" height="25" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JTextField" name="jTextField1">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jTextField1" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="enabled" type="boolean" value="false"/>
|
||||
<Property name="name" type="java.lang.String" value="jTextField1" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTextField1MouseClicked"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="80" y="20" width="297" height="24" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="jButton1">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jButton1" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="SendFile.jButton1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jButton1" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="380" y="20" width="-1" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel1" property="font" relativeSize="true" size="3"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="SendFile.jLabel1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel1" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="60" width="140" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel2" property="font" relativeSize="true" size="3"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="SendFile.jLabel2.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="20" width="70" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JTextField" name="jTextField2">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jTextField2" property="font" relativeSize="true" size="0"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jTextField2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="130" y="60" width="290" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
@@ -0,0 +1,285 @@
|
||||
/*
|
||||
* WebOSQuickInstallAboutBox.java
|
||||
*/
|
||||
|
||||
package ca.canucksoftware.wosqi;
|
||||
|
||||
import ca.canucksoftware.utils.FileUtils;
|
||||
import ca.canucksoftware.webos.DeviceInfo;
|
||||
import ca.canucksoftware.webos.WebOSConnection;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.Icon;
|
||||
import java.awt.Component;
|
||||
import java.awt.Container;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JDialog;
|
||||
import java.io.*;
|
||||
import java.text.MessageFormat;
|
||||
import javax.swing.JOptionPane;
|
||||
import java.util.*;
|
||||
import net.iharder.dnd.*;
|
||||
import java.util.Timer;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
public class SendFile extends javax.swing.JDialog {
|
||||
private ResourceBundle bundle;
|
||||
public Timer t;
|
||||
private WebOSConnection webOS;
|
||||
private File src;
|
||||
private String dest;
|
||||
private boolean transferStarted;
|
||||
|
||||
public SendFile(java.awt.Frame parent, WebOSConnection wc) {
|
||||
super(parent);
|
||||
bundle = WebOSQuickInstallApp.bundle;
|
||||
initComponents();
|
||||
src = null;
|
||||
transferStarted = false;
|
||||
webOS = wc;
|
||||
t = new Timer();
|
||||
new FileDrop(jLayeredPane1, new FileDrop.Listener()
|
||||
{
|
||||
public void filesDropped(File[] files )
|
||||
{
|
||||
src = files[0];
|
||||
try {
|
||||
jTextField1.setText(src.getCanonicalPath());
|
||||
} catch(Exception e){}
|
||||
}
|
||||
});
|
||||
if(!webOS.isConnected()) {
|
||||
DeviceInfo info = webOS.getDeviceInfo();
|
||||
if(info!=null && !info.model().equals(DeviceInfo.Model.Unknown.toString())) {
|
||||
JOptionPane.showMessageDialog(rootPane, MessageFormat.format(bundle
|
||||
.getString("{0}_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN."),
|
||||
new Object[] {info.model()}));
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(rootPane, bundle
|
||||
.getString("DEVICE_IS_DISCONNECTED._PLEASE_RECONNECT_THEN_TRY_AGAIN."));
|
||||
}
|
||||
t.schedule(new DoDispose(), 200);
|
||||
}
|
||||
}
|
||||
|
||||
public void startTransfer() {
|
||||
if(src!=null && src.exists()) {
|
||||
transferStarted = true;
|
||||
jButton1.setEnabled(false);
|
||||
jButton2.setEnabled(false);
|
||||
jButton3.setEnabled(false);
|
||||
jTextField2.setEnabled(false);
|
||||
setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
|
||||
jButton2.setText(bundle.getString("PLEASE_WAIT..."));
|
||||
dest = formatDest(jTextField2.getText().trim());
|
||||
t.schedule(new DoTransfer(), 200);
|
||||
}
|
||||
}
|
||||
|
||||
private String formatDest(String path) {
|
||||
String result = null;
|
||||
result = path.replace("\\", "/");
|
||||
if(!result.startsWith("/"))
|
||||
result = "/" + result;
|
||||
if(!result.endsWith("/"))
|
||||
result = result + "/";
|
||||
return result;
|
||||
}
|
||||
|
||||
public void closeCustTransfer() {
|
||||
dispose();
|
||||
}
|
||||
|
||||
private void loadFileChooser() {
|
||||
JFileChooser fc = new JFileChooser(); //Create a file chooser
|
||||
fc.setAcceptAllFileFilterUsed(true);
|
||||
fc.setMultiSelectionEnabled(false);
|
||||
fc.setDialogTitle("");
|
||||
disableNewFolderButton(fc);
|
||||
if (fc.showDialog(rootPane, bundle.getString("SELECT"))==
|
||||
JFileChooser.APPROVE_OPTION) {
|
||||
src = fc.getSelectedFile();
|
||||
try {
|
||||
jTextField1.setText(src.getCanonicalPath());
|
||||
} catch(Exception e){}
|
||||
}
|
||||
}
|
||||
|
||||
private void disableNewFolderButton(Container c) {
|
||||
int len = c.getComponentCount();
|
||||
for(int i=0; i<len; i++) {
|
||||
Component comp = c.getComponent(i);
|
||||
if(comp instanceof JButton) {
|
||||
JButton b = (JButton)comp;
|
||||
Icon icon = b.getIcon();
|
||||
if(icon != null && (icon == UIManager.getIcon("FileChooser.newFolderIcon")
|
||||
|| icon == UIManager.getIcon("FileChooser.upFolderIcon")))
|
||||
b.setEnabled(false);
|
||||
} else if (comp instanceof Container) {
|
||||
disableNewFolderButton((Container)comp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** This method is called from within the constructor to
|
||||
* initialize the form.
|
||||
* WARNING: Do NOT modify this code. The content of this method is
|
||||
* always regenerated by the Form Editor.
|
||||
*/
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
jLayeredPane1 = new javax.swing.JLayeredPane();
|
||||
jLayeredPane2 = new javax.swing.JLayeredPane();
|
||||
jButton3 = new javax.swing.JButton();
|
||||
jButton2 = new javax.swing.JButton();
|
||||
jTextField1 = new javax.swing.JTextField();
|
||||
jButton1 = new javax.swing.JButton();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
jTextField2 = new javax.swing.JTextField();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
setTitle(bundle.getString("SendFile.title")); // NOI18N
|
||||
setIconImage(null);
|
||||
setModal(true);
|
||||
setName("transfer"); // NOI18N
|
||||
setResizable(false);
|
||||
|
||||
jLayeredPane1.setName("jLayeredPane1"); // NOI18N
|
||||
|
||||
jLayeredPane2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(192, 192, 192)));
|
||||
jLayeredPane2.setName("jLayeredPane2"); // NOI18N
|
||||
|
||||
jButton3.setFont(jButton3.getFont().deriveFont(jButton3.getFont().getSize()+1f));
|
||||
jButton3.setText(bundle.getString("SendFile.jButton3.text")); // NOI18N
|
||||
jButton3.setName("jButton3"); // NOI18N
|
||||
jButton3.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton3ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton3.setBounds(260, 100, 79, 23);
|
||||
jLayeredPane2.add(jButton3, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jButton2.setFont(jButton2.getFont().deriveFont(jButton2.getFont().getSize()+1f));
|
||||
jButton2.setText(bundle.getString("SendFile.jButton2.text")); // NOI18N
|
||||
jButton2.setName("jButton2"); // NOI18N
|
||||
jButton2.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton2ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton2.setBounds(110, 100, 140, 25);
|
||||
jLayeredPane2.add(jButton2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jTextField1.setFont(jTextField1.getFont());
|
||||
jTextField1.setEnabled(false);
|
||||
jTextField1.setName("jTextField1"); // NOI18N
|
||||
jTextField1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||
jTextField1MouseClicked(evt);
|
||||
}
|
||||
});
|
||||
jTextField1.setBounds(80, 20, 297, 24);
|
||||
jLayeredPane2.add(jTextField1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jButton1.setFont(jButton1.getFont());
|
||||
jButton1.setText(bundle.getString("SendFile.jButton1.text")); // NOI18N
|
||||
jButton1.setName("jButton1"); // NOI18N
|
||||
jButton1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton1.setBounds(380, 20, 45, 23);
|
||||
jLayeredPane2.add(jButton1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel1.setFont(jLabel1.getFont().deriveFont(jLabel1.getFont().getSize()+3f));
|
||||
jLabel1.setText(bundle.getString("SendFile.jLabel1.text")); // NOI18N
|
||||
jLabel1.setName("jLabel1"); // NOI18N
|
||||
jLabel1.setBounds(10, 60, 140, 20);
|
||||
jLayeredPane2.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel2.setFont(jLabel2.getFont().deriveFont(jLabel2.getFont().getSize()+3f));
|
||||
jLabel2.setText(bundle.getString("SendFile.jLabel2.text")); // NOI18N
|
||||
jLabel2.setName("jLabel2"); // NOI18N
|
||||
jLabel2.setBounds(10, 20, 70, 20);
|
||||
jLayeredPane2.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jTextField2.setFont(jTextField2.getFont());
|
||||
jTextField2.setName("jTextField2"); // NOI18N
|
||||
jTextField2.setBounds(130, 60, 290, 20);
|
||||
jLayeredPane2.add(jTextField2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLayeredPane2.setBounds(10, 10, 450, 140);
|
||||
jLayeredPane1.add(jLayeredPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||
getContentPane().setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 470, Short.MAX_VALUE)
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 160, Short.MAX_VALUE)
|
||||
);
|
||||
|
||||
pack();
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void jTextField1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextField1MouseClicked
|
||||
if(!transferStarted)
|
||||
loadFileChooser();
|
||||
}//GEN-LAST:event_jTextField1MouseClicked
|
||||
|
||||
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
|
||||
loadFileChooser();
|
||||
}//GEN-LAST:event_jButton1ActionPerformed
|
||||
|
||||
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
|
||||
startTransfer();
|
||||
}//GEN-LAST:event_jButton2ActionPerformed
|
||||
|
||||
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
|
||||
closeCustTransfer();
|
||||
}//GEN-LAST:event_jButton3ActionPerformed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JButton jButton1;
|
||||
private javax.swing.JButton jButton2;
|
||||
private javax.swing.JButton jButton3;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JLayeredPane jLayeredPane1;
|
||||
private javax.swing.JLayeredPane jLayeredPane2;
|
||||
private javax.swing.JTextField jTextField1;
|
||||
private javax.swing.JTextField jTextField2;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
class DoTransfer extends TimerTask {
|
||||
public void run() {
|
||||
webOS.remountPartitionReadWrite();
|
||||
webOS.mkdir(dest);
|
||||
if(webOS.sendFile(src, dest + FileUtils.getFilename(src))) {
|
||||
JOptionPane.showMessageDialog(rootPane,
|
||||
bundle.getString("FILE_TRANSFERRED_SUCCESSFULLY."));
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(rootPane,
|
||||
bundle.getString("FILE_TRANSFER_FAILED."));
|
||||
}
|
||||
jButton1.setEnabled(true);
|
||||
jButton2.setEnabled(true);
|
||||
jButton3.setEnabled(true);
|
||||
jTextField2.setEnabled(true);
|
||||
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
|
||||
dispose();
|
||||
}
|
||||
}
|
||||
class DoDispose extends TimerTask {
|
||||
public void run() {
|
||||
dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,347 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.6" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
||||
<Properties>
|
||||
<Property name="defaultCloseOperation" type="int" value="2"/>
|
||||
<Property name="title" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Settings.title" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.ComponentChooserEditor">
|
||||
<ComponentRef name="null"/>
|
||||
</Property>
|
||||
<Property name="modal" type="boolean" value="true"/>
|
||||
<Property name="name" type="java.lang.String" value="transfer" noResource="true"/>
|
||||
<Property name="resizable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<SyntheticProperties>
|
||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||
</SyntheticProperties>
|
||||
<AuxValues>
|
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="470" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" min="-2" pref="499" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane1">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane1" noResource="true"/>
|
||||
</Properties>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane2">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
|
||||
<EtchetBorder/>
|
||||
</Border>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="10" width="450" height="480" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel2" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Settings.jLabel2.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="90" width="230" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane3">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane3" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="280" width="380" height="120" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTable" name="jTable2">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="2" rowCount="0">
|
||||
<Column editable="false" title="" type="java.lang.String"/>
|
||||
<Column editable="true" title="" type="java.lang.Boolean"/>
|
||||
</Table>
|
||||
</Property>
|
||||
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||
<TableColumnModel selectionModel="0">
|
||||
<Column maxWidth="-1" minWidth="-1" prefWidth="350" resizable="false">
|
||||
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Settings.jTable1.columnModel.title1" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Title>
|
||||
<Editor/>
|
||||
<Renderer/>
|
||||
</Column>
|
||||
<Column maxWidth="-1" minWidth="-1" prefWidth="10" resizable="false">
|
||||
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Settings.jTable1.columnModel.title0" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Title>
|
||||
<Editor/>
|
||||
<Renderer/>
|
||||
</Column>
|
||||
</TableColumnModel>
|
||||
</Property>
|
||||
<Property name="fillsViewportHeight" type="boolean" value="true"/>
|
||||
<Property name="name" type="java.lang.String" value="jTable2" noResource="true"/>
|
||||
<Property name="selectionModel" type="javax.swing.ListSelectionModel" editor="org.netbeans.modules.form.editors2.JTableSelectionModelEditor">
|
||||
<JTableSelectionModel selectionMode="0"/>
|
||||
</Property>
|
||||
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||
<Connection code="null" type="code"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JCheckBox" name="jCheckBox1">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jCheckBox1" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Settings.jCheckBox1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jCheckBox1" noResource="true"/>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="verticalTextPosition" type="int" value="1"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jCheckBox1ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="50" width="410" height="40" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="jButton6">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jButton6" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" value="+"/>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
<Property name="iconTextGap" type="int" value="0"/>
|
||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||
<Insets value="[-1, -1, 0, 0]"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jButton6" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton6ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="410" y="280" width="30" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="jButton1">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Settings.jButton1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jButton1" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="30" y="420" width="360" height="40" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane2">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane2" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="120" width="410" height="130" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTable" name="jTable1">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
|
||||
<LineBorder roundedCorners="true">
|
||||
<Color PropertyName="color" blue="80" green="80" red="80" type="rgb"/>
|
||||
</LineBorder>
|
||||
</Border>
|
||||
</Property>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="2" rowCount="0">
|
||||
<Column editable="false" title="" type="java.lang.String"/>
|
||||
<Column editable="true" title="" type="java.lang.Boolean"/>
|
||||
</Table>
|
||||
</Property>
|
||||
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||
<TableColumnModel selectionModel="0">
|
||||
<Column maxWidth="-1" minWidth="-1" prefWidth="350" resizable="false">
|
||||
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Settings.jTable1.columnModel.title1" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Title>
|
||||
<Editor/>
|
||||
<Renderer/>
|
||||
</Column>
|
||||
<Column maxWidth="-1" minWidth="-1" prefWidth="10" resizable="false">
|
||||
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Settings.jTable1.columnModel.title0" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Title>
|
||||
<Editor/>
|
||||
<Renderer/>
|
||||
</Column>
|
||||
</TableColumnModel>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jTable1" noResource="true"/>
|
||||
<Property name="selectionModel" type="javax.swing.ListSelectionModel" editor="org.netbeans.modules.form.editors2.JTableSelectionModelEditor">
|
||||
<JTableSelectionModel selectionMode="0"/>
|
||||
</Property>
|
||||
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||
<Connection code="null" type="code"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mousePressed" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTable1MousePressed"/>
|
||||
<EventHandler event="mouseReleased" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTable1MouseReleased"/>
|
||||
</Events>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JComboBox" name="jComboBox1">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
||||
<StringArray count="0"/>
|
||||
</Property>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
<Property name="name" type="java.lang.String" value="jComboBox1" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jComboBox1ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="130" y="10" width="170" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="jButton7">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jButton7" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" value="‒"/>
|
||||
<Property name="focusable" type="boolean" value="false"/>
|
||||
<Property name="iconTextGap" type="int" value="0"/>
|
||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||
<Insets value="[-1, -1, 0, 0]"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jButton7" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton7ActionPerformed"/>
|
||||
</Events>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="410" y="310" width="30" height="-1" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel1" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Settings.jLabel1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel1" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="10" width="110" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel3">
|
||||
<Properties>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jLabel3" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Settings.jLabel3.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLabel3" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="20" y="250" width="230" height="20" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
@@ -0,0 +1,506 @@
|
||||
/*
|
||||
* WebOSQuickInstallAboutBox.java
|
||||
*/
|
||||
|
||||
package ca.canucksoftware.wosqi;
|
||||
|
||||
import ca.canucksoftware.utils.OnlineFile;
|
||||
import ca.canucksoftware.webos.DeviceInfo;
|
||||
import java.util.ArrayList;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import java.util.prefs.Preferences;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.table.DefaultTableModel;
|
||||
|
||||
public class Settings extends javax.swing.JDialog {
|
||||
public boolean feedsChanged;
|
||||
private DefaultTableModel tableDefault;
|
||||
private DefaultTableModel tableCustom;
|
||||
private ResourceBundle bundle;
|
||||
private String language;
|
||||
private ArrayList<String> customFeeds;
|
||||
private Timer t;
|
||||
private boolean loaded;
|
||||
|
||||
public Settings(java.awt.Frame parent) {
|
||||
super(parent);
|
||||
loaded = false;
|
||||
bundle = WebOSQuickInstallApp.bundle;
|
||||
t = new Timer();
|
||||
feedsChanged = false;
|
||||
initComponents();
|
||||
tableDefault = (DefaultTableModel) jTable1.getModel();
|
||||
tableCustom = (DefaultTableModel) jTable2.getModel();
|
||||
loadLanguageFromPrefs();
|
||||
jCheckBox1.setSelected(DeviceInfo.isUsingDeviceName());
|
||||
loadDefaultFeedsFromPrefs();
|
||||
loadCustomFeedsFromPrefs();
|
||||
jLayeredPane2.requestFocus();
|
||||
loaded = true;
|
||||
jScrollPane2.setBorder(null);
|
||||
try {
|
||||
jButton1.setEnabled((Preferences.userNodeForPackage(DeviceInfo.class).keys().length!=0));
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
|
||||
private void loadLanguageFromPrefs() {
|
||||
language = Preferences.systemRoot().get("language", null);
|
||||
jComboBox1.addItem(bundle.getString("<SYSTEM_DEFAULT>"));
|
||||
jComboBox1.addItem(bundle.getString("ENGLISH"));
|
||||
jComboBox1.addItem(bundle.getString("FRENCH"));
|
||||
jComboBox1.addItem(bundle.getString("GERMAN"));
|
||||
jComboBox1.addItem(bundle.getString("SIMPLIFIED_CHINESE"));
|
||||
if(language==null) {
|
||||
jComboBox1.setSelectedIndex(0);
|
||||
} else if(language.equals("en")) {
|
||||
jComboBox1.setSelectedIndex(1);
|
||||
} else if(language.equals("fr")) {
|
||||
jComboBox1.setSelectedIndex(2);
|
||||
} else if(language.equals("de")) {
|
||||
jComboBox1.setSelectedIndex(3);
|
||||
} else if(language.equals("zh")) {
|
||||
jComboBox1.setSelectedIndex(4);
|
||||
}
|
||||
}
|
||||
|
||||
private void saveLanguagePrefs() {
|
||||
int index = jComboBox1.getSelectedIndex();
|
||||
if(index==0) { //system default
|
||||
if(language!=null) {
|
||||
Preferences.systemRoot().remove("language");
|
||||
t.schedule(new DoLanguageNotice(), 200);
|
||||
language = null;
|
||||
}
|
||||
} else {
|
||||
String newLanguage = null;
|
||||
if(index==1) { //english
|
||||
newLanguage = "en";
|
||||
} else if(index==2) { //french
|
||||
newLanguage = "fr";
|
||||
} else if(index==3) { //german
|
||||
newLanguage = "de";
|
||||
} else if(index==4) { //chinese
|
||||
newLanguage = "zh";
|
||||
}
|
||||
if(newLanguage!=null) {
|
||||
if(language==null || !language.equals(newLanguage)) {
|
||||
language = newLanguage;
|
||||
Preferences.systemRoot().put("language", language);
|
||||
t.schedule(new DoLanguageNotice(), 200);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void loadDefaultFeedsFromPrefs() {
|
||||
while(tableDefault.getRowCount()>0) {
|
||||
tableDefault.removeRow(0);
|
||||
}
|
||||
boolean currState = Preferences.systemRoot().getBoolean("defaultFeedState-0", true);
|
||||
tableDefault.addRow(new Object[] {bundle.getString("FEED_PRECENTRAL"), new Boolean(currState)});
|
||||
|
||||
currState = Preferences.systemRoot().getBoolean("defaultFeedState-1", true);
|
||||
tableDefault.addRow(new Object[] {bundle.getString("FEED_WEBOSINTERNALS"), new Boolean(currState)});
|
||||
|
||||
currState = Preferences.systemRoot().getBoolean("defaultFeedState-3", true);
|
||||
tableDefault.addRow(new Object[] {bundle.getString("FEED_PATCHES"), new Boolean(currState)});
|
||||
|
||||
currState = Preferences.systemRoot().getBoolean("defaultFeedState-4", true);
|
||||
tableDefault.addRow(new Object[] {bundle.getString("FEED_KERNELS"), new Boolean(currState)});
|
||||
|
||||
currState = Preferences.systemRoot().getBoolean("defaultFeedState-5", true);
|
||||
tableDefault.addRow(new Object[] {bundle.getString("FEED_PRETHEMER"), new Boolean(currState)});
|
||||
|
||||
currState = Preferences.systemRoot().getBoolean("defaultFeedState-6", true);
|
||||
tableDefault.addRow(new Object[] {bundle.getString("FEED_PCTHEMES"), new Boolean(currState)});
|
||||
|
||||
currState = Preferences.systemRoot().getBoolean("defaultFeedState-7", true);
|
||||
tableDefault.addRow(new Object[] {bundle.getString("FEED_CLOCK"), new Boolean(currState)});
|
||||
}
|
||||
|
||||
private void saveDefaultFeedsToPrefs() {
|
||||
Boolean currState = (Boolean) tableDefault.getValueAt(0, 1);
|
||||
Preferences.systemRoot().putBoolean("defaultFeedState-0", currState.booleanValue());
|
||||
|
||||
currState = (Boolean) tableDefault.getValueAt(1, 1);
|
||||
Preferences.systemRoot().putBoolean("defaultFeedState-1", currState.booleanValue());
|
||||
Preferences.systemRoot().putBoolean("defaultFeedState-2", currState.booleanValue());
|
||||
|
||||
currState = (Boolean) tableDefault.getValueAt(2, 1);
|
||||
Preferences.systemRoot().putBoolean("defaultFeedState-3", currState.booleanValue());
|
||||
|
||||
currState = (Boolean) tableDefault.getValueAt(3, 1);
|
||||
Preferences.systemRoot().putBoolean("defaultFeedState-4", currState.booleanValue());
|
||||
|
||||
currState = (Boolean) tableDefault.getValueAt(4, 1);
|
||||
Preferences.systemRoot().putBoolean("defaultFeedState-5", currState.booleanValue());
|
||||
|
||||
currState = (Boolean) tableDefault.getValueAt(5, 1);
|
||||
Preferences.systemRoot().putBoolean("defaultFeedState-6", currState.booleanValue());
|
||||
|
||||
currState = (Boolean) tableDefault.getValueAt(6, 1);
|
||||
Preferences.systemRoot().putBoolean("defaultFeedState-7", currState.booleanValue());
|
||||
}
|
||||
|
||||
private void loadCustomFeedsFromPrefs() {
|
||||
while(tableCustom.getRowCount()>0) {
|
||||
tableCustom.removeRow(0);
|
||||
}
|
||||
customFeeds = new ArrayList();
|
||||
int num = Preferences.systemRoot().getInt("numCustomFeeds", 0);
|
||||
for(int i=0; i<num; i++) {
|
||||
String currUrl = Preferences.systemRoot().get("customfeed" + i, null);
|
||||
if(currUrl!=null) {
|
||||
boolean currState = Preferences.systemRoot().getBoolean("customFeedState-" + i, true);
|
||||
customFeeds.add(currUrl);
|
||||
tableCustom.addRow(new Object[] {currUrl, new Boolean(currState)});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void clearCustomListPref() {
|
||||
for(int i=0; i<customFeeds.size(); i++) {
|
||||
Preferences.systemRoot().remove("customfeed" + i);
|
||||
}
|
||||
}
|
||||
|
||||
private void saveCustomListPref() {
|
||||
Preferences.systemRoot().putInt("numCustomFeeds", customFeeds.size());
|
||||
for(int i=0; i<customFeeds.size(); i++) {
|
||||
Preferences.systemRoot().put("customfeed" + i, customFeeds.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
/** This method is called from within the constructor to
|
||||
* initialize the form.
|
||||
* WARNING: Do NOT modify this code. The content of this method is
|
||||
* always regenerated by the Form Editor.
|
||||
*/
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
jLayeredPane1 = new javax.swing.JLayeredPane();
|
||||
jLayeredPane2 = new javax.swing.JLayeredPane();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
jScrollPane3 = new javax.swing.JScrollPane();
|
||||
jTable2 = new javax.swing.JTable();
|
||||
jCheckBox1 = new javax.swing.JCheckBox();
|
||||
jButton6 = new javax.swing.JButton();
|
||||
jButton1 = new javax.swing.JButton();
|
||||
jScrollPane2 = new javax.swing.JScrollPane();
|
||||
jTable1 = new javax.swing.JTable();
|
||||
jComboBox1 = new javax.swing.JComboBox();
|
||||
jButton7 = new javax.swing.JButton();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
jLabel3 = new javax.swing.JLabel();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
setTitle(bundle.getString("Settings.title")); // NOI18N
|
||||
setIconImage(null);
|
||||
setModal(true);
|
||||
setName("transfer"); // NOI18N
|
||||
setResizable(false);
|
||||
|
||||
jLayeredPane1.setName("jLayeredPane1"); // NOI18N
|
||||
|
||||
jLayeredPane2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
|
||||
jLayeredPane2.setName("jLayeredPane2"); // NOI18N
|
||||
|
||||
jLabel2.setFont(jLabel2.getFont().deriveFont(jLabel2.getFont().getSize()+1f));
|
||||
jLabel2.setText(bundle.getString("Settings.jLabel2.text")); // NOI18N
|
||||
jLabel2.setName("jLabel2"); // NOI18N
|
||||
jLabel2.setBounds(20, 90, 230, 20);
|
||||
jLayeredPane2.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jScrollPane3.setName("jScrollPane3"); // NOI18N
|
||||
|
||||
jTable2.setModel(new javax.swing.table.DefaultTableModel(
|
||||
new Object [][] {
|
||||
|
||||
},
|
||||
new String [] {
|
||||
"", ""
|
||||
}
|
||||
) {
|
||||
Class[] types = new Class [] {
|
||||
java.lang.String.class, java.lang.Boolean.class
|
||||
};
|
||||
boolean[] canEdit = new boolean [] {
|
||||
false, true
|
||||
};
|
||||
|
||||
public Class getColumnClass(int columnIndex) {
|
||||
return types [columnIndex];
|
||||
}
|
||||
|
||||
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
||||
return canEdit [columnIndex];
|
||||
}
|
||||
});
|
||||
jTable2.setFillsViewportHeight(true);
|
||||
jTable2.setName("jTable2"); // NOI18N
|
||||
jTable2.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
|
||||
jTable2.setTableHeader(null);
|
||||
jScrollPane3.setViewportView(jTable2);
|
||||
jTable2.getColumnModel().getColumn(0).setResizable(false);
|
||||
jTable2.getColumnModel().getColumn(0).setPreferredWidth(350);
|
||||
jTable2.getColumnModel().getColumn(0).setHeaderValue(bundle.getString("Settings.jTable1.columnModel.title1")); // NOI18N
|
||||
jTable2.getColumnModel().getColumn(1).setResizable(false);
|
||||
jTable2.getColumnModel().getColumn(1).setPreferredWidth(10);
|
||||
jTable2.getColumnModel().getColumn(1).setHeaderValue(bundle.getString("Settings.jTable1.columnModel.title0")); // NOI18N
|
||||
|
||||
jScrollPane3.setBounds(20, 280, 380, 120);
|
||||
jLayeredPane2.add(jScrollPane3, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jCheckBox1.setFont(jCheckBox1.getFont().deriveFont(jCheckBox1.getFont().getSize()+1f));
|
||||
jCheckBox1.setText(bundle.getString("Settings.jCheckBox1.text")); // NOI18N
|
||||
jCheckBox1.setName("jCheckBox1"); // NOI18N
|
||||
jCheckBox1.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jCheckBox1.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
|
||||
jCheckBox1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jCheckBox1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jCheckBox1.setBounds(20, 50, 410, 40);
|
||||
jLayeredPane2.add(jCheckBox1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jButton6.setFont(jButton6.getFont().deriveFont(jButton6.getFont().getSize()+1f));
|
||||
jButton6.setText("+");
|
||||
jButton6.setFocusable(false);
|
||||
jButton6.setIconTextGap(0);
|
||||
jButton6.setMargin(new java.awt.Insets(-1, -1, 0, 0));
|
||||
jButton6.setName("jButton6"); // NOI18N
|
||||
jButton6.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton6ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton6.setBounds(410, 280, 30, 21);
|
||||
jLayeredPane2.add(jButton6, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jButton1.setText(bundle.getString("Settings.jButton1.text")); // NOI18N
|
||||
jButton1.setName("jButton1"); // NOI18N
|
||||
jButton1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton1.setBounds(30, 420, 360, 40);
|
||||
jLayeredPane2.add(jButton1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jScrollPane2.setName("jScrollPane2"); // NOI18N
|
||||
|
||||
jTable1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(128, 128, 128), 1, true));
|
||||
jTable1.setModel(new javax.swing.table.DefaultTableModel(
|
||||
new Object [][] {
|
||||
|
||||
},
|
||||
new String [] {
|
||||
"", ""
|
||||
}
|
||||
) {
|
||||
Class[] types = new Class [] {
|
||||
java.lang.String.class, java.lang.Boolean.class
|
||||
};
|
||||
boolean[] canEdit = new boolean [] {
|
||||
false, true
|
||||
};
|
||||
|
||||
public Class getColumnClass(int columnIndex) {
|
||||
return types [columnIndex];
|
||||
}
|
||||
|
||||
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
||||
return canEdit [columnIndex];
|
||||
}
|
||||
});
|
||||
jTable1.setName("jTable1"); // NOI18N
|
||||
jTable1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
|
||||
jTable1.setTableHeader(null);
|
||||
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mousePressed(java.awt.event.MouseEvent evt) {
|
||||
jTable1MousePressed(evt);
|
||||
}
|
||||
public void mouseReleased(java.awt.event.MouseEvent evt) {
|
||||
jTable1MouseReleased(evt);
|
||||
}
|
||||
});
|
||||
jScrollPane2.setViewportView(jTable1);
|
||||
jTable1.getColumnModel().getColumn(0).setResizable(false);
|
||||
jTable1.getColumnModel().getColumn(0).setPreferredWidth(350);
|
||||
jTable1.getColumnModel().getColumn(0).setHeaderValue(bundle.getString("Settings.jTable1.columnModel.title1")); // NOI18N
|
||||
jTable1.getColumnModel().getColumn(1).setResizable(false);
|
||||
jTable1.getColumnModel().getColumn(1).setPreferredWidth(10);
|
||||
jTable1.getColumnModel().getColumn(1).setHeaderValue(bundle.getString("Settings.jTable1.columnModel.title0")); // NOI18N
|
||||
|
||||
jScrollPane2.setBounds(20, 120, 410, 130);
|
||||
jLayeredPane2.add(jScrollPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jComboBox1.setFocusable(false);
|
||||
jComboBox1.setName("jComboBox1"); // NOI18N
|
||||
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jComboBox1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jComboBox1.setBounds(130, 10, 170, 22);
|
||||
jLayeredPane2.add(jComboBox1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jButton7.setFont(jButton7.getFont().deriveFont(jButton7.getFont().getSize()+1f));
|
||||
jButton7.setText("‒");
|
||||
jButton7.setFocusable(false);
|
||||
jButton7.setIconTextGap(0);
|
||||
jButton7.setMargin(new java.awt.Insets(-1, -1, 0, 0));
|
||||
jButton7.setName("jButton7"); // NOI18N
|
||||
jButton7.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
jButton7ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
jButton7.setBounds(410, 310, 30, 21);
|
||||
jLayeredPane2.add(jButton7, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel1.setFont(jLabel1.getFont().deriveFont(jLabel1.getFont().getSize()+1f));
|
||||
jLabel1.setText(bundle.getString("Settings.jLabel1.text")); // NOI18N
|
||||
jLabel1.setName("jLabel1"); // NOI18N
|
||||
jLabel1.setBounds(20, 10, 110, 20);
|
||||
jLayeredPane2.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel3.setFont(jLabel3.getFont().deriveFont(jLabel3.getFont().getSize()+1f));
|
||||
jLabel3.setText(bundle.getString("Settings.jLabel3.text")); // NOI18N
|
||||
jLabel3.setName("jLabel3"); // NOI18N
|
||||
jLabel3.setBounds(20, 250, 230, 20);
|
||||
jLayeredPane2.add(jLabel3, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLayeredPane2.setBounds(10, 10, 450, 480);
|
||||
jLayeredPane1.add(jLayeredPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||
getContentPane().setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 470, Short.MAX_VALUE)
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 499, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
);
|
||||
|
||||
pack();
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed
|
||||
String input = JOptionPane.showInputDialog(rootPane,
|
||||
bundle.getString("CUSTOM_FEED_URL:"), "",
|
||||
JOptionPane.INFORMATION_MESSAGE);
|
||||
if(input!=null && input.length()>0) {
|
||||
if(!input.startsWith("http://") && !input.startsWith("https://")) {
|
||||
input = "http://" + input;
|
||||
}
|
||||
if(!input.endsWith("Packages") && !input.endsWith("Packages.gz")) {
|
||||
if(!input.endsWith("/")) {
|
||||
input += "/";
|
||||
}
|
||||
if(new OnlineFile(input + "Packages.gz").exists()) {
|
||||
input += "Packages.gz";
|
||||
} else if(new OnlineFile(input + "Packages").exists()) {
|
||||
input += "Packages";
|
||||
}
|
||||
}
|
||||
if(new OnlineFile(input).exists()) {
|
||||
clearCustomListPref();
|
||||
customFeeds.add(input);
|
||||
tableCustom.addRow(new Object[] {input, Boolean.TRUE});
|
||||
saveCustomListPref();
|
||||
feedsChanged = true;
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(rootPane, bundle.getString("ERROR:_INVALID_FEED_URL"));
|
||||
}
|
||||
}
|
||||
}//GEN-LAST:event_jButton6ActionPerformed
|
||||
|
||||
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton7ActionPerformed
|
||||
int index = jTable2.getSelectedRow();
|
||||
if(index>-1) {
|
||||
clearCustomListPref();
|
||||
customFeeds.remove(index);
|
||||
tableCustom.removeRow(index);
|
||||
saveCustomListPref();
|
||||
feedsChanged = true;
|
||||
}
|
||||
}//GEN-LAST:event_jButton7ActionPerformed
|
||||
|
||||
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed
|
||||
if(loaded) {
|
||||
saveLanguagePrefs();
|
||||
}
|
||||
}//GEN-LAST:event_jComboBox1ActionPerformed
|
||||
|
||||
private void jTable1MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MousePressed
|
||||
int i = jTable1.rowAtPoint(evt.getPoint());
|
||||
if(i>-1) {
|
||||
if(jTable1.columnAtPoint(evt.getPoint())==0) {
|
||||
boolean val = ((Boolean)tableDefault.getValueAt(i, 1)).booleanValue();
|
||||
val = !val;
|
||||
tableDefault.setValueAt(new Boolean(val), i, 1);
|
||||
}
|
||||
}
|
||||
int row = jTable1.getSelectedRow();
|
||||
if(row>-1) {
|
||||
jTable1.removeRowSelectionInterval(row, row);
|
||||
}
|
||||
}//GEN-LAST:event_jTable1MousePressed
|
||||
|
||||
private void jTable1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseReleased
|
||||
int row = jTable1.getSelectedRow();
|
||||
if(row>-1) {
|
||||
jTable1.removeRowSelectionInterval(row, row);
|
||||
}
|
||||
saveDefaultFeedsToPrefs();
|
||||
feedsChanged = true;
|
||||
jLayeredPane2.requestFocus();
|
||||
}//GEN-LAST:event_jTable1MouseReleased
|
||||
|
||||
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
|
||||
try {
|
||||
Preferences.userNodeForPackage(DeviceInfo.class).clear();
|
||||
jButton1.setEnabled((Preferences.userNodeForPackage(DeviceInfo.class).keys().length!=0));
|
||||
} catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}//GEN-LAST:event_jButton1ActionPerformed
|
||||
|
||||
private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox1ActionPerformed
|
||||
DeviceInfo.useDeviceName(jCheckBox1.isSelected());
|
||||
}//GEN-LAST:event_jCheckBox1ActionPerformed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JButton jButton1;
|
||||
private javax.swing.JButton jButton6;
|
||||
private javax.swing.JButton jButton7;
|
||||
private javax.swing.JCheckBox jCheckBox1;
|
||||
private javax.swing.JComboBox jComboBox1;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JLabel jLabel3;
|
||||
private javax.swing.JLayeredPane jLayeredPane1;
|
||||
private javax.swing.JLayeredPane jLayeredPane2;
|
||||
private javax.swing.JScrollPane jScrollPane2;
|
||||
private javax.swing.JScrollPane jScrollPane3;
|
||||
private javax.swing.JTable jTable1;
|
||||
private javax.swing.JTable jTable2;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
class DoLanguageNotice extends TimerTask {
|
||||
public void run() {
|
||||
JOptionPane.showMessageDialog(rootPane,
|
||||
bundle.getString("THE_NEW_LANGUAGE_WILL_TAKE_EFFECT_THE_NEXT_TIME_WEBOS_QUICK_INSTALL_IS_LAUNCHED."),
|
||||
bundle.getString("LANGUAGE_CHANGED."), JOptionPane.INFORMATION_MESSAGE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
||||
<Properties>
|
||||
<Property name="defaultCloseOperation" type="int" value="2"/>
|
||||
<Property name="modal" type="boolean" value="true"/>
|
||||
<Property name="name" type="java.lang.String" value="aboutBox" noResource="true"/>
|
||||
<Property name="resizable" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
<SyntheticProperties>
|
||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||
</SyntheticProperties>
|
||||
<Events>
|
||||
<EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="formKeyPressed"/>
|
||||
</Events>
|
||||
<AuxValues>
|
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" alignment="0" pref="557" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jLayeredPane1" min="-2" pref="380" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane1">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane1" noResource="true"/>
|
||||
</Properties>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JLayeredPane" name="jLayeredPane2">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
|
||||
<TitledBorder title="How To Use">
|
||||
<ResourceString PropertyName="titleX" bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Usage.jLayeredPane2.border.title" replaceFormat="bundle.getString("{key}")"/>
|
||||
</TitledBorder>
|
||||
</Border>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jLayeredPane2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="10" width="540" height="360" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane1" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="10" y="30" width="320" height="310" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTextPane" name="jTextPane1">
|
||||
<Properties>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="f0" green="f0" red="f0" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
<Property name="contentType" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Usage.jTextPane1.contentType" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="editable" type="boolean" value="false"/>
|
||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||
<FontInfo relative="true">
|
||||
<Font component="jTextPane1" property="font" relativeSize="true" size="1"/>
|
||||
</FontInfo>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="ca/canucksoftware/wosqi/Bundle.properties" key="Usage.jTextPane1.text" replaceFormat="bundle.getString("{key}")"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jTextPane1" noResource="true"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JLabel" name="jLabel2">
|
||||
<Properties>
|
||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||
<Image iconType="3" name="/ca/canucksoftware/wosqi/resources/devmode.jpg"/>
|
||||
</Property>
|
||||
<Property name="verticalAlignment" type="int" value="1"/>
|
||||
<Property name="name" type="java.lang.String" value="jLabel2" noResource="true"/>
|
||||
</Properties>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JLayeredPaneSupportLayout$JLayeredPaneConstraintsDescription">
|
||||
<JLayeredPaneConstraints x="350" y="40" width="180" height="270" layer="0" position="-1"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
* WebOSQuickInstallAboutBox.java
|
||||
*/
|
||||
|
||||
package ca.canucksoftware.wosqi;
|
||||
|
||||
import org.jdesktop.application.Action;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
public class Usage extends javax.swing.JDialog {
|
||||
private ResourceBundle bundle;
|
||||
|
||||
public Usage(java.awt.Frame parent) {
|
||||
super(parent);
|
||||
bundle = WebOSQuickInstallApp.bundle;
|
||||
initComponents();
|
||||
jTextPane1.setCaretPosition(0);
|
||||
}
|
||||
|
||||
@Action
|
||||
public void closeUsage() {
|
||||
dispose();
|
||||
}
|
||||
|
||||
/** This method is called from within the constructor to
|
||||
* initialize the form.
|
||||
* WARNING: Do NOT modify this code. The content of this method is
|
||||
* always regenerated by the Form Editor.
|
||||
*/
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
jLayeredPane1 = new javax.swing.JLayeredPane();
|
||||
jLayeredPane2 = new javax.swing.JLayeredPane();
|
||||
jScrollPane1 = new javax.swing.JScrollPane();
|
||||
jTextPane1 = new javax.swing.JTextPane();
|
||||
jLabel2 = new javax.swing.JLabel();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
setModal(true);
|
||||
setName("aboutBox"); // NOI18N
|
||||
setResizable(false);
|
||||
addKeyListener(new java.awt.event.KeyAdapter() {
|
||||
public void keyPressed(java.awt.event.KeyEvent evt) {
|
||||
formKeyPressed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLayeredPane1.setName("jLayeredPane1"); // NOI18N
|
||||
|
||||
jLayeredPane2.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("Usage.jLayeredPane2.border.title"))); // NOI18N
|
||||
jLayeredPane2.setName("jLayeredPane2"); // NOI18N
|
||||
|
||||
jScrollPane1.setBorder(null);
|
||||
jScrollPane1.setName("jScrollPane1"); // NOI18N
|
||||
|
||||
jTextPane1.setBackground(new java.awt.Color(240, 240, 240));
|
||||
jTextPane1.setBorder(null);
|
||||
jTextPane1.setContentType(bundle.getString("Usage.jTextPane1.contentType")); // NOI18N
|
||||
jTextPane1.setEditable(false);
|
||||
jTextPane1.setFont(jTextPane1.getFont().deriveFont(jTextPane1.getFont().getSize()+1f));
|
||||
jTextPane1.setText(bundle.getString("Usage.jTextPane1.text")); // NOI18N
|
||||
jTextPane1.setName("jTextPane1"); // NOI18N
|
||||
jScrollPane1.setViewportView(jTextPane1);
|
||||
|
||||
jScrollPane1.setBounds(10, 30, 320, 310);
|
||||
jLayeredPane2.add(jScrollPane1, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canucksoftware/wosqi/resources/devmode.jpg"))); // NOI18N
|
||||
jLabel2.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||
jLabel2.setName("jLabel2"); // NOI18N
|
||||
jLabel2.setBounds(350, 40, 180, 270);
|
||||
jLayeredPane2.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
jLayeredPane2.setBounds(10, 10, 540, 360);
|
||||
jLayeredPane1.add(jLayeredPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||
getContentPane().setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 557, Short.MAX_VALUE)
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 380, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
);
|
||||
|
||||
pack();
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void formKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_formKeyPressed
|
||||
}//GEN-LAST:event_formKeyPressed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JLayeredPane jLayeredPane1;
|
||||
private javax.swing.JLayeredPane jLayeredPane2;
|
||||
private javax.swing.JScrollPane jScrollPane1;
|
||||
private javax.swing.JTextPane jTextPane1;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
* WebOSQuickInstallApp.java
|
||||
*/
|
||||
|
||||
package ca.canucksoftware.wosqi;
|
||||
|
||||
import ca.canucksoftware.utils.FileUtils;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintStream;
|
||||
import java.util.Locale;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.prefs.Preferences;
|
||||
import javax.swing.JComponent;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JOptionPane;
|
||||
import org.jdesktop.application.Application;
|
||||
import org.jdesktop.application.SingleFrameApplication;
|
||||
|
||||
/**
|
||||
* The main class of the application.
|
||||
*/
|
||||
public class WebOSQuickInstallApp extends SingleFrameApplication {
|
||||
|
||||
public static ResourceBundle bundle;
|
||||
|
||||
/**
|
||||
* At startup create and show the main frame of the application.
|
||||
*/
|
||||
@Override protected void startup() {
|
||||
MainView app = new MainView(this);
|
||||
app.getFrame().setResizable(false);
|
||||
app.getFrame().setSize(630, 400);
|
||||
app.getFrame().setVisible(true);
|
||||
//app.mainPanel.requestFocus();
|
||||
show(app);
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is to initialize the specified window by injecting resources.
|
||||
* Windows shown in our application come fully initialized from the GUI
|
||||
* builder, so this additional configuration is not needed.
|
||||
*/
|
||||
@Override protected void configureWindow(java.awt.Window root) {
|
||||
}
|
||||
|
||||
/**
|
||||
* A convenient static getter for the application instance.
|
||||
* @return the instance of WebOSQuickInstallApp
|
||||
*/
|
||||
public static WebOSQuickInstallApp getApplication() {
|
||||
return Application.getInstance(WebOSQuickInstallApp.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Main method launching the application.
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
Logger logger = Logger.getLogger(org.jdesktop.application.SessionStorage.class.getName());
|
||||
logger.setLevel(java.util.logging.Level.OFF);
|
||||
|
||||
String language = Preferences.systemRoot().get("language", null);
|
||||
if(language!=null) {
|
||||
Locale specific = new Locale(language);
|
||||
Locale.setDefault(specific);
|
||||
JOptionPane.setDefaultLocale(specific);
|
||||
JComponent.setDefaultLocale(specific);
|
||||
JFileChooser.setDefaultLocale(specific);
|
||||
}
|
||||
bundle = ResourceBundle.getBundle("ca/canucksoftware/wosqi/Bundle");
|
||||
File install = new File(FileUtils.appDirectory(), bundle.getString("INSTALL"));
|
||||
if(!install.isDirectory()) {
|
||||
install.mkdirs();
|
||||
}
|
||||
int start = 0;
|
||||
if(args.length>0) {
|
||||
if(args[0].equals("-log")) {
|
||||
try {
|
||||
PrintStream stream = new PrintStream(new FileOutputStream(new File(
|
||||
FileUtils.appDirectory(), "WOSQI.log"), true));
|
||||
System.setErr(stream);
|
||||
System.setOut(stream);
|
||||
} catch (FileNotFoundException e) {}
|
||||
start = 1;
|
||||
}
|
||||
}
|
||||
for(int i=start; i<args.length; i++) {
|
||||
if (args[i]!=null) {
|
||||
File from = new File(args[i]);
|
||||
if(from.isFile()) {
|
||||
if(from.getName().toLowerCase().endsWith("ipk")) {
|
||||
File to = new File(install, FileUtils.getFilename(from));
|
||||
try {
|
||||
FileUtils.copy(from, to);
|
||||
} catch (IOException ex) {
|
||||
System.err.println("Unable to copy to install directory: "
|
||||
+ args[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
launch(WebOSQuickInstallApp.class, args);
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
@@ -0,0 +1,11 @@
|
||||
# Application global resources
|
||||
|
||||
Application.name = WebOS Quick Install
|
||||
Application.title = WebOS Quick Install
|
||||
Application.version = 4.2.1
|
||||
Application.vendor = Jason Robitaille
|
||||
Application.homepage = http://canuckcoding.ca
|
||||
Application.description = An advanced tool for installing and managine packages on webOS devices.
|
||||
Application.vendorId = Jason Robitaille
|
||||
Application.id = WebOS Quick Install
|
||||
Application.lookAndFeel = system
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.4 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 3.6 KiB |