/[xmltv_parser]/trunk/xmltv_parser/main.cs
ViewVC logotype

Diff of /trunk/xmltv_parser/main.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 49 by william, Fri Mar 8 05:20:12 2013 UTC revision 52 by william, Fri Mar 8 07:01:37 2013 UTC
# Line 15  using System.Threading; Line 15  using System.Threading;
15    
16  namespace xmltv_parser  namespace xmltv_parser
17  {  {
18    
19      public partial class main : Form      public partial class main : Form
20      {      {
21          bool form_closing = false;          bool form_closing = false;
22          private IXMLTVRuntimeInstance xmltv;          //private IXMLTVRuntimeInstance xmltv;
23          private bool IsUnix          private bool IsUnix
24          {          {
25              get { return System.Environment.OSVersion.Platform == PlatformID.Unix; }              get { return System.Environment.OSVersion.Platform == PlatformID.Unix; }
# Line 36  namespace xmltv_parser Line 37  namespace xmltv_parser
37          bool HAVE_CR = false;          bool HAVE_CR = false;
38          void Log_OnFlush(object sender, LoggerOnFlushEventArgs e)          void Log_OnFlush(object sender, LoggerOnFlushEventArgs e)
39          {          {
40                
41              log_flusher.Append(e.Buffer);              log_flusher.Append(e.Buffer);
42              if (IsUnix)              if (IsUnix)
43              {              {
# Line 47  namespace xmltv_parser Line 48  namespace xmltv_parser
48                  }                  }
49              }              }
50              else              else
51              {                              {
52                  if (e.Buffer == System.Environment.NewLine[0])                  if (e.Buffer == System.Environment.NewLine[0])
53                  {                  {
54                      HAVE_CR = true;                      HAVE_CR = true;
# Line 59  namespace xmltv_parser Line 60  namespace xmltv_parser
60                      HAVE_CR = false;                      HAVE_CR = false;
61                  }                  }
62              }              }
63                
64          }          }
65          //bool txtLog_EnterMouse = false;          //bool txtLog_EnterMouse = false;
66    
# Line 74  namespace xmltv_parser Line 75  namespace xmltv_parser
75          void OnLogFlush(string logmessage)          void OnLogFlush(string logmessage)
76          {          {
77              if (this.IsDisposed) { return; }              if (this.IsDisposed) { return; }
78              Console.Write(logmessage);                      Console.Write(logmessage);
79              txtStatus.Text = logmessage.Replace(System.Environment.NewLine, "");              txtStatus.Text = logmessage.Replace(System.Environment.NewLine, "");
80              txtLog.AppendText(logmessage);              txtLog.AppendText(logmessage);
81    
# Line 96  namespace xmltv_parser Line 97  namespace xmltv_parser
97          }          }
98          private void main_Shown(object sender, EventArgs e)          private void main_Shown(object sender, EventArgs e)
99          {          {
100              //libxmltv.Core.XMLTV  
               
101          }          }
102    
103    
104          void LoadXMLTVShcedule(string schedule_xml)          void LoadXMLTVShcedule(string schedule_xml)
105          {          {
106              XMLTV.CreateInstance(schedule_xml, new EventHandler<CancelEventArgs>(xmltv_cancelevent));              XMLTV.CreateInstance(schedule_xml, new EventHandler<CancelEventArgs>(xmltv_cancelevent));
107              xmltv = XMLTV.GetInstance();              var program_count = XMLTV.GetInstance().Programs.Values.Count;
108              var program_count = xmltv.Programs.Values.Count;              var program_list = XMLTV.GetInstance().Programs.Values.ToList().OrderBy(s => s.Start);
             var program_list = xmltv.Programs.Values.ToList().OrderBy(s => s.Start);  
109              //Programs = program_list(0, program_count).ToList();              //Programs = program_list(0, program_count).ToList();
110              Programs = new List<IXMLTVProgram>(program_list.ToArray());              Programs = new List<IXMLTVProgram>(program_list.ToArray());
111          }          }
# Line 135  namespace xmltv_parser Line 134  namespace xmltv_parser
134    
135          private void mnuItemOpenXMLTVFile_Click(object sender, EventArgs e)          private void mnuItemOpenXMLTVFile_Click(object sender, EventArgs e)
136          {          {
137              ClearLocalLog();              try
138              //LoadXMLTVShcedule("20130307_continuum_schedule.xml");              {
139              var result = xmltv_file_chooser.ShowDialog();                  //LoadXMLTVShcedule("20130307_continuum_schedule.xml");
140              if (result != DialogResult.OK) return;                  var result = xmltv_file_chooser.ShowDialog();
141              LoadXMLTVShcedule(xmltv_file_chooser.FileName);                  if (result != DialogResult.OK) return;
142              CreateControls();                  ClearLocalLog();
143                    LoadXMLTVShcedule(xmltv_file_chooser.FileName);
144                    CreateControls();
145                }
146                catch (Exception ex)
147                {
148                    gLog.Log.Error.WriteLine(ex.ToString());
149                }
150          }          }
151    
152          private void mnuItemOpenSavedData_Click(object sender, EventArgs e)          private void mnuItemOpenSavedData_Click(object sender, EventArgs e)
153          {          {
154              var result = xmltv_program_data_loader.ShowDialog();              try
             if (result != DialogResult.OK) return;  
             string filename = xmltv_program_data_loader.FileName;  
             if (!XMLTV.GetSerializer().DeSerialize(filename, out xmltv))  
155              {              {
156                  MessageBox.Show("Failed to load data - check log", "Failed to load data", MessageBoxButtons.OK, MessageBoxIcon.Error);                  var result = xmltv_program_data_loader.ShowDialog();
157                  return;                  if (result != DialogResult.OK) return;
158                    string filename = xmltv_program_data_loader.FileName;
159                    IXMLTVRuntimeInstance xmltv = null;
160                    bool status = false;
161                    xmltv = XMLTV.DeSerialize(filename, out status);
162                    if (!status)
163                    {
164                        MessageBox.Show("Failed to load data - check log", "Failed to load data", MessageBoxButtons.OK, MessageBoxIcon.Error);
165                        return;
166                    }
167                    MessageBox.Show("Successfully loaded data", "Successfully loaded data", MessageBoxButtons.OK, MessageBoxIcon.Information);
168                    CreateControls();
169                }
170                catch (Exception ex)
171                {
172                    gLog.Log.Error.WriteLine(ex.ToString());
173              }              }
             MessageBox.Show("Successfully loaded data", "Successfully loaded data", MessageBoxButtons.OK, MessageBoxIcon.Information);  
             CreateControls();  
174          }          }
175    
176          private void mnuItemSaveData_Click(object sender, EventArgs e)          private void mnuItemSaveData_Click(object sender, EventArgs e)
177          {          {
178              var result = xmltv_program_data_saver.ShowDialog();              try
179              if (result != DialogResult.OK) return;              {
180              string filename = xmltv_program_data_saver.FileName;                  var result = xmltv_program_data_saver.ShowDialog();
181              if (!XMLTV.GetSerializer().Serialize(filename))                  if (result != DialogResult.OK) return;
182                    string filename = xmltv_program_data_saver.FileName;
183                    if (!XMLTV.Serialize(filename))
184                    {
185                        MessageBox.Show("Failed to save data - check log", "Failed to save data", MessageBoxButtons.OK, MessageBoxIcon.Error);
186                        return;
187                    }
188                    MessageBox.Show("Successfully saved data", "Successfully saved data", MessageBoxButtons.OK, MessageBoxIcon.Information);
189                }
190                catch (Exception ex)
191              {              {
192                  MessageBox.Show("Failed to save data - check log", "Failed to save data", MessageBoxButtons.OK, MessageBoxIcon.Error);                  gLog.Log.Error.WriteLine(ex.ToString());
                 return;  
193              }              }
             MessageBox.Show("Successfully saved data", "Successfully saved data", MessageBoxButtons.OK, MessageBoxIcon.Information);  
194          }          }
195    
196          private void main_FormClosing(object sender, FormClosingEventArgs e)          private void main_FormClosing(object sender, FormClosingEventArgs e)

Legend:
Removed from v.49  
changed lines
  Added in v.52

  ViewVC Help
Powered by ViewVC 1.1.22