# HG changeset patch
# User victorp@symbian.org
# Date 1273498367 -3600
# Node ID abeee2a2e01be5551ebc37286ed342ad9638104f
# Parent 29d06ba03163fc63845e31e177f80b4b6f5e3047
my package version 0.4a
diff -r 29d06ba03163 -r abeee2a2e01b mypackage_wrt/Info.plist
--- a/mypackage_wrt/Info.plist Mon May 10 09:27:55 2010 +0100
+++ b/mypackage_wrt/Info.plist Mon May 10 14:32:47 2010 +0100
@@ -7,7 +7,7 @@
Identifier
mypackage.org.symbian.developer.widget
Version
- 0.4
+ 0.4a
MainHTML
index.html
AllowNetworkAccess
diff -r 29d06ba03163 -r abeee2a2e01b mypackage_wrt/Main.js
--- a/mypackage_wrt/Main.js Mon May 10 09:27:55 2010 +0100
+++ b/mypackage_wrt/Main.js Mon May 10 14:32:47 2010 +0100
@@ -39,6 +39,9 @@
var Packageid=null;
var myforumid=null;
var myforumtitle=null;
+var enabletransition=null;
+var istransitionon = true;
+var myoption ={ value: "1", text: "on" };
// Feed name, URL etc for forums
var forumFeedName = "Symbian.org Forums";
@@ -64,7 +67,7 @@
var mercurialPackageUrl=null;
// Update variables
-var myversion = "0.4";
+var myversion = "0.4a";
var versionWikiPageUrl = wikiBaseUrl + "/My_Package_Widget";
var versionWikiPageString = "Current widget version is [";
var downloadUrl = "http://tiny.symbian.org/mypackage";
@@ -207,11 +210,18 @@
settings.addControl(ForumControl);
+ //add tick box for transition effects
+
+ enabletransition = new SelectionList ("transitions","Transition Effects", [myoption],true,null);
+ settings.addControl(enabletransition);
+ if (istransitionon){
+ enabletransition.setSelected([myoption]);
+ }
+
// save settings button
settingsSaveButton = new FormButton(null, "Save");
settingsSaveButton.addEventListener("ActionPerformed", saveSettingsClicked);
- settings.addControl(settingsSaveButton);
-
+ settings.addControl(settingsSaveButton);
// cancel settings button
@@ -294,6 +304,8 @@
//saved from PackageMercurialUrlCompleted
mercurialPackageUrl=widget.preferenceForKey("mercurialPackageUrl");
+
+ istransitionon=widget.preferenceForKey("istransitionon");
}
}
@@ -306,7 +318,7 @@
widget.setPreferenceForKey(Packageid, "Packageid");
widget.setPreferenceForKey(myforumid, "myforumid");
widget.setPreferenceForKey(myforumtitle, "myforumtitle");
-
+ widget.setPreferenceForKey(istransitionon, "istransitionon");
}
}
@@ -318,6 +330,8 @@
forumPassword = forumPasswordControl.getText();
Packageid = packageControl.getText();
+ istransitionon= enabletransition.isSelected(myoption);
+
// save preferences
savePreferences();
diff -r 29d06ba03163 -r abeee2a2e01b mypackage_wrt/WRTKit/UI/View.js
--- a/mypackage_wrt/WRTKit/UI/View.js Mon May 10 09:27:55 2010 +0100
+++ b/mypackage_wrt/WRTKit/UI/View.js Mon May 10 14:32:47 2010 +0100
@@ -129,11 +129,11 @@
View.prototype.goBack = function() {
if ( this.previousView != null ) {
// transition looks funky
- if (window.widget) {
+ if (window.widget && istransitionon) {
widget.prepareForTransition("fade");
}
this.previousView.show();
- if (window.widget) {
+ if (window.widget && istransitionon) {
widget.performTransition();
}
}
diff -r 29d06ba03163 -r abeee2a2e01b mypackage_wrt/mercurial.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mypackage_wrt/mercurial.js Mon May 10 14:32:47 2010 +0100
@@ -0,0 +1,151 @@
+var revisionview=null;
+
+
+function PackageMercurialUrl () {
+ if (!Packageid) {return;}
+ MCLrepos = new Ajax();
+ MCLrepos.onreadystatechange = PackageMercurialUrlCompleted;
+ MCLrepos.open('GET', nocache(mercurialUrl), true);
+ debuglog.debug ("accessing mercurial url: "+ mercurialUrl);
+ MCLrepos.send(null);
+
+}
+
+function PackageMercurialUrlCompleted () {
+
+ if (MCLrepos.readyState == 4) {
+ var pagetext = MCLrepos.responseText;
+
+ var ind = pagetext.indexOf(Packageid +"/");
+ pagetext = pagetext.substr(1,ind+Packageid.length);
+ debuglog.debug("result of regexp search for url is " + ind + " Package name is "+Packageid);
+
+ if (ind==-1){
+ uiManager.showNotification(1000, "Warning", "Mercurial - Package Not Found");
+ debuglog.debug ("Error - Package not found in the FCL page");
+ return;
+ }
+ ind=pagetext.lastIndexOf("href");
+
+ mercurialPackageUrl = symbianOrgBaseUrl + pagetext.substr(ind+6,pagetext.length-ind-6) + mercurialrss;
+ debuglog.debug("mercurial FCL repo URL is:" + mercurialPackageUrl);
+ //save settings
+ if (window.widget) {
+ widget.setPreferenceForKey(mercurialPackageUrl, "mercurialPackageUrl");
+ } else {
+ debuglog.debug("mercurial - widget not found");
+ }
+ }
+}
+
+
+function MercurialFeedPresenter(rssreader) {
+ var myreader = rssreader;
+
+ ButtonFeedPresenter.prototype.init.call(this, rssreader);
+}
+
+ MercurialFeedPresenter.prototype = new ButtonFeedPresenter(null);
+
+// Handle the button-press
+ MercurialFeedPresenter.prototype.feedClicked = function(event){
+ var clickedButton = event.source;
+ var id = clickedButton.id;
+ var myitem = this.items[id]
+ revisionpresenter(myitem,this.rssreader);
+}
+
+function revisionpresenter(aItem, aParent) {
+ revisionview = new ListView(null, createCaption(aItem.title));
+ revisionview.previousView = aParent;
+
+ var mytext = new ContentPanel(null, null, null, true);
+ mytext.setExpanded(true);
+
+ revisionview.addControl(mytext);
+ var mybuf = "
";
+
+ var description = "";
+ description += "Author:" + " | " + aItem.author + " |
";
+ description += "Date:" + " | " + aItem.date + " |
";
+ description += "
";
+ description += "";
+ description += mybuf;
+ description += " "
+ description += "Description: " + aItem.description ;
+ description += " ";
+ description += " |
";
+
+ mytext.setContent(description);
+ revisionview.show();
+
+
+}
+
+function parseRepoFeed (broker, responseStatus, xmlDoc) {
+
+ if (responseStatus == 200 && xmlDoc != null) {
+ // node ref for iterating
+ var node;
+
+ // for compatibility with rss
+ var lastModified = new Date();
+
+ // init result items array
+ var items = [];
+
+ var itemElements = xmlDoc.getElementsByTagName("item");
+
+ for (var i = 0; i < itemElements.length; i++) {
+ // iterate through child nodes of this item and gather
+ // all the data we need for a feed item
+ var title = null;
+ var date = null;
+ var description = null;
+ var url = null;
+ var author = null;
+ var changeset = null;
+ node = itemElements[i].firstChild;
+ while (node != null) {
+ if (node.nodeType == Node.ELEMENT_NODE) {
+ if (node.nodeName == "title") {
+ // item title
+ title = getTextOfNode(node);
+ if ( title.length > 48) {
+ title = title.substring(0,45) + "...";
+ }
+ } else if (node.nodeName == "pubDate" ) {
+ // item publishing date
+ date = getTextOfNode(node);
+ } else if (node.nodeName == "description" && !this.ignoreContent ) {
+ // item description
+ description = getTextOfNode(node);
+ } else if (node.nodeName == "guid") {
+ // link URL
+ url = getTextOfNode(node);
+ // extract bug revision
+ ind=url.indexOf("rev/");
+ rev = url.substr(ind,url.length-ind);
+
+ } else if (node.nodeName == "author" ) {
+ author = getTextOfNode(node);
+ }
+ }
+ node = node.nextSibling;
+ }
+ items.push({ title: title, date: date, description: description, url: url, author: author, rev: rev });
+ }
+
+ // update was completed successfully
+ return { status: "ok", lastModified: lastModified, items: items };
+ } else {
+ // update failed
+ return { status: "error" };
+ }
+}
+
+
diff -r 29d06ba03163 -r abeee2a2e01b mypackage_wrt/package dashboard.wgz
Binary file mypackage_wrt/package dashboard.wgz has changed