Subversion Repository Public Repository

Nextrek

Diff Revisions 35 vs 36 for /WindowsPhone/NotizieTL/NotizieTL/MainPage.xaml.cs

Diff revisions: vs.
  @@ -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