Symbian.org/Main.js
author ivanl
Fri, 05 Jun 2009 16:18:05 +0100
changeset 0 54498df70f5d
child 2 99bc8e56b756
permissions -rw-r--r--
Adding Symbian.org Widget 1.0rc3 source
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     1
// ////////////////////////////////////////////////////////////////////////////
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     2
// (c)2009 Symbian Foundation
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     3
// ////////////////////////////////////////////////////////////////////////////
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     4
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     5
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     6
///////////////////////////////////////////////////////////////////////////////
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     7
// A widget for accessing developer.symbian.org forums
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     8
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
     9
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    10
// Reference to the WRTKit user interface manager and main view.
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    11
var uiManager;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    12
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    13
// Global settings / URLs and such
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    14
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    15
// Symbian.org web site base URL
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    16
//var symbianOrgBaseUrl = "http://staging.foundationhost.org";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    17
//var symbianOrgBaseUrlSsl = "https://staging.foundationhost.org";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    18
var symbianOrgBaseUrl = "http://developer.symbian.org";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    19
var symbianOrgBaseUrlSsl = "https://developer.symbian.org";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    20
var registrationURL = symbianOrgBaseUrl + "/main/user_profile/register.php";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    21
var blogFeedName = "Symbian Blog";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    22
var blogFeedUrl = "http://blog.symbian.org/feed/";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    23
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    24
// FORUM vars and settings 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    25
var symbianOrgNewThreadUrl = symbianOrgBaseUrl+"/forum/newthread.php?";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    26
var symbianOrgNewReplyUrl = symbianOrgBaseUrl+"/forum/newreply.php?";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    27
var symbianOrgLoginUrl = symbianOrgBaseUrlSsl+"/main/user_profile/login.php";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    28
var symbianOrgLoginUsernameField = "username";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    29
var symbianOrgLoginPasswordField = "password";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    30
var forumUsername = null	;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    31
var forumPassword = null;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    32
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    33
// Feed name, URL etc for forums
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    34
var forumFeedName = "Symbian.org Forums";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    35
var forumFeedURL = symbianOrgBaseUrl+ "/forum/external.php?type=rss2"; //&fulldesc=1&lastpost=1
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    36
var forumsForumSpecQuery = "&forumid=";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    37
var forumFeedUpdateFrequency = -1;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    38
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    39
var forumGroupsUrl = symbianOrgBaseUrl+ "/rss/forum.php?type=groups";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    40
var forumsListUrl = symbianOrgBaseUrl+ "/rss/forum.php?type=forums&group=";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    41
var forumThreadUrl = symbianOrgBaseUrl+ "/rss/forum.php?type=threadmsgs&threadid=";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    42
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    43
// Wiki url etc
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    44
var wikiFeedName = "New on Symbian.org Wiki";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    45
var wikiFeedUrl = symbianOrgBaseUrl+"/wiki/index.php?title=Special:NewPages&feed=rss";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    46
var wikiBaseUrl = symbianOrgBaseUrl+"/wiki/index.php";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    47
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    48
// Update variables
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    49
var myversion = "1.0rc3";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    50
var versionWikiPageUrl = wikiBaseUrl + "/Symbian.org_WRT_Widget";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    51
var versionWikiPageString = "Current widget version is [";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    52
var downloadUrl = symbianOrgBaseUrl + "/wiki/images/c/c5/Symbian.org.wgz";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    53
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    54
// UI elements
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    55
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    56
// blog / forum instances
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    57
// all are SOScreen subclasses
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    58
var home;   // home screen
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    59
var blog;   // RSSReader showing blog
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    60
var wiki;   // RSSReader showing wiki
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    61
var bugzila; // RSSReader showing bugzilla feeds
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    62
var forumGroups; // RSSReader showing list of forum groups
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    63
var settings;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    64
var about;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    65
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    66
// currently showing SOScreen
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    67
var currentScreen = null;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    68
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    69
// Controls for the settings view
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    70
var forumUsernameControl;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    71
var forumPasswordControl;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    72
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    73
// Constants for menu item identifiers.
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    74
var MENU_ITEM_SETTINGS = 0;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    75
var MENU_ITEM_REFRESH = 1;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    76
var MENU_ITEM_ABOUT = 2;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    77
var MENU_ITEM_CHECK_UPDATE = 3;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    78
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    79
// Flag indicating weather the web site login has been initiated
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    80
var loginInitiated = false;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    81
var loginInitiatedCallback = null;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    82
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    83
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    84
var widgetHomepage = symbianOrgBaseUrl + "/wiki/index.php?title=Symbian.org_WRT_Widget&action=render";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    85
var aboutText = "<strong>Symbian.org "+myversion+"</strong><br>"
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    86
				+ "Symbian.org WRT Widget is a Web Runtime application which allows mobile "
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    87
				+ "access to Symbian Foundation Forums, Blog, Wiki and Bugzilla. <br>"
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    88
				+ "For more information and updates check <div class=FeedItemLink>"
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    89
				+ "<a href=\"JavaScript:void(0)\" onclick=\"openURL('" 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    90
				+ widgetHomepage 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    91
				+ "'); return false;\">"
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    92
				+" Symbian.org Widget Homepage </a> </div><p>"
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    93
				+ "Credits: Ivan Litovski, Ryan Grentz, James Mentz";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    94
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    95
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    96
// Called from the onload event handler to initialize the widget.
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    97
function init() {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    98
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
    99
    // set tab-navigation mode and show softkeys
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   100
    // (only if we are in the WRT environment)
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   101
    if (window.widget) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   102
        widget.setNavigationEnabled(false);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   103
        window.menu.showSoftkeys();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   104
        // create menu
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   105
        var settingsMenuItem = new MenuItem("Settings", MENU_ITEM_SETTINGS);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   106
        settingsMenuItem.onSelect = menuItemSelected;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   107
        menu.append(settingsMenuItem);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   108
        var refreshMenuItem = new MenuItem("Refresh", MENU_ITEM_REFRESH);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   109
        refreshMenuItem.onSelect = menuItemSelected;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   110
        menu.append(refreshMenuItem);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   111
		var aboutMenuItem = new MenuItem("About", MENU_ITEM_ABOUT);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   112
		aboutMenuItem.onSelect = menuItemSelected;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   113
		menu.append(aboutMenuItem);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   114
		var updateMenuItem = new MenuItem("Check for updates", MENU_ITEM_CHECK_UPDATE);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   115
		updateMenuItem.onSelect = menuItemSelected;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   116
		menu.append(updateMenuItem);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   117
    }
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   118
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   119
    // load prefs 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   120
	if (!forumUsername || !forumPassword) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   121
		loadPreferences();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   122
	}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   123
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   124
    // create UI manager
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   125
    uiManager = new UIManager();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   126
    
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   127
	// Create the home view
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   128
	home = new ListView(null, "<img src=logo.png>");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   129
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   130
	// add forums button
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   131
	var forumsButton = new NavigationButton(1, "right.gif", "Forums")
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   132
	forumsButton.addEventListener("ActionPerformed", function(){forumGroups.show();});
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   133
	home.addControl(forumsButton);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   134
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   135
	// add blogs button
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   136
	var blogsButton = new NavigationButton(2, "right.gif", "Blogs")
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   137
	blogsButton.addEventListener("ActionPerformed", function(){blog.show();});
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   138
	home.addControl(blogsButton);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   139
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   140
	// add wiki button
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   141
	var wikiButton = new NavigationButton(3, "right.gif", "Wiki")
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   142
	wikiButton.addEventListener("ActionPerformed", function(){wiki.show();});
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   143
	home.addControl(wikiButton);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   144
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   145
	// add bugzilla button
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   146
	var bugzillaButton = new NavigationButton(3, "right.gif", "Bugzilla")
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   147
	bugzillaButton.addEventListener("ActionPerformed", function(){login(function(){bugzilla.show();});});
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   148
	home.addControl(bugzillaButton);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   149
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   150
	// soft keys
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   151
	home.setupSoftKeys = function()  {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   152
	    if (window.widget) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   153
			menu.setRightSoftkeyLabel("Exit", function(){window.close();});
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   154
	    }
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   155
	}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   156
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   157
	// create blog screen
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   158
	blog = new RssReader(blogFeedName, blogFeedUrl, null, home, null);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   159
		
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   160
	// create wiki screen
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   161
	wiki = new RssReader(wikiFeedName, wikiFeedUrl, new ButtonFeedPresenter(null), home, null);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   162
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   163
	// wiki feed contains full article text for many articles 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   164
	// this takes up a _lot_ of memory. Also we don't 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   165
	// really want the full text at the stage when we want a list
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   166
	// of recent articles.
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   167
	wiki.ignoreContent = true;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   168
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   169
	wiki.maxItems = 20;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   170
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   171
	bugzilla = new BugzillaSearchPanel(home);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   172
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   173
	// create the top level forums screen - list of forum groups
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   174
	// forumsGroup, forum and thread screens are dynamically generated by forumGroups
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   175
	forumGroups = new RssReader("Forums", forumGroupsUrl, new ForumGroupsFeedPresenter(null), home, forumGroupsResponseParser);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   176
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   177
    // create settings view
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   178
    settings = new ListView(null, createCaption("Settings"));
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   179
	settings.previousView = home;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   180
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   181
	var settingsIntroLabel = new Label(null, null, 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   182
		"In order to access all site features, you must login. "
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   183
		+ "If you have not registered yet, please click the 'Register' button below.");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   184
		
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   185
	settings.addControl(settingsIntroLabel);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   186
    // forum username control
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   187
    forumUsernameControl = new TextField('forumUsername', "Symbian.org username", forumUsername?forumUsername:"");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   188
    settings.addControl(forumUsernameControl);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   189
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   190
    // forum password control
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   191
    forumPasswordControl = new TextField('forumPassword', "Symbian.org password", forumPassword?forumPassword:"", true);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   192
    settings.addControl(forumPasswordControl);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   193
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   194
    // save settings button
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   195
    settingsSaveButton = new FormButton(null, "Save");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   196
    settingsSaveButton.addEventListener("ActionPerformed", saveSettingsClicked);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   197
    settings.addControl(settingsSaveButton);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   198
    
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   199
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   200
    // cancel settings button
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   201
    var settingsRegisterButton = new FormButton(null, "Register");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   202
    settingsRegisterButton.addEventListener("ActionPerformed", function(){openURL(registrationURL);});
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   203
    settings.addControl(settingsRegisterButton);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   204
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   205
    // cancel settings button
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   206
    settingsCancelButton = new FormButton(null, "Cancel");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   207
    settingsCancelButton.addEventListener("ActionPerformed", function(){settings.goBack();});
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   208
    settings.addControl(settingsCancelButton);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   209
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   210
	//Create about view
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   211
	about = new ListView(null, createCaption("Symbian.org"));
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   212
    about.previousView = home;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   213
	// About label control
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   214
	aboutLabel = new ContentPanel(null, null, null, true);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   215
	aboutLabel.setCaption("About this Widget");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   216
	aboutLabel.setContent(aboutText);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   217
	aboutLabel.setExpanded(true);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   218
	about.addControl(aboutLabel);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   219
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   220
	home.show();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   221
	login(null);	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   222
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   223
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   224
// Callback for when menu items are selected.
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   225
function menuItemSelected(id) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   226
	var currentView = uiManager.getView();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   227
    switch (id) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   228
        case MENU_ITEM_SETTINGS:
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   229
			if ( currentView == settings || currentView == about) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   230
				settings.previousView = home;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   231
			} else {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   232
				settings.previousView = currentView;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   233
			}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   234
			uiManager.hideNotification();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   235
            settings.show();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   236
            break;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   237
        case MENU_ITEM_REFRESH:
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   238
            currentView.update(true);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   239
            break;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   240
        case MENU_ITEM_CHECK_UPDATE:
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   241
            checkForUpdates();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   242
            break;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   243
		case MENU_ITEM_ABOUT:
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   244
			if ( currentView == settings || currentView == about) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   245
				about.previousView = home;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   246
			} else {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   247
				about.previousView = currentView;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   248
			}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   249
			about.show();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   250
			break;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   251
    }
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   252
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   253
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   254
// Loads widget preferences.
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   255
function loadPreferences() {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   256
    if (window.widget) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   257
        // load settings from widget preferences store
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   258
        forumUsername = widget.preferenceForKey("forumUsername");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   259
        forumPassword = widget.preferenceForKey("forumPassword");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   260
    }
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   261
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   262
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   263
// Loads widget preferences.
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   264
function savePreferences() {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   265
    if (window.widget) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   266
        // save settings in widget preferences store
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   267
        widget.setPreferenceForKey(forumUsername, "forumUsername");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   268
        widget.setPreferenceForKey(forumPassword, "forumPassword");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   269
    }
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   270
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   271
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   272
// Callback for settings view save button.
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   273
function saveSettingsClicked() {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   274
	forumUsername = forumUsernameControl.getText();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   275
	forumPassword = forumPasswordControl.getText();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   276
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   277
    // save preferences
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   278
    savePreferences();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   279
    
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   280
	settings.goBack();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   281
	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   282
	if ( loginInitiated ) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   283
		login(loginInitiatedCallback);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   284
	}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   285
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   286
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   287
// Opens a URL in a separate browser window
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   288
function openURL(url) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   289
    if (window.widget) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   290
        // in WRT
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   291
        widget.openURL(url);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   292
    } else {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   293
        // outside WRT
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   294
        window.open(url, "NewWindow");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   295
    }
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   296
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   297
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   298
var updatePageAjax = null;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   299
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   300
function checkForUpdates() {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   301
	uiManager.showNotification(-1, "wait", "Checking for updates...", -1);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   302
	updatePageAjax = new Ajax();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   303
	updatePageAjax.onreadystatechange = checkForUpdatesStage2;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   304
	updatePageAjax.open('GET', versionWikiPageUrl, true);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   305
	updatePageAjax.send(null);	
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   306
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   307
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   308
function checkForUpdatesStage2() {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   309
    if (updatePageAjax.readyState == 4) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   310
		// extract version number
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   311
		var content = updatePageAjax.responseText;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   312
		var ind = content.indexOf(versionWikiPageString);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   313
		if ( ind == -1 ) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   314
			uiManager.showNotification(3000, "warning", "Update failed, check manually.");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   315
			return;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   316
		}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   317
		ind += versionWikiPageString.length;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   318
		var ind2 = content.indexOf("]",ind);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   319
		if ( ind2 == -1 || (ind2-ind) > 10 ) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   320
			uiManager.showNotification(3000, "warning", "Update failed, check manually.");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   321
			return;
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   322
		}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   323
		var version = content.substring(ind,ind2);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   324
		// compare to this version
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   325
		if ( version != myversion ) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   326
			var answer = confirm("Install new version " + version + "?");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   327
			if (answer) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   328
				// ok, we have the update
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   329
				uiManager.hideNotification();
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   330
				openURL(downloadUrl);
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   331
			} else {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   332
			uiManager.showNotification(3000, "info", "Update cancelled.");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   333
			}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   334
		} else {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   335
			uiManager.showNotification(3000, "info", "Up to date!");
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   336
		}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   337
	}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   338
}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   339
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   340
function createCaption(caption) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   341
	if (caption.length > 30) {
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   342
		caption = caption.substring(0, 30) + "...";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   343
	}
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   344
	return  "<table border=0>"
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   345
		+ "<tr><td><img src=titlebar.png style=\"{vertical-align:middle}\" > </td></td><td>" 
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   346
		+ "<p class=ListViewCaptionText>"+ caption +"</p>"
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   347
		+ "</td></tr></table>";
54498df70f5d Adding Symbian.org Widget 1.0rc3 source
ivanl
parents:
diff changeset
   348
}