diff --git a/bin/ipkg/PackageEntry.class b/bin/ipkg/PackageEntry.class
new file mode 100644
index 0000000..5277ea8
Binary files /dev/null and b/bin/ipkg/PackageEntry.class differ
diff --git a/bin/ipkg/PackageFeed.class b/bin/ipkg/PackageFeed.class
new file mode 100644
index 0000000..05c714b
Binary files /dev/null and b/bin/ipkg/PackageFeed.class differ
diff --git a/bin/ipkg/PackageFilter.class b/bin/ipkg/PackageFilter.class
new file mode 100644
index 0000000..adbcb38
Binary files /dev/null and b/bin/ipkg/PackageFilter.class differ
diff --git a/bin/ipkg/PackageManager.class b/bin/ipkg/PackageManager.class
new file mode 100644
index 0000000..8440842
Binary files /dev/null and b/bin/ipkg/PackageManager.class differ
diff --git a/bin/ipkg/PackageSorter.class b/bin/ipkg/PackageSorter.class
new file mode 100644
index 0000000..6d1ead5
Binary files /dev/null and b/bin/ipkg/PackageSorter.class differ
diff --git a/src/ca/canuckcoding/wosqi/resources/Computer-48x48.png b/bin/resources/Computer-48x48.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/Computer-48x48.png
rename to bin/resources/Computer-48x48.png
diff --git a/src/ca/canuckcoding/wosqi/resources/Emulator 64x64.png b/bin/resources/Emulator 64x64.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/Emulator 64x64.png
rename to bin/resources/Emulator 64x64.png
diff --git a/src/ca/canuckcoding/wosqi/resources/HP Pre 3 64x64.png b/bin/resources/HP Pre 3 64x64.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/HP Pre 3 64x64.png
rename to bin/resources/HP Pre 3 64x64.png
diff --git a/src/ca/canuckcoding/wosqi/resources/HP TouchPad 64x64.png b/bin/resources/HP TouchPad 64x64.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/HP TouchPad 64x64.png
rename to bin/resources/HP TouchPad 64x64.png
diff --git a/src/ca/canuckcoding/wosqi/resources/HP Veer 64x64.png b/bin/resources/HP Veer 64x64.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/HP Veer 64x64.png
rename to bin/resources/HP Veer 64x64.png
diff --git a/src/ca/canuckcoding/wosqi/resources/LuneOS 64x64.png b/bin/resources/LuneOS 64x64.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/LuneOS 64x64.png
rename to bin/resources/LuneOS 64x64.png
diff --git a/src/ca/canuckcoding/wosqi/resources/NewJFrame.properties b/bin/resources/NewJFrame.properties
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/NewJFrame.properties
rename to bin/resources/NewJFrame.properties
diff --git a/src/ca/canuckcoding/wosqi/resources/Open webOS 64x64.png b/bin/resources/Open webOS 64x64.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/Open webOS 64x64.png
rename to bin/resources/Open webOS 64x64.png
diff --git a/src/ca/canuckcoding/wosqi/resources/Palm Pixi 64x64.png b/bin/resources/Palm Pixi 64x64.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/Palm Pixi 64x64.png
rename to bin/resources/Palm Pixi 64x64.png
diff --git a/src/ca/canuckcoding/wosqi/resources/Palm Pre 2 64x64.png b/bin/resources/Palm Pre 2 64x64.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/Palm Pre 2 64x64.png
rename to bin/resources/Palm Pre 2 64x64.png
diff --git a/src/ca/canuckcoding/wosqi/resources/Palm Pre 64x64.png b/bin/resources/Palm Pre 64x64.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/Palm Pre 64x64.png
rename to bin/resources/Palm Pre 64x64.png
diff --git a/src/ca/canuckcoding/wosqi/resources/Pre-48x48.png b/bin/resources/Pre-48x48.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/Pre-48x48.png
rename to bin/resources/Pre-48x48.png
diff --git a/bin/resources/WebOSQuickInstallApp.properties b/bin/resources/WebOSQuickInstallApp.properties
new file mode 100644
index 0000000..1caaad2
--- /dev/null
+++ b/bin/resources/WebOSQuickInstallApp.properties
@@ -0,0 +1,11 @@
+# Application global resources
+
+Application.name = WebOS Quick Install
+Application.title = WebOS Quick Install
+Application.version = v4.7.0u
+Application.vendor = NotAlexNoyle
+Application.homepage = http://github.com/NotAlexNoyle/WebOS-Quick-Install
+Application.description = An advanced tool for installing and managing packages on webOS devices.
+Application.id = WOSQI
+Application.vendorId = NotAlexNoyle
+Application.lookAndFeel = system
\ No newline at end of file
diff --git a/src/ca/canuckcoding/wosqi/resources/activity.gif b/bin/resources/activity.gif
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/activity.gif
rename to bin/resources/activity.gif
diff --git a/src/ca/canuckcoding/wosqi/resources/add.png b/bin/resources/add.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/add.png
rename to bin/resources/add.png
diff --git a/src/ca/canuckcoding/wosqi/resources/background.jpg b/bin/resources/background.jpg
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/background.jpg
rename to bin/resources/background.jpg
diff --git a/src/ca/canuckcoding/wosqi/resources/background2.jpg b/bin/resources/background2.jpg
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/background2.jpg
rename to bin/resources/background2.jpg
diff --git a/src/ca/canuckcoding/wosqi/resources/busy_icon.gif b/bin/resources/busy_icon.gif
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/busy_icon.gif
rename to bin/resources/busy_icon.gif
diff --git a/src/ca/canuckcoding/wosqi/resources/devmode.jpg b/bin/resources/devmode.jpg
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/devmode.jpg
rename to bin/resources/devmode.jpg
diff --git a/src/ca/canuckcoding/wosqi/resources/donate.gif b/bin/resources/donate.gif
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/donate.gif
rename to bin/resources/donate.gif
diff --git a/src/ca/canuckcoding/wosqi/resources/find-apps-precentralnet.png b/bin/resources/find-apps-precentralnet.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/find-apps-precentralnet.png
rename to bin/resources/find-apps-precentralnet.png
diff --git a/src/ca/canuckcoding/wosqi/resources/find-apps-precentralnet_old.png b/bin/resources/find-apps-precentralnet_old.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/find-apps-precentralnet_old.png
rename to bin/resources/find-apps-precentralnet_old.png
diff --git a/src/ca/canuckcoding/wosqi/resources/find.png b/bin/resources/find.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/find.png
rename to bin/resources/find.png
diff --git a/src/ca/canuckcoding/wosqi/resources/icon.png b/bin/resources/icon.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/icon.png
rename to bin/resources/icon.png
diff --git a/src/ca/canuckcoding/wosqi/resources/no-screenshot.png b/bin/resources/no-screenshot.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/no-screenshot.png
rename to bin/resources/no-screenshot.png
diff --git a/src/ca/canuckcoding/wosqi/resources/online.png b/bin/resources/online.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/online.png
rename to bin/resources/online.png
diff --git a/src/ca/canuckcoding/wosqi/resources/pre_shadow.png b/bin/resources/pre_shadow.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/pre_shadow.png
rename to bin/resources/pre_shadow.png
diff --git a/src/ca/canuckcoding/wosqi/resources/remove.png b/bin/resources/remove.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/remove.png
rename to bin/resources/remove.png
diff --git a/src/ca/canuckcoding/wosqi/resources/splash.png b/bin/resources/splash.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/splash.png
rename to bin/resources/splash.png
diff --git a/src/ca/canuckcoding/wosqi/resources/title.png b/bin/resources/title.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/title.png
rename to bin/resources/title.png
diff --git a/src/ca/canuckcoding/wosqi/resources/url-icon.png b/bin/resources/url-icon.png
similarity index 100%
rename from src/ca/canuckcoding/wosqi/resources/url-icon.png
rename to bin/resources/url-icon.png
diff --git a/bin/utils/FileUtils.class b/bin/utils/FileUtils.class
new file mode 100644
index 0000000..d66a549
Binary files /dev/null and b/bin/utils/FileUtils.class differ
diff --git a/bin/utils/MD5.class b/bin/utils/MD5.class
new file mode 100644
index 0000000..0e17b15
Binary files /dev/null and b/bin/utils/MD5.class differ
diff --git a/bin/wosqi/About$1.class b/bin/wosqi/About$1.class
new file mode 100644
index 0000000..a4fa8f7
Binary files /dev/null and b/bin/wosqi/About$1.class differ
diff --git a/bin/wosqi/About$2.class b/bin/wosqi/About$2.class
new file mode 100644
index 0000000..688e57c
Binary files /dev/null and b/bin/wosqi/About$2.class differ
diff --git a/bin/wosqi/About$3.class b/bin/wosqi/About$3.class
new file mode 100644
index 0000000..f16d685
Binary files /dev/null and b/bin/wosqi/About$3.class differ
diff --git a/bin/wosqi/About$4.class b/bin/wosqi/About$4.class
new file mode 100644
index 0000000..e7ca87d
Binary files /dev/null and b/bin/wosqi/About$4.class differ
diff --git a/bin/wosqi/About$5.class b/bin/wosqi/About$5.class
new file mode 100644
index 0000000..6fdf9cd
Binary files /dev/null and b/bin/wosqi/About$5.class differ
diff --git a/bin/wosqi/About.class b/bin/wosqi/About.class
new file mode 100644
index 0000000..acc5497
Binary files /dev/null and b/bin/wosqi/About.class differ
diff --git a/src/ca/canuckcoding/wosqi/Bundle.properties b/bin/wosqi/Bundle.properties
similarity index 93%
rename from src/ca/canuckcoding/wosqi/Bundle.properties
rename to bin/wosqi/Bundle.properties
index 5687cd0..9ee0f20 100644
--- a/src/ca/canuckcoding/wosqi/Bundle.properties
+++ b/bin/wosqi/Bundle.properties
@@ -1,6 +1,15 @@
# To change this template, choose Tools | Templates
# and open the template in the editor.
+MainView.name = WebOS Quick Install
+MainView.id = WOSQI
+MainView.title = WebOS Quick Install
+MainView.version = v4.7.0u
+MainView.vendor = Alexander Noyle
+MainView.vendorId = NotAlexNoyle
+MainView.homepage = https://github.com/NotAlexNoyle/WebOS-Quick-Install
+MainView.description = The ultimate bridge between your computer and your webOS device.
+MainView.lookAndFeel = system
MainView.jLabel2.text=Device:
MainView.fileMenu.text=File
MainView.jLayeredPane7.border.title=Files to Install
@@ -104,11 +113,12 @@ 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.6.0
-About.jLabel2.text=Opensource under Apache License 2.0
-About.jLabel4.text=Copyright \u00a9 2009-2014 Jason Robitaille.
-About.jLabel6.text=
Jason Robitaille and Canuck Coding are in no way affiliated with HP, LG or their affiliates. Palm, Pre, Pixi, Veer, TouchPad, Enyo, webOS, and Open webOS are among the trademarks owned by or licensed to HP and/or LG Electronics.
+About.jLabel5.text=Donate to support the original developer:
+About.appVersionLabel.text=Version v4.7.0u
+About.jLabel2.text=Open Source under the Apache License 2.0
+About.jLabel4.text=Copyright 2009-2014 Jason Robitaille.
+About.jLabel7.text=Donate to support the new maintainer:
+About.jLabel6.text=Jason Robitaille, Alex Noyle, and Canuck Coding are in no way affiliated with HP, LG or their affiliates. Palm, Pre, Pixi, Veer, TouchPad, Enyo, webOS, and Open webOS are among the trademarks owned by or licensed to HP and/or LG Electronics.
FeedLoader.jLabel5.text=Downloading and parsing:
FeedLoader.jLabel6.text=
FeedViewer.jLayeredPane1.TabConstraints.tabTitle=Updates
@@ -325,4 +335,4 @@ OK=OK
DRIVER_INSTALLED_SUCCESSFULLY.=Driver installed successfully.
ERROR\:_DRIVER_INSTALLATION_FAILED=ERROR: Driver installation failed
MainView.jMenuItem10.text=License
-MainView.jMenuItem10.toolTipText=
+MainView.jMenuItem10.toolTipText=
\ No newline at end of file
diff --git a/src/ca/canuckcoding/wosqi/Bundle_de.properties b/bin/wosqi/Bundle_de.properties
similarity index 100%
rename from src/ca/canuckcoding/wosqi/Bundle_de.properties
rename to bin/wosqi/Bundle_de.properties
diff --git a/src/ca/canuckcoding/wosqi/Bundle_fr.properties b/bin/wosqi/Bundle_fr.properties
similarity index 100%
rename from src/ca/canuckcoding/wosqi/Bundle_fr.properties
rename to bin/wosqi/Bundle_fr.properties
diff --git a/src/ca/canuckcoding/wosqi/Bundle_zh.properties b/bin/wosqi/Bundle_zh.properties
similarity index 100%
rename from src/ca/canuckcoding/wosqi/Bundle_zh.properties
rename to bin/wosqi/Bundle_zh.properties
diff --git a/bin/wosqi/DeviceManagement$1.class b/bin/wosqi/DeviceManagement$1.class
new file mode 100644
index 0000000..1f08e12
Binary files /dev/null and b/bin/wosqi/DeviceManagement$1.class differ
diff --git a/bin/wosqi/DeviceManagement$10.class b/bin/wosqi/DeviceManagement$10.class
new file mode 100644
index 0000000..1867f2f
Binary files /dev/null and b/bin/wosqi/DeviceManagement$10.class differ
diff --git a/bin/wosqi/DeviceManagement$11.class b/bin/wosqi/DeviceManagement$11.class
new file mode 100644
index 0000000..ca446f6
Binary files /dev/null and b/bin/wosqi/DeviceManagement$11.class differ
diff --git a/bin/wosqi/DeviceManagement$2.class b/bin/wosqi/DeviceManagement$2.class
new file mode 100644
index 0000000..c8e0cba
Binary files /dev/null and b/bin/wosqi/DeviceManagement$2.class differ
diff --git a/bin/wosqi/DeviceManagement$3.class b/bin/wosqi/DeviceManagement$3.class
new file mode 100644
index 0000000..8836276
Binary files /dev/null and b/bin/wosqi/DeviceManagement$3.class differ
diff --git a/bin/wosqi/DeviceManagement$4.class b/bin/wosqi/DeviceManagement$4.class
new file mode 100644
index 0000000..0bdb4e2
Binary files /dev/null and b/bin/wosqi/DeviceManagement$4.class differ
diff --git a/bin/wosqi/DeviceManagement$5.class b/bin/wosqi/DeviceManagement$5.class
new file mode 100644
index 0000000..1803861
Binary files /dev/null and b/bin/wosqi/DeviceManagement$5.class differ
diff --git a/bin/wosqi/DeviceManagement$6.class b/bin/wosqi/DeviceManagement$6.class
new file mode 100644
index 0000000..06d86e3
Binary files /dev/null and b/bin/wosqi/DeviceManagement$6.class differ
diff --git a/bin/wosqi/DeviceManagement$7.class b/bin/wosqi/DeviceManagement$7.class
new file mode 100644
index 0000000..95cb939
Binary files /dev/null and b/bin/wosqi/DeviceManagement$7.class differ
diff --git a/bin/wosqi/DeviceManagement$8.class b/bin/wosqi/DeviceManagement$8.class
new file mode 100644
index 0000000..1903090
Binary files /dev/null and b/bin/wosqi/DeviceManagement$8.class differ
diff --git a/bin/wosqi/DeviceManagement$9.class b/bin/wosqi/DeviceManagement$9.class
new file mode 100644
index 0000000..881b674
Binary files /dev/null and b/bin/wosqi/DeviceManagement$9.class differ
diff --git a/bin/wosqi/DeviceManagement$DoDeleteApps.class b/bin/wosqi/DeviceManagement$DoDeleteApps.class
new file mode 100644
index 0000000..8dd6463
Binary files /dev/null and b/bin/wosqi/DeviceManagement$DoDeleteApps.class differ
diff --git a/bin/wosqi/DeviceManagement$DoDispose.class b/bin/wosqi/DeviceManagement$DoDispose.class
new file mode 100644
index 0000000..17bf19a
Binary files /dev/null and b/bin/wosqi/DeviceManagement$DoDispose.class differ
diff --git a/bin/wosqi/DeviceManagement$DoLoadDetails.class b/bin/wosqi/DeviceManagement$DoLoadDetails.class
new file mode 100644
index 0000000..9fa0568
Binary files /dev/null and b/bin/wosqi/DeviceManagement$DoLoadDetails.class differ
diff --git a/bin/wosqi/DeviceManagement$DoLoadPackages.class b/bin/wosqi/DeviceManagement$DoLoadPackages.class
new file mode 100644
index 0000000..cd7f813
Binary files /dev/null and b/bin/wosqi/DeviceManagement$DoLoadPackages.class differ
diff --git a/bin/wosqi/DeviceManagement.class b/bin/wosqi/DeviceManagement.class
new file mode 100644
index 0000000..79ac401
Binary files /dev/null and b/bin/wosqi/DeviceManagement.class differ
diff --git a/src/ca/canuckcoding/wosqi/DeviceManagement.form b/bin/wosqi/DeviceManagement.form
similarity index 100%
rename from src/ca/canuckcoding/wosqi/DeviceManagement.form
rename to bin/wosqi/DeviceManagement.form
diff --git a/bin/wosqi/FeedLoader$1.class b/bin/wosqi/FeedLoader$1.class
new file mode 100644
index 0000000..5ec06f3
Binary files /dev/null and b/bin/wosqi/FeedLoader$1.class differ
diff --git a/bin/wosqi/FeedLoader$DoDispose.class b/bin/wosqi/FeedLoader$DoDispose.class
new file mode 100644
index 0000000..38c0abd
Binary files /dev/null and b/bin/wosqi/FeedLoader$DoDispose.class differ
diff --git a/bin/wosqi/FeedLoader$DoLoad.class b/bin/wosqi/FeedLoader$DoLoad.class
new file mode 100644
index 0000000..ffcc474
Binary files /dev/null and b/bin/wosqi/FeedLoader$DoLoad.class differ
diff --git a/bin/wosqi/FeedLoader.class b/bin/wosqi/FeedLoader.class
new file mode 100644
index 0000000..2bc031b
Binary files /dev/null and b/bin/wosqi/FeedLoader.class differ
diff --git a/src/ca/canuckcoding/wosqi/FeedLoader.form b/bin/wosqi/FeedLoader.form
similarity index 100%
rename from src/ca/canuckcoding/wosqi/FeedLoader.form
rename to bin/wosqi/FeedLoader.form
diff --git a/bin/wosqi/FeedViewer$1.class b/bin/wosqi/FeedViewer$1.class
new file mode 100644
index 0000000..09e43f7
Binary files /dev/null and b/bin/wosqi/FeedViewer$1.class differ
diff --git a/bin/wosqi/FeedViewer$10.class b/bin/wosqi/FeedViewer$10.class
new file mode 100644
index 0000000..d68f101
Binary files /dev/null and b/bin/wosqi/FeedViewer$10.class differ
diff --git a/bin/wosqi/FeedViewer$11.class b/bin/wosqi/FeedViewer$11.class
new file mode 100644
index 0000000..fcf1735
Binary files /dev/null and b/bin/wosqi/FeedViewer$11.class differ
diff --git a/bin/wosqi/FeedViewer$12.class b/bin/wosqi/FeedViewer$12.class
new file mode 100644
index 0000000..10e302d
Binary files /dev/null and b/bin/wosqi/FeedViewer$12.class differ
diff --git a/bin/wosqi/FeedViewer$13.class b/bin/wosqi/FeedViewer$13.class
new file mode 100644
index 0000000..8a44e4d
Binary files /dev/null and b/bin/wosqi/FeedViewer$13.class differ
diff --git a/bin/wosqi/FeedViewer$14.class b/bin/wosqi/FeedViewer$14.class
new file mode 100644
index 0000000..ada1fc3
Binary files /dev/null and b/bin/wosqi/FeedViewer$14.class differ
diff --git a/bin/wosqi/FeedViewer$15.class b/bin/wosqi/FeedViewer$15.class
new file mode 100644
index 0000000..5689894
Binary files /dev/null and b/bin/wosqi/FeedViewer$15.class differ
diff --git a/bin/wosqi/FeedViewer$16.class b/bin/wosqi/FeedViewer$16.class
new file mode 100644
index 0000000..7e453fe
Binary files /dev/null and b/bin/wosqi/FeedViewer$16.class differ
diff --git a/bin/wosqi/FeedViewer$17.class b/bin/wosqi/FeedViewer$17.class
new file mode 100644
index 0000000..2288653
Binary files /dev/null and b/bin/wosqi/FeedViewer$17.class differ
diff --git a/bin/wosqi/FeedViewer$18.class b/bin/wosqi/FeedViewer$18.class
new file mode 100644
index 0000000..dfae27b
Binary files /dev/null and b/bin/wosqi/FeedViewer$18.class differ
diff --git a/bin/wosqi/FeedViewer$19.class b/bin/wosqi/FeedViewer$19.class
new file mode 100644
index 0000000..52cd829
Binary files /dev/null and b/bin/wosqi/FeedViewer$19.class differ
diff --git a/bin/wosqi/FeedViewer$2.class b/bin/wosqi/FeedViewer$2.class
new file mode 100644
index 0000000..31de11f
Binary files /dev/null and b/bin/wosqi/FeedViewer$2.class differ
diff --git a/bin/wosqi/FeedViewer$20.class b/bin/wosqi/FeedViewer$20.class
new file mode 100644
index 0000000..8f13383
Binary files /dev/null and b/bin/wosqi/FeedViewer$20.class differ
diff --git a/bin/wosqi/FeedViewer$21.class b/bin/wosqi/FeedViewer$21.class
new file mode 100644
index 0000000..0241891
Binary files /dev/null and b/bin/wosqi/FeedViewer$21.class differ
diff --git a/bin/wosqi/FeedViewer$22.class b/bin/wosqi/FeedViewer$22.class
new file mode 100644
index 0000000..8155e31
Binary files /dev/null and b/bin/wosqi/FeedViewer$22.class differ
diff --git a/bin/wosqi/FeedViewer$23.class b/bin/wosqi/FeedViewer$23.class
new file mode 100644
index 0000000..2f3258a
Binary files /dev/null and b/bin/wosqi/FeedViewer$23.class differ
diff --git a/bin/wosqi/FeedViewer$24.class b/bin/wosqi/FeedViewer$24.class
new file mode 100644
index 0000000..94995c5
Binary files /dev/null and b/bin/wosqi/FeedViewer$24.class differ
diff --git a/bin/wosqi/FeedViewer$25.class b/bin/wosqi/FeedViewer$25.class
new file mode 100644
index 0000000..87debe7
Binary files /dev/null and b/bin/wosqi/FeedViewer$25.class differ
diff --git a/bin/wosqi/FeedViewer$26.class b/bin/wosqi/FeedViewer$26.class
new file mode 100644
index 0000000..d2826dd
Binary files /dev/null and b/bin/wosqi/FeedViewer$26.class differ
diff --git a/bin/wosqi/FeedViewer$27.class b/bin/wosqi/FeedViewer$27.class
new file mode 100644
index 0000000..0ad095b
Binary files /dev/null and b/bin/wosqi/FeedViewer$27.class differ
diff --git a/bin/wosqi/FeedViewer$28.class b/bin/wosqi/FeedViewer$28.class
new file mode 100644
index 0000000..856ec91
Binary files /dev/null and b/bin/wosqi/FeedViewer$28.class differ
diff --git a/bin/wosqi/FeedViewer$29.class b/bin/wosqi/FeedViewer$29.class
new file mode 100644
index 0000000..ee37398
Binary files /dev/null and b/bin/wosqi/FeedViewer$29.class differ
diff --git a/bin/wosqi/FeedViewer$3.class b/bin/wosqi/FeedViewer$3.class
new file mode 100644
index 0000000..4f59192
Binary files /dev/null and b/bin/wosqi/FeedViewer$3.class differ
diff --git a/bin/wosqi/FeedViewer$30.class b/bin/wosqi/FeedViewer$30.class
new file mode 100644
index 0000000..a2da253
Binary files /dev/null and b/bin/wosqi/FeedViewer$30.class differ
diff --git a/bin/wosqi/FeedViewer$31.class b/bin/wosqi/FeedViewer$31.class
new file mode 100644
index 0000000..5f194f5
Binary files /dev/null and b/bin/wosqi/FeedViewer$31.class differ
diff --git a/bin/wosqi/FeedViewer$32.class b/bin/wosqi/FeedViewer$32.class
new file mode 100644
index 0000000..32017d7
Binary files /dev/null and b/bin/wosqi/FeedViewer$32.class differ
diff --git a/bin/wosqi/FeedViewer$33.class b/bin/wosqi/FeedViewer$33.class
new file mode 100644
index 0000000..6b683e9
Binary files /dev/null and b/bin/wosqi/FeedViewer$33.class differ
diff --git a/bin/wosqi/FeedViewer$34.class b/bin/wosqi/FeedViewer$34.class
new file mode 100644
index 0000000..b0afe07
Binary files /dev/null and b/bin/wosqi/FeedViewer$34.class differ
diff --git a/bin/wosqi/FeedViewer$35.class b/bin/wosqi/FeedViewer$35.class
new file mode 100644
index 0000000..6569976
Binary files /dev/null and b/bin/wosqi/FeedViewer$35.class differ
diff --git a/bin/wosqi/FeedViewer$36.class b/bin/wosqi/FeedViewer$36.class
new file mode 100644
index 0000000..9eef4c3
Binary files /dev/null and b/bin/wosqi/FeedViewer$36.class differ
diff --git a/bin/wosqi/FeedViewer$37.class b/bin/wosqi/FeedViewer$37.class
new file mode 100644
index 0000000..dda7707
Binary files /dev/null and b/bin/wosqi/FeedViewer$37.class differ
diff --git a/bin/wosqi/FeedViewer$38.class b/bin/wosqi/FeedViewer$38.class
new file mode 100644
index 0000000..ceb3861
Binary files /dev/null and b/bin/wosqi/FeedViewer$38.class differ
diff --git a/bin/wosqi/FeedViewer$39.class b/bin/wosqi/FeedViewer$39.class
new file mode 100644
index 0000000..e3cee02
Binary files /dev/null and b/bin/wosqi/FeedViewer$39.class differ
diff --git a/bin/wosqi/FeedViewer$4.class b/bin/wosqi/FeedViewer$4.class
new file mode 100644
index 0000000..24b8eab
Binary files /dev/null and b/bin/wosqi/FeedViewer$4.class differ
diff --git a/bin/wosqi/FeedViewer$40.class b/bin/wosqi/FeedViewer$40.class
new file mode 100644
index 0000000..2b133b1
Binary files /dev/null and b/bin/wosqi/FeedViewer$40.class differ
diff --git a/bin/wosqi/FeedViewer$41.class b/bin/wosqi/FeedViewer$41.class
new file mode 100644
index 0000000..8814564
Binary files /dev/null and b/bin/wosqi/FeedViewer$41.class differ
diff --git a/bin/wosqi/FeedViewer$42.class b/bin/wosqi/FeedViewer$42.class
new file mode 100644
index 0000000..5f64258
Binary files /dev/null and b/bin/wosqi/FeedViewer$42.class differ
diff --git a/bin/wosqi/FeedViewer$43.class b/bin/wosqi/FeedViewer$43.class
new file mode 100644
index 0000000..656b50b
Binary files /dev/null and b/bin/wosqi/FeedViewer$43.class differ
diff --git a/bin/wosqi/FeedViewer$44.class b/bin/wosqi/FeedViewer$44.class
new file mode 100644
index 0000000..8ace959
Binary files /dev/null and b/bin/wosqi/FeedViewer$44.class differ
diff --git a/bin/wosqi/FeedViewer$45.class b/bin/wosqi/FeedViewer$45.class
new file mode 100644
index 0000000..b9db7aa
Binary files /dev/null and b/bin/wosqi/FeedViewer$45.class differ
diff --git a/bin/wosqi/FeedViewer$46.class b/bin/wosqi/FeedViewer$46.class
new file mode 100644
index 0000000..ae783a4
Binary files /dev/null and b/bin/wosqi/FeedViewer$46.class differ
diff --git a/bin/wosqi/FeedViewer$47.class b/bin/wosqi/FeedViewer$47.class
new file mode 100644
index 0000000..5bb0c14
Binary files /dev/null and b/bin/wosqi/FeedViewer$47.class differ
diff --git a/bin/wosqi/FeedViewer$48.class b/bin/wosqi/FeedViewer$48.class
new file mode 100644
index 0000000..2035efa
Binary files /dev/null and b/bin/wosqi/FeedViewer$48.class differ
diff --git a/bin/wosqi/FeedViewer$49.class b/bin/wosqi/FeedViewer$49.class
new file mode 100644
index 0000000..15bd44e
Binary files /dev/null and b/bin/wosqi/FeedViewer$49.class differ
diff --git a/bin/wosqi/FeedViewer$5.class b/bin/wosqi/FeedViewer$5.class
new file mode 100644
index 0000000..9d154b2
Binary files /dev/null and b/bin/wosqi/FeedViewer$5.class differ
diff --git a/bin/wosqi/FeedViewer$50.class b/bin/wosqi/FeedViewer$50.class
new file mode 100644
index 0000000..88ba50a
Binary files /dev/null and b/bin/wosqi/FeedViewer$50.class differ
diff --git a/bin/wosqi/FeedViewer$51.class b/bin/wosqi/FeedViewer$51.class
new file mode 100644
index 0000000..2c3a8a9
Binary files /dev/null and b/bin/wosqi/FeedViewer$51.class differ
diff --git a/bin/wosqi/FeedViewer$52.class b/bin/wosqi/FeedViewer$52.class
new file mode 100644
index 0000000..77e408e
Binary files /dev/null and b/bin/wosqi/FeedViewer$52.class differ
diff --git a/bin/wosqi/FeedViewer$53.class b/bin/wosqi/FeedViewer$53.class
new file mode 100644
index 0000000..168beb8
Binary files /dev/null and b/bin/wosqi/FeedViewer$53.class differ
diff --git a/bin/wosqi/FeedViewer$54.class b/bin/wosqi/FeedViewer$54.class
new file mode 100644
index 0000000..e0aeb35
Binary files /dev/null and b/bin/wosqi/FeedViewer$54.class differ
diff --git a/bin/wosqi/FeedViewer$55.class b/bin/wosqi/FeedViewer$55.class
new file mode 100644
index 0000000..85bd2a8
Binary files /dev/null and b/bin/wosqi/FeedViewer$55.class differ
diff --git a/bin/wosqi/FeedViewer$56.class b/bin/wosqi/FeedViewer$56.class
new file mode 100644
index 0000000..c96f020
Binary files /dev/null and b/bin/wosqi/FeedViewer$56.class differ
diff --git a/bin/wosqi/FeedViewer$57.class b/bin/wosqi/FeedViewer$57.class
new file mode 100644
index 0000000..a1cccdc
Binary files /dev/null and b/bin/wosqi/FeedViewer$57.class differ
diff --git a/bin/wosqi/FeedViewer$58.class b/bin/wosqi/FeedViewer$58.class
new file mode 100644
index 0000000..72ef2b6
Binary files /dev/null and b/bin/wosqi/FeedViewer$58.class differ
diff --git a/bin/wosqi/FeedViewer$59.class b/bin/wosqi/FeedViewer$59.class
new file mode 100644
index 0000000..429c233
Binary files /dev/null and b/bin/wosqi/FeedViewer$59.class differ
diff --git a/bin/wosqi/FeedViewer$6.class b/bin/wosqi/FeedViewer$6.class
new file mode 100644
index 0000000..93c05b7
Binary files /dev/null and b/bin/wosqi/FeedViewer$6.class differ
diff --git a/bin/wosqi/FeedViewer$60.class b/bin/wosqi/FeedViewer$60.class
new file mode 100644
index 0000000..c27a49b
Binary files /dev/null and b/bin/wosqi/FeedViewer$60.class differ
diff --git a/bin/wosqi/FeedViewer$61.class b/bin/wosqi/FeedViewer$61.class
new file mode 100644
index 0000000..70b4146
Binary files /dev/null and b/bin/wosqi/FeedViewer$61.class differ
diff --git a/bin/wosqi/FeedViewer$62.class b/bin/wosqi/FeedViewer$62.class
new file mode 100644
index 0000000..09a72e8
Binary files /dev/null and b/bin/wosqi/FeedViewer$62.class differ
diff --git a/bin/wosqi/FeedViewer$63.class b/bin/wosqi/FeedViewer$63.class
new file mode 100644
index 0000000..33846ce
Binary files /dev/null and b/bin/wosqi/FeedViewer$63.class differ
diff --git a/bin/wosqi/FeedViewer$7.class b/bin/wosqi/FeedViewer$7.class
new file mode 100644
index 0000000..ce294a5
Binary files /dev/null and b/bin/wosqi/FeedViewer$7.class differ
diff --git a/bin/wosqi/FeedViewer$8.class b/bin/wosqi/FeedViewer$8.class
new file mode 100644
index 0000000..02def4c
Binary files /dev/null and b/bin/wosqi/FeedViewer$8.class differ
diff --git a/bin/wosqi/FeedViewer$9.class b/bin/wosqi/FeedViewer$9.class
new file mode 100644
index 0000000..33e3a17
Binary files /dev/null and b/bin/wosqi/FeedViewer$9.class differ
diff --git a/bin/wosqi/FeedViewer$DoDispose.class b/bin/wosqi/FeedViewer$DoDispose.class
new file mode 100644
index 0000000..fe050af
Binary files /dev/null and b/bin/wosqi/FeedViewer$DoDispose.class differ
diff --git a/bin/wosqi/FeedViewer$DoLoad.class b/bin/wosqi/FeedViewer$DoLoad.class
new file mode 100644
index 0000000..3866985
Binary files /dev/null and b/bin/wosqi/FeedViewer$DoLoad.class differ
diff --git a/bin/wosqi/FeedViewer$DoSecondaryLoad.class b/bin/wosqi/FeedViewer$DoSecondaryLoad.class
new file mode 100644
index 0000000..713e758
Binary files /dev/null and b/bin/wosqi/FeedViewer$DoSecondaryLoad.class differ
diff --git a/bin/wosqi/FeedViewer$ImageLayeredPane.class b/bin/wosqi/FeedViewer$ImageLayeredPane.class
new file mode 100644
index 0000000..1fda137
Binary files /dev/null and b/bin/wosqi/FeedViewer$ImageLayeredPane.class differ
diff --git a/bin/wosqi/FeedViewer.class b/bin/wosqi/FeedViewer.class
new file mode 100644
index 0000000..ea37884
Binary files /dev/null and b/bin/wosqi/FeedViewer.class differ
diff --git a/src/ca/canuckcoding/wosqi/FeedViewer.form b/bin/wosqi/FeedViewer.form
similarity index 100%
rename from src/ca/canuckcoding/wosqi/FeedViewer.form
rename to bin/wosqi/FeedViewer.form
diff --git a/bin/wosqi/InstalledPatchInfo$1.class b/bin/wosqi/InstalledPatchInfo$1.class
new file mode 100644
index 0000000..5a49053
Binary files /dev/null and b/bin/wosqi/InstalledPatchInfo$1.class differ
diff --git a/bin/wosqi/InstalledPatchInfo$2.class b/bin/wosqi/InstalledPatchInfo$2.class
new file mode 100644
index 0000000..151cddf
Binary files /dev/null and b/bin/wosqi/InstalledPatchInfo$2.class differ
diff --git a/bin/wosqi/InstalledPatchInfo$DoDelayedLoad.class b/bin/wosqi/InstalledPatchInfo$DoDelayedLoad.class
new file mode 100644
index 0000000..d0282f4
Binary files /dev/null and b/bin/wosqi/InstalledPatchInfo$DoDelayedLoad.class differ
diff --git a/bin/wosqi/InstalledPatchInfo.class b/bin/wosqi/InstalledPatchInfo.class
new file mode 100644
index 0000000..a6c5551
Binary files /dev/null and b/bin/wosqi/InstalledPatchInfo.class differ
diff --git a/src/ca/canuckcoding/wosqi/InstalledPatchInfo.form b/bin/wosqi/InstalledPatchInfo.form
similarity index 100%
rename from src/ca/canuckcoding/wosqi/InstalledPatchInfo.form
rename to bin/wosqi/InstalledPatchInfo.form
diff --git a/bin/wosqi/InstalledPkgInfo$1.class b/bin/wosqi/InstalledPkgInfo$1.class
new file mode 100644
index 0000000..d8a6f86
Binary files /dev/null and b/bin/wosqi/InstalledPkgInfo$1.class differ
diff --git a/bin/wosqi/InstalledPkgInfo$2.class b/bin/wosqi/InstalledPkgInfo$2.class
new file mode 100644
index 0000000..32baead
Binary files /dev/null and b/bin/wosqi/InstalledPkgInfo$2.class differ
diff --git a/bin/wosqi/InstalledPkgInfo$DoDelayedLoad.class b/bin/wosqi/InstalledPkgInfo$DoDelayedLoad.class
new file mode 100644
index 0000000..1547fe3
Binary files /dev/null and b/bin/wosqi/InstalledPkgInfo$DoDelayedLoad.class differ
diff --git a/bin/wosqi/InstalledPkgInfo.class b/bin/wosqi/InstalledPkgInfo.class
new file mode 100644
index 0000000..5fd4d33
Binary files /dev/null and b/bin/wosqi/InstalledPkgInfo.class differ
diff --git a/src/ca/canuckcoding/wosqi/InstalledPkgInfo.form b/bin/wosqi/InstalledPkgInfo.form
similarity index 100%
rename from src/ca/canuckcoding/wosqi/InstalledPkgInfo.form
rename to bin/wosqi/InstalledPkgInfo.form
diff --git a/bin/wosqi/Installer$1.class b/bin/wosqi/Installer$1.class
new file mode 100644
index 0000000..5e6f098
Binary files /dev/null and b/bin/wosqi/Installer$1.class differ
diff --git a/bin/wosqi/Installer$DoDispose.class b/bin/wosqi/Installer$DoDispose.class
new file mode 100644
index 0000000..e55639b
Binary files /dev/null and b/bin/wosqi/Installer$DoDispose.class differ
diff --git a/bin/wosqi/Installer$DoTransfer.class b/bin/wosqi/Installer$DoTransfer.class
new file mode 100644
index 0000000..230c912
Binary files /dev/null and b/bin/wosqi/Installer$DoTransfer.class differ
diff --git a/bin/wosqi/Installer.class b/bin/wosqi/Installer.class
new file mode 100644
index 0000000..78c1a35
Binary files /dev/null and b/bin/wosqi/Installer.class differ
diff --git a/src/ca/canuckcoding/wosqi/Installer.form b/bin/wosqi/Installer.form
similarity index 100%
rename from src/ca/canuckcoding/wosqi/Installer.form
rename to bin/wosqi/Installer.form
diff --git a/bin/wosqi/MainView$1.class b/bin/wosqi/MainView$1.class
new file mode 100644
index 0000000..8a829b0
Binary files /dev/null and b/bin/wosqi/MainView$1.class differ
diff --git a/bin/wosqi/MainView$10.class b/bin/wosqi/MainView$10.class
new file mode 100644
index 0000000..5248ee5
Binary files /dev/null and b/bin/wosqi/MainView$10.class differ
diff --git a/bin/wosqi/MainView$11.class b/bin/wosqi/MainView$11.class
new file mode 100644
index 0000000..b6c8ecc
Binary files /dev/null and b/bin/wosqi/MainView$11.class differ
diff --git a/bin/wosqi/MainView$12.class b/bin/wosqi/MainView$12.class
new file mode 100644
index 0000000..2078d68
Binary files /dev/null and b/bin/wosqi/MainView$12.class differ
diff --git a/bin/wosqi/MainView$13.class b/bin/wosqi/MainView$13.class
new file mode 100644
index 0000000..71fbcd5
Binary files /dev/null and b/bin/wosqi/MainView$13.class differ
diff --git a/bin/wosqi/MainView$14.class b/bin/wosqi/MainView$14.class
new file mode 100644
index 0000000..fafe5c6
Binary files /dev/null and b/bin/wosqi/MainView$14.class differ
diff --git a/bin/wosqi/MainView$15.class b/bin/wosqi/MainView$15.class
new file mode 100644
index 0000000..48627aa
Binary files /dev/null and b/bin/wosqi/MainView$15.class differ
diff --git a/bin/wosqi/MainView$16.class b/bin/wosqi/MainView$16.class
new file mode 100644
index 0000000..2ff6930
Binary files /dev/null and b/bin/wosqi/MainView$16.class differ
diff --git a/bin/wosqi/MainView$17.class b/bin/wosqi/MainView$17.class
new file mode 100644
index 0000000..0d7a8e7
Binary files /dev/null and b/bin/wosqi/MainView$17.class differ
diff --git a/bin/wosqi/MainView$18.class b/bin/wosqi/MainView$18.class
new file mode 100644
index 0000000..650d5ca
Binary files /dev/null and b/bin/wosqi/MainView$18.class differ
diff --git a/bin/wosqi/MainView$19.class b/bin/wosqi/MainView$19.class
new file mode 100644
index 0000000..c1734d4
Binary files /dev/null and b/bin/wosqi/MainView$19.class differ
diff --git a/bin/wosqi/MainView$2.class b/bin/wosqi/MainView$2.class
new file mode 100644
index 0000000..c747ed8
Binary files /dev/null and b/bin/wosqi/MainView$2.class differ
diff --git a/bin/wosqi/MainView$20.class b/bin/wosqi/MainView$20.class
new file mode 100644
index 0000000..581d7f6
Binary files /dev/null and b/bin/wosqi/MainView$20.class differ
diff --git a/bin/wosqi/MainView$3.class b/bin/wosqi/MainView$3.class
new file mode 100644
index 0000000..fb1aae3
Binary files /dev/null and b/bin/wosqi/MainView$3.class differ
diff --git a/bin/wosqi/MainView$4.class b/bin/wosqi/MainView$4.class
new file mode 100644
index 0000000..42628c5
Binary files /dev/null and b/bin/wosqi/MainView$4.class differ
diff --git a/bin/wosqi/MainView$5.class b/bin/wosqi/MainView$5.class
new file mode 100644
index 0000000..ff46129
Binary files /dev/null and b/bin/wosqi/MainView$5.class differ
diff --git a/bin/wosqi/MainView$6.class b/bin/wosqi/MainView$6.class
new file mode 100644
index 0000000..5bf487b
Binary files /dev/null and b/bin/wosqi/MainView$6.class differ
diff --git a/bin/wosqi/MainView$7.class b/bin/wosqi/MainView$7.class
new file mode 100644
index 0000000..06f92df
Binary files /dev/null and b/bin/wosqi/MainView$7.class differ
diff --git a/bin/wosqi/MainView$8.class b/bin/wosqi/MainView$8.class
new file mode 100644
index 0000000..ea81e62
Binary files /dev/null and b/bin/wosqi/MainView$8.class differ
diff --git a/bin/wosqi/MainView$9.class b/bin/wosqi/MainView$9.class
new file mode 100644
index 0000000..d78103f
Binary files /dev/null and b/bin/wosqi/MainView$9.class differ
diff --git a/bin/wosqi/MainView$CheckConnection.class b/bin/wosqi/MainView$CheckConnection.class
new file mode 100644
index 0000000..9e23703
Binary files /dev/null and b/bin/wosqi/MainView$CheckConnection.class differ
diff --git a/bin/wosqi/MainView$DoInstallDrivers.class b/bin/wosqi/MainView$DoInstallDrivers.class
new file mode 100644
index 0000000..f0e9f4d
Binary files /dev/null and b/bin/wosqi/MainView$DoInstallDrivers.class differ
diff --git a/bin/wosqi/MainView$DoctorChooseFilter.class b/bin/wosqi/MainView$DoctorChooseFilter.class
new file mode 100644
index 0000000..1861e10
Binary files /dev/null and b/bin/wosqi/MainView$DoctorChooseFilter.class differ
diff --git a/bin/wosqi/MainView$FirstCheckConnection.class b/bin/wosqi/MainView$FirstCheckConnection.class
new file mode 100644
index 0000000..4f64d8e
Binary files /dev/null and b/bin/wosqi/MainView$FirstCheckConnection.class differ
diff --git a/bin/wosqi/MainView$ImagePanel.class b/bin/wosqi/MainView$ImagePanel.class
new file mode 100644
index 0000000..c184e3b
Binary files /dev/null and b/bin/wosqi/MainView$ImagePanel.class differ
diff --git a/bin/wosqi/MainView$WebOSChooseFilter.class b/bin/wosqi/MainView$WebOSChooseFilter.class
new file mode 100644
index 0000000..8551bd0
Binary files /dev/null and b/bin/wosqi/MainView$WebOSChooseFilter.class differ
diff --git a/bin/wosqi/MainView$WebOSFileFilter.class b/bin/wosqi/MainView$WebOSFileFilter.class
new file mode 100644
index 0000000..51fbceb
Binary files /dev/null and b/bin/wosqi/MainView$WebOSFileFilter.class differ
diff --git a/bin/wosqi/MainView.class b/bin/wosqi/MainView.class
new file mode 100644
index 0000000..9e7f09a
Binary files /dev/null and b/bin/wosqi/MainView.class differ
diff --git a/src/ca/canuckcoding/wosqi/MainView.form b/bin/wosqi/MainView.form
similarity index 100%
rename from src/ca/canuckcoding/wosqi/MainView.form
rename to bin/wosqi/MainView.form
diff --git a/bin/wosqi/ReceiveFile$1.class b/bin/wosqi/ReceiveFile$1.class
new file mode 100644
index 0000000..55bc592
Binary files /dev/null and b/bin/wosqi/ReceiveFile$1.class differ
diff --git a/bin/wosqi/ReceiveFile$2.class b/bin/wosqi/ReceiveFile$2.class
new file mode 100644
index 0000000..41768a4
Binary files /dev/null and b/bin/wosqi/ReceiveFile$2.class differ
diff --git a/bin/wosqi/ReceiveFile$3.class b/bin/wosqi/ReceiveFile$3.class
new file mode 100644
index 0000000..c4963d5
Binary files /dev/null and b/bin/wosqi/ReceiveFile$3.class differ
diff --git a/bin/wosqi/ReceiveFile$4.class b/bin/wosqi/ReceiveFile$4.class
new file mode 100644
index 0000000..8e8628c
Binary files /dev/null and b/bin/wosqi/ReceiveFile$4.class differ
diff --git a/bin/wosqi/ReceiveFile$DoDispose.class b/bin/wosqi/ReceiveFile$DoDispose.class
new file mode 100644
index 0000000..2997c33
Binary files /dev/null and b/bin/wosqi/ReceiveFile$DoDispose.class differ
diff --git a/bin/wosqi/ReceiveFile$DoTransfer.class b/bin/wosqi/ReceiveFile$DoTransfer.class
new file mode 100644
index 0000000..23d7534
Binary files /dev/null and b/bin/wosqi/ReceiveFile$DoTransfer.class differ
diff --git a/bin/wosqi/ReceiveFile.class b/bin/wosqi/ReceiveFile.class
new file mode 100644
index 0000000..185d581
Binary files /dev/null and b/bin/wosqi/ReceiveFile.class differ
diff --git a/src/ca/canuckcoding/wosqi/ReceiveFile.form b/bin/wosqi/ReceiveFile.form
similarity index 100%
rename from src/ca/canuckcoding/wosqi/ReceiveFile.form
rename to bin/wosqi/ReceiveFile.form
diff --git a/bin/wosqi/SendFile$1.class b/bin/wosqi/SendFile$1.class
new file mode 100644
index 0000000..c9a6576
Binary files /dev/null and b/bin/wosqi/SendFile$1.class differ
diff --git a/bin/wosqi/SendFile$2.class b/bin/wosqi/SendFile$2.class
new file mode 100644
index 0000000..05ad96c
Binary files /dev/null and b/bin/wosqi/SendFile$2.class differ
diff --git a/bin/wosqi/SendFile$3.class b/bin/wosqi/SendFile$3.class
new file mode 100644
index 0000000..8753662
Binary files /dev/null and b/bin/wosqi/SendFile$3.class differ
diff --git a/bin/wosqi/SendFile$4.class b/bin/wosqi/SendFile$4.class
new file mode 100644
index 0000000..bc9c5da
Binary files /dev/null and b/bin/wosqi/SendFile$4.class differ
diff --git a/bin/wosqi/SendFile$5.class b/bin/wosqi/SendFile$5.class
new file mode 100644
index 0000000..b31f235
Binary files /dev/null and b/bin/wosqi/SendFile$5.class differ
diff --git a/bin/wosqi/SendFile$DoDispose.class b/bin/wosqi/SendFile$DoDispose.class
new file mode 100644
index 0000000..dc364ef
Binary files /dev/null and b/bin/wosqi/SendFile$DoDispose.class differ
diff --git a/bin/wosqi/SendFile$DoTransfer.class b/bin/wosqi/SendFile$DoTransfer.class
new file mode 100644
index 0000000..c71e6ab
Binary files /dev/null and b/bin/wosqi/SendFile$DoTransfer.class differ
diff --git a/bin/wosqi/SendFile.class b/bin/wosqi/SendFile.class
new file mode 100644
index 0000000..cfc89c3
Binary files /dev/null and b/bin/wosqi/SendFile.class differ
diff --git a/src/ca/canuckcoding/wosqi/SendFile.form b/bin/wosqi/SendFile.form
similarity index 100%
rename from src/ca/canuckcoding/wosqi/SendFile.form
rename to bin/wosqi/SendFile.form
diff --git a/bin/wosqi/Settings$1.class b/bin/wosqi/Settings$1.class
new file mode 100644
index 0000000..bb450e1
Binary files /dev/null and b/bin/wosqi/Settings$1.class differ
diff --git a/bin/wosqi/Settings$2.class b/bin/wosqi/Settings$2.class
new file mode 100644
index 0000000..41d9b20
Binary files /dev/null and b/bin/wosqi/Settings$2.class differ
diff --git a/bin/wosqi/Settings$3.class b/bin/wosqi/Settings$3.class
new file mode 100644
index 0000000..677269b
Binary files /dev/null and b/bin/wosqi/Settings$3.class differ
diff --git a/bin/wosqi/Settings$4.class b/bin/wosqi/Settings$4.class
new file mode 100644
index 0000000..9c32941
Binary files /dev/null and b/bin/wosqi/Settings$4.class differ
diff --git a/bin/wosqi/Settings$5.class b/bin/wosqi/Settings$5.class
new file mode 100644
index 0000000..6269d93
Binary files /dev/null and b/bin/wosqi/Settings$5.class differ
diff --git a/bin/wosqi/Settings$6.class b/bin/wosqi/Settings$6.class
new file mode 100644
index 0000000..d689a28
Binary files /dev/null and b/bin/wosqi/Settings$6.class differ
diff --git a/bin/wosqi/Settings$7.class b/bin/wosqi/Settings$7.class
new file mode 100644
index 0000000..40d7094
Binary files /dev/null and b/bin/wosqi/Settings$7.class differ
diff --git a/bin/wosqi/Settings$8.class b/bin/wosqi/Settings$8.class
new file mode 100644
index 0000000..e100830
Binary files /dev/null and b/bin/wosqi/Settings$8.class differ
diff --git a/bin/wosqi/Settings$DoLanguageNotice.class b/bin/wosqi/Settings$DoLanguageNotice.class
new file mode 100644
index 0000000..b682250
Binary files /dev/null and b/bin/wosqi/Settings$DoLanguageNotice.class differ
diff --git a/bin/wosqi/Settings.class b/bin/wosqi/Settings.class
new file mode 100644
index 0000000..0a616b6
Binary files /dev/null and b/bin/wosqi/Settings.class differ
diff --git a/src/ca/canuckcoding/wosqi/Settings.form b/bin/wosqi/Settings.form
similarity index 100%
rename from src/ca/canuckcoding/wosqi/Settings.form
rename to bin/wosqi/Settings.form
diff --git a/bin/wosqi/Usage$1.class b/bin/wosqi/Usage$1.class
new file mode 100644
index 0000000..2d9456b
Binary files /dev/null and b/bin/wosqi/Usage$1.class differ
diff --git a/bin/wosqi/Usage.class b/bin/wosqi/Usage.class
new file mode 100644
index 0000000..58ddcfd
Binary files /dev/null and b/bin/wosqi/Usage.class differ
diff --git a/src/ca/canuckcoding/wosqi/Usage.form b/bin/wosqi/Usage.form
similarity index 100%
rename from src/ca/canuckcoding/wosqi/Usage.form
rename to bin/wosqi/Usage.form
diff --git a/bin/wosqi/WebOSQuickInstallApp$1.class b/bin/wosqi/WebOSQuickInstallApp$1.class
new file mode 100644
index 0000000..ac21631
Binary files /dev/null and b/bin/wosqi/WebOSQuickInstallApp$1.class differ
diff --git a/bin/wosqi/WebOSQuickInstallApp.class b/bin/wosqi/WebOSQuickInstallApp.class
new file mode 100644
index 0000000..772cb4c
Binary files /dev/null and b/bin/wosqi/WebOSQuickInstallApp.class differ
diff --git a/build.xml b/build.xml
deleted file mode 100644
index eb2e791..0000000
--- a/build.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- Builds, tests, and runs the project WebOS Quick Install v4.
-
-
-
diff --git a/lib/appframework-1.0.3.jar b/libs/appframework-1.0.3.jar
similarity index 100%
rename from lib/appframework-1.0.3.jar
rename to libs/appframework-1.0.3.jar
diff --git a/lib/filedrop.jar b/libs/filedrop.jar
similarity index 100%
rename from lib/filedrop.jar
rename to libs/filedrop.jar
diff --git a/libs/jPowerShell-3.0.4.jar b/libs/jPowerShell-3.0.4.jar
new file mode 100644
index 0000000..e9e4025
Binary files /dev/null and b/libs/jPowerShell-3.0.4.jar differ
diff --git a/lib/json.jar b/libs/json.jar
similarity index 100%
rename from lib/json.jar
rename to libs/json.jar
diff --git a/lib/swing-layout-1.0.4.jar b/libs/swing-layout-1.0.4.jar
similarity index 100%
rename from lib/swing-layout-1.0.4.jar
rename to libs/swing-layout-1.0.4.jar
diff --git a/lib/swing-worker-1.1.jar b/libs/swing-worker-1.1.jar
similarity index 100%
rename from lib/swing-worker-1.1.jar
rename to libs/swing-worker-1.1.jar
diff --git a/lib/tar.jar b/libs/tar.jar
similarity index 100%
rename from lib/tar.jar
rename to libs/tar.jar
diff --git a/lib/webOSLib-1.1.0.jar b/libs/webOSLib-1.1.0.jar
similarity index 100%
rename from lib/webOSLib-1.1.0.jar
rename to libs/webOSLib-1.1.0.jar
diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml
deleted file mode 100644
index 2f5eb75..0000000
--- a/nbproject/build-impl.xml
+++ /dev/null
@@ -1,1413 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Must set src.dir
- Must set test.src.dir
- Must set build.dir
- Must set dist.dir
- Must set build.classes.dir
- Must set dist.javadoc.dir
- Must set build.test.classes.dir
- Must set build.test.results.dir
- Must set build.classes.excludes
- Must set dist.jar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Must set javac.includes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- No tests executed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Must set JVM to use for profiling in profiler.info.jvm
- Must set profiler agent JVM arguments in profiler.info.jvmargs.agent
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Must select some files in the IDE or set javac.includes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- To run this application from the command line without Ant, try:
-
- java -jar "${dist.jar.resolved}"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Must select one file in the IDE or set run.class
-
-
-
- Must select one file in the IDE or set run.class
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Must select one file in the IDE or set debug.class
-
-
-
-
- Must select one file in the IDE or set debug.class
-
-
-
-
- Must set fix.includes
-
-
-
-
-
-
-
-
-
- This target only works when run from inside the NetBeans IDE.
-
-
-
-
-
-
-
-
- Must select one file in the IDE or set profile.class
- This target only works when run from inside the NetBeans IDE.
-
-
-
-
-
-
-
-
- This target only works when run from inside the NetBeans IDE.
-
-
-
-
-
-
-
-
-
-
-
-
- This target only works when run from inside the NetBeans IDE.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Must select one file in the IDE or set run.class
-
-
-
-
-
- Must select some files in the IDE or set test.includes
-
-
-
-
- Must select one file in the IDE or set run.class
-
-
-
-
- Must select one file in the IDE or set applet.url
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Must select some files in the IDE or set javac.includes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Some tests failed; see details above.
-
-
-
-
-
-
-
-
- Must select some files in the IDE or set test.includes
-
-
-
- Some tests failed; see details above.
-
-
-
- Must select some files in the IDE or set test.class
- Must select some method in the IDE or set test.method
-
-
-
- Some tests failed; see details above.
-
-
-
-
- Must select one file in the IDE or set test.class
-
-
-
- Must select one file in the IDE or set test.class
- Must select some method in the IDE or set test.method
-
-
-
-
-
-
-
-
-
-
-
-
-
- Must select one file in the IDE or set applet.url
-
-
-
-
-
-
-
-
- Must select one file in the IDE or set applet.url
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties
deleted file mode 100644
index 6276b62..0000000
--- a/nbproject/genfiles.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-build.xml.data.CRC32=55741110
-build.xml.script.CRC32=44bd54c4
-build.xml.stylesheet.CRC32=8064a381@1.75.2.48
-# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
-# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=55741110
-nbproject/build-impl.xml.script.CRC32=721adad8
-nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48
diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties
deleted file mode 100644
index adcebcc..0000000
--- a/nbproject/private/private.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-file.reference.filedrop.jar=C:\\Users\\Jason\\NetBeans Projects\\filedrop.jar
-file.reference.json.jar=C:\\Users\\Jason\\NetBeans Projects\\json.jar
-file.reference.tar.jar=C:\\Users\\Jason\\NetBeans Projects\\tar.jar
-user.properties.file=C:\\Users\\Jason\\AppData\\Roaming\\NetBeans\\8.0.1\\build.properties
diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml
deleted file mode 100644
index 6807a2b..0000000
--- a/nbproject/private/private.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/nbproject/project.properties b/nbproject/project.properties
deleted file mode 100644
index 536f688..0000000
--- a/nbproject/project.properties
+++ /dev/null
@@ -1,81 +0,0 @@
-application.desc=An advanced tool for installing and managine packages on webOS devices.
-application.homepage=http://canuckcoding.ca
-application.splash=
-application.title=WebOS Quick Install
-application.vendor=Jason Robitaille
-build.classes.dir=${build.dir}/classes
-build.classes.excludes=**/*.java,**/*.form
-# This directory is removed when the project is cleaned:
-build.dir=build
-build.generated.dir=${build.dir}/generated
-build.generated.sources.dir=${build.dir}/generated-sources
-# Only compile against the classpath explicitly listed here:
-build.sysclasspath=ignore
-build.test.classes.dir=${build.dir}/test/classes
-build.test.results.dir=${build.dir}/test/results
-debug.classpath=\
- ${run.classpath}
-debug.test.classpath=\
- ${run.test.classpath}
-# This directory is removed when the project is cleaned:
-dist.dir=dist
-dist.jar=${dist.dir}/WebOS Quick Install v4.jar
-dist.javadoc.dir=${dist.dir}/javadoc
-excludes=
-file.reference.filedrop.jar=C:\\Users\\Jason\\NetBeansProjects\\filedrop.jar
-file.reference.json.jar=C:\\Users\\Jason\\NetBeansProjects\\json.jar
-file.reference.tar.jar=C:\\Users\\Jason\\NetBeansProjects\\tar.jar
-file.reference.webOSLib-1.1.0.jar=C:\\Users\\Jason\\NetBeans Projects\\webOSLib-1.1.0.jar
-includes=**
-jar.compress=false
-javac.classpath=\
- ${libs.swing-app-framework.classpath}:\
- ${libs.swing-layout.classpath}:\
- ${file.reference.filedrop.jar}:\
- ${file.reference.tar.jar}:\
- ${file.reference.json.jar}:\
- ${file.reference.webOSLib-1.1.0.jar}
-# Space-separated list of extra javac options
-javac.compilerargs=
-javac.deprecation=false
-javac.source=1.5
-javac.target=1.5
-javac.test.classpath=\
- ${javac.classpath}:\
- ${build.classes.dir}:\
- ${libs.junit.classpath}:\
- ${libs.junit_4.classpath}
-javadoc.additionalparam=
-javadoc.author=false
-javadoc.encoding=${source.encoding}
-javadoc.noindex=false
-javadoc.nonavbar=false
-javadoc.notree=false
-javadoc.private=false
-javadoc.splitindex=true
-javadoc.use=true
-javadoc.version=false
-javadoc.windowtitle=
-jnlp.codebase.type=local
-jnlp.codebase.url=file:/C:/Users/Jason/NetBeansProjects/WebOS%20Quick%20Install%20v4/dist/
-jnlp.descriptor=application
-jnlp.enabled=false
-jnlp.offline-allowed=false
-jnlp.signed=false
-main.class=ca.canuckcoding.wosqi.WebOSQuickInstallApp
-manifest.file=manifest.mf
-meta.inf.dir=${src.dir}/META-INF
-platform.active=default_platform
-run.classpath=\
- ${javac.classpath}:\
- ${build.classes.dir}
-# Space-separated list of JVM arguments used when running the project
-# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
-# or test-sys-prop.name=value to set system properties for unit tests):
-run.jvmargs=
-run.test.classpath=\
- ${javac.test.classpath}:\
- ${build.test.classes.dir}
-source.encoding=UTF-8
-src.dir=src
-test.src.dir=test
diff --git a/nbproject/project.xml b/nbproject/project.xml
deleted file mode 100644
index 2a4ff57..0000000
--- a/nbproject/project.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
- org.netbeans.modules.java.j2seproject
-
-
- WebOS Quick Install v4
- 1.6.5
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/META-INF/services/org.jdesktop.application.Application b/src/META-INF/services/org.jdesktop.application.Application
deleted file mode 100644
index 981ae37..0000000
--- a/src/META-INF/services/org.jdesktop.application.Application
+++ /dev/null
@@ -1 +0,0 @@
-ca.canuckcoding.wosqi.WebOSQuickInstallApp
\ No newline at end of file
diff --git a/src/ca/canuckcoding/wosqi/About.form b/src/ca/canuckcoding/wosqi/About.form
deleted file mode 100644
index 5e61001..0000000
--- a/src/ca/canuckcoding/wosqi/About.form
+++ /dev/null
@@ -1,211 +0,0 @@
-
-
-
diff --git a/src/ca/canuckcoding/wosqi/resources/WebOSQuickInstallApp.properties b/src/ca/canuckcoding/wosqi/resources/WebOSQuickInstallApp.properties
deleted file mode 100644
index 61b37a4..0000000
--- a/src/ca/canuckcoding/wosqi/resources/WebOSQuickInstallApp.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-# 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
diff --git a/src/ca/canuckcoding/ipkg/PackageEntry.java b/src/ipkg/PackageEntry.java
similarity index 99%
rename from src/ca/canuckcoding/ipkg/PackageEntry.java
rename to src/ipkg/PackageEntry.java
index 2f3845e..2f8d8e9 100644
--- a/src/ca/canuckcoding/ipkg/PackageEntry.java
+++ b/src/ipkg/PackageEntry.java
@@ -1,5 +1,4 @@
-
-package ca.canuckcoding.ipkg;
+package ipkg;
import ca.canuckcoding.utils.OnlineFile;
import ca.canuckcoding.webos.InstalledEntry;
diff --git a/src/ca/canuckcoding/ipkg/PackageFeed.java b/src/ipkg/PackageFeed.java
similarity index 98%
rename from src/ca/canuckcoding/ipkg/PackageFeed.java
rename to src/ipkg/PackageFeed.java
index 48dafaa..d34f580 100644
--- a/src/ca/canuckcoding/ipkg/PackageFeed.java
+++ b/src/ipkg/PackageFeed.java
@@ -1,8 +1,4 @@
-/*
- * PackageFeed.java
- */
-
-package ca.canuckcoding.ipkg;
+package ipkg;
import ca.canuckcoding.utils.OnlineFile;
import java.util.ArrayList;
diff --git a/src/ca/canuckcoding/ipkg/PackageFilter.java b/src/ipkg/PackageFilter.java
similarity index 93%
rename from src/ca/canuckcoding/ipkg/PackageFilter.java
rename to src/ipkg/PackageFilter.java
index 65d54ac..b6f852d 100644
--- a/src/ca/canuckcoding/ipkg/PackageFilter.java
+++ b/src/ipkg/PackageFilter.java
@@ -1,5 +1,4 @@
-
-package ca.canuckcoding.ipkg;
+package ipkg;
/**
* @author Jason Robitaille
diff --git a/src/ca/canuckcoding/ipkg/PackageManager.java b/src/ipkg/PackageManager.java
similarity index 97%
rename from src/ca/canuckcoding/ipkg/PackageManager.java
rename to src/ipkg/PackageManager.java
index 195fd6b..1f20829 100644
--- a/src/ca/canuckcoding/ipkg/PackageManager.java
+++ b/src/ipkg/PackageManager.java
@@ -1,16 +1,18 @@
+package ipkg;
-package ca.canuckcoding.ipkg;
-
-import ca.canuckcoding.webos.InstalledEntry;
-import ca.canuckcoding.webos.DeviceInfo;
-import ca.canuckcoding.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;
+import ca.canuckcoding.webos.DeviceInfo;
+import ca.canuckcoding.webos.InstalledEntry;
+import wosqi.WebOSQuickInstallApp;
+
/**
* @author Jason Robitaille
*/
@@ -32,19 +34,26 @@ public class PackageManager {
}
public PackageManager(DeviceInfo info, ArrayList apps, JTextArea display) {
+
device = info;
installed = apps;
label = display;
bundle = WebOSQuickInstallApp.bundle;
ALL_CATEGORIES = "--" + bundle.getString("ALL") + "--";
+
if(info.os().toLowerCase().contains("luneos")) {
+
defaultFeeds = new String[] {
"http://ipkg.preware.net/feeds/precentral/Packages.gz",
"http://ipkg.preware.net/feeds/webos-internals/all/Packages.gz",
"http://ipkg.preware.net/feeds/webos-internals/" + device.arch() + "/Packages.gz"
};
- } else {
+
+ }
+ else {
+
defaultFeeds = new String[] {
+
"http://ipkg.preware.net/feeds/precentral/Packages.gz",
"http://ipkg.preware.net/feeds/webos-internals/all/Packages.gz",
"http://ipkg.preware.net/feeds/webos-internals/" + device.arch() + "/Packages.gz",
@@ -52,15 +61,20 @@ public class PackageManager {
"http://ipkg.preware.net/feeds/webos-kernels/" + device.version() + "/Packages.gz",
"http://www.prethemer.com/feeds/preware/themes/Packages.gz",
"http://ipkg.preware.net/feeds/precentral-themes/Packages.gz",
- "http://webos-clock-themer.googlecode.com/svn/trunk/WebOS%20Clock%20Theme%20Builder/feed/Packages.gz"
+ "https://github.com/NotAlexNoyle/WebOS-Clock-Themer/raw/master/feed/Packages.gz"
+
};
+
}
- Preferences prefs = Preferences.systemRoot();
+
+ Preferences prefs = Preferences.userRoot();
int numFeeds = prefs.getInt("numCustomFeeds", 0);
feedStates = new boolean[defaultFeeds.length + numFeeds];
feedUrls = new String[defaultFeeds.length + numFeeds];
for(int i=0; iIn order to get WebOS Quick Install to work properly, there are a few minor requirements:
Novacom driver installed on this computer.
If you want to reinstall the driver, click the "Reinstall Novacom" option in the top File menu.
Developer mode enabled.
This can be done by typing "upupdowndownleftrightleftrightbastart", opening the DevMode app, and enabling the feature.
When you plug in your device, choose "Just charge".
+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=Donate to support the original developer:
+About.appVersionLabel.text=Version v4.7.0u
+About.jLabel2.text=Open Source under the Apache License 2.0
+About.jLabel4.text=Copyright 2009-2014 Jason Robitaille.
+About.jLabel7.text=Donate to support the new maintainer:
+About.jLabel6.text=Jason Robitaille, Alex Noyle, and Canuck Coding are in no way affiliated with HP, LG or their affiliates. Palm, Pre, Pixi, Veer, TouchPad, Enyo, webOS, and Open webOS are among the trademarks owned by or licensed to HP and/or LG Electronics.
+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=
+FeedViewer.jLabel2.text=
+FeedViewer.jTextPane1.contentType=text/html
+FeedViewer.jTextPane1.text=
+FeedViewer.jLabel4.text=Feed:
+FeedViewer.jLabel3.text=License:
+FeedViewer.jLabel5.text=Version:
+FeedViewer.jLabel6.text=Last Updated:
+FeedViewer.jLabel8.text=Description:
+FeedViewer.jLabel7.text=
+FeedViewer.jLabel9.text=Developer:
+FeedViewer.jLabel10.text=
+FeedViewer.jLabel11.text=Homepage
+FeedViewer.jTextField2.text=
+FeedViewer.jLabel22.text=Homepage
+FeedViewer.jLabel21.text=
+FeedViewer.jLabel20.text=Developer:
+FeedViewer.jLabel19.text=
+FeedViewer.jLabel18.text=Description:
+FeedViewer.jLabel17.text=Last Updated:
+FeedViewer.jLabel16.text=Version:
+FeedViewer.jLabel15.text=License:
+FeedViewer.jLabel14.text=Feed:
+FeedViewer.jTextPane2.text=
+FeedViewer.jTextPane2.contentType=text/html
+FeedViewer.jLabel13.text=
+FeedViewer.jLabel12.text=
+FeedViewer.jButton4.text=Install
+FeedViewer.jButton3.text=
+FeedViewer.jLabel33.text=Homepage
+FeedViewer.jLabel32.text=
+FeedViewer.jLabel31.text=Developer:
+FeedViewer.jLabel30.text=
+FeedViewer.jLabel29.text=Description:
+FeedViewer.jLabel28.text=Last Updated:
+FeedViewer.jLabel27.text=Version:
+FeedViewer.jLabel26.text=License:
+FeedViewer.jLabel25.text=Feed:
+FeedViewer.jTextPane3.text=
+FeedViewer.jTextPane3.contentType=text/html
+FeedViewer.jLabel24.text=
+FeedViewer.jLabel23.text=
+FeedViewer.jButton6.text=Install
+FeedViewer.jButton5.text=
+FeedViewer.jTextField3.text=
+FeedViewer.jLabel44.text=Homepage
+FeedViewer.jLabel43.text=
+FeedViewer.jLabel42.text=Developer:
+FeedViewer.jLabel41.text=
+FeedViewer.jLabel40.text=Description:
+FeedViewer.jLabel39.text=Last Updated:
+FeedViewer.jLabel38.text=Version:
+FeedViewer.jLabel37.text=License:
+FeedViewer.jLabel36.text=Feed:
+FeedViewer.jTextPane4.text=
+FeedViewer.jTextPane4.contentType=text/html
+FeedViewer.jLabel35.text=
+FeedViewer.jLabel34.text=
+FeedViewer.jButton8.text=Install
+FeedViewer.jButton7.text=
+FeedViewer.jTextField4.text=
+FeedViewer.jTextField5.text=
+FeedViewer.jLabel55.text=Homepage
+FeedViewer.jLabel54.text=
+FeedViewer.jLabel53.text=Developer:
+FeedViewer.jLabel52.text=
+FeedViewer.jLabel51.text=Description:
+FeedViewer.jLabel50.text=Last Updated:
+FeedViewer.jLabel49.text=Version:
+FeedViewer.jLabel48.text=License:
+FeedViewer.jLabel47.text=Feed:
+FeedViewer.jTextPane5.text=
+FeedViewer.jTextPane5.contentType=text/html
+FeedViewer.jLabel46.text=
+FeedViewer.jLabel45.text=
+FeedViewer.jButton10.text=Install
+FeedViewer.jButton9.text=
+FeedViewer.jLabel66.text=Homepage
+FeedViewer.jLabel65.text=
+FeedViewer.jLabel64.text=Developer:
+FeedViewer.jLabel63.text=
+FeedViewer.jLabel62.text=Description:
+FeedViewer.jLabel61.text=Last Updated:
+FeedViewer.jLabel60.text=Version:
+FeedViewer.jLabel59.text=License:
+FeedViewer.jLabel58.text=Feed:
+FeedViewer.jTextPane6.text=
+FeedViewer.jTextPane6.contentType=text/html
+FeedViewer.jLabel57.text=
+FeedViewer.jLabel56.text=
+FeedViewer.jButton12.text=Install
+FeedViewer.jButton11.text=
+FeedViewer.jTextField6.text=
+FeedViewer.jLabel77.text=Homepage
+FeedViewer.jLabel76.text=
+FeedViewer.jLabel75.text=Developer:
+FeedViewer.jLabel74.text=
+FeedViewer.jLabel73.text=Description:
+FeedViewer.jLabel72.text=Last Updated:
+FeedViewer.jLabel71.text=Version:
+FeedViewer.jLabel70.text=License:
+FeedViewer.jLabel69.text=Feed:
+FeedViewer.jTextPane7.text=
+FeedViewer.jTextPane7.contentType=text/html
+FeedViewer.jLabel68.text=
+FeedViewer.jLabel67.text=
+FeedViewer.jButton14.text=Install
+FeedViewer.jButton13.text=
+FeedViewer.jTextField7.text=
+FeedViewer.jLabel88.text=Homepage
+FeedViewer.jLabel87.text=
+FeedViewer.jLabel86.text=Developer:
+FeedViewer.jLabel85.text=
+FeedViewer.jLabel84.text=Description:
+FeedViewer.jLabel83.text=Last Updated:
+FeedViewer.jLabel82.text=Version:
+FeedViewer.jLabel81.text=License:
+FeedViewer.jLabel80.text=Feed:
+FeedViewer.jTextPane8.text=
+FeedViewer.jTextPane8.contentType=text/html
+FeedViewer.jLabel79.text=
+FeedViewer.jLabel78.text=
+FeedViewer.jButton16.text=Update
+FeedViewer.jLayeredPane9.TabConstraints.tabTitle=Linux Daemons
+FeedViewer.jLabel99.text=Homepage
+FeedViewer.jLabel98.text=
+FeedViewer.jLabel97.text=Developer:
+FeedViewer.jLabel96.text=
+FeedViewer.jLabel95.text=Description:
+FeedViewer.jLabel94.text=Last Updated:
+FeedViewer.jLabel93.text=Version:
+FeedViewer.jLabel92.text=License:
+FeedViewer.jLabel91.text=Feed:
+FeedViewer.jTextPane9.text=
+FeedViewer.jTextPane9.contentType=text/html
+FeedViewer.jLabel90.text=
+FeedViewer.jLabel89.text=
+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
+=
+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=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=Use device name when possible
+OK=OK
+DRIVER_INSTALLED_SUCCESSFULLY.=Driver installed successfully.
+ERROR\:_DRIVER_INSTALLATION_FAILED=ERROR: Driver installation failed
+MainView.jMenuItem10.text=License
+MainView.jMenuItem10.toolTipText=
\ No newline at end of file
diff --git a/src/wosqi/Bundle_de.properties b/src/wosqi/Bundle_de.properties
new file mode 100644
index 0000000..0e97b95
--- /dev/null
+++ b/src/wosqi/Bundle_de.properties
@@ -0,0 +1,315 @@
+# 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=Novacom lade herunter
+Usage.jLayeredPane2.border.title=Anleitung
+Usage.jTextPane1.text=Damit WebOS Quick Install richtig funktionieren kann, m\u00fcssen einige Voraussetzungen erf\u00fcllt sein:
Der Novacom-Treiber muss auf diesem Computer installiert sein.
Falls Sie den Treiber reinstallieren wollen, w\u00e4hlen Sie 'Novacom reinstallieren" aus dem Datei-Men\u00fc.
Der Entwicklermodus muss aktiviert sein.
Dieses kann durch das Eintippen von 'upupdowndownleftrightleftrightbastart', dem \u00d6ffnen des DevMode-Programmes und der Aktivierung der Option erreicht werden.
Wenn Sie Ihr Ger\u00e4t anschlie\u00dfen, w\u00e4hlen Sie "Nur aufladen".
+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=Copyright \u00a9 2009-2013 Jason Robitaille. All rights reserved.
+About.jLabel6.text=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
+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=
+FeedViewer.jLabel2.text=
+FeedViewer.jTextPane1.contentType=text/html
+FeedViewer.jTextPane1.text=
+FeedViewer.jLabel4.text=Feed:
+FeedViewer.jLabel3.text=Lizenz:
+FeedViewer.jLabel5.text=Version:
+FeedViewer.jLabel6.text=Zuletzt aktualisiert:
+FeedViewer.jLabel8.text=Beschreibung:
+FeedViewer.jLabel7.text=
+FeedViewer.jLabel9.text=Entwickler:
+FeedViewer.jLabel10.text=
+FeedViewer.jLabel11.text=Homepage
+FeedViewer.jTextField2.text=
+FeedViewer.jLabel22.text=Homepage
+FeedViewer.jLabel21.text=
+FeedViewer.jLabel20.text=Entwickler:
+FeedViewer.jLabel19.text=
+FeedViewer.jLabel18.text=Beschreibung:
+FeedViewer.jLabel17.text=Zuletzt aktualisiert:
+FeedViewer.jLabel16.text=Version:
+FeedViewer.jLabel15.text=Lizenz:
+FeedViewer.jLabel14.text=Feed:
+FeedViewer.jTextPane2.text=
+FeedViewer.jTextPane2.contentType=text/html
+FeedViewer.jLabel13.text=
+FeedViewer.jLabel12.text=
+FeedViewer.jButton4.text=Installieren
+FeedViewer.jButton3.text=
+FeedViewer.jLabel33.text=Homepage
+FeedViewer.jLabel32.text=
+FeedViewer.jLabel31.text=Entwickler:
+FeedViewer.jLabel30.text=
+FeedViewer.jLabel29.text=Beschreibung:
+FeedViewer.jLabel28.text=Zuletzt aktualisiert:
+FeedViewer.jLabel27.text=Version:
+FeedViewer.jLabel26.text=Lizenz:
+FeedViewer.jLabel25.text=Feed:
+FeedViewer.jTextPane3.text=
+FeedViewer.jTextPane3.contentType=text/html
+FeedViewer.jLabel24.text=
+FeedViewer.jLabel23.text=
+FeedViewer.jButton6.text=Installieren
+FeedViewer.jButton5.text=
+FeedViewer.jTextField3.text=
+FeedViewer.jLabel44.text=Homepage
+FeedViewer.jLabel43.text=
+FeedViewer.jLabel42.text=Entwickler:
+FeedViewer.jLabel41.text=
+FeedViewer.jLabel40.text=Beschreibung:
+FeedViewer.jLabel39.text=Zuletzt aktualisiert:
+FeedViewer.jLabel38.text=Version:
+FeedViewer.jLabel37.text=Lizenz:
+FeedViewer.jLabel36.text=Feed:
+FeedViewer.jTextPane4.text=
+FeedViewer.jTextPane4.contentType=text/html
+FeedViewer.jLabel35.text=
+FeedViewer.jLabel34.text=
+FeedViewer.jButton8.text=Installieren
+FeedViewer.jButton7.text=
+FeedViewer.jTextField4.text=
+FeedViewer.jTextField5.text=
+FeedViewer.jLabel55.text=Homepage
+FeedViewer.jLabel54.text=
+FeedViewer.jLabel53.text=Entwickler:
+FeedViewer.jLabel52.text=
+FeedViewer.jLabel51.text=Beschreibung:
+FeedViewer.jLabel50.text=Zuletzt aktualisiert:
+FeedViewer.jLabel49.text=Version:
+FeedViewer.jLabel48.text=Lizenz:
+FeedViewer.jLabel47.text=Feed:
+FeedViewer.jTextPane5.text=
+FeedViewer.jTextPane5.contentType=text/html
+FeedViewer.jLabel46.text=
+FeedViewer.jLabel45.text=
+FeedViewer.jButton10.text=Installieren
+FeedViewer.jButton9.text=
+FeedViewer.jLabel66.text=Homepage
+FeedViewer.jLabel65.text=
+FeedViewer.jLabel64.text=Entwickler:
+FeedViewer.jLabel63.text=
+FeedViewer.jLabel62.text=Beschreibung:
+FeedViewer.jLabel61.text=Zuletzt aktualisiert:
+FeedViewer.jLabel60.text=Version:
+FeedViewer.jLabel59.text=Lizenz:
+FeedViewer.jLabel58.text=Feed:
+FeedViewer.jTextPane6.text=
+FeedViewer.jTextPane6.contentType=text/html
+FeedViewer.jLabel57.text=
+FeedViewer.jLabel56.text=
+FeedViewer.jButton12.text=Installieren
+FeedViewer.jButton11.text=
+FeedViewer.jTextField6.text=
+FeedViewer.jLabel77.text=Homepage
+FeedViewer.jLabel76.text=
+FeedViewer.jLabel75.text=Entwickler:
+FeedViewer.jLabel74.text=
+FeedViewer.jLabel73.text=Beschreibung:
+FeedViewer.jLabel72.text=Zuletzt aktualisiert:
+FeedViewer.jLabel71.text=Version:
+FeedViewer.jLabel70.text=Lizenz:
+FeedViewer.jLabel69.text=Feed:
+FeedViewer.jTextPane7.text=
+FeedViewer.jTextPane7.contentType=text/html
+FeedViewer.jLabel68.text=
+FeedViewer.jLabel67.text=
+FeedViewer.jButton14.text=Installieren
+FeedViewer.jButton13.text=
+FeedViewer.jTextField7.text=
+FeedViewer.jLabel88.text=Homepage
+FeedViewer.jLabel87.text=
+FeedViewer.jLabel86.text=Entwickler:
+FeedViewer.jLabel85.text=
+FeedViewer.jLabel84.text=Beschreibung:
+FeedViewer.jLabel83.text=Zuletzt aktualisiert:
+FeedViewer.jLabel82.text=Version:
+FeedViewer.jLabel81.text=Lizenz:
+FeedViewer.jLabel80.text=Feed:
+FeedViewer.jTextPane8.text=
+FeedViewer.jTextPane8.contentType=text/html
+FeedViewer.jLabel79.text=
+FeedViewer.jLabel78.text=
+FeedViewer.jButton16.text=Aktualisiere
+FeedViewer.jLayeredPane9.TabConstraints.tabTitle=Linux Daemons
+FeedViewer.jLabel99.text=Homepage
+FeedViewer.jLabel98.text=
+FeedViewer.jLabel97.text=Entwickler:
+FeedViewer.jLabel96.text=
+FeedViewer.jLabel95.text=Beschreibung:
+FeedViewer.jLabel94.text=Zuletzt aktualisiert:
+FeedViewer.jLabel93.text=Version:
+FeedViewer.jLabel92.text=Lizenz:
+FeedViewer.jLabel91.text=Feed:
+FeedViewer.jTextPane9.text=
+FeedViewer.jTextPane9.contentType=text/html
+FeedViewer.jLabel90.text=
+FeedViewer.jLabel89.text=
+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
+=
+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=Wenn m\u00f6glich Ger\u00e4tenamen benutzen
+OK=OK
+DRIVER_INSTALLED_SUCCESSFULLY.=Treiber wurde erfolgreich installiert.
+ERROR\:_DRIVER_INSTALLATION_FAILED=FEHLER: Installation des Treibers fehlgeschlagen
\ No newline at end of file
diff --git a/src/wosqi/Bundle_fr.properties b/src/wosqi/Bundle_fr.properties
new file mode 100644
index 0000000..6e102ba
--- /dev/null
+++ b/src/wosqi/Bundle_fr.properties
@@ -0,0 +1,315 @@
+# 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=Novacom T\u00e9l\u00e9chargement
+Usage.jLayeredPane2.border.title=Comment utiliser
+Usage.jTextPane1.text=Avant WebOS Quick Install fonctionne correctement, il y a quelques exigences mineures:
Driver Novacom install\u00e9 sur cet ordinateur
Si vous voulez r\u00e9installer le composant, cliquez sur le "R\u00e9installer Novacom" option dans le menu principal Fichier.
Mode d\u00e9veloppeur activ\u00e9.
Cela peut \u00eatre fait par tapant 'upupdowndownleftrightleftrightbastart', Ouvrez DevMode l'application, et d'activer la fonction.
-
+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=Copyright \u00a9 2009-2013 Jason Robitaille. Tous droits r\u00e9serv\u00e9s.
+About.jLabel6.text=
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
+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=
+FeedViewer.jLabel2.text=
+FeedViewer.jTextPane1.contentType=text/html
+FeedViewer.jTextPane1.text=
+FeedViewer.jLabel4.text=Feed:
+FeedViewer.jLabel3.text=License:
+FeedViewer.jLabel5.text=Version:
+FeedViewer.jLabel6.text=Derni\u00e8re mise \u00e0 jour:
+FeedViewer.jLabel8.text=Description:
+FeedViewer.jLabel7.text=
+FeedViewer.jLabel9.text=D\u00e9veloppeur:
+FeedViewer.jLabel10.text=
+FeedViewer.jLabel11.text=Page d'accueil
+FeedViewer.jTextField2.text=
+FeedViewer.jLabel22.text=Page d'accueil
+FeedViewer.jLabel21.text=
+FeedViewer.jLabel20.text=D\u00e9veloppeur:
+FeedViewer.jLabel19.text=
+FeedViewer.jLabel18.text=Description:
+FeedViewer.jLabel17.text=Derni\u00e8re mise \u00e0 jour:
+FeedViewer.jLabel16.text=Version:
+FeedViewer.jLabel15.text=License:
+FeedViewer.jLabel14.text=Feed:
+FeedViewer.jTextPane2.text=
+FeedViewer.jTextPane2.contentType=text/html
+FeedViewer.jLabel13.text=
+FeedViewer.jLabel12.text=
+FeedViewer.jButton4.text=Installer
+FeedViewer.jButton3.text=
+FeedViewer.jLabel33.text=Page d'accueil
+FeedViewer.jLabel32.text=
+FeedViewer.jLabel31.text=D\u00e9veloppeur:
+FeedViewer.jLabel30.text=
+FeedViewer.jLabel29.text=Description:
+FeedViewer.jLabel28.text=Derni\u00e8re mise \u00e0 jour:
+FeedViewer.jLabel27.text=Version:
+FeedViewer.jLabel26.text=License:
+FeedViewer.jLabel25.text=Feed:
+FeedViewer.jTextPane3.text=
+FeedViewer.jTextPane3.contentType=text/html
+FeedViewer.jLabel24.text=
+FeedViewer.jLabel23.text=
+FeedViewer.jButton6.text=Installer
+FeedViewer.jButton5.text=
+FeedViewer.jTextField3.text=
+FeedViewer.jLabel44.text=Page d'accueil
+FeedViewer.jLabel43.text=
+FeedViewer.jLabel42.text=D\u00e9veloppeur:
+FeedViewer.jLabel41.text=
+FeedViewer.jLabel40.text=Description:
+FeedViewer.jLabel39.text=Derni\u00e8re mise \u00e0 jour:
+FeedViewer.jLabel38.text=Version:
+FeedViewer.jLabel37.text=License:
+FeedViewer.jLabel36.text=Feed:
+FeedViewer.jTextPane4.text=
+FeedViewer.jTextPane4.contentType=text/html
+FeedViewer.jLabel35.text=
+FeedViewer.jLabel34.text=
+FeedViewer.jButton8.text=Installer
+FeedViewer.jButton7.text=
+FeedViewer.jTextField4.text=
+FeedViewer.jTextField5.text=
+FeedViewer.jLabel55.text=Page d'accueil
+FeedViewer.jLabel54.text=
+FeedViewer.jLabel53.text=D\u00e9veloppeur:
+FeedViewer.jLabel52.text=
+FeedViewer.jLabel51.text=Description:
+FeedViewer.jLabel50.text=Derni\u00e8re mise \u00e0 jour:
+FeedViewer.jLabel49.text=Version:
+FeedViewer.jLabel48.text=License:
+FeedViewer.jLabel47.text=Feed:
+FeedViewer.jTextPane5.text=
+FeedViewer.jTextPane5.contentType=text/html
+FeedViewer.jLabel46.text=
+FeedViewer.jLabel45.text=
+FeedViewer.jButton10.text=Installer
+FeedViewer.jButton9.text=
+FeedViewer.jLabel66.text=Page d'accueil
+FeedViewer.jLabel65.text=
+FeedViewer.jLabel64.text=D\u00e9veloppeur:
+FeedViewer.jLabel63.text=
+FeedViewer.jLabel62.text=Description:
+FeedViewer.jLabel61.text=Derni\u00e8re mise \u00e0 jour:
+FeedViewer.jLabel60.text=Version:
+FeedViewer.jLabel59.text=License:
+FeedViewer.jLabel58.text=Feed:
+FeedViewer.jTextPane6.text=
+FeedViewer.jTextPane6.contentType=text/html
+FeedViewer.jLabel57.text=
+FeedViewer.jLabel56.text=
+FeedViewer.jButton12.text=Installer
+FeedViewer.jButton11.text=
+FeedViewer.jTextField6.text=
+FeedViewer.jLabel77.text=Page d'accueil
+FeedViewer.jLabel76.text=
+FeedViewer.jLabel75.text=D\u00e9veloppeur:
+FeedViewer.jLabel74.text=
+FeedViewer.jLabel73.text=Description:
+FeedViewer.jLabel72.text=Derni\u00e8re mise \u00e0 jour:
+FeedViewer.jLabel71.text=Version:
+FeedViewer.jLabel70.text=License:
+FeedViewer.jLabel69.text=Feed:
+FeedViewer.jTextPane7.text=
+FeedViewer.jTextPane7.contentType=text/html
+FeedViewer.jLabel68.text=
+FeedViewer.jLabel67.text=
+FeedViewer.jButton14.text=Installer
+FeedViewer.jButton13.text=
+FeedViewer.jTextField7.text=
+FeedViewer.jLabel88.text=Page d'accueil
+FeedViewer.jLabel87.text=
+FeedViewer.jLabel86.text=D\u00e9veloppeur:
+FeedViewer.jLabel85.text=
+FeedViewer.jLabel84.text=Description:
+FeedViewer.jLabel83.text=Derni\u00e8re mise \u00e0 jour:
+FeedViewer.jLabel82.text=Version:
+FeedViewer.jLabel81.text=License:
+FeedViewer.jLabel80.text=Feed:
+FeedViewer.jTextPane8.text=
+FeedViewer.jTextPane8.contentType=text/html
+FeedViewer.jLabel79.text=
+FeedViewer.jLabel78.text=
+FeedViewer.jButton16.text=Update
+FeedViewer.jLayeredPane9.TabConstraints.tabTitle=Daemon de Linux
+FeedViewer.jLabel99.text=Page d'accueil
+FeedViewer.jLabel98.text=
+FeedViewer.jLabel97.text=D\u00e9veloppeur:
+FeedViewer.jLabel96.text=
+FeedViewer.jLabel95.text=Description:
+FeedViewer.jLabel94.text=Derni\u00e8re mise \u00e0 jour:
+FeedViewer.jLabel93.text=Version:
+FeedViewer.jLabel92.text=License:
+FeedViewer.jLabel91.text=Feed:
+FeedViewer.jTextPane9.text=
+FeedViewer.jTextPane9.contentType=text/html
+FeedViewer.jLabel90.text=
+FeedViewer.jLabel89.text=
+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
+=
+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=Supprimer les mots des passe stock\u00e9s DevMode
+RETRY=R\u00e9essayer
+DRIVER_INSTALLED_SUCCESSFULLY.=Driver install\u00e9 avec succ\u00e8s.
+ERROR\:_DRIVER_INSTALLATION_FAILED=ERREUR: L'installation du driver a \u00e9chou\u00e9
\ No newline at end of file
diff --git a/src/wosqi/Bundle_zh.properties b/src/wosqi/Bundle_zh.properties
new file mode 100644
index 0000000..35ae9ef
--- /dev/null
+++ b/src/wosqi/Bundle_zh.properties
@@ -0,0 +1,315 @@
+# 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=Novacom\u4e0b\u8f7d\u4e2d
+Usage.jLayeredPane2.border.title=\u5982\u4f55\u4f7f\u7528
+Usage.jTextPane1.text=\u672c\u7a0b\u5e8f\u6b63\u5e38\u8fd0\u884c\u524d\u63d0:
\u5b89\u88c5Novacom\u9a71\u52a8
\u53ef\u70b9\u51fb\u9876\u90e8\u83dc\u5355\u9009\u62e9\u91cd\u65b0\u5b89\u88c5Novacom\u9a71\u52a8
\u5df2\u5f00\u542f\u5f00\u53d1\u8005\u6a21\u5f0f
\u4e3b\u754c\u9762\u8fde\u7eed\u8f93\u5165"upupdowndownleftrightleftrightbastart"\u8c03\u51fa\u5f00\u53d1\u8005\u6a21\u5f0f\u9009\u9879
\u624b\u673a\u63a5\u6570\u636e\u7ebf\u8fde\u7535\u8111\u540e\u9009\u62e9"Just charge".
+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=\u7248\u6743\u5f52Jason Robitaille\u6240\u6709,\u76d7\u7248\u5fc5\u7a76.
+About.jLabel6.text=\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.
+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=
+FeedViewer.jLabel2.text=
+FeedViewer.jTextPane1.contentType=text/html
+FeedViewer.jTextPane1.text=
+FeedViewer.jLabel4.text=\u6e90:
+FeedViewer.jLabel3.text=\u8bb8\u53ef:
+FeedViewer.jLabel5.text=\u7248\u672c:
+FeedViewer.jLabel6.text=\u4e0a\u6b21\u4fee\u6539:
+FeedViewer.jLabel8.text=\u63cf\u8ff0:
+FeedViewer.jLabel7.text=
+FeedViewer.jLabel9.text=\u4f5c\u8005:
+FeedViewer.jLabel10.text=
+FeedViewer.jLabel11.text=\u4e3b\u754c\u9762
+FeedViewer.jTextField2.text=
+FeedViewer.jLabel22.text=\u4e3b\u754c\u9762
+FeedViewer.jLabel21.text=
+FeedViewer.jLabel20.text=\u4f5c\u8005:
+FeedViewer.jLabel19.text=
+FeedViewer.jLabel18.text=\u63cf\u8ff0:
+FeedViewer.jLabel17.text=\u4e0a\u6b21\u4fee\u6539:
+FeedViewer.jLabel16.text=\u7248\u672c:
+FeedViewer.jLabel15.text=\u8bb8\u53ef:
+FeedViewer.jLabel14.text=\u6e90:
+FeedViewer.jTextPane2.text=
+FeedViewer.jTextPane2.contentType=text/html
+FeedViewer.jLabel13.text=
+FeedViewer.jLabel12.text=
+FeedViewer.jButton4.text=\u5b89\u88c5
+FeedViewer.jButton3.text=
+FeedViewer.jLabel33.text=\u4e3b\u754c\u9762
+FeedViewer.jLabel32.text=
+FeedViewer.jLabel31.text=\u4f5c\u8005:
+FeedViewer.jLabel30.text=
+FeedViewer.jLabel29.text=\u63cf\u8ff0:
+FeedViewer.jLabel28.text=\u4e0a\u6b21\u4fee\u6539:
+FeedViewer.jLabel27.text=\u7248\u672c:
+FeedViewer.jLabel26.text=\u8bb8\u53ef:
+FeedViewer.jLabel25.text=\u6e90:
+FeedViewer.jTextPane3.text=
+FeedViewer.jTextPane3.contentType=text/html
+FeedViewer.jLabel24.text=
+FeedViewer.jLabel23.text=
+FeedViewer.jButton6.text=\u5b89\u88c5
+FeedViewer.jButton5.text=
+FeedViewer.jTextField3.text=
+FeedViewer.jLabel44.text=\u4e3b\u754c\u9762
+FeedViewer.jLabel43.text=
+FeedViewer.jLabel42.text=\u4f5c\u8005:
+FeedViewer.jLabel41.text=
+FeedViewer.jLabel40.text=\u63cf\u8ff0:
+FeedViewer.jLabel39.text=\u4e0a\u6b21\u4fee\u6539:
+FeedViewer.jLabel38.text=\u7248\u672c:
+FeedViewer.jLabel37.text=\u8bb8\u53ef:
+FeedViewer.jLabel36.text=\u6e90:
+FeedViewer.jTextPane4.text=
+FeedViewer.jTextPane4.contentType=text/html
+FeedViewer.jLabel35.text=
+FeedViewer.jLabel34.text=
+FeedViewer.jButton8.text=\u5b89\u88c5
+FeedViewer.jButton7.text=
+FeedViewer.jTextField4.text=
+FeedViewer.jTextField5.text=
+FeedViewer.jLabel55.text=\u4e3b\u754c\u9762
+FeedViewer.jLabel54.text=
+FeedViewer.jLabel53.text=\u4f5c\u8005:
+FeedViewer.jLabel52.text=
+FeedViewer.jLabel51.text=\u63cf\u8ff0:
+FeedViewer.jLabel50.text=\u4e0a\u6b21\u4fee\u6539:
+FeedViewer.jLabel49.text=\u7248\u672c:
+FeedViewer.jLabel48.text=\u8bb8\u53ef:
+FeedViewer.jLabel47.text=\u6e90:
+FeedViewer.jTextPane5.text=
+FeedViewer.jTextPane5.contentType=text/html
+FeedViewer.jLabel46.text=
+FeedViewer.jLabel45.text=
+FeedViewer.jButton10.text=\u5b89\u88c5
+FeedViewer.jButton9.text=
+FeedViewer.jLabel66.text=\u4e3b\u754c\u9762
+FeedViewer.jLabel65.text=
+FeedViewer.jLabel64.text=\u4f5c\u8005:
+FeedViewer.jLabel63.text=
+FeedViewer.jLabel62.text=\u63cf\u8ff0:
+FeedViewer.jLabel61.text=\u4e0a\u6b21\u4fee\u6539:
+FeedViewer.jLabel60.text=\u7248\u672c:
+FeedViewer.jLabel59.text=\u8bb8\u53ef:
+FeedViewer.jLabel58.text=\u6e90:
+FeedViewer.jTextPane6.text=
+FeedViewer.jTextPane6.contentType=text/html
+FeedViewer.jLabel57.text=
+FeedViewer.jLabel56.text=
+FeedViewer.jButton12.text=\u5b89\u88c5
+FeedViewer.jButton11.text=
+FeedViewer.jTextField6.text=
+FeedViewer.jLabel77.text=\u4e3b\u754c\u9762
+FeedViewer.jLabel76.text=
+FeedViewer.jLabel75.text=\u4f5c\u8005:
+FeedViewer.jLabel74.text=
+FeedViewer.jLabel73.text=\u63cf\u8ff0:
+FeedViewer.jLabel72.text=\u4e0a\u6b21\u4fee\u6539:
+FeedViewer.jLabel71.text=\u7248\u672c:
+FeedViewer.jLabel70.text=\u8bb8\u53ef:
+FeedViewer.jLabel69.text=\u6e90:
+FeedViewer.jTextPane7.text=
+FeedViewer.jTextPane7.contentType=text/html
+FeedViewer.jLabel68.text=
+FeedViewer.jLabel67.text=
+FeedViewer.jButton14.text=\u5b89\u88c5
+FeedViewer.jButton13.text=
+FeedViewer.jTextField7.text=
+FeedViewer.jLabel88.text=\u4e3b\u754c\u9762
+FeedViewer.jLabel87.text=
+FeedViewer.jLabel86.text=\u4f5c\u8005:
+FeedViewer.jLabel85.text=
+FeedViewer.jLabel84.text=\u63cf\u8ff0:
+FeedViewer.jLabel83.text=\u4e0a\u6b21\u4fee\u6539:
+FeedViewer.jLabel82.text=\u7248\u672c:
+FeedViewer.jLabel81.text=\u8bb8\u53ef:
+FeedViewer.jLabel80.text=\u6e90:
+FeedViewer.jTextPane8.text=
+FeedViewer.jTextPane8.contentType=text/html
+FeedViewer.jLabel79.text=
+FeedViewer.jLabel78.text=
+FeedViewer.jButton16.text=\u66f4\u65b0
+FeedViewer.jLayeredPane9.TabConstraints.tabTitle=Linux\u540e\u53f0\u7a0b\u5e8f
+FeedViewer.jLabel99.text=\u4e3b\u754c\u9762
+FeedViewer.jLabel98.text=
+FeedViewer.jLabel97.text=\u4f5c\u8005:
+FeedViewer.jLabel96.text=
+FeedViewer.jLabel95.text=\u63cf\u8ff0:
+FeedViewer.jLabel94.text=\u4e0a\u6b21\u4fee\u6539:
+FeedViewer.jLabel93.text=\u7248\u672c:
+FeedViewer.jLabel92.text=\u8bb8\u53ef:
+FeedViewer.jLabel91.text=\u6e90:
+FeedViewer.jTextPane9.text=
+FeedViewer.jTextPane9.contentType=text/html
+FeedViewer.jLabel90.text=
+FeedViewer.jLabel89.text=
+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
+=<\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=\u5c3d\u53ef\u80fd\u4f7f\u7528\u8bbe\u5907\u540d\u79f0
+OK=\u597d
+DRIVER_INSTALLED_SUCCESSFULLY.=\u9a71\u52a8\u5b89\u88c5\u6210\u529f.
+ERROR\:_DRIVER_INSTALLATION_FAILED=\u51fa\u9519:\u9a71\u52a8\u5b89\u88c5\u5931\u8d25
\ No newline at end of file
diff --git a/src/wosqi/DeviceManagement.form b/src/wosqi/DeviceManagement.form
new file mode 100644
index 0000000..daf1555
--- /dev/null
+++ b/src/wosqi/DeviceManagement.form
@@ -0,0 +1,372 @@
+
+
+
diff --git a/src/ca/canuckcoding/wosqi/DeviceManagement.java b/src/wosqi/DeviceManagement.java
similarity index 96%
rename from src/ca/canuckcoding/wosqi/DeviceManagement.java
rename to src/wosqi/DeviceManagement.java
index 644ae12..7cdb0b0 100644
--- a/src/ca/canuckcoding/wosqi/DeviceManagement.java
+++ b/src/wosqi/DeviceManagement.java
@@ -1,8 +1,4 @@
-/*
- * WebOSQuickInstallAboutBox.java
- */
-
-package ca.canuckcoding.wosqi;
+package wosqi;
import ca.canuckcoding.webos.InstalledEntry;
import ca.canuckcoding.webos.DeviceInfo;
@@ -67,27 +63,27 @@ public class DeviceManagement extends javax.swing.JDialog {
DeviceInfo info = webOS.getDeviceInfo();
URL imgURL;
if(info.model().equals(DeviceInfo.Model.Emulator.toString())) {
- imgURL = getClass().getResource("resources/Emulator 64x64.png");
+ 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");
+ 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");
+ 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");
+ 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");
+ 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");
+ 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");
+ imgURL = getClass().getResource("/resources/HP Pre 3 64x64.png");
} else if(info.model().equals(DeviceInfo.Model.Samsung_Galaxy_Nexus.toString())
|| info.model().equals(DeviceInfo.Model.LG_Nexus_4.toString())
|| info.model().equals(DeviceInfo.Model.Asus_Nexus_7.toString())) {
- imgURL = getClass().getResource("resources/LuneOS 64x64.png");
+ imgURL = getClass().getResource("/resources/LuneOS 64x64.png");
} else { //unknown/Open webOS generic
- imgURL = getClass().getResource("resources/Open webOS 64x64.png");
+ imgURL = getClass().getResource("/resources/Open webOS 64x64.png");
}
jLabel7.setIcon(new ImageIcon(imgURL));
jLabel2.setText(bundle.getString("DEVICE:") + " " + info.name());
@@ -446,7 +442,7 @@ public class DeviceManagement extends javax.swing.JDialog {
jComboBox1.setBounds(154, 20, 100, 20);
jLayeredPane3.add(jComboBox1, javax.swing.JLayeredPane.DEFAULT_LAYER);
- javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(ca.canuckcoding.wosqi.WebOSQuickInstallApp.class).getContext().getActionMap(DeviceManagement.class, this);
+ javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(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);
diff --git a/src/wosqi/FeedLoader.form b/src/wosqi/FeedLoader.form
new file mode 100644
index 0000000..b625adf
--- /dev/null
+++ b/src/wosqi/FeedLoader.form
@@ -0,0 +1,167 @@
+
+
+
diff --git a/src/ca/canuckcoding/wosqi/FeedLoader.java b/src/wosqi/FeedLoader.java
similarity index 93%
rename from src/ca/canuckcoding/wosqi/FeedLoader.java
rename to src/wosqi/FeedLoader.java
index 023f924..59bb7ea 100644
--- a/src/ca/canuckcoding/wosqi/FeedLoader.java
+++ b/src/wosqi/FeedLoader.java
@@ -1,10 +1,6 @@
-/*
- * WebOSQuickInstallAboutBox.java
- */
+package wosqi;
-package ca.canuckcoding.wosqi;
-
-import ca.canuckcoding.ipkg.PackageManager;
+import ipkg.PackageManager;
import ca.canuckcoding.webos.DeviceInfo;
import ca.canuckcoding.webos.WebOSConnection;
import java.text.MessageFormat;
@@ -89,28 +85,28 @@ public class FeedLoader extends javax.swing.JDialog {
jTextArea2.setBackground(new java.awt.Color(219, 219, 219));
jTextArea2.setColumns(20);
jTextArea2.setEditable(false);
- jTextArea2.setFont(new java.awt.Font("Tahoma", 0, 11)); // NOI18N
+ 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
+ jTextArea2.setName("jTextArea2");
jScrollPane2.setViewportView(jTextArea2);
jLayeredPane1.add(jScrollPane2);
jScrollPane2.setBounds(10, 20, 240, 30);
jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- jLabel6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/activity.gif"))); // NOI18N
- jLabel6.setText(bundle.getString("FeedLoader.jLabel6.text")); // NOI18N
- jLabel6.setName("jLabel6"); // NOI18N
+ jLabel6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/activity.gif"))); // NOI18N
+ jLabel6.setText(bundle.getString("FeedLoader.jLabel6.text"));
+ jLabel6.setName("jLabel6");
jLayeredPane1.add(jLabel6);
jLabel6.setBounds(0, 48, 260, 20);
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.setText(bundle.getString("FeedLoader.jLabel5.text"));
+ jLabel5.setName("jLabel5");
jLayeredPane1.add(jLabel5);
jLabel5.setBounds(10, 0, 240, 20);
diff --git a/src/wosqi/FeedViewer.form b/src/wosqi/FeedViewer.form
new file mode 100644
index 0000000..adc2d06
--- /dev/null
+++ b/src/wosqi/FeedViewer.form
@@ -0,0 +1,3658 @@
+
+
+
diff --git a/src/ca/canuckcoding/wosqi/FeedViewer.java b/src/wosqi/FeedViewer.java
similarity index 85%
rename from src/ca/canuckcoding/wosqi/FeedViewer.java
rename to src/wosqi/FeedViewer.java
index 296022d..6796471 100644
--- a/src/ca/canuckcoding/wosqi/FeedViewer.java
+++ b/src/wosqi/FeedViewer.java
@@ -1,36 +1,48 @@
-/*
- * WebOSQuickInstallAboutBox.java
- */
+package wosqi;
-package ca.canuckcoding.wosqi;
-
-import ca.canuckcoding.ipkg.PackageEntry;
-import ca.canuckcoding.ipkg.PackageFilter;
-import ca.canuckcoding.ipkg.PackageManager;
-import ca.canuckcoding.webos.DeviceInfo;
-import ca.canuckcoding.webos.WebOSConnection;
import java.awt.Cursor;
import java.awt.Desktop;
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.RenderingHints;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
import java.net.URL;
import java.text.MessageFormat;
-import javax.swing.JOptionPane;
-import java.util.*;
-import java.util.Timer;
+import java.util.ArrayList;
import java.util.ResourceBundle;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import javax.imageio.ImageIO;
import javax.swing.Icon;
+import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
+import javax.swing.JLayeredPane;
import javax.swing.JList;
+import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JTextPane;
+
import org.json.JSONArray;
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.Image;
-import javax.swing.ImageIcon;
-import javax.swing.JLayeredPane;
+import org.json.JSONException;
+
+import ca.canuckcoding.webos.DeviceInfo;
+import ca.canuckcoding.webos.WebOSConnection;
+import ipkg.PackageEntry;
+import ipkg.PackageFilter;
+import ipkg.PackageManager;
public class FeedViewer extends javax.swing.JDialog {
private ResourceBundle bundle;
@@ -61,11 +73,12 @@ public class FeedViewer extends javax.swing.JDialog {
private WebOSConnection webOS;
private boolean loaded;
private Image background;
+ private static final int BUFFER_SIZE = 4096;
public FeedViewer(java.awt.Frame parent, WebOSConnection wc, PackageManager pm) {
super(parent);
bundle = WebOSQuickInstallApp.bundle;
- URL bgURL = getClass().getResource("resources/background2.jpg");
+ URL bgURL = getClass().getResource("/resources/background2.jpg");
background = new ImageIcon(bgURL).getImage();
initComponents();
loaded = false;
@@ -252,38 +265,171 @@ public class FeedViewer extends javax.swing.JDialog {
} else {
DESCRIPTION[tab].setText("" + UNKNOWN_VALUE);
}
- /*if(selected[tab].source.has("Icon")) {
- try {
- String iconUrl = selected[tab].source.getString("Icon");
- String currName = NAME[tab].getText().replaceFirst("", "");
- NAME[tab].setText("
" + currName);
- } catch(Exception e) {}
- } else {
- NAME[tab].setIcon(null);
- }*/
- new LoadScreenshot(tab).start();
- /*if(selected[tab].source.has("Screenshots")) {
- try {
- JSONArray ss = selected[tab].source.getJSONArray("Screenshots");
- if(ss.length()>0) {
- SCREENSHOT[tab].setIcon(null);
- SCREENSHOT[tab].setText("
");
- } else {
- SCREENSHOT[tab].setText("");
- SCREENSHOT[tab].setIcon(NO_SCREENSHOT);
- }
- } catch(Exception e) {}
- } else {
- SCREENSHOT[tab].setText("");
- SCREENSHOT[tab].setIcon(NO_SCREENSHOT);
- }*/
- if(!selected[tab].source.has("Homepage")) {
- HOMEPAGE[tab].setVisible(false);
+
+ if(selected[tab].source.has("Icon")) {
+
+ String iconURLString = null;
+ try {
+
+ iconURLString = selected[tab].source.getString("Icon");
+
+ // runs if link is http, to convert the link to https
+ if(iconURLString.charAt(4) != 's') {
+
+ ArrayList urlCharacterArrayList = new ArrayList(iconURLString.length() + 1);
+ for(int i = 0; i < iconURLString.length(); i++) {
+
+ if(i == 4) {
+
+ urlCharacterArrayList.add('s');
+ urlCharacterArrayList.add(iconURLString.charAt(i));
+
+ }
+ else {
+
+ urlCharacterArrayList.add(iconURLString.charAt(i));
+
+ }
+
+ }
+
+ char[] urlCharacterArray = new char[urlCharacterArrayList.size()];
+ for(int i = 0; i < urlCharacterArrayList.size(); i++) {
+
+ urlCharacterArray[i] = urlCharacterArrayList.get(i);
+
+ }
+
+ iconURLString = String.valueOf(urlCharacterArray);
+
+ }
+
+ }
+ catch (JSONException e) {
+
+ JOptionPane.showMessageDialog(null, "ERROR: Invalid URL");
+
+ }
+
+ File downloadedFile = new File(System.getProperty("java.io.tmpdir") + downloadFile(iconURLString, System.getProperty("java.io.tmpdir")));
+ Image imageToScale = null;
+ try {
+
+ imageToScale = ImageIO.read(downloadedFile);
+
+ }
+ catch (IOException e) {
+
+ System.out.println("Icon could not be read from file");
+
+ }
+ ImageIcon icon = new ImageIcon(getScaledImage(imageToScale, 48, 48));
+ NAME[tab].setIcon(icon);
+
+ // clean up icons
+ downloadedFile.deleteOnExit();
+
}
- } else {
+ else {
+
+ NAME[tab].setIcon(null);
+
+ }
+
+ if(selected[tab].source.has("Screenshots")) {
+
+ JSONArray screenshotArray = null;
+ try {
+
+ screenshotArray = selected[tab].source.getJSONArray("Screenshots");
+
+ }
+ catch (JSONException e) {
+
+ System.out.println("Screenshot is invalid or does not exist at all.");
+
+ }
+
+ String screenshotURLString = null;
+ try {
+
+ screenshotURLString = screenshotArray.getString(0);
+
+ }
+ catch (JSONException e) {
+
+ System.out.println("Screenshot is invalid or does not exist at all.");
+
+ }
+
+ if(! screenshotURLString.equals(null)) {
+
+ // runs if link is http, to convert the link to https
+ if(screenshotURLString.charAt(4) != 's') {
+
+ ArrayList urlCharacterArrayList = new ArrayList(screenshotURLString.length() + 1);
+ for(int i = 0; i < screenshotURLString.length(); i++) {
+
+ if(i == 4) {
+
+ urlCharacterArrayList.add('s');
+ urlCharacterArrayList.add(screenshotURLString.charAt(i));
+
+ }
+ else {
+
+ urlCharacterArrayList.add(screenshotURLString.charAt(i));
+
+ }
+
+ }
+
+ char[] urlCharacterArray = new char[urlCharacterArrayList.size()];
+ for(int i = 0; i < urlCharacterArrayList.size(); i++) {
+
+ urlCharacterArray[i] = urlCharacterArrayList.get(i);
+
+ }
+
+ screenshotURLString = String.valueOf(urlCharacterArray);
+
+ }
+
+ }
+
+ File downloadedFile = new File(System.getProperty("java.io.tmpdir") + downloadFile(screenshotURLString, System.getProperty("java.io.tmpdir")));
+ Image imageToScale = null;
+ try {
+
+ imageToScale = ImageIO.read(downloadedFile);
+
+ }
+ catch (IOException e) {
+
+ System.out.println("Screenshot could not be read from file");
+
+ }
+ ImageIcon screenshot = new ImageIcon(getScaledImage(imageToScale, 180, 240));
+ SCREENSHOT[tab].setIcon(screenshot);
+
+ // clean up screenshots
+ downloadedFile.deleteOnExit();
+
+ }
+ else {
+
+ SCREENSHOT[tab].setIcon(NO_SCREENSHOT);
+
+ }
+
+ if(!selected[tab].source.has("Homepage")) {
+
+ HOMEPAGE[tab].setVisible(false);
+
+ }
+
+ }
+ else {
LASTUPDATED[tab].setText("" + bundle.getString("LAST_UPDATED:") +
" " + UNKNOWN_VALUE);
LICENSE[tab].setText("" + UNKNOWN_VALUE);
@@ -293,15 +439,27 @@ public class FeedViewer extends javax.swing.JDialog {
SCREENSHOT[tab].setIcon(NO_SCREENSHOT);
HOMEPAGE[tab].setVisible(false);
}
- } else { //no packages selected,aka no packages found
+
+ }
+ // no packages selected,aka no packages found
+ else {
+
selected[tab] = null;
if(tab==packages.length-1) {
+
NAME[tab].setText("" + bundle.getString("NO_UPDATES_FOUND"));
- } else {
- NAME[tab].setText("" + bundle.getString("NO_PACKAGES_FOUND"));
+
}
+ else {
+
+ NAME[tab].setText("" + bundle.getString("NO_PACKAGES_FOUND"));
+
+ }
+
DESCRIPTION[tab].setText("");
+
}
+
}
private void query() {
@@ -383,6 +541,130 @@ public class FeedViewer extends javax.swing.JDialog {
}
}
}
+
+ public static void downloadFailed() {
+
+ System.out.println("ERROR: Fetching package icon failed! Make sure you are connected to the internet.");
+
+ }
+
+ public static String downloadFile(String fileURLString, String saveDir) {
+
+ URL url = null;
+ try {
+
+ url = new URL(fileURLString);
+
+ }
+ catch (MalformedURLException e) {
+
+ downloadFailed();
+
+ }
+
+ HttpURLConnection httpConn = null;
+ try {
+
+ httpConn = (HttpURLConnection) url.openConnection();
+
+ }
+ catch (IOException e) {
+
+ downloadFailed();
+
+ }
+
+ String fileName = new String();
+ try {
+
+ if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
+
+ fileName = fileURLString.substring(fileURLString.lastIndexOf("/") + 1, fileURLString.length());
+
+ InputStream inputStream = null;
+ try {
+
+ inputStream = httpConn.getInputStream();
+
+ }
+ catch (IOException e) {
+
+ downloadFailed();
+
+ }
+ String saveFilePath = saveDir + File.separator + fileName;
+
+ FileOutputStream outputStream = null;
+ try {
+
+ outputStream = new FileOutputStream(saveFilePath);
+
+ }
+ catch (FileNotFoundException e) {
+
+ downloadFailed();
+
+ }
+
+ int bytesRead = -1;
+ byte[] buffer = new byte[BUFFER_SIZE];
+ try {
+
+ while ((bytesRead = inputStream.read(buffer)) != -1) {
+
+ outputStream.write(buffer, 0, bytesRead);
+
+ }
+
+ }
+ catch (IOException e) {
+
+ downloadFailed();
+
+ }
+
+ try {
+
+ outputStream.close();
+ inputStream.close();
+
+ }
+ catch (IOException e) {
+
+ downloadFailed();
+
+ }
+
+ }
+ else {
+
+ downloadFailed();
+
+ }
+
+ }
+ catch (IOException e) {
+
+ downloadFailed();
+
+ }
+
+ return fileName;
+
+ }
+
+ private Image getScaledImage(Image sourceImage, int width, int height){
+
+ BufferedImage resizedImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
+ Graphics2D g2 = resizedImg.createGraphics();
+
+ g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+ g2.drawImage(sourceImage, 0, 0, width, height, null);
+ g2.dispose();
+
+ return resizedImg;
+
+ }
private void openHomepage() {
int tab = jTabbedPane2.getSelectedIndex();
@@ -644,7 +926,7 @@ public class FeedViewer extends javax.swing.JDialog {
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setIconImage(null);
setModal(true);
- setName("feedViewer"); // NOI18N
+ setName("feedViewer");
setResizable(false);
jTabbedPane1.setBackground(new java.awt.Color(245, 243, 244));
@@ -652,7 +934,7 @@ public class FeedViewer extends javax.swing.JDialog {
jTabbedPane1.setTabPlacement(javax.swing.JTabbedPane.BOTTOM);
jTabbedPane1.setFocusable(false);
jTabbedPane1.setFont(jTabbedPane1.getFont().deriveFont(jTabbedPane1.getFont().getSize()+3f));
- jTabbedPane1.setName("mainTabs"); // NOI18N
+ jTabbedPane1.setName("mainTabs");
jTabbedPane1.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
jTabbedPane1StateChanged(evt);
@@ -663,33 +945,33 @@ public class FeedViewer extends javax.swing.JDialog {
jTabbedPane2.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
jTabbedPane2.setFocusable(false);
jTabbedPane2.setFont(jTabbedPane2.getFont().deriveFont(jTabbedPane2.getFont().getStyle() | java.awt.Font.BOLD));
- jTabbedPane2.setName("availablePackagesTabs"); // NOI18N
+ jTabbedPane2.setName("availablePackagesTabs");
jTabbedPane2.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
jTabbedPane2StateChanged(evt);
}
});
- jLayeredPane2.setName("jLayeredPane2"); // NOI18N
+ jLayeredPane2.setName("jLayeredPane2");
jLabel5.setFont(jLabel5.getFont().deriveFont(jLabel5.getFont().getSize()+1f));
- jLabel5.setText(bundle.getString("FeedViewer.jLabel5.text")); // NOI18N
+ jLabel5.setText(bundle.getString("FeedViewer.jLabel5.text"));
jLabel5.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel5.setName("jLabel5"); // NOI18N
+ jLabel5.setName("jLabel5");
jLayeredPane2.add(jLabel5);
jLabel5.setBounds(230, 80, 280, 30);
jLabel9.setFont(jLabel9.getFont().deriveFont(jLabel9.getFont().getSize()+1f));
- jLabel9.setText(bundle.getString("FeedViewer.jLabel9.text")); // NOI18N
+ jLabel9.setText(bundle.getString("FeedViewer.jLabel9.text"));
jLabel9.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel9.setName("jLabel9"); // NOI18N
+ jLabel9.setName("jLabel9");
jLayeredPane2.add(jLabel9);
jLabel9.setBounds(230, 110, 280, 30);
- jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/find.png"))); // NOI18N
- jButton1.setText(bundle.getString("FeedViewer.jButton1.text")); // NOI18N
+ jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/find.png")));
+ jButton1.setText(bundle.getString("FeedViewer.jButton1.text"));
jButton1.setFocusable(false);
- jButton1.setName("jButton1"); // NOI18N
+ jButton1.setName("jButton1");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
@@ -699,14 +981,14 @@ public class FeedViewer extends javax.swing.JDialog {
jButton1.setBounds(150, 54, 30, 25);
jLabel4.setFont(jLabel4.getFont().deriveFont(jLabel4.getFont().getSize()+1f));
- jLabel4.setText(bundle.getString("FeedViewer.jLabel4.text")); // NOI18N
+ jLabel4.setText(bundle.getString("FeedViewer.jLabel4.text"));
jLabel4.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel4.setName("jLabel4"); // NOI18N
+ jLabel4.setName("jLabel4");
jLayeredPane2.add(jLabel4);
jLabel4.setBounds(550, 350, 120, 20);
- jTextField1.setText(bundle.getString("FeedViewer.jTextField1.text")); // NOI18N
- jTextField1.setName("jTextField1"); // NOI18N
+ jTextField1.setText(bundle.getString("FeedViewer.jTextField1.text"));
+ jTextField1.setName("jTextField1");
jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextField1KeyTyped(evt);
@@ -716,21 +998,21 @@ public class FeedViewer extends javax.swing.JDialog {
jTextField1.setBounds(10, 55, 140, 23);
jLabel2.setFont(jLabel2.getFont().deriveFont(jLabel2.getFont().getSize()+13f));
- jLabel2.setText(bundle.getString("FeedViewer.jLabel2.text")); // NOI18N
- jLabel2.setName("jLabel2"); // NOI18N
+ jLabel2.setText(bundle.getString("FeedViewer.jLabel2.text"));
+ jLabel2.setName("jLabel2");
jLayeredPane2.add(jLabel2);
jLabel2.setBounds(230, 10, 280, 70);
jLabel6.setFont(jLabel6.getFont().deriveFont(jLabel6.getFont().getSize()+1f));
- jLabel6.setText(bundle.getString("FeedViewer.jLabel6.text")); // NOI18N
+ jLabel6.setText(bundle.getString("FeedViewer.jLabel6.text"));
jLabel6.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel6.setName("jLabel6"); // NOI18N
+ jLabel6.setName("jLabel6");
jLayeredPane2.add(jLabel6);
jLabel6.setBounds(230, 140, 280, 30);
jComboBox1.setMaximumRowCount(10);
jComboBox1.setFocusable(false);
- jComboBox1.setName("jComboBox1"); // NOI18N
+ jComboBox1.setName("jComboBox1");
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox1ActionPerformed(evt);
@@ -740,20 +1022,20 @@ public class FeedViewer extends javax.swing.JDialog {
jComboBox1.setBounds(10, 20, 170, 22);
jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
- jSeparator1.setName("jSeparator1"); // NOI18N
+ jSeparator1.setName("jSeparator1");
jLayeredPane2.add(jSeparator1);
jSeparator1.setBounds(200, 20, 10, 390);
jScrollPane2.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
- jScrollPane2.setName("jScrollPane2"); // NOI18N
+ jScrollPane2.setName("jScrollPane2");
jScrollPane2.setOpaque(false);
jTextPane1.setBorder(null);
- jTextPane1.setContentType(bundle.getString("FeedViewer.jTextPane1.contentType")); // NOI18N
+ jTextPane1.setContentType(bundle.getString("FeedViewer.jTextPane1.contentType"));
jTextPane1.setEditable(false);
jTextPane1.setFont(jTextPane1.getFont());
- jTextPane1.setText(bundle.getString("FeedViewer.jTextPane1.text")); // NOI18N
- jTextPane1.setName("jTextPane1"); // NOI18N
+ jTextPane1.setText(bundle.getString("FeedViewer.jTextPane1.text"));
+ jTextPane1.setName("jTextPane1");
jTextPane1.setOpaque(false);
jTextPane1.addHyperlinkListener(new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
@@ -766,37 +1048,37 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane2.setBounds(230, 200, 280, 170);
jLabel3.setFont(jLabel3.getFont().deriveFont(jLabel3.getFont().getSize()+1f));
- jLabel3.setText(bundle.getString("FeedViewer.jLabel3.text")); // NOI18N
- jLabel3.setName("jLabel3"); // NOI18N
+ jLabel3.setText(bundle.getString("FeedViewer.jLabel3.text"));
+ jLabel3.setName("jLabel3");
jLayeredPane2.add(jLabel3);
jLabel3.setBounds(550, 290, 120, 20);
jLabel10.setFont(jLabel10.getFont().deriveFont(jLabel10.getFont().getSize()+1f));
- jLabel10.setText(bundle.getString("FeedViewer.jLabel10.text")); // NOI18N
+ jLabel10.setText(bundle.getString("FeedViewer.jLabel10.text"));
jLabel10.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel10.setName("jLabel10"); // NOI18N
+ jLabel10.setName("jLabel10");
jLayeredPane2.add(jLabel10);
jLabel10.setBounds(550, 310, 120, 40);
jLabel8.setFont(jLabel8.getFont().deriveFont(jLabel8.getFont().getSize()+1f));
- jLabel8.setText(bundle.getString("FeedViewer.jLabel8.text")); // NOI18N
- jLabel8.setName("jLabel8"); // NOI18N
+ jLabel8.setText(bundle.getString("FeedViewer.jLabel8.text"));
+ jLabel8.setName("jLabel8");
jLayeredPane2.add(jLabel8);
jLabel8.setBounds(230, 170, 140, 20);
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/no-screenshot.png"))); // NOI18N
- jLabel1.setText(bundle.getString("FeedViewer.jLabel1.text")); // NOI18N
- jLabel1.setName("jLabel1"); // NOI18N
+ jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/no-screenshot.png")));
+ jLabel1.setText(bundle.getString("FeedViewer.jLabel1.text"));
+ jLabel1.setName("jLabel1");
jLayeredPane2.add(jLabel1);
jLabel1.setBounds(520, 10, 180, 240);
jLabel11.setFont(jLabel11.getFont().deriveFont(jLabel11.getFont().getStyle() | java.awt.Font.BOLD, jLabel11.getFont().getSize()+1));
jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
- jLabel11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/url-icon.png"))); // NOI18N
- jLabel11.setText(bundle.getString("FeedViewer.jLabel11.text")); // NOI18N
+ jLabel11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/url-icon.png")));
+ jLabel11.setText(bundle.getString("FeedViewer.jLabel11.text"));
jLabel11.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
- jLabel11.setName("jLabel11"); // NOI18N
+ jLabel11.setName("jLabel11");
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
@@ -806,17 +1088,17 @@ public class FeedViewer extends javax.swing.JDialog {
jLabel11.setBounds(550, 260, 120, 20);
jLabel7.setFont(jLabel7.getFont().deriveFont(jLabel7.getFont().getSize()+1f));
- jLabel7.setText(bundle.getString("FeedViewer.jLabel7.text")); // NOI18N
+ jLabel7.setText(bundle.getString("FeedViewer.jLabel7.text"));
jLabel7.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel7.setName("jLabel7"); // NOI18N
+ jLabel7.setName("jLabel7");
jLayeredPane2.add(jLabel7);
jLabel7.setBounds(550, 370, 120, 40);
jButton2.setBackground(new java.awt.Color(224, 218, 218));
jButton2.setFont(jButton2.getFont().deriveFont(jButton2.getFont().getSize()+1f));
- jButton2.setText(bundle.getString("FeedViewer.jButton2.text")); // NOI18N
+ jButton2.setText(bundle.getString("FeedViewer.jButton2.text"));
jButton2.setFocusable(false);
- jButton2.setName("jButton2"); // NOI18N
+ jButton2.setName("jButton2");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
@@ -825,10 +1107,10 @@ public class FeedViewer extends javax.swing.JDialog {
jLayeredPane2.add(jButton2);
jButton2.setBounds(370, 380, 90, 30);
- jScrollPane1.setName("jScrollPane1"); // NOI18N
+ jScrollPane1.setName("jScrollPane1");
jList1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
- jList1.setName("jList1"); // NOI18N
+ jList1.setName("jList1");
jList1.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
jList1ValueChanged(evt);
@@ -839,32 +1121,32 @@ public class FeedViewer extends javax.swing.JDialog {
jLayeredPane2.add(jScrollPane1);
jScrollPane1.setBounds(10, 90, 170, 320);
- jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane2.TabConstraints.tabTitle"), jLayeredPane2); // NOI18N
+ jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane2.TabConstraints.tabTitle"), jLayeredPane2);
- jLayeredPane3.setName("jLayeredPane3"); // NOI18N
+ jLayeredPane3.setName("jLayeredPane3");
jLabel20.setFont(jLabel20.getFont().deriveFont(jLabel20.getFont().getSize()+1f));
- jLabel20.setText(bundle.getString("FeedViewer.jLabel20.text")); // NOI18N
+ jLabel20.setText(bundle.getString("FeedViewer.jLabel20.text"));
jLabel20.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel20.setName("jLabel20"); // NOI18N
+ jLabel20.setName("jLabel20");
jLayeredPane3.add(jLabel20);
jLabel20.setBounds(230, 110, 280, 30);
jLabel15.setFont(jLabel15.getFont().deriveFont(jLabel15.getFont().getSize()+1f));
- jLabel15.setText(bundle.getString("FeedViewer.jLabel15.text")); // NOI18N
- jLabel15.setName("jLabel15"); // NOI18N
+ jLabel15.setText(bundle.getString("FeedViewer.jLabel15.text"));
+ jLabel15.setName("jLabel15");
jLayeredPane3.add(jLabel15);
jLabel15.setBounds(550, 290, 120, 20);
jScrollPane4.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
- jScrollPane4.setName("jScrollPane4"); // NOI18N
+ jScrollPane4.setName("jScrollPane4");
jTextPane2.setBorder(null);
- jTextPane2.setContentType(bundle.getString("FeedViewer.jTextPane2.contentType")); // NOI18N
+ jTextPane2.setContentType(bundle.getString("FeedViewer.jTextPane2.contentType"));
jTextPane2.setEditable(false);
jTextPane2.setFont(jTextPane2.getFont());
- jTextPane2.setText(bundle.getString("FeedViewer.jTextPane2.text")); // NOI18N
- jTextPane2.setName("jTextPane2"); // NOI18N
+ jTextPane2.setText(bundle.getString("FeedViewer.jTextPane2.text"));
+ jTextPane2.setName("jTextPane2");
jTextPane2.setOpaque(false);
jTextPane2.addHyperlinkListener(new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
@@ -877,21 +1159,21 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane4.setBounds(230, 200, 280, 170);
jLabel17.setFont(jLabel17.getFont().deriveFont(jLabel17.getFont().getSize()+1f));
- jLabel17.setText(bundle.getString("FeedViewer.jLabel17.text")); // NOI18N
+ jLabel17.setText(bundle.getString("FeedViewer.jLabel17.text"));
jLabel17.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel17.setName("jLabel17"); // NOI18N
+ jLabel17.setName("jLabel17");
jLayeredPane3.add(jLabel17);
jLabel17.setBounds(230, 140, 280, 30);
jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- jLabel12.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/no-screenshot.png"))); // NOI18N
- jLabel12.setText(bundle.getString("FeedViewer.jLabel12.text")); // NOI18N
- jLabel12.setName("jLabel12"); // NOI18N
+ jLabel12.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/no-screenshot.png")));
+ jLabel12.setText(bundle.getString("FeedViewer.jLabel12.text"));
+ jLabel12.setName("jLabel12");
jLayeredPane3.add(jLabel12);
jLabel12.setBounds(520, 10, 180, 240);
- jTextField2.setText(bundle.getString("FeedViewer.jTextField2.text")); // NOI18N
- jTextField2.setName("jTextField2"); // NOI18N
+ jTextField2.setText(bundle.getString("FeedViewer.jTextField2.text"));
+ jTextField2.setName("jTextField2");
jTextField2.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextField2KeyTyped(evt);
@@ -901,22 +1183,22 @@ public class FeedViewer extends javax.swing.JDialog {
jTextField2.setBounds(10, 55, 140, 23);
jLabel16.setFont(jLabel16.getFont().deriveFont(jLabel16.getFont().getSize()+1f));
- jLabel16.setText(bundle.getString("FeedViewer.jLabel16.text")); // NOI18N
+ jLabel16.setText(bundle.getString("FeedViewer.jLabel16.text"));
jLabel16.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel16.setName("jLabel16"); // NOI18N
+ jLabel16.setName("jLabel16");
jLayeredPane3.add(jLabel16);
jLabel16.setBounds(230, 80, 280, 30);
jLabel21.setFont(jLabel21.getFont().deriveFont(jLabel21.getFont().getSize()+1f));
- jLabel21.setText(bundle.getString("FeedViewer.jLabel21.text")); // NOI18N
+ jLabel21.setText(bundle.getString("FeedViewer.jLabel21.text"));
jLabel21.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel21.setName("jLabel21"); // NOI18N
+ jLabel21.setName("jLabel21");
jLayeredPane3.add(jLabel21);
jLabel21.setBounds(550, 310, 120, 40);
jComboBox2.setMaximumRowCount(10);
jComboBox2.setFocusable(false);
- jComboBox2.setName("jComboBox2"); // NOI18N
+ jComboBox2.setName("jComboBox2");
jComboBox2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox2ActionPerformed(evt);
@@ -926,34 +1208,34 @@ public class FeedViewer extends javax.swing.JDialog {
jComboBox2.setBounds(10, 20, 170, 22);
jLabel19.setFont(jLabel19.getFont().deriveFont(jLabel19.getFont().getSize()+1f));
- jLabel19.setText(bundle.getString("FeedViewer.jLabel19.text")); // NOI18N
+ jLabel19.setText(bundle.getString("FeedViewer.jLabel19.text"));
jLabel19.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel19.setName("jLabel19"); // NOI18N
+ jLabel19.setName("jLabel19");
jLayeredPane3.add(jLabel19);
jLabel19.setBounds(550, 370, 120, 40);
jLabel14.setFont(jLabel14.getFont().deriveFont(jLabel14.getFont().getSize()+1f));
- jLabel14.setText(bundle.getString("FeedViewer.jLabel14.text")); // NOI18N
+ jLabel14.setText(bundle.getString("FeedViewer.jLabel14.text"));
jLabel14.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel14.setName("jLabel14"); // NOI18N
+ jLabel14.setName("jLabel14");
jLayeredPane3.add(jLabel14);
jLabel14.setBounds(550, 350, 120, 20);
jSeparator2.setOrientation(javax.swing.SwingConstants.VERTICAL);
- jSeparator2.setName("jSeparator2"); // NOI18N
+ jSeparator2.setName("jSeparator2");
jLayeredPane3.add(jSeparator2);
jSeparator2.setBounds(200, 20, 10, 390);
jLabel18.setFont(jLabel18.getFont().deriveFont(jLabel18.getFont().getSize()+1f));
- jLabel18.setText(bundle.getString("FeedViewer.jLabel18.text")); // NOI18N
- jLabel18.setName("jLabel18"); // NOI18N
+ jLabel18.setText(bundle.getString("FeedViewer.jLabel18.text"));
+ jLabel18.setName("jLabel18");
jLayeredPane3.add(jLabel18);
jLabel18.setBounds(230, 170, 140, 20);
- jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/find.png"))); // NOI18N
- jButton3.setText(bundle.getString("FeedViewer.jButton3.text")); // NOI18N
+ jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/find.png")));
+ jButton3.setText(bundle.getString("FeedViewer.jButton3.text"));
jButton3.setFocusable(false);
- jButton3.setName("jButton3"); // NOI18N
+ jButton3.setName("jButton3");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
@@ -962,10 +1244,10 @@ public class FeedViewer extends javax.swing.JDialog {
jLayeredPane3.add(jButton3);
jButton3.setBounds(150, 54, 30, 25);
- jScrollPane3.setName("jScrollPane3"); // NOI18N
+ jScrollPane3.setName("jScrollPane3");
jList2.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
- jList2.setName("jList2"); // NOI18N
+ jList2.setName("jList2");
jList2.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
jList2ValueChanged(evt);
@@ -977,17 +1259,17 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane3.setBounds(10, 90, 170, 320);
jLabel13.setFont(jLabel13.getFont().deriveFont(jLabel13.getFont().getSize()+13f));
- jLabel13.setText(bundle.getString("FeedViewer.jLabel13.text")); // NOI18N
- jLabel13.setName("jLabel13"); // NOI18N
+ jLabel13.setText(bundle.getString("FeedViewer.jLabel13.text"));
+ jLabel13.setName("jLabel13");
jLayeredPane3.add(jLabel13);
jLabel13.setBounds(230, 10, 280, 70);
jLabel22.setFont(jLabel22.getFont().deriveFont(jLabel22.getFont().getStyle() | java.awt.Font.BOLD, jLabel22.getFont().getSize()+1));
jLabel22.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
- jLabel22.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/url-icon.png"))); // NOI18N
- jLabel22.setText(bundle.getString("FeedViewer.jLabel22.text")); // NOI18N
+ jLabel22.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/url-icon.png")));
+ jLabel22.setText(bundle.getString("FeedViewer.jLabel22.text"));
jLabel22.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
- jLabel22.setName("jLabel22"); // NOI18N
+ jLabel22.setName("jLabel22");
jLabel22.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel22MouseClicked(evt);
@@ -998,9 +1280,9 @@ public class FeedViewer extends javax.swing.JDialog {
jButton4.setBackground(new java.awt.Color(224, 218, 218));
jButton4.setFont(jButton4.getFont().deriveFont(jButton4.getFont().getSize()+1f));
- jButton4.setText(bundle.getString("FeedViewer.jButton4.text")); // NOI18N
+ jButton4.setText(bundle.getString("FeedViewer.jButton4.text"));
jButton4.setFocusable(false);
- jButton4.setName("jButton4"); // NOI18N
+ jButton4.setName("jButton4");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
@@ -1009,19 +1291,19 @@ public class FeedViewer extends javax.swing.JDialog {
jLayeredPane3.add(jButton4);
jButton4.setBounds(370, 380, 90, 30);
- jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane3.TabConstraints.tabTitle"), jLayeredPane3); // NOI18N
+ jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane3.TabConstraints.tabTitle"), jLayeredPane3);
- jLayeredPane4.setName("jLayeredPane4"); // NOI18N
+ jLayeredPane4.setName("jLayeredPane4");
jScrollPane6.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
- jScrollPane6.setName("jScrollPane6"); // NOI18N
+ jScrollPane6.setName("jScrollPane6");
jTextPane3.setBorder(null);
- jTextPane3.setContentType(bundle.getString("FeedViewer.jTextPane3.contentType")); // NOI18N
+ jTextPane3.setContentType(bundle.getString("FeedViewer.jTextPane3.contentType"));
jTextPane3.setEditable(false);
jTextPane3.setFont(jTextPane3.getFont());
- jTextPane3.setText(bundle.getString("FeedViewer.jTextPane3.text")); // NOI18N
- jTextPane3.setName("jTextPane3"); // NOI18N
+ jTextPane3.setText(bundle.getString("FeedViewer.jTextPane3.text"));
+ jTextPane3.setName("jTextPane3");
jTextPane3.setOpaque(false);
jTextPane3.addHyperlinkListener(new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
@@ -1033,10 +1315,10 @@ public class FeedViewer extends javax.swing.JDialog {
jLayeredPane4.add(jScrollPane6);
jScrollPane6.setBounds(230, 200, 280, 170);
- jScrollPane5.setName("jScrollPane5"); // NOI18N
+ jScrollPane5.setName("jScrollPane5");
jList3.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
- jList3.setName("jList3"); // NOI18N
+ jList3.setName("jList3");
jList3.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
jList3ValueChanged(evt);
@@ -1048,28 +1330,28 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane5.setBounds(10, 90, 170, 320);
jLabel29.setFont(jLabel29.getFont().deriveFont(jLabel29.getFont().getSize()+1f));
- jLabel29.setText(bundle.getString("FeedViewer.jLabel29.text")); // NOI18N
- jLabel29.setName("jLabel29"); // NOI18N
+ jLabel29.setText(bundle.getString("FeedViewer.jLabel29.text"));
+ jLabel29.setName("jLabel29");
jLayeredPane4.add(jLabel29);
jLabel29.setBounds(230, 170, 140, 20);
jLabel32.setFont(jLabel32.getFont().deriveFont(jLabel32.getFont().getSize()+1f));
- jLabel32.setText(bundle.getString("FeedViewer.jLabel32.text")); // NOI18N
+ jLabel32.setText(bundle.getString("FeedViewer.jLabel32.text"));
jLabel32.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel32.setName("jLabel32"); // NOI18N
+ jLabel32.setName("jLabel32");
jLayeredPane4.add(jLabel32);
jLabel32.setBounds(550, 310, 120, 40);
jLabel26.setFont(jLabel26.getFont().deriveFont(jLabel26.getFont().getSize()+1f));
- jLabel26.setText(bundle.getString("FeedViewer.jLabel26.text")); // NOI18N
- jLabel26.setName("jLabel26"); // NOI18N
+ jLabel26.setText(bundle.getString("FeedViewer.jLabel26.text"));
+ jLabel26.setName("jLabel26");
jLayeredPane4.add(jLabel26);
jLabel26.setBounds(550, 290, 120, 20);
- jButton5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/find.png"))); // NOI18N
- jButton5.setText(bundle.getString("FeedViewer.jButton5.text")); // NOI18N
+ jButton5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/find.png")));
+ jButton5.setText(bundle.getString("FeedViewer.jButton5.text"));
jButton5.setFocusable(false);
- jButton5.setName("jButton5"); // NOI18N
+ jButton5.setName("jButton5");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
@@ -1080,9 +1362,9 @@ public class FeedViewer extends javax.swing.JDialog {
jButton6.setBackground(new java.awt.Color(224, 218, 218));
jButton6.setFont(jButton6.getFont().deriveFont(jButton6.getFont().getSize()+1f));
- jButton6.setText(bundle.getString("FeedViewer.jButton6.text")); // NOI18N
+ jButton6.setText(bundle.getString("FeedViewer.jButton6.text"));
jButton6.setFocusable(false);
- jButton6.setName("jButton6"); // NOI18N
+ jButton6.setName("jButton6");
jButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton6ActionPerformed(evt);
@@ -1092,18 +1374,18 @@ public class FeedViewer extends javax.swing.JDialog {
jButton6.setBounds(370, 380, 90, 30);
jLabel27.setFont(jLabel27.getFont().deriveFont(jLabel27.getFont().getSize()+1f));
- jLabel27.setText(bundle.getString("FeedViewer.jLabel27.text")); // NOI18N
+ jLabel27.setText(bundle.getString("FeedViewer.jLabel27.text"));
jLabel27.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel27.setName("jLabel27"); // NOI18N
+ jLabel27.setName("jLabel27");
jLayeredPane4.add(jLabel27);
jLabel27.setBounds(230, 80, 280, 30);
jLabel33.setFont(jLabel33.getFont().deriveFont(jLabel33.getFont().getStyle() | java.awt.Font.BOLD, jLabel33.getFont().getSize()+1));
jLabel33.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
- jLabel33.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/url-icon.png"))); // NOI18N
- jLabel33.setText(bundle.getString("FeedViewer.jLabel33.text")); // NOI18N
+ jLabel33.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/url-icon.png")));
+ jLabel33.setText(bundle.getString("FeedViewer.jLabel33.text"));
jLabel33.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
- jLabel33.setName("jLabel33"); // NOI18N
+ jLabel33.setName("jLabel33");
jLabel33.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel33MouseClicked(evt);
@@ -1113,19 +1395,19 @@ public class FeedViewer extends javax.swing.JDialog {
jLabel33.setBounds(550, 260, 120, 20);
jLabel30.setFont(jLabel30.getFont().deriveFont(jLabel30.getFont().getSize()+1f));
- jLabel30.setText(bundle.getString("FeedViewer.jLabel30.text")); // NOI18N
+ jLabel30.setText(bundle.getString("FeedViewer.jLabel30.text"));
jLabel30.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel30.setName("jLabel30"); // NOI18N
+ jLabel30.setName("jLabel30");
jLayeredPane4.add(jLabel30);
jLabel30.setBounds(550, 370, 120, 40);
jSeparator3.setOrientation(javax.swing.SwingConstants.VERTICAL);
- jSeparator3.setName("jSeparator3"); // NOI18N
+ jSeparator3.setName("jSeparator3");
jLayeredPane4.add(jSeparator3);
jSeparator3.setBounds(200, 20, 10, 390);
- jTextField3.setText(bundle.getString("FeedViewer.jTextField3.text")); // NOI18N
- jTextField3.setName("jTextField3"); // NOI18N
+ jTextField3.setText(bundle.getString("FeedViewer.jTextField3.text"));
+ jTextField3.setName("jTextField3");
jTextField3.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextField3KeyTyped(evt);
@@ -1135,15 +1417,15 @@ public class FeedViewer extends javax.swing.JDialog {
jTextField3.setBounds(10, 55, 140, 23);
jLabel23.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- jLabel23.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/no-screenshot.png"))); // NOI18N
- jLabel23.setText(bundle.getString("FeedViewer.jLabel23.text")); // NOI18N
- jLabel23.setName("jLabel23"); // NOI18N
+ jLabel23.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/no-screenshot.png")));
+ jLabel23.setText(bundle.getString("FeedViewer.jLabel23.text"));
+ jLabel23.setName("jLabel23");
jLayeredPane4.add(jLabel23);
jLabel23.setBounds(520, 10, 180, 240);
jComboBox3.setMaximumRowCount(10);
jComboBox3.setFocusable(false);
- jComboBox3.setName("jComboBox3"); // NOI18N
+ jComboBox3.setName("jComboBox3");
jComboBox3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox3ActionPerformed(evt);
@@ -1153,40 +1435,40 @@ public class FeedViewer extends javax.swing.JDialog {
jComboBox3.setBounds(10, 20, 170, 22);
jLabel24.setFont(jLabel24.getFont().deriveFont(jLabel24.getFont().getSize()+13f));
- jLabel24.setText(bundle.getString("FeedViewer.jLabel24.text")); // NOI18N
- jLabel24.setName("jLabel24"); // NOI18N
+ jLabel24.setText(bundle.getString("FeedViewer.jLabel24.text"));
+ jLabel24.setName("jLabel24");
jLayeredPane4.add(jLabel24);
jLabel24.setBounds(230, 10, 280, 70);
jLabel31.setFont(jLabel31.getFont().deriveFont(jLabel31.getFont().getSize()+1f));
- jLabel31.setText(bundle.getString("FeedViewer.jLabel31.text")); // NOI18N
+ jLabel31.setText(bundle.getString("FeedViewer.jLabel31.text"));
jLabel31.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel31.setName("jLabel31"); // NOI18N
+ jLabel31.setName("jLabel31");
jLayeredPane4.add(jLabel31);
jLabel31.setBounds(230, 110, 280, 30);
jLabel28.setFont(jLabel28.getFont().deriveFont(jLabel28.getFont().getSize()+1f));
- jLabel28.setText(bundle.getString("FeedViewer.jLabel28.text")); // NOI18N
+ jLabel28.setText(bundle.getString("FeedViewer.jLabel28.text"));
jLabel28.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel28.setName("jLabel28"); // NOI18N
+ jLabel28.setName("jLabel28");
jLayeredPane4.add(jLabel28);
jLabel28.setBounds(230, 140, 280, 30);
jLabel25.setFont(jLabel25.getFont().deriveFont(jLabel25.getFont().getSize()+1f));
- jLabel25.setText(bundle.getString("FeedViewer.jLabel25.text")); // NOI18N
+ jLabel25.setText(bundle.getString("FeedViewer.jLabel25.text"));
jLabel25.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel25.setName("jLabel25"); // NOI18N
+ jLabel25.setName("jLabel25");
jLayeredPane4.add(jLabel25);
jLabel25.setBounds(550, 350, 120, 20);
- jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane4.TabConstraints.tabTitle"), jLayeredPane4); // NOI18N
+ jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane4.TabConstraints.tabTitle"), jLayeredPane4);
- jLayeredPane5.setName("jLayeredPane5"); // NOI18N
+ jLayeredPane5.setName("jLayeredPane5");
- jScrollPane7.setName("jScrollPane7"); // NOI18N
+ jScrollPane7.setName("jScrollPane7");
jList4.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
- jList4.setName("jList4"); // NOI18N
+ jList4.setName("jList4");
jList4.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
jList4ValueChanged(evt);
@@ -1198,14 +1480,14 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane7.setBounds(10, 90, 170, 320);
jSeparator4.setOrientation(javax.swing.SwingConstants.VERTICAL);
- jSeparator4.setName("jSeparator4"); // NOI18N
+ jSeparator4.setName("jSeparator4");
jLayeredPane5.add(jSeparator4);
jSeparator4.setBounds(200, 20, 10, 390);
- jButton7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/find.png"))); // NOI18N
- jButton7.setText(bundle.getString("FeedViewer.jButton7.text")); // NOI18N
+ jButton7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/find.png")));
+ jButton7.setText(bundle.getString("FeedViewer.jButton7.text"));
jButton7.setFocusable(false);
- jButton7.setName("jButton7"); // NOI18N
+ jButton7.setName("jButton7");
jButton7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton7ActionPerformed(evt);
@@ -1215,30 +1497,30 @@ public class FeedViewer extends javax.swing.JDialog {
jButton7.setBounds(150, 54, 30, 25);
jLabel40.setFont(jLabel40.getFont().deriveFont(jLabel40.getFont().getSize()+1f));
- jLabel40.setText(bundle.getString("FeedViewer.jLabel40.text")); // NOI18N
- jLabel40.setName("jLabel40"); // NOI18N
+ jLabel40.setText(bundle.getString("FeedViewer.jLabel40.text"));
+ jLabel40.setName("jLabel40");
jLayeredPane5.add(jLabel40);
jLabel40.setBounds(230, 170, 140, 20);
jLabel38.setFont(jLabel38.getFont().deriveFont(jLabel38.getFont().getSize()+1f));
- jLabel38.setText(bundle.getString("FeedViewer.jLabel38.text")); // NOI18N
+ jLabel38.setText(bundle.getString("FeedViewer.jLabel38.text"));
jLabel38.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel38.setName("jLabel38"); // NOI18N
+ jLabel38.setName("jLabel38");
jLayeredPane5.add(jLabel38);
jLabel38.setBounds(230, 80, 280, 30);
jLabel37.setFont(jLabel37.getFont().deriveFont(jLabel37.getFont().getSize()+1f));
- jLabel37.setText(bundle.getString("FeedViewer.jLabel37.text")); // NOI18N
- jLabel37.setName("jLabel37"); // NOI18N
+ jLabel37.setText(bundle.getString("FeedViewer.jLabel37.text"));
+ jLabel37.setName("jLabel37");
jLayeredPane5.add(jLabel37);
jLabel37.setBounds(550, 290, 120, 20);
jLabel44.setFont(jLabel44.getFont().deriveFont(jLabel44.getFont().getStyle() | java.awt.Font.BOLD, jLabel44.getFont().getSize()+1));
jLabel44.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
- jLabel44.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/url-icon.png"))); // NOI18N
- jLabel44.setText(bundle.getString("FeedViewer.jLabel44.text")); // NOI18N
+ jLabel44.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/url-icon.png")));
+ jLabel44.setText(bundle.getString("FeedViewer.jLabel44.text"));
jLabel44.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
- jLabel44.setName("jLabel44"); // NOI18N
+ jLabel44.setName("jLabel44");
jLabel44.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel44MouseClicked(evt);
@@ -1248,14 +1530,14 @@ public class FeedViewer extends javax.swing.JDialog {
jLabel44.setBounds(550, 260, 120, 20);
jLabel35.setFont(jLabel35.getFont().deriveFont(jLabel35.getFont().getSize()+13f));
- jLabel35.setText(bundle.getString("FeedViewer.jLabel35.text")); // NOI18N
- jLabel35.setName("jLabel35"); // NOI18N
+ jLabel35.setText(bundle.getString("FeedViewer.jLabel35.text"));
+ jLabel35.setName("jLabel35");
jLayeredPane5.add(jLabel35);
jLabel35.setBounds(230, 10, 280, 70);
jComboBox4.setMaximumRowCount(10);
jComboBox4.setFocusable(false);
- jComboBox4.setName("jComboBox4"); // NOI18N
+ jComboBox4.setName("jComboBox4");
jComboBox4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox4ActionPerformed(evt);
@@ -1265,21 +1547,21 @@ public class FeedViewer extends javax.swing.JDialog {
jComboBox4.setBounds(10, 20, 170, 22);
jLabel43.setFont(jLabel43.getFont().deriveFont(jLabel43.getFont().getSize()+1f));
- jLabel43.setText(bundle.getString("FeedViewer.jLabel43.text")); // NOI18N
+ jLabel43.setText(bundle.getString("FeedViewer.jLabel43.text"));
jLabel43.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel43.setName("jLabel43"); // NOI18N
+ jLabel43.setName("jLabel43");
jLayeredPane5.add(jLabel43);
jLabel43.setBounds(550, 310, 120, 40);
jScrollPane8.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
- jScrollPane8.setName("jScrollPane8"); // NOI18N
+ jScrollPane8.setName("jScrollPane8");
jTextPane4.setBorder(null);
- jTextPane4.setContentType(bundle.getString("FeedViewer.jTextPane4.contentType")); // NOI18N
+ jTextPane4.setContentType(bundle.getString("FeedViewer.jTextPane4.contentType"));
jTextPane4.setEditable(false);
jTextPane4.setFont(jTextPane4.getFont());
- jTextPane4.setText(bundle.getString("FeedViewer.jTextPane4.text")); // NOI18N
- jTextPane4.setName("jTextPane4"); // NOI18N
+ jTextPane4.setText(bundle.getString("FeedViewer.jTextPane4.text"));
+ jTextPane4.setName("jTextPane4");
jTextPane4.setOpaque(false);
jTextPane4.addHyperlinkListener(new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
@@ -1292,14 +1574,14 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane8.setBounds(230, 200, 280, 170);
jLabel39.setFont(jLabel39.getFont().deriveFont(jLabel39.getFont().getSize()+1f));
- jLabel39.setText(bundle.getString("FeedViewer.jLabel39.text")); // NOI18N
+ jLabel39.setText(bundle.getString("FeedViewer.jLabel39.text"));
jLabel39.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel39.setName("jLabel39"); // NOI18N
+ jLabel39.setName("jLabel39");
jLayeredPane5.add(jLabel39);
jLabel39.setBounds(230, 140, 280, 30);
- jTextField4.setText(bundle.getString("FeedViewer.jTextField4.text")); // NOI18N
- jTextField4.setName("jTextField4"); // NOI18N
+ jTextField4.setText(bundle.getString("FeedViewer.jTextField4.text"));
+ jTextField4.setName("jTextField4");
jTextField4.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextField4KeyTyped(evt);
@@ -1309,24 +1591,24 @@ public class FeedViewer extends javax.swing.JDialog {
jTextField4.setBounds(10, 55, 140, 23);
jLabel41.setFont(jLabel41.getFont().deriveFont(jLabel41.getFont().getSize()+1f));
- jLabel41.setText(bundle.getString("FeedViewer.jLabel41.text")); // NOI18N
+ jLabel41.setText(bundle.getString("FeedViewer.jLabel41.text"));
jLabel41.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel41.setName("jLabel41"); // NOI18N
+ jLabel41.setName("jLabel41");
jLayeredPane5.add(jLabel41);
jLabel41.setBounds(550, 370, 130, 40);
jLabel34.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- jLabel34.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/no-screenshot.png"))); // NOI18N
- jLabel34.setText(bundle.getString("FeedViewer.jLabel34.text")); // NOI18N
- jLabel34.setName("jLabel34"); // NOI18N
+ jLabel34.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/no-screenshot.png")));
+ jLabel34.setText(bundle.getString("FeedViewer.jLabel34.text"));
+ jLabel34.setName("jLabel34");
jLayeredPane5.add(jLabel34);
jLabel34.setBounds(520, 10, 180, 240);
jButton8.setBackground(new java.awt.Color(224, 218, 218));
jButton8.setFont(jButton8.getFont().deriveFont(jButton8.getFont().getSize()+1f));
- jButton8.setText(bundle.getString("FeedViewer.jButton8.text")); // NOI18N
+ jButton8.setText(bundle.getString("FeedViewer.jButton8.text"));
jButton8.setFocusable(false);
- jButton8.setName("jButton8"); // NOI18N
+ jButton8.setName("jButton8");
jButton8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton8ActionPerformed(evt);
@@ -1336,27 +1618,27 @@ public class FeedViewer extends javax.swing.JDialog {
jButton8.setBounds(370, 380, 90, 30);
jLabel42.setFont(jLabel42.getFont().deriveFont(jLabel42.getFont().getSize()+1f));
- jLabel42.setText(bundle.getString("FeedViewer.jLabel42.text")); // NOI18N
+ jLabel42.setText(bundle.getString("FeedViewer.jLabel42.text"));
jLabel42.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel42.setName("jLabel42"); // NOI18N
+ jLabel42.setName("jLabel42");
jLayeredPane5.add(jLabel42);
jLabel42.setBounds(230, 110, 280, 30);
jLabel36.setFont(jLabel36.getFont().deriveFont(jLabel36.getFont().getSize()+1f));
- jLabel36.setText(bundle.getString("FeedViewer.jLabel36.text")); // NOI18N
+ jLabel36.setText(bundle.getString("FeedViewer.jLabel36.text"));
jLabel36.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel36.setName("jLabel36"); // NOI18N
+ jLabel36.setName("jLabel36");
jLayeredPane5.add(jLabel36);
jLabel36.setBounds(550, 350, 120, 20);
- jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane5.TabConstraints.tabTitle"), jLayeredPane5); // NOI18N
+ jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane5.TabConstraints.tabTitle"), jLayeredPane5);
- jLayeredPane9.setName("jLayeredPane9"); // NOI18N
+ jLayeredPane9.setName("jLayeredPane9");
- jButton17.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/find.png"))); // NOI18N
- jButton17.setText(bundle.getString("FeedViewer.jButton17.text")); // NOI18N
+ jButton17.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/find.png")));
+ jButton17.setText(bundle.getString("FeedViewer.jButton17.text"));
jButton17.setFocusable(false);
- jButton17.setName("jButton17"); // NOI18N
+ jButton17.setName("jButton17");
jButton17.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton17ActionPerformed(evt);
@@ -1367,9 +1649,9 @@ public class FeedViewer extends javax.swing.JDialog {
jButton18.setBackground(new java.awt.Color(224, 218, 218));
jButton18.setFont(jButton18.getFont().deriveFont(jButton18.getFont().getSize()+1f));
- jButton18.setText(bundle.getString("FeedViewer.jButton18.text")); // NOI18N
+ jButton18.setText(bundle.getString("FeedViewer.jButton18.text"));
jButton18.setFocusable(false);
- jButton18.setName("jButton18"); // NOI18N
+ jButton18.setName("jButton18");
jButton18.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton18ActionPerformed(evt);
@@ -1379,22 +1661,22 @@ public class FeedViewer extends javax.swing.JDialog {
jButton18.setBounds(370, 380, 90, 30);
jLabel94.setFont(jLabel94.getFont().deriveFont(jLabel94.getFont().getSize()+1f));
- jLabel94.setText(bundle.getString("FeedViewer.jLabel94.text")); // NOI18N
+ jLabel94.setText(bundle.getString("FeedViewer.jLabel94.text"));
jLabel94.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel94.setName("jLabel94"); // NOI18N
+ jLabel94.setName("jLabel94");
jLayeredPane9.add(jLabel94);
jLabel94.setBounds(230, 140, 280, 30);
jLabel95.setFont(jLabel95.getFont().deriveFont(jLabel95.getFont().getSize()+1f));
- jLabel95.setText(bundle.getString("FeedViewer.jLabel95.text")); // NOI18N
- jLabel95.setName("jLabel95"); // NOI18N
+ jLabel95.setText(bundle.getString("FeedViewer.jLabel95.text"));
+ jLabel95.setName("jLabel95");
jLayeredPane9.add(jLabel95);
jLabel95.setBounds(230, 170, 140, 20);
-
- jScrollPane17.setName("jScrollPane17"); // NOI18N
+
+ jScrollPane17.setName("jScrollPane17");
jList9.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
- jList9.setName("jList9"); // NOI18N
+ jList9.setName("jList9");
jList9.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
jList9ValueChanged(evt);
@@ -1406,46 +1688,46 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane17.setBounds(10, 90, 170, 320);
jLabel97.setFont(jLabel97.getFont().deriveFont(jLabel97.getFont().getSize()+1f));
- jLabel97.setText(bundle.getString("FeedViewer.jLabel97.text")); // NOI18N
+ jLabel97.setText(bundle.getString("FeedViewer.jLabel97.text"));
jLabel97.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel97.setName("jLabel97"); // NOI18N
+ jLabel97.setName("jLabel97");
jLayeredPane9.add(jLabel97);
jLabel97.setBounds(230, 110, 280, 30);
jLabel93.setFont(jLabel93.getFont().deriveFont(jLabel93.getFont().getSize()+1f));
- jLabel93.setText(bundle.getString("FeedViewer.jLabel93.text")); // NOI18N
+ jLabel93.setText(bundle.getString("FeedViewer.jLabel93.text"));
jLabel93.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel93.setName("jLabel93"); // NOI18N
+ jLabel93.setName("jLabel93");
jLayeredPane9.add(jLabel93);
jLabel93.setBounds(230, 80, 280, 30);
jSeparator9.setOrientation(javax.swing.SwingConstants.VERTICAL);
- jSeparator9.setName("jSeparator9"); // NOI18N
+ jSeparator9.setName("jSeparator9");
jLayeredPane9.add(jSeparator9);
jSeparator9.setBounds(200, 20, 10, 390);
jLabel92.setFont(jLabel92.getFont().deriveFont(jLabel92.getFont().getSize()+1f));
- jLabel92.setText(bundle.getString("FeedViewer.jLabel92.text")); // NOI18N
- jLabel92.setName("jLabel92"); // NOI18N
+ jLabel92.setText(bundle.getString("FeedViewer.jLabel92.text"));
+ jLabel92.setName("jLabel92");
jLayeredPane9.add(jLabel92);
jLabel92.setBounds(550, 290, 120, 20);
jLabel98.setFont(jLabel98.getFont().deriveFont(jLabel98.getFont().getSize()+1f));
- jLabel98.setText(bundle.getString("FeedViewer.jLabel98.text")); // NOI18N
+ jLabel98.setText(bundle.getString("FeedViewer.jLabel98.text"));
jLabel98.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel98.setName("jLabel98"); // NOI18N
+ jLabel98.setName("jLabel98");
jLayeredPane9.add(jLabel98);
jLabel98.setBounds(550, 310, 120, 40);
jScrollPane18.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
- jScrollPane18.setName("jScrollPane18"); // NOI18N
+ jScrollPane18.setName("jScrollPane18");
jTextPane9.setBorder(null);
- jTextPane9.setContentType(bundle.getString("FeedViewer.jTextPane9.contentType")); // NOI18N
+ jTextPane9.setContentType(bundle.getString("FeedViewer.jTextPane9.contentType"));
jTextPane9.setEditable(false);
jTextPane9.setFont(jTextPane9.getFont());
- jTextPane9.setText(bundle.getString("FeedViewer.jTextPane9.text")); // NOI18N
- jTextPane9.setName("jTextPane9"); // NOI18N
+ jTextPane9.setText(bundle.getString("FeedViewer.jTextPane9.text"));
+ jTextPane9.setName("jTextPane9");
jTextPane9.setOpaque(false);
jTextPane9.addHyperlinkListener(new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
@@ -1458,31 +1740,31 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane18.setBounds(230, 200, 280, 170);
jLabel91.setFont(jLabel91.getFont().deriveFont(jLabel91.getFont().getSize()+1f));
- jLabel91.setText(bundle.getString("FeedViewer.jLabel91.text")); // NOI18N
+ jLabel91.setText(bundle.getString("FeedViewer.jLabel91.text"));
jLabel91.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel91.setName("jLabel91"); // NOI18N
+ jLabel91.setName("jLabel91");
jLayeredPane9.add(jLabel91);
jLabel91.setBounds(550, 350, 120, 20);
jLabel96.setFont(jLabel96.getFont().deriveFont(jLabel96.getFont().getSize()+1f));
- jLabel96.setText(bundle.getString("FeedViewer.jLabel96.text")); // NOI18N
+ jLabel96.setText(bundle.getString("FeedViewer.jLabel96.text"));
jLabel96.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel96.setName("jLabel96"); // NOI18N
+ jLabel96.setName("jLabel96");
jLayeredPane9.add(jLabel96);
jLabel96.setBounds(550, 370, 120, 40);
jLabel90.setFont(jLabel90.getFont().deriveFont(jLabel90.getFont().getSize()+13f));
- jLabel90.setText(bundle.getString("FeedViewer.jLabel90.text")); // NOI18N
- jLabel90.setName("jLabel90"); // NOI18N
+ jLabel90.setText(bundle.getString("FeedViewer.jLabel90.text"));
+ jLabel90.setName("jLabel90");
jLayeredPane9.add(jLabel90);
jLabel90.setBounds(230, 10, 280, 70);
jLabel99.setFont(jLabel99.getFont().deriveFont(jLabel99.getFont().getStyle() | java.awt.Font.BOLD, jLabel99.getFont().getSize()+1));
jLabel99.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
- jLabel99.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/url-icon.png"))); // NOI18N
- jLabel99.setText(bundle.getString("FeedViewer.jLabel99.text")); // NOI18N
+ jLabel99.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/url-icon.png")));
+ jLabel99.setText(bundle.getString("FeedViewer.jLabel99.text"));
jLabel99.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
- jLabel99.setName("jLabel99"); // NOI18N
+ jLabel99.setName("jLabel99");
jLabel99.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel99MouseClicked(evt);
@@ -1493,7 +1775,7 @@ public class FeedViewer extends javax.swing.JDialog {
jComboBox9.setMaximumRowCount(10);
jComboBox9.setFocusable(false);
- jComboBox9.setName("jComboBox9"); // NOI18N
+ jComboBox9.setName("jComboBox9");
jComboBox9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox9ActionPerformed(evt);
@@ -1503,14 +1785,14 @@ public class FeedViewer extends javax.swing.JDialog {
jComboBox9.setBounds(10, 20, 170, 22);
jLabel89.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- jLabel89.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/no-screenshot.png"))); // NOI18N
- jLabel89.setText(bundle.getString("FeedViewer.jLabel89.text")); // NOI18N
- jLabel89.setName("jLabel89"); // NOI18N
+ jLabel89.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/no-screenshot.png")));
+ jLabel89.setText(bundle.getString("FeedViewer.jLabel89.text"));
+ jLabel89.setName("jLabel89");
jLayeredPane9.add(jLabel89);
jLabel89.setBounds(520, 10, 180, 240);
- jTextField9.setText(bundle.getString("FeedViewer.jTextField9.text")); // NOI18N
- jTextField9.setName("jTextField9"); // NOI18N
+ jTextField9.setText(bundle.getString("FeedViewer.jTextField9.text"));
+ jTextField9.setName("jTextField9");
jTextField9.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextField9KeyTyped(evt);
@@ -1519,45 +1801,45 @@ public class FeedViewer extends javax.swing.JDialog {
jLayeredPane9.add(jTextField9);
jTextField9.setBounds(10, 55, 140, 23);
- jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane9.TabConstraints.tabTitle"), jLayeredPane9); // NOI18N
-
- jLayeredPane6.setName("jLayeredPane6"); // NOI18N
+ jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane9.TabConstraints.tabTitle"), jLayeredPane9);
+
+ jLayeredPane6.setName("jLayeredPane6");
jLabel45.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- jLabel45.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/no-screenshot.png"))); // NOI18N
- jLabel45.setText(bundle.getString("FeedViewer.jLabel45.text")); // NOI18N
- jLabel45.setName("jLabel45"); // NOI18N
+ jLabel45.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/no-screenshot.png")));
+ jLabel45.setText(bundle.getString("FeedViewer.jLabel45.text"));
+ jLabel45.setName("jLabel45");
jLayeredPane6.add(jLabel45);
jLabel45.setBounds(520, 10, 180, 240);
jLabel51.setFont(jLabel51.getFont().deriveFont(jLabel51.getFont().getSize()+1f));
- jLabel51.setText(bundle.getString("FeedViewer.jLabel51.text")); // NOI18N
- jLabel51.setName("jLabel51"); // NOI18N
+ jLabel51.setText(bundle.getString("FeedViewer.jLabel51.text"));
+ jLabel51.setName("jLabel51");
jLayeredPane6.add(jLabel51);
jLabel51.setBounds(230, 170, 140, 20);
jLabel48.setFont(jLabel48.getFont().deriveFont(jLabel48.getFont().getSize()+1f));
- jLabel48.setText(bundle.getString("FeedViewer.jLabel48.text")); // NOI18N
- jLabel48.setName("jLabel48"); // NOI18N
+ jLabel48.setText(bundle.getString("FeedViewer.jLabel48.text"));
+ jLabel48.setName("jLabel48");
jLayeredPane6.add(jLabel48);
jLabel48.setBounds(550, 290, 120, 20);
jSeparator5.setOrientation(javax.swing.SwingConstants.VERTICAL);
- jSeparator5.setName("jSeparator5"); // NOI18N
+ jSeparator5.setName("jSeparator5");
jLayeredPane6.add(jSeparator5);
jSeparator5.setBounds(200, 20, 10, 390);
jLabel49.setFont(jLabel49.getFont().deriveFont(jLabel49.getFont().getSize()+1f));
- jLabel49.setText(bundle.getString("FeedViewer.jLabel49.text")); // NOI18N
+ jLabel49.setText(bundle.getString("FeedViewer.jLabel49.text"));
jLabel49.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel49.setName("jLabel49"); // NOI18N
+ jLabel49.setName("jLabel49");
jLayeredPane6.add(jLabel49);
jLabel49.setBounds(230, 80, 280, 30);
- jButton9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/find.png"))); // NOI18N
- jButton9.setText(bundle.getString("FeedViewer.jButton9.text")); // NOI18N
+ jButton9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/find.png")));
+ jButton9.setText(bundle.getString("FeedViewer.jButton9.text"));
jButton9.setFocusable(false);
- jButton9.setName("jButton9"); // NOI18N
+ jButton9.setName("jButton9");
jButton9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton9ActionPerformed(evt);
@@ -1567,21 +1849,21 @@ public class FeedViewer extends javax.swing.JDialog {
jButton9.setBounds(150, 54, 30, 25);
jLabel52.setFont(jLabel52.getFont().deriveFont(jLabel52.getFont().getSize()+1f));
- jLabel52.setText(bundle.getString("FeedViewer.jLabel52.text")); // NOI18N
+ jLabel52.setText(bundle.getString("FeedViewer.jLabel52.text"));
jLabel52.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel52.setName("jLabel52"); // NOI18N
+ jLabel52.setName("jLabel52");
jLayeredPane6.add(jLabel52);
jLabel52.setBounds(550, 370, 120, 40);
jScrollPane10.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
- jScrollPane10.setName("jScrollPane10"); // NOI18N
+ jScrollPane10.setName("jScrollPane10");
jTextPane5.setBorder(null);
- jTextPane5.setContentType(bundle.getString("FeedViewer.jTextPane5.contentType")); // NOI18N
+ jTextPane5.setContentType(bundle.getString("FeedViewer.jTextPane5.contentType"));
jTextPane5.setEditable(false);
jTextPane5.setFont(jTextPane5.getFont());
- jTextPane5.setText(bundle.getString("FeedViewer.jTextPane5.text")); // NOI18N
- jTextPane5.setName("jTextPane5"); // NOI18N
+ jTextPane5.setText(bundle.getString("FeedViewer.jTextPane5.text"));
+ jTextPane5.setName("jTextPane5");
jTextPane5.setOpaque(false);
jTextPane5.addHyperlinkListener(new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
@@ -1593,8 +1875,8 @@ public class FeedViewer extends javax.swing.JDialog {
jLayeredPane6.add(jScrollPane10);
jScrollPane10.setBounds(230, 200, 280, 170);
- jTextField5.setText(bundle.getString("FeedViewer.jTextField5.text")); // NOI18N
- jTextField5.setName("jTextField5"); // NOI18N
+ jTextField5.setText(bundle.getString("FeedViewer.jTextField5.text"));
+ jTextField5.setName("jTextField5");
jTextField5.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextField5KeyTyped(evt);
@@ -1604,32 +1886,32 @@ public class FeedViewer extends javax.swing.JDialog {
jTextField5.setBounds(10, 55, 140, 23);
jLabel47.setFont(jLabel47.getFont().deriveFont(jLabel47.getFont().getSize()+1f));
- jLabel47.setText(bundle.getString("FeedViewer.jLabel47.text")); // NOI18N
+ jLabel47.setText(bundle.getString("FeedViewer.jLabel47.text"));
jLabel47.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel47.setName("jLabel47"); // NOI18N
+ jLabel47.setName("jLabel47");
jLayeredPane6.add(jLabel47);
jLabel47.setBounds(550, 350, 120, 20);
jLabel50.setFont(jLabel50.getFont().deriveFont(jLabel50.getFont().getSize()+1f));
- jLabel50.setText(bundle.getString("FeedViewer.jLabel50.text")); // NOI18N
+ jLabel50.setText(bundle.getString("FeedViewer.jLabel50.text"));
jLabel50.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel50.setName("jLabel50"); // NOI18N
+ jLabel50.setName("jLabel50");
jLayeredPane6.add(jLabel50);
jLabel50.setBounds(230, 140, 280, 30);
jLabel53.setFont(jLabel53.getFont().deriveFont(jLabel53.getFont().getSize()+1f));
- jLabel53.setText(bundle.getString("FeedViewer.jLabel53.text")); // NOI18N
+ jLabel53.setText(bundle.getString("FeedViewer.jLabel53.text"));
jLabel53.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel53.setName("jLabel53"); // NOI18N
+ jLabel53.setName("jLabel53");
jLayeredPane6.add(jLabel53);
jLabel53.setBounds(230, 110, 280, 30);
jLabel55.setFont(jLabel55.getFont().deriveFont(jLabel55.getFont().getStyle() | java.awt.Font.BOLD, jLabel55.getFont().getSize()+1));
jLabel55.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
- jLabel55.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/url-icon.png"))); // NOI18N
- jLabel55.setText(bundle.getString("FeedViewer.jLabel55.text")); // NOI18N
+ jLabel55.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/url-icon.png")));
+ jLabel55.setText(bundle.getString("FeedViewer.jLabel55.text"));
jLabel55.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
- jLabel55.setName("jLabel55"); // NOI18N
+ jLabel55.setName("jLabel55");
jLabel55.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel55MouseClicked(evt);
@@ -1639,15 +1921,15 @@ public class FeedViewer extends javax.swing.JDialog {
jLabel55.setBounds(550, 260, 120, 20);
jLabel46.setFont(jLabel46.getFont().deriveFont(jLabel46.getFont().getSize()+13f));
- jLabel46.setText(bundle.getString("FeedViewer.jLabel46.text")); // NOI18N
- jLabel46.setName("jLabel46"); // NOI18N
+ jLabel46.setText(bundle.getString("FeedViewer.jLabel46.text"));
+ jLabel46.setName("jLabel46");
jLayeredPane6.add(jLabel46);
jLabel46.setBounds(230, 10, 280, 70);
- jScrollPane9.setName("jScrollPane9"); // NOI18N
+ jScrollPane9.setName("jScrollPane9");
jList5.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
- jList5.setName("jList5"); // NOI18N
+ jList5.setName("jList5");
jList5.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
jList5ValueChanged(evt);
@@ -1659,17 +1941,17 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane9.setBounds(10, 90, 170, 320);
jLabel54.setFont(jLabel54.getFont().deriveFont(jLabel54.getFont().getSize()+1f));
- jLabel54.setText(bundle.getString("FeedViewer.jLabel54.text")); // NOI18N
+ jLabel54.setText(bundle.getString("FeedViewer.jLabel54.text"));
jLabel54.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel54.setName("jLabel54"); // NOI18N
+ jLabel54.setName("jLabel54");
jLayeredPane6.add(jLabel54);
jLabel54.setBounds(550, 310, 120, 40);
jButton10.setBackground(new java.awt.Color(224, 218, 218));
jButton10.setFont(jButton10.getFont().deriveFont(jButton10.getFont().getSize()+1f));
- jButton10.setText(bundle.getString("FeedViewer.jButton10.text")); // NOI18N
+ jButton10.setText(bundle.getString("FeedViewer.jButton10.text"));
jButton10.setFocusable(false);
- jButton10.setName("jButton10"); // NOI18N
+ jButton10.setName("jButton10");
jButton10.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton10ActionPerformed(evt);
@@ -1680,7 +1962,7 @@ public class FeedViewer extends javax.swing.JDialog {
jComboBox5.setMaximumRowCount(10);
jComboBox5.setFocusable(false);
- jComboBox5.setName("jComboBox5"); // NOI18N
+ jComboBox5.setName("jComboBox5");
jComboBox5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox5ActionPerformed(evt);
@@ -1689,15 +1971,15 @@ public class FeedViewer extends javax.swing.JDialog {
jLayeredPane6.add(jComboBox5);
jComboBox5.setBounds(10, 20, 170, 22);
- jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane6.TabConstraints.tabTitle"), jLayeredPane6); // NOI18N
+ jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane6.TabConstraints.tabTitle"), jLayeredPane6);
- jLayeredPane7.setName("jLayeredPane7"); // NOI18N
+ jLayeredPane7.setName("jLayeredPane7");
jButton12.setBackground(new java.awt.Color(224, 218, 218));
jButton12.setFont(jButton12.getFont().deriveFont(jButton12.getFont().getSize()+1f));
- jButton12.setText(bundle.getString("FeedViewer.jButton12.text")); // NOI18N
+ jButton12.setText(bundle.getString("FeedViewer.jButton12.text"));
jButton12.setFocusable(false);
- jButton12.setName("jButton12"); // NOI18N
+ jButton12.setName("jButton12");
jButton12.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton12ActionPerformed(evt);
@@ -1707,14 +1989,14 @@ public class FeedViewer extends javax.swing.JDialog {
jButton12.setBounds(370, 380, 90, 30);
jLabel64.setFont(jLabel64.getFont().deriveFont(jLabel64.getFont().getSize()+1f));
- jLabel64.setText(bundle.getString("FeedViewer.jLabel64.text")); // NOI18N
+ jLabel64.setText(bundle.getString("FeedViewer.jLabel64.text"));
jLabel64.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel64.setName("jLabel64"); // NOI18N
+ jLabel64.setName("jLabel64");
jLayeredPane7.add(jLabel64);
jLabel64.setBounds(230, 110, 280, 30);
- jTextField6.setText(bundle.getString("FeedViewer.jTextField6.text")); // NOI18N
- jTextField6.setName("jTextField6"); // NOI18N
+ jTextField6.setText(bundle.getString("FeedViewer.jTextField6.text"));
+ jTextField6.setName("jTextField6");
jTextField6.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextField6KeyTyped(evt);
@@ -1724,14 +2006,14 @@ public class FeedViewer extends javax.swing.JDialog {
jTextField6.setBounds(10, 55, 140, 23);
jScrollPane12.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
- jScrollPane12.setName("jScrollPane12"); // NOI18N
+ jScrollPane12.setName("jScrollPane12");
jTextPane6.setBorder(null);
- jTextPane6.setContentType(bundle.getString("FeedViewer.jTextPane6.contentType")); // NOI18N
+ jTextPane6.setContentType(bundle.getString("FeedViewer.jTextPane6.contentType"));
jTextPane6.setEditable(false);
jTextPane6.setFont(jTextPane6.getFont());
- jTextPane6.setText(bundle.getString("FeedViewer.jTextPane6.text")); // NOI18N
- jTextPane6.setName("jTextPane6"); // NOI18N
+ jTextPane6.setText(bundle.getString("FeedViewer.jTextPane6.text"));
+ jTextPane6.setName("jTextPane6");
jTextPane6.setOpaque(false);
jTextPane6.addHyperlinkListener(new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
@@ -1744,35 +2026,35 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane12.setBounds(230, 200, 280, 170);
jLabel63.setFont(jLabel63.getFont().deriveFont(jLabel63.getFont().getSize()+1f));
- jLabel63.setText(bundle.getString("FeedViewer.jLabel63.text")); // NOI18N
+ jLabel63.setText(bundle.getString("FeedViewer.jLabel63.text"));
jLabel63.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel63.setName("jLabel63"); // NOI18N
+ jLabel63.setName("jLabel63");
jLayeredPane7.add(jLabel63);
jLabel63.setBounds(550, 370, 120, 40);
jLabel58.setFont(jLabel58.getFont().deriveFont(jLabel58.getFont().getSize()+1f));
- jLabel58.setText(bundle.getString("FeedViewer.jLabel58.text")); // NOI18N
+ jLabel58.setText(bundle.getString("FeedViewer.jLabel58.text"));
jLabel58.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel58.setName("jLabel58"); // NOI18N
+ jLabel58.setName("jLabel58");
jLayeredPane7.add(jLabel58);
jLabel58.setBounds(550, 350, 120, 20);
jLabel57.setFont(jLabel57.getFont().deriveFont(jLabel57.getFont().getSize()+13f));
- jLabel57.setText(bundle.getString("FeedViewer.jLabel57.text")); // NOI18N
- jLabel57.setName("jLabel57"); // NOI18N
+ jLabel57.setText(bundle.getString("FeedViewer.jLabel57.text"));
+ jLabel57.setName("jLabel57");
jLayeredPane7.add(jLabel57);
jLabel57.setBounds(230, 10, 280, 70);
jLabel59.setFont(jLabel59.getFont().deriveFont(jLabel59.getFont().getSize()+1f));
- jLabel59.setText(bundle.getString("FeedViewer.jLabel59.text")); // NOI18N
- jLabel59.setName("jLabel59"); // NOI18N
+ jLabel59.setText(bundle.getString("FeedViewer.jLabel59.text"));
+ jLabel59.setName("jLabel59");
jLayeredPane7.add(jLabel59);
jLabel59.setBounds(550, 290, 120, 20);
- jScrollPane11.setName("jScrollPane11"); // NOI18N
+ jScrollPane11.setName("jScrollPane11");
jList6.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
- jList6.setName("jList6"); // NOI18N
+ jList6.setName("jList6");
jList6.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
jList6ValueChanged(evt);
@@ -1784,32 +2066,32 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane11.setBounds(10, 90, 170, 320);
jLabel65.setFont(jLabel65.getFont().deriveFont(jLabel65.getFont().getSize()+1f));
- jLabel65.setText(bundle.getString("FeedViewer.jLabel65.text")); // NOI18N
+ jLabel65.setText(bundle.getString("FeedViewer.jLabel65.text"));
jLabel65.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel65.setName("jLabel65"); // NOI18N
+ jLabel65.setName("jLabel65");
jLayeredPane7.add(jLabel65);
jLabel65.setBounds(550, 310, 120, 40);
jLabel61.setFont(jLabel61.getFont().deriveFont(jLabel61.getFont().getSize()+1f));
- jLabel61.setText(bundle.getString("FeedViewer.jLabel61.text")); // NOI18N
+ jLabel61.setText(bundle.getString("FeedViewer.jLabel61.text"));
jLabel61.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel61.setName("jLabel61"); // NOI18N
+ jLabel61.setName("jLabel61");
jLayeredPane7.add(jLabel61);
jLabel61.setBounds(230, 140, 280, 30);
jLabel56.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- jLabel56.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/no-screenshot.png"))); // NOI18N
- jLabel56.setText(bundle.getString("FeedViewer.jLabel56.text")); // NOI18N
- jLabel56.setName("jLabel56"); // NOI18N
+ jLabel56.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/no-screenshot.png")));
+ jLabel56.setText(bundle.getString("FeedViewer.jLabel56.text"));
+ jLabel56.setName("jLabel56");
jLayeredPane7.add(jLabel56);
jLabel56.setBounds(520, 10, 180, 240);
jLabel66.setFont(jLabel66.getFont().deriveFont(jLabel66.getFont().getStyle() | java.awt.Font.BOLD, jLabel66.getFont().getSize()+1));
jLabel66.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
- jLabel66.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/url-icon.png"))); // NOI18N
- jLabel66.setText(bundle.getString("FeedViewer.jLabel66.text")); // NOI18N
+ jLabel66.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/url-icon.png")));
+ jLabel66.setText(bundle.getString("FeedViewer.jLabel66.text"));
jLabel66.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
- jLabel66.setName("jLabel66"); // NOI18N
+ jLabel66.setName("jLabel66");
jLabel66.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel66MouseClicked(evt);
@@ -1818,10 +2100,10 @@ public class FeedViewer extends javax.swing.JDialog {
jLayeredPane7.add(jLabel66);
jLabel66.setBounds(550, 260, 120, 20);
- jButton11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/find.png"))); // NOI18N
- jButton11.setText(bundle.getString("FeedViewer.jButton11.text")); // NOI18N
+ jButton11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/find.png")));
+ jButton11.setText(bundle.getString("FeedViewer.jButton11.text"));
jButton11.setFocusable(false);
- jButton11.setName("jButton11"); // NOI18N
+ jButton11.setName("jButton11");
jButton11.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton11ActionPerformed(evt);
@@ -1831,26 +2113,26 @@ public class FeedViewer extends javax.swing.JDialog {
jButton11.setBounds(150, 54, 30, 25);
jSeparator6.setOrientation(javax.swing.SwingConstants.VERTICAL);
- jSeparator6.setName("jSeparator6"); // NOI18N
+ jSeparator6.setName("jSeparator6");
jLayeredPane7.add(jSeparator6);
jSeparator6.setBounds(200, 20, 10, 390);
jLabel62.setFont(jLabel62.getFont().deriveFont(jLabel62.getFont().getSize()+1f));
- jLabel62.setText(bundle.getString("FeedViewer.jLabel62.text")); // NOI18N
- jLabel62.setName("jLabel62"); // NOI18N
+ jLabel62.setText(bundle.getString("FeedViewer.jLabel62.text"));
+ jLabel62.setName("jLabel62");
jLayeredPane7.add(jLabel62);
jLabel62.setBounds(230, 170, 140, 20);
jLabel60.setFont(jLabel60.getFont().deriveFont(jLabel60.getFont().getSize()+1f));
- jLabel60.setText(bundle.getString("FeedViewer.jLabel60.text")); // NOI18N
+ jLabel60.setText(bundle.getString("FeedViewer.jLabel60.text"));
jLabel60.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel60.setName("jLabel60"); // NOI18N
+ jLabel60.setName("jLabel60");
jLayeredPane7.add(jLabel60);
jLabel60.setBounds(230, 80, 280, 30);
jComboBox6.setMaximumRowCount(10);
jComboBox6.setFocusable(false);
- jComboBox6.setName("jComboBox6"); // NOI18N
+ jComboBox6.setName("jComboBox6");
jComboBox6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox6ActionPerformed(evt);
@@ -1859,14 +2141,14 @@ public class FeedViewer extends javax.swing.JDialog {
jLayeredPane7.add(jComboBox6);
jComboBox6.setBounds(10, 20, 170, 22);
- jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane7.TabConstraints.tabTitle"), jLayeredPane7); // NOI18N
+ jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane7.TabConstraints.tabTitle"), jLayeredPane7);
- jLayeredPane8.setName("jLayeredPane8"); // NOI18N
+ jLayeredPane8.setName("jLayeredPane8");
- jButton13.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/find.png"))); // NOI18N
- jButton13.setText(bundle.getString("FeedViewer.jButton13.text")); // NOI18N
+ jButton13.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/find.png")));
+ jButton13.setText(bundle.getString("FeedViewer.jButton13.text"));
jButton13.setFocusable(false);
- jButton13.setName("jButton13"); // NOI18N
+ jButton13.setName("jButton13");
jButton13.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton13ActionPerformed(evt);
@@ -1876,16 +2158,16 @@ public class FeedViewer extends javax.swing.JDialog {
jButton13.setBounds(150, 54, 30, 25);
jLabel72.setFont(jLabel72.getFont().deriveFont(jLabel72.getFont().getSize()+1f));
- jLabel72.setText(bundle.getString("FeedViewer.jLabel72.text")); // NOI18N
+ jLabel72.setText(bundle.getString("FeedViewer.jLabel72.text"));
jLabel72.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel72.setName("jLabel72"); // NOI18N
+ jLabel72.setName("jLabel72");
jLayeredPane8.add(jLabel72);
jLabel72.setBounds(230, 140, 280, 30);
- jScrollPane13.setName("jScrollPane13"); // NOI18N
+ jScrollPane13.setName("jScrollPane13");
jList7.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
- jList7.setName("jList7"); // NOI18N
+ jList7.setName("jList7");
jList7.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
jList7ValueChanged(evt);
@@ -1897,21 +2179,21 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane13.setBounds(10, 90, 170, 320);
jLabel73.setFont(jLabel73.getFont().deriveFont(jLabel73.getFont().getSize()+1f));
- jLabel73.setText(bundle.getString("FeedViewer.jLabel73.text")); // NOI18N
- jLabel73.setName("jLabel73"); // NOI18N
+ jLabel73.setText(bundle.getString("FeedViewer.jLabel73.text"));
+ jLabel73.setName("jLabel73");
jLayeredPane8.add(jLabel73);
jLabel73.setBounds(230, 170, 140, 20);
jLabel75.setFont(jLabel75.getFont().deriveFont(jLabel75.getFont().getSize()+1f));
- jLabel75.setText(bundle.getString("FeedViewer.jLabel75.text")); // NOI18N
+ jLabel75.setText(bundle.getString("FeedViewer.jLabel75.text"));
jLabel75.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel75.setName("jLabel75"); // NOI18N
+ jLabel75.setName("jLabel75");
jLayeredPane8.add(jLabel75);
jLabel75.setBounds(230, 110, 280, 30);
jComboBox7.setMaximumRowCount(10);
jComboBox7.setFocusable(false);
- jComboBox7.setName("jComboBox7"); // NOI18N
+ jComboBox7.setName("jComboBox7");
jComboBox7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox7ActionPerformed(evt);
@@ -1921,24 +2203,24 @@ public class FeedViewer extends javax.swing.JDialog {
jComboBox7.setBounds(10, 20, 170, 22);
jLabel76.setFont(jLabel76.getFont().deriveFont(jLabel76.getFont().getSize()+1f));
- jLabel76.setText(bundle.getString("FeedViewer.jLabel76.text")); // NOI18N
+ jLabel76.setText(bundle.getString("FeedViewer.jLabel76.text"));
jLabel76.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel76.setName("jLabel76"); // NOI18N
+ jLabel76.setName("jLabel76");
jLayeredPane8.add(jLabel76);
jLabel76.setBounds(550, 310, 120, 40);
jLabel71.setFont(jLabel71.getFont().deriveFont(jLabel71.getFont().getSize()+1f));
- jLabel71.setText(bundle.getString("FeedViewer.jLabel71.text")); // NOI18N
+ jLabel71.setText(bundle.getString("FeedViewer.jLabel71.text"));
jLabel71.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel71.setName("jLabel71"); // NOI18N
+ jLabel71.setName("jLabel71");
jLayeredPane8.add(jLabel71);
jLabel71.setBounds(230, 80, 280, 30);
jButton14.setBackground(new java.awt.Color(224, 218, 218));
jButton14.setFont(jButton14.getFont().deriveFont(jButton14.getFont().getSize()+1f));
- jButton14.setText(bundle.getString("FeedViewer.jButton14.text")); // NOI18N
+ jButton14.setText(bundle.getString("FeedViewer.jButton14.text"));
jButton14.setFocusable(false);
- jButton14.setName("jButton14"); // NOI18N
+ jButton14.setName("jButton14");
jButton14.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton14ActionPerformed(evt);
@@ -1948,25 +2230,25 @@ public class FeedViewer extends javax.swing.JDialog {
jButton14.setBounds(370, 380, 90, 30);
jSeparator7.setOrientation(javax.swing.SwingConstants.VERTICAL);
- jSeparator7.setName("jSeparator7"); // NOI18N
+ jSeparator7.setName("jSeparator7");
jLayeredPane8.add(jSeparator7);
jSeparator7.setBounds(200, 20, 10, 390);
jLabel68.setFont(jLabel68.getFont().deriveFont(jLabel68.getFont().getSize()+13f));
- jLabel68.setText(bundle.getString("FeedViewer.jLabel68.text")); // NOI18N
- jLabel68.setName("jLabel68"); // NOI18N
+ jLabel68.setText(bundle.getString("FeedViewer.jLabel68.text"));
+ jLabel68.setName("jLabel68");
jLayeredPane8.add(jLabel68);
jLabel68.setBounds(230, 10, 280, 70);
jLabel69.setFont(jLabel69.getFont().deriveFont(jLabel69.getFont().getSize()+1f));
- jLabel69.setText(bundle.getString("FeedViewer.jLabel69.text")); // NOI18N
+ jLabel69.setText(bundle.getString("FeedViewer.jLabel69.text"));
jLabel69.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel69.setName("jLabel69"); // NOI18N
+ jLabel69.setName("jLabel69");
jLayeredPane8.add(jLabel69);
jLabel69.setBounds(550, 350, 120, 20);
- jTextField7.setText(bundle.getString("FeedViewer.jTextField7.text")); // NOI18N
- jTextField7.setName("jTextField7"); // NOI18N
+ jTextField7.setText(bundle.getString("FeedViewer.jTextField7.text"));
+ jTextField7.setName("jTextField7");
jTextField7.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextField7KeyTyped(evt);
@@ -1976,18 +2258,18 @@ public class FeedViewer extends javax.swing.JDialog {
jTextField7.setBounds(10, 55, 140, 23);
jLabel74.setFont(jLabel74.getFont().deriveFont(jLabel74.getFont().getSize()+1f));
- jLabel74.setText(bundle.getString("FeedViewer.jLabel74.text")); // NOI18N
+ jLabel74.setText(bundle.getString("FeedViewer.jLabel74.text"));
jLabel74.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel74.setName("jLabel74"); // NOI18N
+ jLabel74.setName("jLabel74");
jLayeredPane8.add(jLabel74);
jLabel74.setBounds(550, 370, 120, 40);
jLabel77.setFont(jLabel77.getFont().deriveFont(jLabel77.getFont().getStyle() | java.awt.Font.BOLD, jLabel77.getFont().getSize()+1));
jLabel77.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
- jLabel77.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/url-icon.png"))); // NOI18N
- jLabel77.setText(bundle.getString("FeedViewer.jLabel77.text")); // NOI18N
+ jLabel77.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/url-icon.png")));
+ jLabel77.setText(bundle.getString("FeedViewer.jLabel77.text"));
jLabel77.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
- jLabel77.setName("jLabel77"); // NOI18N
+ jLabel77.setName("jLabel77");
jLabel77.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel77MouseClicked(evt);
@@ -1997,20 +2279,20 @@ public class FeedViewer extends javax.swing.JDialog {
jLabel77.setBounds(550, 260, 120, 20);
jLabel70.setFont(jLabel70.getFont().deriveFont(jLabel70.getFont().getSize()+1f));
- jLabel70.setText(bundle.getString("FeedViewer.jLabel70.text")); // NOI18N
- jLabel70.setName("jLabel70"); // NOI18N
+ jLabel70.setText(bundle.getString("FeedViewer.jLabel70.text"));
+ jLabel70.setName("jLabel70");
jLayeredPane8.add(jLabel70);
jLabel70.setBounds(550, 290, 120, 20);
jScrollPane14.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
- jScrollPane14.setName("jScrollPane14"); // NOI18N
+ jScrollPane14.setName("jScrollPane14");
jTextPane7.setBorder(null);
- jTextPane7.setContentType(bundle.getString("FeedViewer.jTextPane7.contentType")); // NOI18N
+ jTextPane7.setContentType(bundle.getString("FeedViewer.jTextPane7.contentType"));
jTextPane7.setEditable(false);
jTextPane7.setFont(jTextPane7.getFont());
- jTextPane7.setText(bundle.getString("FeedViewer.jTextPane7.text")); // NOI18N
- jTextPane7.setName("jTextPane7"); // NOI18N
+ jTextPane7.setText(bundle.getString("FeedViewer.jTextPane7.text"));
+ jTextPane7.setName("jTextPane7");
jTextPane7.setOpaque(false);
jTextPane7.addHyperlinkListener(new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
@@ -2023,24 +2305,24 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane14.setBounds(230, 200, 280, 170);
jLabel67.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- jLabel67.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/no-screenshot.png"))); // NOI18N
- jLabel67.setText(bundle.getString("FeedViewer.jLabel67.text")); // NOI18N
- jLabel67.setName("jLabel67"); // NOI18N
+ jLabel67.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/no-screenshot.png")));
+ jLabel67.setText(bundle.getString("FeedViewer.jLabel67.text"));
+ jLabel67.setName("jLabel67");
jLayeredPane8.add(jLabel67);
jLabel67.setBounds(520, 10, 180, 240);
- jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane8.TabConstraints.tabTitle"), jLayeredPane8); // NOI18N
+ jTabbedPane2.addTab(bundle.getString("FeedViewer.jLayeredPane8.TabConstraints.tabTitle"), jLayeredPane8);
- jTabbedPane1.addTab(bundle.getString("FeedViewer.availablePackagesTabs.TabConstraints.tabTitle"), jTabbedPane2); // NOI18N
+ jTabbedPane1.addTab(bundle.getString("FeedViewer.availablePackagesTabs.TabConstraints.tabTitle"), jTabbedPane2);
- jLayeredPane1.setName("jLayeredPane1"); // NOI18N
+ jLayeredPane1.setName("jLayeredPane1");
jLabel88.setFont(jLabel88.getFont().deriveFont(jLabel88.getFont().getStyle() | java.awt.Font.BOLD, jLabel88.getFont().getSize()+1));
jLabel88.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
- jLabel88.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/url-icon.png"))); // NOI18N
- jLabel88.setText(bundle.getString("FeedViewer.jLabel88.text")); // NOI18N
+ jLabel88.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/url-icon.png")));
+ jLabel88.setText(bundle.getString("FeedViewer.jLabel88.text"));
jLabel88.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
- jLabel88.setName("jLabel88"); // NOI18N
+ jLabel88.setName("jLabel88");
jLabel88.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel88MouseClicked(evt);
@@ -2050,15 +2332,15 @@ public class FeedViewer extends javax.swing.JDialog {
jLabel88.setBounds(550, 280, 120, 20);
jLabel84.setFont(jLabel84.getFont().deriveFont(jLabel84.getFont().getSize()+1f));
- jLabel84.setText(bundle.getString("FeedViewer.jLabel84.text")); // NOI18N
- jLabel84.setName("jLabel84"); // NOI18N
+ jLabel84.setText(bundle.getString("FeedViewer.jLabel84.text"));
+ jLabel84.setName("jLabel84");
jLayeredPane1.add(jLabel84);
jLabel84.setBounds(230, 170, 140, 20);
jButton15.setBackground(new java.awt.Color(224, 218, 218));
jButton15.setFont(jButton15.getFont().deriveFont(jButton15.getFont().getSize()+1f));
- jButton15.setText(bundle.getString("FeedViewer.jButton15.text")); // NOI18N
- jButton15.setName("jButton15"); // NOI18N
+ jButton15.setText(bundle.getString("FeedViewer.jButton15.text"));
+ jButton15.setName("jButton15");
jButton15.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton15ActionPerformed(evt);
@@ -2069,8 +2351,8 @@ public class FeedViewer extends javax.swing.JDialog {
jButton16.setBackground(new java.awt.Color(224, 218, 218));
jButton16.setFont(jButton16.getFont().deriveFont(jButton16.getFont().getSize()+1f));
- jButton16.setText(bundle.getString("FeedViewer.jButton16.text")); // NOI18N
- jButton16.setName("jButton16"); // NOI18N
+ jButton16.setText(bundle.getString("FeedViewer.jButton16.text"));
+ jButton16.setName("jButton16");
jButton16.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton16ActionPerformed(evt);
@@ -2079,10 +2361,10 @@ public class FeedViewer extends javax.swing.JDialog {
jLayeredPane1.add(jButton16);
jButton16.setBounds(370, 400, 90, 30);
- jScrollPane15.setName("jScrollPane15"); // NOI18N
+ jScrollPane15.setName("jScrollPane15");
jList8.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
- jList8.setName("jList8"); // NOI18N
+ jList8.setName("jList8");
jList8.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
jList8ValueChanged(evt);
@@ -2094,54 +2376,54 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane15.setBounds(10, 20, 170, 360);
jLabel81.setFont(jLabel81.getFont().deriveFont(jLabel81.getFont().getSize()+1f));
- jLabel81.setText(bundle.getString("FeedViewer.jLabel81.text")); // NOI18N
- jLabel81.setName("jLabel81"); // NOI18N
+ jLabel81.setText(bundle.getString("FeedViewer.jLabel81.text"));
+ jLabel81.setName("jLabel81");
jLayeredPane1.add(jLabel81);
jLabel81.setBounds(550, 310, 120, 20);
jLabel83.setFont(jLabel83.getFont().deriveFont(jLabel83.getFont().getSize()+1f));
- jLabel83.setText(bundle.getString("FeedViewer.jLabel83.text")); // NOI18N
+ jLabel83.setText(bundle.getString("FeedViewer.jLabel83.text"));
jLabel83.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel83.setName("jLabel83"); // NOI18N
+ jLabel83.setName("jLabel83");
jLayeredPane1.add(jLabel83);
jLabel83.setBounds(230, 140, 280, 30);
jLabel85.setFont(jLabel85.getFont().deriveFont(jLabel85.getFont().getSize()+1f));
- jLabel85.setText(bundle.getString("FeedViewer.jLabel85.text")); // NOI18N
+ jLabel85.setText(bundle.getString("FeedViewer.jLabel85.text"));
jLabel85.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel85.setName("jLabel85"); // NOI18N
+ jLabel85.setName("jLabel85");
jLayeredPane1.add(jLabel85);
jLabel85.setBounds(550, 390, 120, 40);
jLabel82.setFont(jLabel82.getFont().deriveFont(jLabel82.getFont().getSize()+1f));
- jLabel82.setText(bundle.getString("FeedViewer.jLabel82.text")); // NOI18N
+ jLabel82.setText(bundle.getString("FeedViewer.jLabel82.text"));
jLabel82.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel82.setName("jLabel82"); // NOI18N
+ jLabel82.setName("jLabel82");
jLayeredPane1.add(jLabel82);
jLabel82.setBounds(230, 80, 280, 30);
jLabel79.setFont(jLabel79.getFont().deriveFont(jLabel79.getFont().getSize()+13f));
- jLabel79.setText(bundle.getString("FeedViewer.jLabel79.text")); // NOI18N
- jLabel79.setName("jLabel79"); // NOI18N
+ jLabel79.setText(bundle.getString("FeedViewer.jLabel79.text"));
+ jLabel79.setName("jLabel79");
jLayeredPane1.add(jLabel79);
jLabel79.setBounds(230, 10, 280, 70);
jLabel80.setFont(jLabel80.getFont().deriveFont(jLabel80.getFont().getSize()+1f));
- jLabel80.setText(bundle.getString("FeedViewer.jLabel80.text")); // NOI18N
+ jLabel80.setText(bundle.getString("FeedViewer.jLabel80.text"));
jLabel80.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel80.setName("jLabel80"); // NOI18N
+ jLabel80.setName("jLabel80");
jLayeredPane1.add(jLabel80);
jLabel80.setBounds(550, 370, 120, 20);
jScrollPane16.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
- jScrollPane16.setName("jScrollPane16"); // NOI18N
+ jScrollPane16.setName("jScrollPane16");
jTextPane8.setBorder(null);
- jTextPane8.setContentType(bundle.getString("FeedViewer.jTextPane8.contentType")); // NOI18N
+ jTextPane8.setContentType(bundle.getString("FeedViewer.jTextPane8.contentType"));
jTextPane8.setEditable(false);
jTextPane8.setFont(jTextPane8.getFont());
- jTextPane8.setText(bundle.getString("FeedViewer.jTextPane8.text")); // NOI18N
- jTextPane8.setName("jTextPane8"); // NOI18N
+ jTextPane8.setText(bundle.getString("FeedViewer.jTextPane8.text"));
+ jTextPane8.setName("jTextPane8");
jTextPane8.setOpaque(false);
jTextPane8.addHyperlinkListener(new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
@@ -2154,32 +2436,32 @@ public class FeedViewer extends javax.swing.JDialog {
jScrollPane16.setBounds(230, 200, 280, 190);
jSeparator8.setOrientation(javax.swing.SwingConstants.VERTICAL);
- jSeparator8.setName("jSeparator8"); // NOI18N
+ jSeparator8.setName("jSeparator8");
jLayeredPane1.add(jSeparator8);
jSeparator8.setBounds(200, 20, 10, 420);
jLabel87.setFont(jLabel87.getFont().deriveFont(jLabel87.getFont().getSize()+1f));
- jLabel87.setText(bundle.getString("FeedViewer.jLabel87.text")); // NOI18N
+ jLabel87.setText(bundle.getString("FeedViewer.jLabel87.text"));
jLabel87.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel87.setName("jLabel87"); // NOI18N
+ jLabel87.setName("jLabel87");
jLayeredPane1.add(jLabel87);
jLabel87.setBounds(550, 330, 120, 40);
jLabel78.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- jLabel78.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/no-screenshot.png"))); // NOI18N
- jLabel78.setText(bundle.getString("FeedViewer.jLabel78.text")); // NOI18N
- jLabel78.setName("jLabel78"); // NOI18N
+ jLabel78.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/no-screenshot.png")));
+ jLabel78.setText(bundle.getString("FeedViewer.jLabel78.text"));
+ jLabel78.setName("jLabel78");
jLayeredPane1.add(jLabel78);
jLabel78.setBounds(520, 20, 180, 240);
jLabel86.setFont(jLabel86.getFont().deriveFont(jLabel86.getFont().getSize()+1f));
- jLabel86.setText(bundle.getString("FeedViewer.jLabel86.text")); // NOI18N
+ jLabel86.setText(bundle.getString("FeedViewer.jLabel86.text"));
jLabel86.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel86.setName("jLabel86"); // NOI18N
+ jLabel86.setName("jLabel86");
jLayeredPane1.add(jLabel86);
jLabel86.setBounds(230, 110, 280, 30);
- jTabbedPane1.addTab(bundle.getString("FeedViewer.jLayeredPane1.TabConstraints.tabTitle"), jLayeredPane1); // NOI18N
+ jTabbedPane1.addTab(bundle.getString("FeedViewer.jLayeredPane1.TabConstraints.tabTitle"), jLayeredPane1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
@@ -2710,33 +2992,6 @@ public class FeedViewer extends javax.swing.JDialog {
}
}
- class LoadScreenshot extends Thread {
- private int tab;
- public LoadScreenshot(int tab) {
- this.tab = tab;
- }
- @Override
- public void run() {
- if(selected[tab].source.has("Screenshots")) {
- try {
- JSONArray ss = selected[tab].source.getJSONArray("Screenshots");
- if(ss.length()>0) {
- SCREENSHOT[tab].setIcon(null);
- SCREENSHOT[tab].setText("
");
- } else {
- SCREENSHOT[tab].setText("");
- SCREENSHOT[tab].setIcon(NO_SCREENSHOT);
- }
- } catch(Exception e) {}
- } else {
- SCREENSHOT[tab].setText("");
- SCREENSHOT[tab].setIcon(NO_SCREENSHOT);
- }
- }
- }
-
class ImageLayeredPane extends JLayeredPane {
private Image img;
public ImageLayeredPane(String img) {
diff --git a/src/wosqi/InstalledPatchInfo.form b/src/wosqi/InstalledPatchInfo.form
new file mode 100644
index 0000000..9a7b2be
--- /dev/null
+++ b/src/wosqi/InstalledPatchInfo.form
@@ -0,0 +1,332 @@
+
+
+
diff --git a/src/ca/canuckcoding/wosqi/InstalledPatchInfo.java b/src/wosqi/InstalledPatchInfo.java
similarity index 99%
rename from src/ca/canuckcoding/wosqi/InstalledPatchInfo.java
rename to src/wosqi/InstalledPatchInfo.java
index 22cd1e3..575d9d1 100644
--- a/src/ca/canuckcoding/wosqi/InstalledPatchInfo.java
+++ b/src/wosqi/InstalledPatchInfo.java
@@ -2,7 +2,7 @@
* WebOSQuickInstallAboutBox.java
*/
-package ca.canuckcoding.wosqi;
+package wosqi;
import ca.canuckcoding.webos.InstalledEntry;
import ca.canuckcoding.webos.WebOSConnection;
diff --git a/src/wosqi/InstalledPkgInfo.form b/src/wosqi/InstalledPkgInfo.form
new file mode 100644
index 0000000..53d00f4
--- /dev/null
+++ b/src/wosqi/InstalledPkgInfo.form
@@ -0,0 +1,277 @@
+
+
+
diff --git a/src/ca/canuckcoding/wosqi/InstalledPkgInfo.java b/src/wosqi/InstalledPkgInfo.java
similarity index 99%
rename from src/ca/canuckcoding/wosqi/InstalledPkgInfo.java
rename to src/wosqi/InstalledPkgInfo.java
index 1fa63c1..b88074f 100644
--- a/src/ca/canuckcoding/wosqi/InstalledPkgInfo.java
+++ b/src/wosqi/InstalledPkgInfo.java
@@ -1,8 +1,4 @@
-/*
- * WebOSQuickInstallAboutBox.java
- */
-
-package ca.canuckcoding.wosqi;
+package wosqi;
import ca.canuckcoding.webos.InstalledEntry;
import ca.canuckcoding.webos.WebOSConnection;
diff --git a/src/wosqi/Installer.form b/src/wosqi/Installer.form
new file mode 100644
index 0000000..d263b74
--- /dev/null
+++ b/src/wosqi/Installer.form
@@ -0,0 +1,160 @@
+
+
+
diff --git a/src/ca/canuckcoding/wosqi/Installer.java b/src/wosqi/Installer.java
similarity index 93%
rename from src/ca/canuckcoding/wosqi/Installer.java
rename to src/wosqi/Installer.java
index f723514..a798feb 100644
--- a/src/ca/canuckcoding/wosqi/Installer.java
+++ b/src/wosqi/Installer.java
@@ -1,11 +1,7 @@
-/*
- * WebOSQuickInstallAboutBox.java
- */
+package wosqi;
-package ca.canuckcoding.wosqi;
-
-import ca.canuckcoding.ipkg.PackageFeed;
-import ca.canuckcoding.utils.FileUtils;
+import ipkg.PackageFeed;
+import utils.FileUtils;
import ca.canuckcoding.utils.OnlineFile;
import ca.canuckcoding.webos.DeviceInfo;
import ca.canuckcoding.webos.Patcher;
@@ -158,7 +154,7 @@ public class Installer extends javax.swing.JDialog {
setForeground(new java.awt.Color(219, 219, 219));
setIconImage(null);
setModal(true);
- setName("transfer"); // NOI18N
+ setName("transfer");
setResizable(false);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowActivated(java.awt.event.WindowEvent evt) {
@@ -174,41 +170,41 @@ public class Installer extends javax.swing.JDialog {
jLayeredPane1.setBackground(new java.awt.Color(219, 219, 219));
jLayeredPane1.setForeground(new java.awt.Color(243, 241, 233));
- jLayeredPane1.setName("jLayeredPane1"); // NOI18N
+ jLayeredPane1.setName("jLayeredPane1");
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.setText(bundle.getString("Installer.jLabel5.text"));
+ jLabel5.setName("jLabel5");
jLayeredPane1.add(jLabel5);
jLabel5.setBounds(30, 70, 240, 20);
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/canuckcoding/wosqi/resources/busy_icon.gif"))); // NOI18N
- jLabel1.setName("jLabel1"); // NOI18N
+ jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/busy_icon.gif")));
+ jLabel1.setName("jLabel1");
jLabel1.setOpaque(true);
jLayeredPane1.add(jLabel1);
jLabel1.setBounds(120, 10, 60, 50);
jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/Pre-48x48.png"))); // NOI18N
+ jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/Pre-48x48.png")));
jLabel3.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
- jLabel3.setName("jLabel3"); // NOI18N
+ jLabel3.setName("jLabel3");
jLayeredPane1.add(jLabel3);
jLabel3.setBounds(170, 10, 60, 50);
- jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/Computer-48x48.png"))); // NOI18N
+ jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/Computer-48x48.png")));
jLabel4.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel4.setName("jLabel4"); // NOI18N
+ jLabel4.setName("jLabel4");
jLayeredPane1.add(jLabel4);
jLabel4.setBounds(70, 10, 50, 50);
jLabel2.setFont(jLabel2.getFont());
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel2.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel2.setName("jLabel2"); // NOI18N
+ jLabel2.setName("jLabel2");
jLayeredPane1.add(jLabel2);
jLabel2.setBounds(30, 90, 240, 30);
diff --git a/src/wosqi/MainView.form b/src/wosqi/MainView.form
new file mode 100644
index 0000000..16d602c
--- /dev/null
+++ b/src/wosqi/MainView.form
@@ -0,0 +1,545 @@
+
+
+
diff --git a/src/ca/canuckcoding/wosqi/MainView.java b/src/wosqi/MainView.java
similarity index 78%
rename from src/ca/canuckcoding/wosqi/MainView.java
rename to src/wosqi/MainView.java
index 3d42163..aea286e 100644
--- a/src/ca/canuckcoding/wosqi/MainView.java
+++ b/src/wosqi/MainView.java
@@ -1,15 +1,5 @@
+package wosqi;
-package ca.canuckcoding.wosqi;
-
-import ca.canuckcoding.ipkg.PackageManager;
-import ca.canuckcoding.novacom.Novacom;
-import ca.canuckcoding.novacom.NovacomDrivers;
-import ca.canuckcoding.utils.FileUtils;
-import ca.canuckcoding.webos.DeviceInfo;
-import ca.canuckcoding.webos.WebOS;
-import ca.canuckcoding.webos.WebOSConnection;
-import ca.canuckcoding.webos.WebOSDevice;
-import ca.canuckcoding.webos.WebOSException;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
@@ -18,30 +8,50 @@ import java.awt.Desktop;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
+import java.io.BufferedReader;
import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
+import java.util.ResourceBundle;
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.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
+import javax.swing.JPasswordField;
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.
- */
+import org.jdesktop.application.FrameView;
+import org.jdesktop.application.SingleFrameApplication;
+
+import com.profesorfalken.jpowershell.PowerShell;
+
+import ca.canuckcoding.novacom.Novacom;
+import ca.canuckcoding.novacom.NovacomDrivers;
+import ca.canuckcoding.webos.DeviceInfo;
+import ca.canuckcoding.webos.WebOS;
+import ca.canuckcoding.webos.WebOSConnection;
+import ca.canuckcoding.webos.WebOSDevice;
+import ca.canuckcoding.webos.WebOSException;
+import ipkg.PackageManager;
+import net.iharder.dnd.FileDrop;
+import utils.FileUtils;
+
+// The application's main frame
public class MainView extends FrameView {
private ResourceBundle bundle;
private Image bgImg;
@@ -53,20 +63,303 @@ public class MainView extends FrameView {
private DefaultTableModel modTable;
private File installDir;
private Timer timer;
+
+ public boolean novacomInstallationCheck() {
+
+ String os = System.getProperty("os.name");
+ boolean isFound = false;
+
+ if(os.contains("Windows")) {
+
+ isFound = Novacom.isInstalled();
+
+ }
+ else {
+
+ try {
+
+ Process commandExecutor = null;
+
+ // BSD and Solaris-derivatives support planned in the future!
+ if(os.equals("Linux")) {
+
+ commandExecutor = Runtime.getRuntime().exec("which novacomd");
+
+ }
+ else if(os.equals("Mac OS X")) {
+
+ commandExecutor = Runtime.getRuntime().exec("which novacom");
+
+ }
+ else {
+
+ JOptionPane.showMessageDialog(null, "Unsuppoted platform: " + os + ". Please open up an issue on https://github.com/NotAlexNoyle/WebOS-Quick-Install");
+
+ }
+
+ String moverString = new String();
+ String commandOutputStorage = new String();
+ BufferedReader commandOutputReader = new BufferedReader(new InputStreamReader(commandExecutor.getInputStream()));
+ try {
+
+ while ((moverString = commandOutputReader.readLine()) != null) {
+
+ commandOutputStorage += moverString;
+
+ }
+
+ }
+ catch (IOException e) {
+
+ JOptionPane.showMessageDialog(null, "Novacomd installation check failed with error: \"" + e + ".\" Please open up an issue on https://github.com/NotAlexNoyle/WebOS-Quick-Install");
+
+ }
+
+ if(! commandOutputStorage.equals("")) {
+
+ isFound = true;
+
+ }
+
+ }
+ catch (IOException e) {
+
+ JOptionPane.showMessageDialog(null, "Novacomd installation check failed with error: \"" + e + ".\" Please open up an issue on https://github.com/NotAlexNoyle/WebOS-Quick-Install");
+
+ }
+
+ }
+
+ return isFound;
+
+ }
+
+ public boolean novacomdIsRunningOnWindows() {
+
+ boolean didNovacomdStart = false;
+
+ String[] cmd = {"powershell.exe", "/c", "Get-Service", "novacomd"};
+
+ Process p = null;
+ try {
+
+ p = Runtime.getRuntime().exec(cmd);
+
+ }
+ catch(IOException e) {
+
+ JOptionPane.showMessageDialog(null, "Novacomd could not be detected due to this error: " + e.getMessage() + ". Please open up an issue at https://github.com/NotAlexNoyle/WebOS-Quick-Install");
+
+ }
+
+ String commandOutputStorage = new String();
+ BufferedReader commandOutputReader = new BufferedReader(new InputStreamReader(p.getInputStream()));
+ try {
+
+ for(int i = 0; i < 6; i++) {
+
+ commandOutputStorage += commandOutputReader.readLine();
+
+ }
+
+ }
+ catch (IOException e) {
+
+ JOptionPane.showMessageDialog(null, "Novacomd failed to start with error: \"" + e + ".\" Please open up an issue on https://github.com/NotAlexNoyle/WebOS-Quick-Install");
+
+ }
+
+ if(commandOutputStorage.contains("Running")) {
+
+ didNovacomdStart = true;
+
+ }
+
+ return didNovacomdStart;
+
+ }
+
+ public boolean novacomdIsRunningOnLinux() {
+
+ boolean novacomdIsRunning = false;
+
+ PrintWriter writer = null;
+ try {
+
+ writer = new PrintWriter("/tmp/script.tmp", "UTF-8");
+
+ }
+ catch (FileNotFoundException | UnsupportedEncodingException e) {
+
+ System.out.println("File could not be created.");
+
+ }
+
+ writer.println("#!/bin/sh");
+ writer.println("");
+ // Yes, this makes the program slower, however, it solves an issue with detecting whether or not novacomd is running. The code that starts novacomd, and the code that attempts to detect it, run so fast that the detection code carries out it's query before the novacomd process has time to properly start. This 2 second filler gives novacomd the time it needs to start, so that it's state can be properly detected.
+ writer.println("sleep 2");
+ writer.println("");
+ writer.println("pidof novacomd");
+ writer.close();
+
+ Process process = null;
+ try {
+
+ process = Runtime.getRuntime().exec(String.format("sh /tmp/script.tmp"));
+
+ }
+ catch (IOException e) {
+
+ JOptionPane.showMessageDialog(null, "Novacomd could not be detected. Please open up an issue at https://github.com/NotAlexNoyle/WebOS-Quick-Install");
+
+ }
+
+ String output = new String();
+ StringBuilder sb = new StringBuilder();
+ BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
+ try {
+
+ while((output = br.readLine()) != null) {
+
+ sb.append(output);
+
+ }
+
+ }
+ catch (IOException e) {
+
+ JOptionPane.showMessageDialog(null, "Novacomd could not be detected. Please open up an issue at https://github.com/NotAlexNoyle/WebOS-Quick-Install");
+
+ }
+
+ try {
+
+ Integer.valueOf(sb.charAt(0));
+ novacomdIsRunning = true;
+
+ }
+ catch(StringIndexOutOfBoundsException e) {
+
+ // do nothing, therefore novacomdIsRunning will be returned as false.
+
+ }
+
+ // clean up
+ File f = new File("/tmp/script.tmp");
+ f.delete();
+
+ return novacomdIsRunning;
+
+ }
+
+ public boolean startNovacomd() {
+
+ boolean novacomdIsRunning = false;
+ String os = System.getProperty("os.name");
+ if(os.equals("Linux")) {
+
+ if(novacomdIsRunningOnLinux()) {
+
+ novacomdIsRunning = true;
+
+ }
+ else {
+
+ String[] cmd = {"sudo", "-S", "novacomd", "&"};
+
+ JPanel panel = new JPanel();
+ JLabel label = new JLabel("Enter a password:");
+ JPasswordField pass = new JPasswordField(10);
+ panel.add(label);
+ panel.add(pass);
+
+ String[] options = new String[]{"OK"};
+ int option = JOptionPane.showOptionDialog(null, panel, "Start novacomd", JOptionPane.NO_OPTION, JOptionPane.PLAIN_MESSAGE, null, options, options[0]);
+
+ char[] supply = new char[pass.getPassword().length];
+ if(option == 0) {
+
+ supply = pass.getPassword();
+
+ }
+
+ Process p;
+ try {
+
+ p = Runtime.getRuntime().exec(cmd);
+
+ PrintWriter stdin = new PrintWriter(p.getOutputStream());
+ stdin.println(supply);
+ pass = null;
+ supply = null;
+ stdin.close();
+
+ }
+ catch (IOException e) {
+
+ JOptionPane.showMessageDialog(null, "Novacomd failed to start with error: \"" + e.getMessage() + ".\" Please open up an issue on https://github.com/NotAlexNoyle/WebOS-Quick-Install");
+
+ }
+
+ if(novacomdIsRunningOnLinux()) {
+
+ novacomdIsRunning = true;
+
+ }
+ else {
+
+ JOptionPane.showMessageDialog(null, "ERROR: Novacomd failed to start. Please open up an issue on https://github.com/NotAlexNoyle/WebOS-Quick-Install");
+
+ }
+
+ }
+
+ }
+ else if(os.contains("Windows")) {
+
+ if(novacomdIsRunningOnWindows()) {
+
+ novacomdIsRunning = true;
+
+ }
+ else {
+
+ JOptionPane.showMessageDialog(null, "Please accept the upcoming Windows UAC dialog in order to start novacomd.");
+
+ PowerShell.executeSingleCommand("if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole({Security.Principal.WindowsBuiltInRole] \"Administrator\"})) { Start-Process C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe \"-NoProfile -ExecutionPolicy Bypass -Command `\"Start-Service novacomd`\"\" -Verb RunAs}");
+
+ if(novacomdIsRunningOnWindows()) {
+
+ novacomdIsRunning = true;
+
+ }
+ else {
+
+ JOptionPane.showMessageDialog(null, "Novacomd failed to start. Please open up an issue on https://github.com/NotAlexNoyle/WebOS-Quick-Install");
+
+ }
+
+ }
+
+ }
+
+ return novacomdIsRunning;
+
+ }
public MainView(SingleFrameApplication app) {
super(app);
bundle = WebOSQuickInstallApp.bundle;
- URL bgURL = getClass().getResource("resources/background.jpg");
+ URL bgURL = MainView.class.getResource("/resources/background.jpg");
bgImg = new ImageIcon(bgURL).getImage();
- URL iconURL = getClass().getResource("resources/icon.png");
+ URL iconURL = MainView.class.getResource("/resources/icon.png");
getFrame().setIconImage(new ImageIcon(iconURL).getImage());
items = new ArrayList();
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 ) {
@@ -81,19 +374,33 @@ public class MainView extends FrameView {
});
devices = new WebOSDevice[0];
webOS = new WebOSConnection[0];
- loadList();
timer = new Timer();
reloadDeviceCache();
- if(jComboBox1.getItemCount()==0) {
- if(Novacom.isInstalled()) {
- timer.schedule(new FirstCheckConnection(), 100);
- } else {
- timer.schedule(new DoInstallDrivers(), 100);
+ if(jComboBox1.getItemCount() == 0) {
+
+ if(novacomInstallationCheck()) {
+
+ if(startNovacomd()) {
+
+ loadList();
+
+ timer.schedule(new FirstCheckConnection(), 100);
+
+ }
+
}
+ else {
+
+ timer.schedule(new DoInstallDrivers(), 100);
+
+ }
+
}
+
}
private void loadList() {
+ installDir = new File(FileUtils.appDirectory(), bundle.getString("INSTALL"));
if(!installDir.isDirectory()) {
installDir.mkdirs();
}
@@ -106,6 +413,7 @@ public class MainView extends FrameView {
items.add(files[i]);
addRow(files[i]);
}
+
}
private void addRow(File current){
@@ -124,10 +432,18 @@ public class MainView extends FrameView {
}
private void removeRow(){
+
int index = jTable1.getSelectedRow();
- items.get(index).delete();
- items.remove(index);
- modTable.removeRow(index);
+
+ // Prevents NullPointerException
+ if(index != -1) {
+
+ items.get(index).delete();
+ items.remove(index);
+ modTable.removeRow(index);
+
+ }
+
}
@@ -289,13 +605,19 @@ public class MainView extends FrameView {
}
private void installDrivers(boolean exitOnFail) {
+
NovacomDrivers driver = new NovacomDrivers();
if(driver.install()) {
JOptionPane.showMessageDialog(mainPanel, bundle.getString("DRIVER_INSTALLED_SUCCESSFULLY."));
- } else {
+ }
+ else {
+
JOptionPane.showMessageDialog(mainPanel, bundle.getString("ERROR\\:_DRIVER_INSTALLATION_FAILED"));
+
}
+
reloadDeviceCache();
+
}
/** This method is called from within the constructor to
@@ -341,11 +663,11 @@ public class MainView extends FrameView {
jMenuItem10 = new javax.swing.JMenuItem();
javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
- mainPanel.setName("mainView"); // NOI18N
+ mainPanel.setName("mainView");
jLayeredPane3.setFocusable(false);
- jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/pre_shadow.png"))); // NOI18N
+ jLabel1.setIcon(new javax.swing.ImageIcon(MainView.class.getResource("/resources/pre_shadow.png")));
jLabel1.setFocusable(false);
jLayeredPane3.add(jLabel1);
jLabel1.setBounds(10, 30, 150, 160);
@@ -353,10 +675,10 @@ public class MainView extends FrameView {
jLayeredPane1.add(jLayeredPane3);
jLayeredPane3.setBounds(460, 160, 170, 210);
- 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
+ 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")));
jButton4.setBackground(new java.awt.Color(203, 203, 203));
- jButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/remove.png"))); // NOI18N
+ jButton4.setIcon(new javax.swing.ImageIcon(MainView.class.getResource("/resources/remove.png")));
jButton4.setFocusable(false);
jButton4.setIconTextGap(0);
jButton4.setMargin(new java.awt.Insets(0, 0, 0, 0));
@@ -371,10 +693,10 @@ public class MainView extends FrameView {
jLayeredPane7.add(jButton4);
jButton4.setBounds(520, 70, 40, 30);
- javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(ca.canuckcoding.wosqi.WebOSQuickInstallApp.class).getContext().getActionMap(MainView.class, this);
- jButton5.setAction(actionMap.get("openRepository")); // NOI18N
+ javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(wosqi.WebOSQuickInstallApp.class).getContext().getActionMap(MainView.class, this);
+ jButton5.setAction(actionMap.get("openRepository"));
jButton5.setBackground(new java.awt.Color(203, 203, 203));
- jButton5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/online.png"))); // NOI18N
+ jButton5.setIcon(new javax.swing.ImageIcon(MainView.class.getResource("/resources/online.png")));
jButton5.setFocusable(false);
jButton5.setIconTextGap(0);
jButton5.setMargin(new java.awt.Insets(0, 0, 0, 0));
@@ -392,7 +714,7 @@ public class MainView extends FrameView {
jScrollPane2.setAutoscrolls(true);
jScrollPane2.setPreferredSize(new java.awt.Dimension(485, 191));
- jTable1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
+ jTable1.setFont(new java.awt.Font("Tahoma", 0, 12));
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
@@ -420,27 +742,27 @@ public class MainView extends FrameView {
jTable1.setFocusable(false);
jTable1.setMaximumSize(new java.awt.Dimension(2147483647, 2147483647));
jTable1.setMinimumSize(new java.awt.Dimension(45, 45));
- jTable1.setName("installTable"); // NOI18N
+ jTable1.setName("installTable");
jTable1.setRowHeight(20);
jTable1.getTableHeader().setReorderingAllowed(false);
jScrollPane2.setViewportView(jTable1);
if (jTable1.getColumnModel().getColumnCount() > 0) {
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(0).setHeaderValue(bundle.getString("MainView.installTable.columnModel.title0"));
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(1).setHeaderValue(bundle.getString("MainView.installTable.columnModel.title1"));
jTable1.getColumnModel().getColumn(2).setResizable(false);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(250);
- jTable1.getColumnModel().getColumn(2).setHeaderValue(bundle.getString("MainView.installTable.columnModel.title2")); // NOI18N
+ jTable1.getColumnModel().getColumn(2).setHeaderValue(bundle.getString("MainView.installTable.columnModel.title2"));
}
jLayeredPane7.add(jScrollPane2);
jScrollPane2.setBounds(20, 30, 485, 191);
jButton1.setBackground(new java.awt.Color(220, 220, 220));
- jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/add.png"))); // NOI18N
+ jButton1.setIcon(new javax.swing.ImageIcon(MainView.class.getResource("/resources/add.png")));
jButton1.setFocusable(false);
jButton1.setIconTextGap(0);
jButton1.setMargin(new java.awt.Insets(0, 0, 0, 0));
@@ -459,12 +781,12 @@ public class MainView extends FrameView {
jLayeredPane7.setBounds(10, 25, 590, 240);
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
- jLabel2.setText(bundle.getString("MainView.jLabel2.text")); // NOI18N
+ jLabel2.setText(bundle.getString("MainView.jLabel2.text"));
jLabel2.setFocusable(false);
jLayeredPane1.add(jLabel2);
jLabel2.setBounds(350, 5, 100, 20);
- jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/find-apps-precentralnet.png"))); // NOI18N
+ jButton2.setIcon(new javax.swing.ImageIcon(MainView.class.getResource("/resources/find-apps-precentralnet.png")));
jButton2.setBorderPainted(false);
jButton2.setContentAreaFilled(false);
jButton2.setFocusable(false);
@@ -478,7 +800,7 @@ public class MainView extends FrameView {
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.setText(bundle.getString("MainView.jButton3.text"));
jButton3.setFocusable(false);
jButton3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jButton3.addActionListener(new java.awt.event.ActionListener() {
@@ -520,9 +842,9 @@ public class MainView extends FrameView {
.add(jLayeredPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 345, Short.MAX_VALUE)
);
- fileMenu.setText(bundle.getString("MainView.fileMenu.text")); // NOI18N
+ fileMenu.setText(bundle.getString("MainView.fileMenu.text"));
- jMenuItem1.setText(bundle.getString("MainView.jMenuItem1.text")); // NOI18N
+ jMenuItem1.setText(bundle.getString("MainView.jMenuItem1.text"));
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
@@ -531,7 +853,7 @@ public class MainView extends FrameView {
fileMenu.add(jMenuItem1);
fileMenu.add(jSeparator2);
- jMenuItem8.setText(bundle.getString("MainView.jMenuItem8.text")); // NOI18N
+ jMenuItem8.setText(bundle.getString("MainView.jMenuItem8.text"));
jMenuItem8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem8ActionPerformed(evt);
@@ -539,7 +861,7 @@ public class MainView extends FrameView {
});
fileMenu.add(jMenuItem8);
- jMenuItem2.setText(bundle.getString("MainView.jMenuItem2.text")); // NOI18N
+ jMenuItem2.setText(bundle.getString("MainView.jMenuItem2.text"));
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem2ActionPerformed(evt);
@@ -548,15 +870,15 @@ public class MainView extends FrameView {
fileMenu.add(jMenuItem2);
fileMenu.add(jSeparator1);
- exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
- exitMenuItem.setText(bundle.getString("EXIT")); // NOI18N
+ exitMenuItem.setAction(actionMap.get("quit"));
+ exitMenuItem.setText(bundle.getString("EXIT"));
fileMenu.add(exitMenuItem);
menuBar.add(fileMenu);
- toolMenu.setText(bundle.getString("MainView.toolMenu.text")); // NOI18N
+ toolMenu.setText(bundle.getString("MainView.toolMenu.text"));
- jMenuItem3.setText(bundle.getString("MainView.jMenuItem3.text")); // NOI18N
+ jMenuItem3.setText(bundle.getString("MainView.jMenuItem3.text"));
jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem3ActionPerformed(evt);
@@ -564,7 +886,7 @@ public class MainView extends FrameView {
});
toolMenu.add(jMenuItem3);
- jMenuItem4.setText(bundle.getString("MainView.jMenuItem4.text")); // NOI18N
+ jMenuItem4.setText(bundle.getString("MainView.jMenuItem4.text"));
jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem4ActionPerformed(evt);
@@ -572,7 +894,7 @@ public class MainView extends FrameView {
});
toolMenu.add(jMenuItem4);
- jMenuItem5.setText(bundle.getString("MainView.jMenuItem5.text")); // NOI18N
+ jMenuItem5.setText(bundle.getString("MainView.jMenuItem5.text"));
jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem5ActionPerformed(evt);
@@ -581,7 +903,7 @@ public class MainView extends FrameView {
toolMenu.add(jMenuItem5);
toolMenu.add(jSeparator3);
- jMenuItem9.setText(bundle.getString("MainView.jMenuItem9.text")); // NOI18N
+ jMenuItem9.setText(bundle.getString("MainView.jMenuItem9.text"));
jMenuItem9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem9ActionPerformed(evt);
@@ -591,9 +913,9 @@ public class MainView extends FrameView {
menuBar.add(toolMenu);
- helpMenu.setText(bundle.getString("MainView.helpMenu.text")); // NOI18N
+ helpMenu.setText(bundle.getString("MainView.helpMenu.text"));
- jMenuItem6.setText(bundle.getString("MainView.jMenuItem6.text")); // NOI18N
+ jMenuItem6.setText(bundle.getString("MainView.jMenuItem6.text"));
jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem6ActionPerformed(evt);
@@ -601,7 +923,7 @@ public class MainView extends FrameView {
});
helpMenu.add(jMenuItem6);
- jMenuItem7.setText(bundle.getString("MainView.jMenuItem7.text")); // NOI18N
+ jMenuItem7.setText(bundle.getString("MainView.jMenuItem7.text"));
jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem7ActionPerformed(evt);
@@ -609,9 +931,9 @@ public class MainView extends FrameView {
});
helpMenu.add(jMenuItem7);
- java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("ca/canuckcoding/wosqi/Bundle"); // NOI18N
- jMenuItem10.setText(bundle.getString("MainView.jMenuItem10.text")); // NOI18N
- jMenuItem10.setToolTipText(bundle.getString("MainView.jMenuItem10.toolTipText")); // NOI18N
+ java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("wosqi/Bundle");
+ jMenuItem10.setText(bundle.getString("MainView.jMenuItem10.text"));
+ jMenuItem10.setToolTipText(bundle.getString("MainView.jMenuItem10.toolTipText"));
jMenuItem10.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem10ActionPerformed(evt);
@@ -619,8 +941,8 @@ public class MainView extends FrameView {
});
helpMenu.add(jMenuItem10);
- aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
- aboutMenuItem.setText(bundle.getString("MainView.aboutMenuItem.text")); // NOI18N
+ aboutMenuItem.setAction(actionMap.get("showAboutBox"));
+ aboutMenuItem.setText(bundle.getString("MainView.aboutMenuItem.text"));
aboutMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
aboutMenuItemActionPerformed(evt);
@@ -641,7 +963,6 @@ public class MainView extends FrameView {
items);
installer.setLocationRelativeTo(mainFrame);
WebOSQuickInstallApp.getApplication().show(installer);
- loadList();
reloadDeviceCache();
timer.schedule(new CheckConnection(), 200);
}
@@ -844,7 +1165,8 @@ public class MainView extends FrameView {
JOptionPane.ERROR_MESSAGE);
System.exit(0);*/
}
- } else {
+ }
+ else {
System.exit(0);
}
}
diff --git a/src/wosqi/ReceiveFile.form b/src/wosqi/ReceiveFile.form
new file mode 100644
index 0000000..241c5a2
--- /dev/null
+++ b/src/wosqi/ReceiveFile.form
@@ -0,0 +1,213 @@
+
+
+
diff --git a/src/ca/canuckcoding/wosqi/ReceiveFile.java b/src/wosqi/ReceiveFile.java
similarity index 99%
rename from src/ca/canuckcoding/wosqi/ReceiveFile.java
rename to src/wosqi/ReceiveFile.java
index d614433..f056583 100644
--- a/src/ca/canuckcoding/wosqi/ReceiveFile.java
+++ b/src/wosqi/ReceiveFile.java
@@ -2,9 +2,9 @@
* WebOSQuickInstallAboutBox.java
*/
-package ca.canuckcoding.wosqi;
+package wosqi;
-import ca.canuckcoding.utils.FileUtils;
+import utils.FileUtils;
import ca.canuckcoding.webos.DeviceInfo;
import ca.canuckcoding.webos.WebOSConnection;
import javax.swing.JFileChooser;
diff --git a/src/wosqi/SendFile.form b/src/wosqi/SendFile.form
new file mode 100644
index 0000000..0f9c034
--- /dev/null
+++ b/src/wosqi/SendFile.form
@@ -0,0 +1,213 @@
+
+
+
diff --git a/src/ca/canuckcoding/wosqi/SendFile.java b/src/wosqi/SendFile.java
similarity index 98%
rename from src/ca/canuckcoding/wosqi/SendFile.java
rename to src/wosqi/SendFile.java
index c22f905..9b02cf2 100644
--- a/src/ca/canuckcoding/wosqi/SendFile.java
+++ b/src/wosqi/SendFile.java
@@ -1,10 +1,6 @@
-/*
- * WebOSQuickInstallAboutBox.java
- */
+package wosqi;
-package ca.canuckcoding.wosqi;
-
-import ca.canuckcoding.utils.FileUtils;
+import utils.FileUtils;
import ca.canuckcoding.webos.DeviceInfo;
import ca.canuckcoding.webos.WebOSConnection;
import javax.swing.JFileChooser;
diff --git a/src/wosqi/Settings.form b/src/wosqi/Settings.form
new file mode 100644
index 0000000..5b67bcb
--- /dev/null
+++ b/src/wosqi/Settings.form
@@ -0,0 +1,352 @@
+
+
+
diff --git a/src/ca/canuckcoding/wosqi/Settings.java b/src/wosqi/Settings.java
similarity index 99%
rename from src/ca/canuckcoding/wosqi/Settings.java
rename to src/wosqi/Settings.java
index ff58838..e07ed31 100644
--- a/src/ca/canuckcoding/wosqi/Settings.java
+++ b/src/wosqi/Settings.java
@@ -1,8 +1,4 @@
-/*
- * WebOSQuickInstallAboutBox.java
- */
-
-package ca.canuckcoding.wosqi;
+package wosqi;
import ca.canuckcoding.utils.OnlineFile;
import ca.canuckcoding.webos.DeviceInfo;
diff --git a/src/wosqi/Usage.form b/src/wosqi/Usage.form
new file mode 100644
index 0000000..0d37963
--- /dev/null
+++ b/src/wosqi/Usage.form
@@ -0,0 +1,134 @@
+
+
+
diff --git a/src/ca/canuckcoding/wosqi/Usage.java b/src/wosqi/Usage.java
similarity index 92%
rename from src/ca/canuckcoding/wosqi/Usage.java
rename to src/wosqi/Usage.java
index 88286c2..34d2cc9 100644
--- a/src/ca/canuckcoding/wosqi/Usage.java
+++ b/src/wosqi/Usage.java
@@ -1,8 +1,4 @@
-/*
- * WebOSQuickInstallAboutBox.java
- */
-
-package ca.canuckcoding.wosqi;
+package wosqi;
import org.jdesktop.application.Action;
import java.util.ResourceBundle;
@@ -56,19 +52,19 @@ public class Usage extends javax.swing.JDialog {
jTextPane1.setBackground(new java.awt.Color(240, 240, 240));
jTextPane1.setBorder(null);
- jTextPane1.setContentType(bundle.getString("Usage.jTextPane1.contentType")); // NOI18N
+ jTextPane1.setContentType(bundle.getString("Usage.jTextPane1.contentType"));
jTextPane1.setEditable(false);
jTextPane1.setFont(jTextPane1.getFont().deriveFont(jTextPane1.getFont().getSize()+1f));
- jTextPane1.setText(bundle.getString("Usage.jTextPane1.text")); // NOI18N
- jTextPane1.setName("jTextPane1"); // NOI18N
+ jTextPane1.setText(bundle.getString("Usage.jTextPane1.text"));
+ jTextPane1.setName("jTextPane1");
jScrollPane1.setViewportView(jTextPane1);
jLayeredPane2.add(jScrollPane1);
jScrollPane1.setBounds(10, 30, 320, 310);
- jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/ca/canuckcoding/wosqi/resources/devmode.jpg"))); // NOI18N
+ jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/devmode.jpg")));
jLabel2.setVerticalAlignment(javax.swing.SwingConstants.TOP);
- jLabel2.setName("jLabel2"); // NOI18N
+ jLabel2.setName("jLabel2");
jLayeredPane2.add(jLabel2);
jLabel2.setBounds(350, 40, 180, 270);
diff --git a/src/ca/canuckcoding/wosqi/WebOSQuickInstallApp.java b/src/wosqi/WebOSQuickInstallApp.java
similarity index 74%
rename from src/ca/canuckcoding/wosqi/WebOSQuickInstallApp.java
rename to src/wosqi/WebOSQuickInstallApp.java
index 368c36a..9ae7e01 100644
--- a/src/ca/canuckcoding/wosqi/WebOSQuickInstallApp.java
+++ b/src/wosqi/WebOSQuickInstallApp.java
@@ -1,10 +1,5 @@
-/*
- * WebOSQuickInstallApp.java
- */
+package wosqi;
-package ca.canuckcoding.wosqi;
-
-import ca.canuckcoding.utils.FileUtils;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
@@ -14,12 +9,16 @@ 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;
+import utils.FileUtils;
+
/**
* The main class of the application.
*/
@@ -28,15 +27,17 @@ public class WebOSQuickInstallApp extends SingleFrameApplication {
public static ResourceBundle bundle;
/**
- * At startup create and show the main frame of the application.
+ * At startup, creates and shows 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();
+ app.getFrame().setTitle("WebOS Quick Install (v4.7.0u)");
show(app);
+
}
/**
@@ -70,11 +71,14 @@ public class WebOSQuickInstallApp extends SingleFrameApplication {
JComponent.setDefaultLocale(specific);
JFileChooser.setDefaultLocale(specific);
}
- bundle = ResourceBundle.getBundle("ca/canuckcoding/wosqi/Bundle");
- File install = new File(FileUtils.appDirectory(), bundle.getString("INSTALL"));
- if(!install.isDirectory()) {
+ bundle = ResourceBundle.getBundle("wosqi/Bundle");
+ File install = new File(System.getProperty("user.dir"));
+ if(install.isDirectory()) {
+
install.mkdirs();
+
}
+
int start = 0;
if(args.length>0) {
if(args[0].equals("-log")) {
@@ -92,17 +96,42 @@ public class WebOSQuickInstallApp extends SingleFrameApplication {
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]);
+
}
+ catch (IOException ex) {
+
+ System.err.println("Unable to copy to install directory: " + args[i]);
+
+ }
+
}
+
}
}
}
+
launch(WebOSQuickInstallApp.class, args);
+
+ Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
+
+ public void run() {
+
+ File installDir = new File("Install/");
+
+ if(installDir.isDirectory() && installDir.list().length == 0) {
+
+ installDir.delete();
+
+ }
+
+ }
+
+ }, "Shutdown-thread"));
+
}
}