mypackage_wrt/Main.js
author victorp@symbian.org
Wed, 05 May 2010 11:52:23 +0100
changeset 43 a6c61f6ea350
parent 42 20be4dd42b12
child 44 48bcd0bbc1ab
permissions -rwxr-xr-x
version 0.2a for Mypackage widget, changes to the Open bugs quaery to not include enhancements
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     1
// ////////////////////////////////////////////////////////////////////////////
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     2
// Symbian Foundation Example Code
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     3
//
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     4
// This software is in the public domain. No copyright is claimed, and you 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     5
// may use it for any purpose without license from the Symbian Foundation.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     6
// No warranty for any purpose is expressed or implied by the authors or
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     7
// the Symbian Foundation. 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     8
// ////////////////////////////////////////////////////////////////////////////
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     9
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    10
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    11
///////////////////////////////////////////////////////////////////////////////
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    12
// A widget for accessing developer.symbian.org 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    13
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    14
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    15
// Reference to the WRTKit user interface manager and main view.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    16
var uiManager;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    17
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    18
// Global settings / URLs and such
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    19
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    20
// Symbian.org web site base URL
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    21
//var symbianOrgBaseUrl = "http://staging.foundationhost.org";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    22
//var symbianOrgBaseUrlSsl = "https://staging.foundationhost.org";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    23
var symbianOrgBaseUrl = "http://developer.symbian.org";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    24
var symbianOrgBaseUrlSsl = "https://developer.symbian.org";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    25
var registrationURL = symbianOrgBaseUrl + "/main/user_profile/register.php";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    26
var blogFeedName = "Symbian Blog";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    27
var blogFeedUrl = "http://blog.symbian.org/feed/";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    28
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    29
// FORUM vars and settings 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    30
var symbianOrgNewThreadUrl = symbianOrgBaseUrl+"/forum/newthread.php?";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    31
var symbianOrgNewReplyUrl = symbianOrgBaseUrl+"/forum/newreply.php?";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    32
var symbianOrgLoginUrl = symbianOrgBaseUrlSsl+"/main/user_profile/login.php";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    33
var symbianOrgLoginUsernameField = "username";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    34
var symbianOrgLoginPasswordField = "password";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    35
var forumUsername = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    36
var forumPassword = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    37
var Packageid=null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    38
var myforumid=null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    39
var myforumtitle=null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    40
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    41
// Feed name, URL etc for forums
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    42
var forumFeedName = "Symbian.org Forums";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    43
var forumFeedURL = symbianOrgBaseUrl+ "/forum/external2.php?type=rss2"; //&fulldesc=1&lastpost=1
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    44
var forumsForumSpecQuery = "&forumid=";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    45
var forumFeedUpdateFrequency = -1;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    46
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    47
var forumGroupsUrl = symbianOrgBaseUrl+ "/rss/forum.php?type=groups";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    48
var forumsListUrl = symbianOrgBaseUrl+ "/rss/forum.php?type=forums&group=";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    49
var forumThreadUrl = symbianOrgBaseUrl+ "/rss/forum.php?type=threadmsgs&threadid=";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    50
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    51
var bugUrl= symbianOrgBaseUrl + "/bugs/show_bug.cgi?id=";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    52
var buildresultsUrl = symbianOrgBaseUrl + "/main/source/packages/package/builds.php?package=";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    53
// Wiki url etc
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    54
var wikiFeedName = "New on Symbian.org Wiki";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    55
var wikiFeedUrl = symbianOrgBaseUrl+"/wiki/index.php?title=Special:NewPages&feed=rss";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    56
var wikiBaseUrl = symbianOrgBaseUrl+"/wiki/index.php";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    57
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    58
// Update variables
43
a6c61f6ea350 version 0.2a for Mypackage widget, changes to the Open bugs quaery to not include enhancements
victorp@symbian.org
parents: 42
diff changeset
    59
var myversion = "0.2a";
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    60
var versionWikiPageUrl = wikiBaseUrl + "/My_Package_Widget";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    61
var versionWikiPageString = "Current widget version is [";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    62
var downloadUrl = "http://tiny.symbian.org/mypackage";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    63
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    64
// UI elements
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    65
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    66
// blog / forum instances
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    67
// all are SOScreen subclasses
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    68
var home;   // home screen
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    69
var blog;   // RSSReader showing blog
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    70
var wiki;   // RSSReader showing wiki
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    71
var bugzilla; // RSSReader showing bugzilla feeds
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    72
var forumGroups; // RSSReader showing list of forum groups
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    73
var settings;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    74
var about;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    75
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    76
// currently showing SOScreen
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    77
var currentScreen = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    78
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    79
// Controls for the settings view
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    80
var forumUsernameControl;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    81
var forumPasswordControl;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    82
var packageControl;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    83
var ForumControl;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    84
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    85
// Constants for menu item identifiers.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    86
var MENU_ITEM_HOME = 0;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    87
var MENU_ITEM_SETTINGS = 1;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    88
var MENU_ITEM_REFRESH = 2;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    89
var MENU_ITEM_ABOUT = 3;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    90
var MENU_ITEM_CHECK_UPDATE = 4;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    91
var MENU_ITEM_LARGER_FONT = 5;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    92
var MENU_ITEM_SMALLER_FONT = 6;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    93
// Flag indicating weather the web site login has been initiated
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    94
var loginInitiated = false;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    95
var loginInitiatedCallback = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    96
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    97
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    98
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    99
var widgetHomepage = symbianOrgBaseUrl + "/wiki/index.php?title=Symbian.org_WRT_Widget&action=render";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   100
var aboutText = "<strong>My Package "+myversion+"</strong><br>"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   101
				+ "MyPackage WRT Widget is a Web Runtime application which allows mobile "
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   102
				+ "access to packag dashboard that collect online information from developer.symbian.org. <br>"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   103
				+ "For more information and updates check <div class=FeedItemLink>"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   104
				+ "<a href=\"JavaScript:void(0)\" onclick=\"openURL('" 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   105
				+ widgetHomepage 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   106
				+ "'); return false;\">"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   107
				+ "The MyPackage Widget Homepage</a></div><p>"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   108
				+ "My Page Author: Victor Palau<br>"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   109
				+" This Widget heavily borrows from Symbian.org Widget"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   110
				+ "Credits: Ivan Litovski, Ryan Grentz, James Mentz";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   111
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   112
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   113
var currentFontSize = 14;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   114
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   115
// Called from the onload event handler to initialize the widget.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   116
function init() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   117
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   118
    // set tab-navigation mode and show softkeys
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   119
    // (only if we are in the WRT environment)
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   120
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   121
        widget.setNavigationEnabled(false);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   122
        window.menu.showSoftkeys();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   123
        // create menu
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   124
        var homeMenuItem = new MenuItem("Home", MENU_ITEM_HOME);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   125
        homeMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   126
        menu.append(homeMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   127
        var refreshMenuItem = new MenuItem("Refresh", MENU_ITEM_REFRESH);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   128
        refreshMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   129
        menu.append(refreshMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   130
        var settingsMenuItem = new MenuItem("Settings", MENU_ITEM_SETTINGS);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   131
        settingsMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   132
        menu.append(settingsMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   133
		var updateMenuItem = new MenuItem("Check for updates", MENU_ITEM_CHECK_UPDATE);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   134
		updateMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   135
		menu.append(updateMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   136
		var largerFontMenuItem = new MenuItem("Large font", MENU_ITEM_LARGER_FONT);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   137
		largerFontMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   138
		menu.append(largerFontMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   139
		var smallerFontMenuItem = new MenuItem("Small font", MENU_ITEM_SMALLER_FONT);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   140
		smallerFontMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   141
		menu.append(smallerFontMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   142
		var aboutMenuItem = new MenuItem("About", MENU_ITEM_ABOUT);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   143
		aboutMenuItem.onSelect = menuItemSelected;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   144
		menu.append(aboutMenuItem);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   145
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   146
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   147
   
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   148
	// load prefs 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   149
	if (!forumUsername || !forumPassword || !Packageid) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   150
		loadPreferences();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   151
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   152
    // create UI manager
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   153
    uiManager = new UIManager();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   154
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   155
	bugzilla = new BugzillaSearchPanel(null);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   156
    
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   157
	// Create the home view
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   158
	//home = new ListView(null, "<img src=logo.png>");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   159
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   160
	// soft keys
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   161
	bugzilla.setupSoftKeys = function()  {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   162
	    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   163
			menu.setRightSoftkeyLabel("Exit", function(){window.close();});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   164
	    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   165
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   166
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   167
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   168
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   169
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   170
	// create settings view
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   171
    settings = new ListView(null, createCaption("Settings"));
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   172
	settings.previousView = home;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   173
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   174
	var settingsIntroLabel = new Label(null, null, 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   175
		"In order to access all site features, you must login. "
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   176
		+ "If you have not registered yet, please click the 'Register' button below.");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   177
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   178
	settings.addControl(settingsIntroLabel);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   179
    // forum username control
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   180
    forumUsernameControl = new TextField('forumUsername', "Symbian.org username", forumUsername?forumUsername:"");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   181
    settings.addControl(forumUsernameControl);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   182
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   183
    // forum password control
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   184
    forumPasswordControl = new TextField('forumPassword', "Symbian.org password", forumPassword?forumPassword:"", true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   185
    settings.addControl(forumPasswordControl);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   186
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   187
    //package ID
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   188
    packageControl = new TextField('packageControl', "Bugzilla Package name", Packageid?Packageid:"");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   189
    settings.addControl(packageControl);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   190
    
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   191
	//choose a forum
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   192
		ForumControl = new NavigationButton(1, "right.gif", myforumtitle ? "Forum: " + myforumtitle : "Choose a forum from main screen");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   193
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   194
		ForumControl.addEventListener("ActionPerformed", function(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   195
			var forum_choose = new RssReader(mypackage, forumsListUrl + "18", new ForumsSettingsFeedPresenter(null), settings, forumListResponseParser);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   196
			forum_choose.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   197
		});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   198
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   199
		settings.addControl(ForumControl);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   200
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   201
	// save settings button
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   202
    settingsSaveButton = new FormButton(null, "Save");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   203
    settingsSaveButton.addEventListener("ActionPerformed", saveSettingsClicked);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   204
    settings.addControl(settingsSaveButton);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   205
    
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   206
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   207
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   208
    // cancel settings button
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   209
    var settingsRegisterButton = new FormButton(null, "Register");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   210
    settingsRegisterButton.addEventListener("ActionPerformed", function(){openURL(registrationURL);});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   211
    settings.addControl(settingsRegisterButton);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   212
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   213
    // cancel settings button
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   214
    settingsCancelButton = new FormButton(null, "Cancel");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   215
    settingsCancelButton.addEventListener("ActionPerformed", function(){settings.goBack();});
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   216
    settings.addControl(settingsCancelButton);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   217
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   218
	//Create about view
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   219
	about = new ListView(null, createCaption("My Package"));
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   220
    about.previousView = home;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   221
	// About label control
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   222
	aboutLabel = new ContentPanel(null, null, null, true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   223
	aboutLabel.setCaption("About this Widget");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   224
	aboutLabel.setContent(aboutText);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   225
	aboutLabel.setExpanded(true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   226
	about.addControl(aboutLabel);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   227
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   228
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   229
	bugzilla.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   230
	login(bugzilla.update(true));
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   231
	setDefaultFontSizeForScreenSize();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   232
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   233
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   234
// Callback for when menu items are selected.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   235
function menuItemSelected(id) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   236
	var currentView = uiManager.getView();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   237
    switch (id) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   238
        case MENU_ITEM_SETTINGS:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   239
			if ( currentView == settings || currentView == about) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   240
				settings.previousView = home;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   241
			} else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   242
				settings.previousView = currentView;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   243
			}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   244
			uiManager.hideNotification();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   245
            settings.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   246
            break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   247
		case MENU_ITEM_HOME:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   248
			currentView = bugzilla;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   249
			bugzilla.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   250
			break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   251
        case MENU_ITEM_REFRESH:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   252
            currentView.update(true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   253
            break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   254
        case MENU_ITEM_LARGER_FONT:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   255
			setLargeView();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   256
//            increaseFontSize();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   257
            break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   258
        case MENU_ITEM_SMALLER_FONT:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   259
			setSmallView();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   260
//            decreaseFontSize();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   261
            break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   262
        case MENU_ITEM_CHECK_UPDATE:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   263
            checkForUpdates();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   264
            break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   265
		case MENU_ITEM_ABOUT:
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   266
			if ( currentView == settings || currentView == about) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   267
				about.previousView = home;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   268
			} else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   269
				about.previousView = currentView;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   270
			}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   271
			about.show();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   272
			break;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   273
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   274
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   275
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   276
// Loads widget preferences.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   277
function loadPreferences() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   278
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   279
        // load settings from widget preferences store
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   280
        forumUsername = widget.preferenceForKey("forumUsername");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   281
        forumPassword = widget.preferenceForKey("forumPassword");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   282
		Packageid=widget.preferenceForKey("Packageid");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   283
		myforumid=widget.preferenceForKey("myforumid");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   284
		myforumtitle=widget.preferenceForKey("myforumtitle");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   285
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   286
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   287
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   288
// Loads widget preferences.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   289
function savePreferences() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   290
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   291
        // save settings in widget preferences store
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   292
        widget.setPreferenceForKey(forumUsername, "forumUsername");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   293
        widget.setPreferenceForKey(forumPassword, "forumPassword");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   294
		widget.setPreferenceForKey(Packageid, "Packageid");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   295
		widget.setPreferenceForKey(myforumid, "myforumid");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   296
		widget.setPreferenceForKey(myforumtitle, "myforumtitle");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   297
		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   298
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   299
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   300
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   301
// Callback for settings view save button.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   302
function saveSettingsClicked() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   303
	var firstboot=true;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   304
	if (!Packageid) { fristboot=false;}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   305
	forumUsername = forumUsernameControl.getText();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   306
	forumPassword = forumPasswordControl.getText();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   307
	Packageid = packageControl.getText();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   308
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   309
    // save preferences
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   310
    savePreferences();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   311
    		
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   312
	settings.goBack();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   313
	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   314
	if ( loginInitiated ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   315
		login(loginInitiatedCallback);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   316
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   317
	bugzilla.update(firstboot);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   318
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   319
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   320
// Opens a URL in a separate browser window
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   321
function openURL(url) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   322
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   323
        // in WRT
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   324
        widget.openURL(url);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   325
    } else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   326
        // outside WRT
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   327
        window.open(url, "NewWindow");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   328
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   329
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   330
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   331
var updatePageAjax = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   332
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   333
function checkForUpdates() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   334
	uiManager.showNotification(-1, "wait", "Checking for updates...", -1);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   335
	updatePageAjax = new Ajax();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   336
	updatePageAjax.onreadystatechange = checkForUpdatesStage2;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   337
	updatePageAjax.open('GET', nocache(versionWikiPageUrl), true);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   338
	updatePageAjax.send(null);	
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   339
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   340
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   341
function checkForUpdatesStage2() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   342
    if (updatePageAjax.readyState == 4) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   343
		// extract version number
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   344
		var content = updatePageAjax.responseText;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   345
		var ind = content.indexOf(versionWikiPageString);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   346
		if ( ind == -1 ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   347
			uiManager.showNotification(3000, "warning", "Update failed, check manually.");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   348
			return;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   349
		}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   350
		ind += versionWikiPageString.length;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   351
		var ind2 = content.indexOf("]",ind);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   352
		if ( ind2 == -1 || (ind2-ind) > 10 ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   353
			uiManager.showNotification(3000, "warning", "Update failed, check manually.");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   354
			return;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   355
		}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   356
		var version = content.substring(ind,ind2);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   357
		// compare to this version
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   358
		if ( version != myversion ) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   359
			var answer = confirm("Install new version " + version + "?");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   360
			if (answer) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   361
				// ok, we have the update
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   362
				uiManager.hideNotification();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   363
				openURL(nocache(downloadUrl));
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   364
				setTimeout(function () {window.close();}, 1000);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   365
			} else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   366
			uiManager.showNotification(3000, "info", "Update cancelled.");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   367
			}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   368
		} else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   369
			uiManager.showNotification(3000, "info", "Up to date!");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   370
		}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   371
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   372
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   373
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   374
function createCaption(caption) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   375
	if (caption.length > 30) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   376
		caption = caption.substring(0, 30) + "...";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   377
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   378
	return  "<table border=0><tr><td style=\"{vertical-align:middle}\">"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   379
		+ "<img src=titlebar.png style=\"{vertical-align:middle}\" >"
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   380
		+ "</td><td style=\"{vertical-align:middle}\"> " 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   381
		+ "<p class=ListViewCaptionText>" + caption +"</p></td></tr></table>";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   382
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   383
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   384
function setDefaultFontSizeForScreenSize(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   385
	// no preference available, check screen size
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   386
	if (window.innerWidth > 400 || window.innerHeight > 400) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   387
		// hi res screen, use large font
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   388
		setLargeView();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   389
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   390
	else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   391
		// lo res screen, use small font
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   392
		setSmallView();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   393
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   394
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   395
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   396
function setLargeView(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   397
	document.getElementById('stylesheet').href = 'WRTKit/Resources/UI-large.css';
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   398
//	setCssBodyFontSize(22);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   399
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   400
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   401
function setSmallView(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   402
	document.getElementById('stylesheet').href = 'WRTKit/Resources/UI.css';
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   403
//	setCssBodyFontSize(14);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   404
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   405
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   406
function increaseFontSize(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   407
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   408
		setCssBodyFontSize(currentFontSize + 2);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   409
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   410
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   411
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   412
function decreaseFontSize(){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   413
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   414
		if (currentFontSize > 4) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   415
			setCssBodyFontSize(currentFontSize - 2);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   416
		}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   417
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   418
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   419
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   420
function setCssBodyFontSize(size){
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   421
    if (window.widget) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   422
		currentFontSize = size;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   423
		var sizestring = "" + size;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   424
		document.body.style.fontSize = sizestring + "px";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   425
		widget.setPreferenceForKey(sizestring, "fontsize");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   426
	}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   427
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   428
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   429
function nocache(url) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   430
    if (url.indexOf("?") == -1) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   431
        url += "?";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   432
    } else {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   433
        url += "&";
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   434
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   435
    url += "xnocache=" + (new Date().getTime());
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   436
	return url;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
   437
}