22 //var symbianOrgBaseUrlSsl = "https://staging.foundationhost.org"; |
22 //var symbianOrgBaseUrlSsl = "https://staging.foundationhost.org"; |
23 var symbianOrgBaseUrl = "http://developer.symbian.org"; |
23 var symbianOrgBaseUrl = "http://developer.symbian.org"; |
24 var symbianOrgBaseUrlSsl = "https://developer.symbian.org"; |
24 var symbianOrgBaseUrlSsl = "https://developer.symbian.org"; |
25 var registrationURL = symbianOrgBaseUrl + "/main/user_profile/register.php"; |
25 var registrationURL = symbianOrgBaseUrl + "/main/user_profile/register.php"; |
26 var blogFeedName = "Symbian Blog"; |
26 var blogFeedName = "Symbian Blog"; |
27 var blogFeedUrl = "http://blog.symbian.org/feed/"; |
27 var blogFeedUrl = "http://blog.symbian.org/feed/rss/"; |
28 |
28 |
29 // FORUM vars and settings |
29 // FORUM vars and settings |
30 var symbianOrgNewThreadUrl = symbianOrgBaseUrl+"/forum/newthread.php?"; |
30 var symbianOrgNewThreadUrl = symbianOrgBaseUrl+"/forum/newthread.php?"; |
31 var symbianOrgNewReplyUrl = symbianOrgBaseUrl+"/forum/newreply.php?"; |
31 var symbianOrgNewReplyUrl = symbianOrgBaseUrl+"/forum/newreply.php?"; |
32 var symbianOrgLoginUrl = symbianOrgBaseUrlSsl+"/main/user_profile/login.php"; |
32 var symbianOrgLoginUrl = symbianOrgBaseUrlSsl+"/main/user_profile/login.php"; |
33 var symbianOrgLoginUsernameField = "username"; |
33 var symbianOrgLoginUsernameField = "username"; |
34 var symbianOrgLoginPasswordField = "password"; |
34 var symbianOrgLoginPasswordField = "password"; |
35 var forumUsername = null ; |
35 var forumUsername = null; |
36 var forumPassword = null; |
36 var forumPassword = null; |
37 |
37 |
38 // Feed name, URL etc for forums |
38 // Feed name, URL etc for forums |
39 var forumFeedName = "Symbian.org Forums"; |
39 var forumFeedName = "Symbian.org Forums"; |
40 var forumFeedURL = symbianOrgBaseUrl+ "/forum/external2.php?type=rss2"; //&fulldesc=1&lastpost=1 |
40 var forumFeedURL = symbianOrgBaseUrl+ "/forum/external2.php?type=rss2"; //&fulldesc=1&lastpost=1 |
49 var wikiFeedName = "New on Symbian.org Wiki"; |
49 var wikiFeedName = "New on Symbian.org Wiki"; |
50 var wikiFeedUrl = symbianOrgBaseUrl+"/wiki/index.php?title=Special:NewPages&feed=rss"; |
50 var wikiFeedUrl = symbianOrgBaseUrl+"/wiki/index.php?title=Special:NewPages&feed=rss"; |
51 var wikiBaseUrl = symbianOrgBaseUrl+"/wiki/index.php"; |
51 var wikiBaseUrl = symbianOrgBaseUrl+"/wiki/index.php"; |
52 |
52 |
53 // Update variables |
53 // Update variables |
54 var myversion = "1.0rc14"; |
54 var myversion = "1.0rc16"; |
55 var versionWikiPageUrl = wikiBaseUrl + "/Symbian.org_WRT_Widget"; |
55 var versionWikiPageUrl = wikiBaseUrl + "/Symbian.org_WRT_Widget"; |
56 var versionWikiPageString = "Current widget version is ["; |
56 var versionWikiPageString = "Current widget version is ["; |
57 var downloadUrl = symbianOrgBaseUrl + "/wiki/images/c/c5/Symbian.org.wgz"; |
57 var downloadUrl = symbianOrgBaseUrl + "/wiki/images/c/c5/Symbian.org.wgz"; |
58 |
58 |
59 // UI elements |
59 // UI elements |
74 // Controls for the settings view |
74 // Controls for the settings view |
75 var forumUsernameControl; |
75 var forumUsernameControl; |
76 var forumPasswordControl; |
76 var forumPasswordControl; |
77 |
77 |
78 // Constants for menu item identifiers. |
78 // Constants for menu item identifiers. |
79 var MENU_ITEM_SETTINGS = 0; |
79 var MENU_ITEM_HOME = 0; |
80 var MENU_ITEM_REFRESH = 1; |
80 var MENU_ITEM_SETTINGS = 1; |
81 var MENU_ITEM_ABOUT = 2; |
81 var MENU_ITEM_REFRESH = 2; |
82 var MENU_ITEM_CHECK_UPDATE = 3; |
82 var MENU_ITEM_ABOUT = 3; |
83 var MENU_ITEM_LARGER_FONT = 4; |
83 var MENU_ITEM_CHECK_UPDATE = 4; |
84 var MENU_ITEM_SMALLER_FONT = 5; |
84 var MENU_ITEM_LARGER_FONT = 5; |
85 |
85 var MENU_ITEM_SMALLER_FONT = 6; |
86 // Flag indicating weather the web site login has been initiated |
86 // Flag indicating weather the web site login has been initiated |
87 var loginInitiated = false; |
87 var loginInitiated = false; |
88 var loginInitiatedCallback = null; |
88 var loginInitiatedCallback = null; |
89 |
89 |
90 |
90 |
100 + "Credits: Ivan Litovski, Ryan Grentz, James Mentz"; |
100 + "Credits: Ivan Litovski, Ryan Grentz, James Mentz"; |
101 |
101 |
102 |
102 |
103 var currentFontSize = 14; |
103 var currentFontSize = 14; |
104 |
104 |
105 |
|
106 // Called from the onload event handler to initialize the widget. |
105 // Called from the onload event handler to initialize the widget. |
107 function init() { |
106 function init() { |
108 |
107 |
109 // set tab-navigation mode and show softkeys |
108 // set tab-navigation mode and show softkeys |
110 // (only if we are in the WRT environment) |
109 // (only if we are in the WRT environment) |
111 if (window.widget) { |
110 if (window.widget) { |
112 widget.setNavigationEnabled(false); |
111 widget.setNavigationEnabled(false); |
113 window.menu.showSoftkeys(); |
112 window.menu.showSoftkeys(); |
114 // create menu |
113 // create menu |
|
114 var homeMenuItem = new MenuItem("Home", MENU_ITEM_HOME); |
|
115 homeMenuItem.onSelect = menuItemSelected; |
|
116 menu.append(homeMenuItem); |
115 var refreshMenuItem = new MenuItem("Refresh", MENU_ITEM_REFRESH); |
117 var refreshMenuItem = new MenuItem("Refresh", MENU_ITEM_REFRESH); |
116 refreshMenuItem.onSelect = menuItemSelected; |
118 refreshMenuItem.onSelect = menuItemSelected; |
117 menu.append(refreshMenuItem); |
119 menu.append(refreshMenuItem); |
118 var settingsMenuItem = new MenuItem("Settings", MENU_ITEM_SETTINGS); |
120 var settingsMenuItem = new MenuItem("Settings", MENU_ITEM_SETTINGS); |
119 settingsMenuItem.onSelect = menuItemSelected; |
121 settingsMenuItem.onSelect = menuItemSelected; |
120 menu.append(settingsMenuItem); |
122 menu.append(settingsMenuItem); |
121 var updateMenuItem = new MenuItem("Check for updates", MENU_ITEM_CHECK_UPDATE); |
123 var updateMenuItem = new MenuItem("Check for updates", MENU_ITEM_CHECK_UPDATE); |
122 updateMenuItem.onSelect = menuItemSelected; |
124 updateMenuItem.onSelect = menuItemSelected; |
123 menu.append(updateMenuItem); |
125 menu.append(updateMenuItem); |
124 var largerFontMenuItem = new MenuItem("Larger font", MENU_ITEM_LARGER_FONT); |
126 var largerFontMenuItem = new MenuItem("Large font", MENU_ITEM_LARGER_FONT); |
125 largerFontMenuItem.onSelect = menuItemSelected; |
127 largerFontMenuItem.onSelect = menuItemSelected; |
126 menu.append(largerFontMenuItem); |
128 menu.append(largerFontMenuItem); |
127 var smallerFontMenuItem = new MenuItem("Smaller font", MENU_ITEM_SMALLER_FONT); |
129 var smallerFontMenuItem = new MenuItem("Small font", MENU_ITEM_SMALLER_FONT); |
128 smallerFontMenuItem.onSelect = menuItemSelected; |
130 smallerFontMenuItem.onSelect = menuItemSelected; |
129 menu.append(smallerFontMenuItem); |
131 menu.append(smallerFontMenuItem); |
130 var aboutMenuItem = new MenuItem("About", MENU_ITEM_ABOUT); |
132 var aboutMenuItem = new MenuItem("About", MENU_ITEM_ABOUT); |
131 aboutMenuItem.onSelect = menuItemSelected; |
133 aboutMenuItem.onSelect = menuItemSelected; |
132 menu.append(aboutMenuItem); |
134 menu.append(aboutMenuItem); |
173 |
175 |
174 // create blog screen |
176 // create blog screen |
175 blog = new RssReader(blogFeedName, blogFeedUrl, null, home, null); |
177 blog = new RssReader(blogFeedName, blogFeedUrl, null, home, null); |
176 |
178 |
177 // create wiki screen |
179 // create wiki screen |
178 wiki = new RssReader(wikiFeedName, wikiFeedUrl, new ButtonFeedPresenter(null), home, null); |
180 wiki = new WikiHome(home);// new RssReader(wikiFeedName, wikiFeedUrl, new ButtonFeedPresenter(null), home, null); |
179 |
181 |
180 // wiki feed contains full article text for many articles |
182 // wiki feed contains full article text for many articles |
181 // this takes up a _lot_ of memory. Also we don't |
183 // this takes up a _lot_ of memory. Also we don't |
182 // really want the full text at the stage when we want a list |
184 // really want the full text at the stage when we want a list |
183 // of recent articles. |
185 // of recent articles. |
250 settings.previousView = currentView; |
251 settings.previousView = currentView; |
251 } |
252 } |
252 uiManager.hideNotification(); |
253 uiManager.hideNotification(); |
253 settings.show(); |
254 settings.show(); |
254 break; |
255 break; |
|
256 case MENU_ITEM_HOME: |
|
257 currentView = home; |
|
258 home.show(); |
|
259 break; |
255 case MENU_ITEM_REFRESH: |
260 case MENU_ITEM_REFRESH: |
256 currentView.update(true); |
261 currentView.update(true); |
257 break; |
262 break; |
258 case MENU_ITEM_LARGER_FONT: |
263 case MENU_ITEM_LARGER_FONT: |
259 increaseFontSize(); |
264 setLargeView(); |
|
265 // increaseFontSize(); |
260 break; |
266 break; |
261 case MENU_ITEM_SMALLER_FONT: |
267 case MENU_ITEM_SMALLER_FONT: |
262 decreaseFontSize(); |
268 setSmallView(); |
|
269 // decreaseFontSize(); |
263 break; |
270 break; |
264 case MENU_ITEM_CHECK_UPDATE: |
271 case MENU_ITEM_CHECK_UPDATE: |
265 checkForUpdates(); |
272 checkForUpdates(); |
266 break; |
273 break; |
267 case MENU_ITEM_ABOUT: |
274 case MENU_ITEM_ABOUT: |
373 } |
380 } |
374 |
381 |
375 function setDefaultFontSizeForScreenSize(){ |
382 function setDefaultFontSizeForScreenSize(){ |
376 // first check if there is a preference present |
383 // first check if there is a preference present |
377 if (window.widget) { |
384 if (window.widget) { |
378 var saved = widget.preferenceForKey("fontsize"); |
385 // var saved = widget.preferenceForKey("fontsize"); |
379 if ( widget.preferenceForKey("fontsize") ) { |
386 // if ( widget.preferenceForKey("fontsize") ) { |
380 setCssBodyFontSize(parseInt(saved)); |
387 // setCssBodyFontSize(parseInt(saved)); |
381 } |
388 // } |
382 else { |
389 // else { |
383 // no preference available, check screen size |
390 // no preference available, check screen size |
384 if (window.screen.width > 400 || window.screen.height > 400) { |
391 if (window.screen.width > 400 || window.screen.height > 400) { |
385 // hi res screen, use large font |
392 // hi res screen, use large font |
386 setCssBodyFontSize(30); |
393 setLargeView(); |
387 } |
394 } |
388 else { |
395 else { |
389 // lo res screen, use small font |
396 // lo res screen, use small font |
390 setCssBodyFontSize(14); |
397 setSmallView(); |
391 } |
398 } |
392 } |
399 // } |
393 } |
400 } |
|
401 } |
|
402 |
|
403 function setLargeView(){ |
|
404 document.getElementById('stylesheet').href = 'WRTKit/Resources/UI-large.css'; |
|
405 // setCssBodyFontSize(22); |
|
406 } |
|
407 |
|
408 function setSmallView(){ |
|
409 document.getElementById('stylesheet').href = 'WRTKit/Resources/UI.css'; |
|
410 // setCssBodyFontSize(14); |
394 } |
411 } |
395 |
412 |
396 function increaseFontSize(){ |
413 function increaseFontSize(){ |
397 if (window.widget) { |
414 if (window.widget) { |
398 setCssBodyFontSize(currentFontSize + 2); |
415 setCssBodyFontSize(currentFontSize + 2); |