|
@@ -21,6 +21,8 @@ |
21 |
21 |
|
{ |
22 |
22 |
|
public partial class MainPage : PhoneApplicationPage |
23 |
23 |
|
{ |
|
24 |
+ |
private int i = 0; |
|
25 |
+ |
|
24 |
26 |
|
List<Articolo> listArticoli1; |
25 |
27 |
|
List<Articolo> listArticoli3; |
26 |
28 |
|
List<ArticoloPreferito> listArticoliP = new List<ArticoloPreferito>(); |
|
@@ -45,8 +47,20 @@ |
45 |
47 |
|
} |
46 |
48 |
|
|
47 |
49 |
|
|
|
50 |
+ |
private void checkConnection() |
|
51 |
+ |
{ |
|
52 |
+ |
if (Microsoft.Phone.Net.NetworkInformation.NetworkInterface.NetworkInterfaceType == Microsoft.Phone.Net.NetworkInformation.NetworkInterfaceType.None) |
|
53 |
+ |
{ |
|
54 |
+ |
MessageBox.Show("Nessuna connessione a internet rilevata! Lista notizie non aggiornata!"); |
|
55 |
+ |
|
|
56 |
+ |
} |
|
57 |
+ |
} |
|
58 |
+ |
|
|
59 |
+ |
|
48 |
60 |
|
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) |
49 |
61 |
|
{ |
|
62 |
+ |
checkConnection(); |
|
63 |
+ |
|
50 |
64 |
|
// WebClient is used instead of HttpWebRequest in this code sample because |
51 |
65 |
|
// the implementation is simpler and easier to use, and we do not need to use |
52 |
66 |
|
// advanced functionality that HttpWebRequest provides, such as the ability to send headers. |
|
@@ -136,6 +150,146 @@ |
136 |
150 |
|
} |
137 |
151 |
|
} |
138 |
152 |
|
|
|
153 |
+ |
private String convertiData(String data) |
|
154 |
+ |
{ |
|
155 |
+ |
String giorno = data.Substring(0, 3); |
|
156 |
+ |
String mese = data.Substring(8, 3); |
|
157 |
+ |
|
|
158 |
+ |
if (data.Contains("Mon")) |
|
159 |
+ |
{ |
|
160 |
+ |
data = data.Replace("Mon", "Lun"); |
|
161 |
+ |
} |
|
162 |
+ |
if (data.Contains("Tue")) |
|
163 |
+ |
{ |
|
164 |
+ |
data = data.Replace("Tue", "Mar"); |
|
165 |
+ |
} |
|
166 |
+ |
if (data.Contains("Wed")) |
|
167 |
+ |
{ |
|
168 |
+ |
data = data.Replace("Wed", "Mer"); |
|
169 |
+ |
} |
|
170 |
+ |
if (data.Contains("Thu")) |
|
171 |
+ |
{ |
|
172 |
+ |
data = data.Replace("Thu", "Gio"); |
|
173 |
+ |
} |
|
174 |
+ |
if (data.Contains("Fri")) |
|
175 |
+ |
{ |
|
176 |
+ |
data = data.Replace("Fri", "Ven"); |
|
177 |
+ |
} |
|
178 |
+ |
if (data.Contains("Sat")) |
|
179 |
+ |
{ |
|
180 |
+ |
data = data.Replace("Sat", "Sab"); |
|
181 |
+ |
} |
|
182 |
+ |
if (data.Contains("Sun")) |
|
183 |
+ |
{ |
|
184 |
+ |
data = data.Replace("Sun", "Dom"); |
|
185 |
+ |
} |
|
186 |
+ |
|
|
187 |
+ |
//switch (giorno) |
|
188 |
+ |
//{ |
|
189 |
+ |
// case "Mon" : |
|
190 |
+ |
// data = data.Replace("Mon", "Lun"); |
|
191 |
+ |
// break; |
|
192 |
+ |
// case "Tue": |
|
193 |
+ |
// data = data.Replace("Tue", "Mar"); |
|
194 |
+ |
// break; |
|
195 |
+ |
// case "Wed": |
|
196 |
+ |
// data = data.Replace("Wed", "Mer"); |
|
197 |
+ |
// break; |
|
198 |
+ |
// case "Thu": |
|
199 |
+ |
// data = data.Replace("Thu", "Gio"); |
|
200 |
+ |
// break; |
|
201 |
+ |
// case "Fri": |
|
202 |
+ |
// data = data.Replace("Fri", "Ven"); |
|
203 |
+ |
// break; |
|
204 |
+ |
// case "Sat": |
|
205 |
+ |
// data = data.Replace("Sat", "Sab"); |
|
206 |
+ |
// break; |
|
207 |
+ |
// case "Sun": |
|
208 |
+ |
// data = data.Replace("Sun", "Dom"); |
|
209 |
+ |
// break; |
|
210 |
+ |
// default: |
|
211 |
+ |
// break; |
|
212 |
+ |
//} |
|
213 |
+ |
|
|
214 |
+ |
if (data.Contains("Jan")) |
|
215 |
+ |
{ |
|
216 |
+ |
data = data.Replace("Jan", "Gen"); |
|
217 |
+ |
} |
|
218 |
+ |
|
|
219 |
+ |
if (data.Contains("May")) |
|
220 |
+ |
{ |
|
221 |
+ |
data = data.Replace("May", "Mag"); |
|
222 |
+ |
} |
|
223 |
+ |
if (data.Contains("Jun")) |
|
224 |
+ |
{ |
|
225 |
+ |
data = data.Replace("Jun", "Giu"); |
|
226 |
+ |
} |
|
227 |
+ |
if (data.Contains("Jul")) |
|
228 |
+ |
{ |
|
229 |
+ |
data = data.Replace("Jul", "Lug"); |
|
230 |
+ |
} |
|
231 |
+ |
if (data.Contains("Aug")) |
|
232 |
+ |
{ |
|
233 |
+ |
data = data.Replace("Aug", "Ago"); |
|
234 |
+ |
} |
|
235 |
+ |
if (data.Contains("Sep")) |
|
236 |
+ |
{ |
|
237 |
+ |
data = data.Replace("Sep", "Set"); |
|
238 |
+ |
} |
|
239 |
+ |
if (data.Contains("Oct")) |
|
240 |
+ |
{ |
|
241 |
+ |
data = data.Replace("Oct", "Ott"); |
|
242 |
+ |
} |
|
243 |
+ |
|
|
244 |
+ |
if (data.Contains("Dec")) |
|
245 |
+ |
{ |
|
246 |
+ |
data = data.Replace("Dec", "Dic"); |
|
247 |
+ |
} |
|
248 |
+ |
|
|
249 |
+ |
|
|
250 |
+ |
|
|
251 |
+ |
//switch (mese) |
|
252 |
+ |
//{ |
|
253 |
+ |
// case "Jan": |
|
254 |
+ |
// data = data.Replace("Jan", "Gen"); |
|
255 |
+ |
// break; |
|
256 |
+ |
// case "Feb": |
|
257 |
+ |
// break; |
|
258 |
+ |
// case "Mar": |
|
259 |
+ |
// break; |
|
260 |
+ |
// case "Apr": |
|
261 |
+ |
// break; |
|
262 |
+ |
// case "May": |
|
263 |
+ |
// data = data.Replace("May", "Mag"); |
|
264 |
+ |
// break; |
|
265 |
+ |
// case "Jun": |
|
266 |
+ |
// data = data.Replace("Jun", "Giu"); |
|
267 |
+ |
// break; |
|
268 |
+ |
// case "Jul": |
|
269 |
+ |
// data = data.Replace("Jul", "Lug"); |
|
270 |
+ |
// break; |
|
271 |
+ |
// case "Aug": |
|
272 |
+ |
// data = data.Replace("Aug", "Ago"); |
|
273 |
+ |
// break; |
|
274 |
+ |
// case "Sep": |
|
275 |
+ |
// data = data.Replace("Sep", "Set"); |
|
276 |
+ |
// break; |
|
277 |
+ |
// case "Oct": |
|
278 |
+ |
// data = data.Replace("Oct", "Ott"); |
|
279 |
+ |
// break; |
|
280 |
+ |
// case "Nov": |
|
281 |
+ |
// break; |
|
282 |
+ |
// case "Dec": |
|
283 |
+ |
// data = data.Replace("Dec", "Dic"); |
|
284 |
+ |
// break; |
|
285 |
+ |
// default: |
|
286 |
+ |
// break; |
|
287 |
+ |
//} |
|
288 |
+ |
|
|
289 |
+ |
return data; |
|
290 |
+ |
|
|
291 |
+ |
} |
|
292 |
+ |
|
139 |
293 |
|
// This method sets up the feed and binds it to our ListBox. |
140 |
294 |
|
private void UpdateFeedList1(string feedXML) |
141 |
295 |
|
{ |
|
@@ -171,9 +325,10 @@ |
171 |
325 |
|
|
172 |
326 |
|
int idp = item.IndexOf("<pubDate>") + 9; |
173 |
327 |
|
int fdp = item.IndexOf("</pubDate>"); |
174 |
|
- |
String dataPub = item.Substring(idp, fdp - idp); |
|
328 |
+ |
String dataPubEng = item.Substring(idp, fdp - idp); |
|
329 |
+ |
String dataPub = convertiData(dataPubEng); |
175 |
330 |
|
|
176 |
|
- |
a = new Articolo(title, link, description, dataPub); |
|
331 |
+ |
a = new Articolo(title, link, description, descriptionComplete, dataPub); |
177 |
332 |
|
listArticoli1.Add(a); |
178 |
333 |
|
|
179 |
334 |
|
feedXML = feedXML.Substring(feedXML.IndexOf("/pubDate") + 16); |
|
@@ -232,7 +387,7 @@ |
232 |
387 |
|
//String dataPub = item.Substring(idp, fdp - idp); |
233 |
388 |
|
|
234 |
389 |
|
|
235 |
|
- |
a = new Articolo(title, link, description, "1/1/2013", icona); |
|
390 |
+ |
a = new Articolo(title, link, description, description, "1/1/2013", icona); |
236 |
391 |
|
listArticoli3.Add(a); |
237 |
392 |
|
|
238 |
393 |
|
feedXML = feedXML.Substring(feedXML.IndexOf("/Link") + 11); |
|
@@ -298,8 +453,43 @@ |
298 |
453 |
|
Articolo sItem = (Articolo)listBox.SelectedItem; |
299 |
454 |
|
|
300 |
455 |
|
// Set up the page navigation only if a link actually exists in the feed item. |
|
456 |
+ |
if (sItem.Titolo != null && sItem.DataPub != null && sItem.TestoFull != null) |
|
457 |
+ |
{ |
|
458 |
+ |
titleCanvas.Text = sItem.Titolo; |
|
459 |
+ |
dateCanvas.Text = sItem.DataPub; |
|
460 |
+ |
textCanvas.Text = sItem.TestoFull; |
|
461 |
+ |
|
|
462 |
+ |
notiziaCanvas.Visibility = System.Windows.Visibility.Visible; |
|
463 |
+ |
scrollTesto.DataContext = sItem.TestoFull; |
|
464 |
+ |
// Get the associated URI of the feed item. |
|
465 |
+ |
//Uri uri = new Uri(sItem.Link); |
|
466 |
+ |
|
|
467 |
+ |
// Create a new WebBrowserTask Launcher to navigate to the feed item. |
|
468 |
+ |
// An alternative solution would be to use a WebBrowser control, but WebBrowserTask is simpler to use. |
|
469 |
+ |
//WebBrowserTask webBrowserTask = new WebBrowserTask(); |
|
470 |
+ |
//webBrowserTask.Uri = uri; |
|
471 |
+ |
//webBrowserTask.Show(); |
|
472 |
+ |
} |
|
473 |
+ |
} |
|
474 |
+ |
} |
|
475 |
+ |
|
|
476 |
+ |
private void feedListBox3_SelectionChanged(object sender, SelectionChangedEventArgs e) |
|
477 |
+ |
{ |
|
478 |
+ |
ListBox listBox = sender as ListBox; |
|
479 |
+ |
|
|
480 |
+ |
if (listBox != null && listBox.SelectedItem != null) |
|
481 |
+ |
{ |
|
482 |
+ |
// Get the SyndicationItem that was tapped. |
|
483 |
+ |
Articolo sItem = (Articolo)listBox.SelectedItem; |
|
484 |
+ |
|
|
485 |
+ |
// Set up the page navigation only if a link actually exists in the feed item. |
301 |
486 |
|
if (sItem.Link != null) |
302 |
487 |
|
{ |
|
488 |
+ |
//titleCanvas.Text = sItem.Titolo; |
|
489 |
+ |
//dateCanvas.Text = sItem.DataPub; |
|
490 |
+ |
//textCanvas.Text = sItem.TestoFull; |
|
491 |
+ |
|
|
492 |
+ |
//notiziaCanvas.Visibility = System.Windows.Visibility.Visible; |
303 |
493 |
|
// Get the associated URI of the feed item. |
304 |
494 |
|
Uri uri = new Uri(sItem.Link); |
305 |
495 |
|
|
|
@@ -355,12 +545,13 @@ |
355 |
545 |
|
private void MenuItem_Click(object sender, RoutedEventArgs e) |
356 |
546 |
|
{ |
357 |
547 |
|
|
358 |
|
- |
feedListPreferiti.ItemsSource = listArticoliP; |
|
548 |
+ |
//feedListPreferiti.ItemsSource = listArticoliP; |
359 |
549 |
|
|
360 |
550 |
|
} |
361 |
551 |
|
|
362 |
552 |
|
private void feedListBoxNews1_Hold(object sender, System.Windows.Input.GestureEventArgs e) |
363 |
553 |
|
{ |
|
554 |
+ |
|
364 |
555 |
|
// ListBox listBox = sender as ListBox; |
365 |
556 |
|
// bool a = (listBox.SelectedItem != null); |
366 |
557 |
|
// bool b = true; |
|
@@ -399,35 +590,91 @@ |
399 |
590 |
|
} |
400 |
591 |
|
} |
401 |
592 |
|
|
402 |
|
- |
private void appBarRefresh_Click(object sender, EventArgs e) |
|
593 |
+ |
|
|
594 |
+ |
private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e) |
403 |
595 |
|
{ |
404 |
596 |
|
|
|
597 |
+ |
|
|
598 |
+ |
//if (pivot.SelectedIndex == 0 || pivot.SelectedIndex == 2) |
|
599 |
+ |
//{ |
|
600 |
+ |
// ApplicationBar.IsVisible = false; |
|
601 |
+ |
|
|
602 |
+ |
//} |
|
603 |
+ |
//else |
|
604 |
+ |
//{ |
|
605 |
+ |
// ApplicationBar.Mode = Microsoft.Phone.Shell.ApplicationBarMode.Minimized; |
|
606 |
+ |
// ApplicationBar.IsVisible = true; |
|
607 |
+ |
|
|
608 |
+ |
// try |
|
609 |
+ |
// { |
|
610 |
+ |
// appBarDelete.IsEnabled = false; |
|
611 |
+ |
// } |
|
612 |
+ |
// catch { } |
|
613 |
+ |
//} |
|
614 |
+ |
|
|
615 |
+ |
|
405 |
616 |
|
} |
406 |
617 |
|
|
407 |
|
- |
private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e) |
|
618 |
+ |
|
|
619 |
+ |
|
|
620 |
+ |
private void appBarinfo_Click(object sender, EventArgs e) |
408 |
621 |
|
{ |
409 |
|
- |
|
|
622 |
+ |
NavigationService.Navigate(new Uri("/NotizieTL;component/Information.xaml", UriKind.Relative)); |
|
623 |
+ |
} |
410 |
624 |
|
|
411 |
|
- |
if (pivot.SelectedIndex == 0 || pivot.SelectedIndex == 2) |
|
625 |
+ |
private void PhoneApplicationPage_BackKeyPress(object sender, System.ComponentModel.CancelEventArgs e) |
|
626 |
+ |
{ |
|
627 |
+ |
if (notiziaCanvas.Visibility == System.Windows.Visibility.Visible) |
|
628 |
+ |
notiziaCanvas.Visibility = System.Windows.Visibility.Collapsed; |
|
629 |
+ |
|
|
630 |
+ |
e.Cancel = true; |
|
631 |
+ |
} |
|
632 |
+ |
|
|
633 |
+ |
private void appBarRefresh_Click(object sender, EventArgs e) |
|
634 |
+ |
{ |
|
635 |
+ |
feedListBoxNews1.Visibility = System.Windows.Visibility.Collapsed; |
|
636 |
+ |
loadingPanel.Visibility = System.Windows.Visibility.Visible; |
|
637 |
+ |
//i = 3; |
|
638 |
+ |
//PhoneApplicationPage_LayoutUpdated(sender, e); |
|
639 |
+ |
WebClient webClient1 = new WebClient(); |
|
640 |
+ |
webClient1.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient1_DownloadStringCompleted); |
|
641 |
+ |
webClient1.DownloadStringAsync(new System.Uri("http://tuttolavoro.indicitalia.it/RSS/app.xml")); |
|
642 |
+ |
} |
|
643 |
+ |
|
|
644 |
+ |
private void PhoneApplicationPage_LayoutUpdated(object sender, EventArgs e) |
|
645 |
+ |
{ |
|
646 |
+ |
i++; |
|
647 |
+ |
if (i >= 4) |
412 |
648 |
|
{ |
413 |
|
- |
ApplicationBar.IsVisible = false; |
414 |
|
- |
|
|
649 |
+ |
feedListBoxNews1.Visibility = System.Windows.Visibility.Visible; |
|
650 |
+ |
loadingPanel.Visibility = System.Windows.Visibility.Collapsed; |
415 |
651 |
|
} |
416 |
|
- |
else |
417 |
|
- |
{ |
418 |
|
- |
ApplicationBar.Mode = Microsoft.Phone.Shell.ApplicationBarMode.Minimized; |
419 |
|
- |
ApplicationBar.IsVisible = true; |
|
652 |
+ |
} |
420 |
653 |
|
|
421 |
|
- |
try |
422 |
|
- |
{ |
423 |
|
- |
appBarDelete.IsEnabled = false; |
424 |
|
- |
} |
425 |
|
- |
catch { } |
426 |
|
- |
} |
|
654 |
+ |
private void titolo1_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e) |
|
655 |
+ |
{ |
|
656 |
+ |
|
|
657 |
+ |
} |
|
658 |
+ |
|
|
659 |
+ |
private void titolo1_LayoutUpdated(object sender, EventArgs e) |
|
660 |
+ |
{ |
|
661 |
+ |
|
|
662 |
+ |
} |
|
663 |
+ |
|
|
664 |
+ |
private void feedListBoxNews1_LayoutUpdated(object sender, EventArgs e) |
|
665 |
+ |
{ |
427 |
666 |
|
|
428 |
|
- |
|
429 |
667 |
|
} |
430 |
668 |
|
|
|
669 |
+ |
private void boxArticolo_Hold(object sender, System.Windows.Input.GestureEventArgs e) |
|
670 |
+ |
{ |
|
671 |
+ |
|
|
672 |
+ |
} |
|
673 |
+ |
|
|
674 |
+ |
|
|
675 |
+ |
|
|
676 |
+ |
|
|
677 |
+ |
|
431 |
678 |
|
|
432 |
679 |
|
|
433 |
680 |
|
|