示例#1
0
        private void lbSchedule_DrawItem(object sender, DrawItemEventArgs e)
        {
            e.DrawBackground();
            int _i = e.Index;

            if (_i >= 0)
            {
                objectsCameraScheduleEntry _sched = CameraControl.Camobject.schedule.entries[_i];

                Font  _f;
                Brush _b;
                if (_sched.active)
                {
                    _f = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold);
                }
                else
                {
                    _f = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular);
                }
                if (!chkSchedule.Checked)
                {
                    _b = Brushes.Gray;
                }
                else
                {
                    _b = Brushes.Black;
                }

                e.Graphics.DrawString(lbSchedule.Items[_i].ToString(), _f, _b, e.Bounds);

                //_f.Dispose();
                //_b.Dispose();
                e.DrawFocusRectangle();
            }
        }
示例#2
0
        private bool ConfigureSchedule(objectsCameraScheduleEntry _sched)
        {
            if (ddlHourStart.SelectedItem.ToString() == "-" || ddlMinuteStart.SelectedItem.ToString() == "-")
            {
                _sched.start = "-:-";
            }
            else
            {
                _sched.start = ddlHourStart.SelectedItem + ":" + ddlMinuteStart.SelectedItem;
            }
            if (ddlHourEnd.SelectedItem.ToString() == "-" || ddlMinuteEnd.SelectedItem.ToString() == "-")
            {
                _sched.stop = "-:-";
            }
            else
            {
                _sched.stop = ddlHourEnd.SelectedItem + ":" + ddlMinuteEnd.SelectedItem;
            }

            _sched.daysofweek = "";
            if (chkMon.Checked)
            {
                _sched.daysofweek += "1,";
            }
            if (chkTue.Checked)
            {
                _sched.daysofweek += "2,";
            }
            if (chkWed.Checked)
            {
                _sched.daysofweek += "3,";
            }
            if (chkThu.Checked)
            {
                _sched.daysofweek += "4,";
            }
            if (chkFri.Checked)
            {
                _sched.daysofweek += "5,";
            }
            if (chkSat.Checked)
            {
                _sched.daysofweek += "6,";
            }
            if (chkSun.Checked)
            {
                _sched.daysofweek += "0,";
            }
            _sched.daysofweek = _sched.daysofweek.Trim(',');
            if (_sched.daysofweek == "")
            {
                MessageBox.Show(LocRM.GetString("Validate_Camera_SelectOneDay"));
                return(false);
            }

            _sched.active = chkScheduleActive.Checked;
            return(true);
        }
示例#3
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            int _i = lbSchedule.SelectedIndex;
            objectsCameraScheduleEntry _sched = CameraControl.Camobject.schedule.entries[_i];

            if (ConfigureSchedule(_sched))
            {
                ShowSchedule(_i);
            }
        }
示例#4
0
        private void button2_Click_1(object sender, EventArgs e)
        {
            List <objectsCameraScheduleEntry> _scheds = CameraControl.Camobject.schedule.entries.ToList();
            objectsCameraScheduleEntry        _sched  = new objectsCameraScheduleEntry();

            if (ConfigureSchedule(_sched))
            {
                _scheds.Add(_sched);
                CameraControl.Camobject.schedule.entries = _scheds.ToArray();
                ShowSchedule(CameraControl.Camobject.schedule.entries.Count() - 1);
            }
        }
示例#5
0
        private void lbSchedule_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lbSchedule.Items.Count == 0)
            {
                btnDelete.Enabled = btnUpdate.Enabled = false;
            }
            else
            {
                btnUpdate.Enabled = btnDelete.Enabled = (lbSchedule.SelectedIndex > -1);
                if (btnUpdate.Enabled)
                {
                    int _i = lbSchedule.SelectedIndex;
                    objectsCameraScheduleEntry _sched = CameraControl.Camobject.schedule.entries[_i];

                    string[] start = _sched.start.Split(':');
                    string[] stop  = _sched.stop.Split(':');


                    ddlHourStart.SelectedItem   = start[0];
                    ddlHourEnd.SelectedItem     = stop[0];
                    ddlMinuteStart.SelectedItem = start[1];
                    ddlMinuteEnd.SelectedItem   = stop[1];

                    chkMon.Checked = _sched.daysofweek.IndexOf("1") != -1;
                    chkTue.Checked = _sched.daysofweek.IndexOf("2") != -1;
                    chkWed.Checked = _sched.daysofweek.IndexOf("3") != -1;
                    chkThu.Checked = _sched.daysofweek.IndexOf("4") != -1;
                    chkFri.Checked = _sched.daysofweek.IndexOf("5") != -1;
                    chkSat.Checked = _sched.daysofweek.IndexOf("6") != -1;
                    chkSun.Checked = _sched.daysofweek.IndexOf("0") != -1;


                    chkScheduleActive.Checked = _sched.active;
                }
            }
        }
示例#6
0
文件: AddCamera.cs 项目: Jaejoon/iSpy
        private bool ConfigureSchedule(objectsCameraScheduleEntry sched)
        {
            if (ddlHourStart.SelectedItem.ToString() != "-" && ddlMinuteStart.SelectedItem.ToString() == "-")
            {
                ddlMinuteStart.SelectedIndex = 1;
            }
            if (ddlHourEnd.SelectedItem.ToString() != "-" && ddlMinuteEnd.SelectedItem.ToString() == "-")
            {
                ddlMinuteEnd.SelectedIndex = 1;
            }

            if (ddlHourStart.SelectedItem.ToString() == "-" || ddlMinuteStart.SelectedItem.ToString() == "-")
            {
                sched.start = "-:-";
            }
            else
                sched.start = ddlHourStart.SelectedItem + ":" + ddlMinuteStart.SelectedItem;
            if (ddlHourEnd.SelectedItem.ToString() == "-" || ddlMinuteEnd.SelectedItem.ToString() == "-")
            {
                sched.stop = "-:-";
            }
            else
                sched.stop = ddlHourEnd.SelectedItem + ":" + ddlMinuteEnd.SelectedItem;

            sched.daysofweek = "";
            if (chkMon.Checked)
            {
                sched.daysofweek += "1,";
            }
            if (chkTue.Checked)
            {
                sched.daysofweek += "2,";
            }
            if (chkWed.Checked)
            {
                sched.daysofweek += "3,";
            }
            if (chkThu.Checked)
            {
                sched.daysofweek += "4,";
            }
            if (chkFri.Checked)
            {
                sched.daysofweek += "5,";
            }
            if (chkSat.Checked)
            {
                sched.daysofweek += "6,";
            }
            if (chkSun.Checked)
            {
                sched.daysofweek += "0,";
            }
            sched.daysofweek = sched.daysofweek.Trim(',');
            if (sched.daysofweek == "")
            {
                MessageBox.Show(LocRm.GetString("Validate_Camera_SelectOneDay"));
                return false;
            }

            sched.recordonstart = chkRecordSchedule.Checked;
            sched.active = chkScheduleActive.Checked;
            sched.recordondetect = chkScheduleRecordOnDetect.Checked;
            sched.recordonalert = chkRecordAlertSchedule.Checked;
            sched.alerts = chkScheduleAlerts.Checked;
            sched.timelapseenabled = chkScheduleTimelapse.Checked;
            sched.ftpenabled = chkSchedFTPEnabled.Checked;
            sched.savelocalenabled = chkSchedSaveLocalEnabled.Checked;
            sched.ptz = chkschedPTZ.Checked;
            sched.messaging = chkScheduleMessaging.Checked;

            return true;
        }
示例#7
0
文件: AddCamera.cs 项目: Jaejoon/iSpy
 private void Button2Click1(object sender, EventArgs e)
 {
     List<objectsCameraScheduleEntry> scheds = CameraControl.Camobject.schedule.entries.ToList();
     var sched = new objectsCameraScheduleEntry();
     if (ConfigureSchedule(sched))
     {
         scheds.Add(sched);
         CameraControl.Camobject.schedule.entries = scheds.ToArray();
         ShowSchedule(CameraControl.Camobject.schedule.entries.Count() - 1);
     }
 }
示例#8
0
        public void ApplySchedule()
        {
            //find most recent schedule entry
            if (!Camobject.schedule.active || Camobject.schedule == null || Camobject.schedule.entries == null ||
                !Camobject.schedule.entries.Any())
            {
                return;
            }

            DateTime dNow     = DateTime.Now;
            TimeSpan shortest = TimeSpan.MaxValue;
            objectsCameraScheduleEntry mostrecent = null;
            bool isstart = true;

            for (int index = 0; index < Camobject.schedule.entries.Length; index++)
            {
                objectsCameraScheduleEntry entry = Camobject.schedule.entries[index];
                string[] dows = entry.daysofweek.Split(',');
                foreach (string dayofweek in dows)
                {
                    int dow = Convert.ToInt32(dayofweek);
                    //when did this last fire?
                    if (entry.start.IndexOf("-", StringComparison.Ordinal) == -1)
                    {
                        string[] start   = entry.start.Split(':');
                        var      dtstart = new DateTime(dNow.Year, dNow.Month, dNow.Day, Convert.ToInt32(start[0]),
                                                        Convert.ToInt32(start[1]), 0);
                        while ((int)dtstart.DayOfWeek != dow || dtstart > dNow)
                        {
                            dtstart = dtstart.AddDays(-1);
                        }
                        if (dNow - dtstart < shortest)
                        {
                            shortest   = dNow - dtstart;
                            mostrecent = entry;
                            isstart    = true;
                        }
                    }
                    if (entry.stop.IndexOf("-", StringComparison.Ordinal) == -1)
                    {
                        string[] stop   = entry.stop.Split(':');
                        var      dtstop = new DateTime(dNow.Year, dNow.Month, dNow.Day, Convert.ToInt32(stop[0]),
                                                       Convert.ToInt32(stop[1]), 0);
                        while ((int)dtstop.DayOfWeek != dow || dtstop > dNow)
                        {
                            dtstop = dtstop.AddDays(-1);
                        }
                        if (dNow - dtstop < shortest)
                        {
                            shortest   = dNow - dtstop;
                            mostrecent = entry;
                            isstart    = false;
                        }
                    }
                }
            }
            if (mostrecent != null)
            {
                if (isstart)
                {
                    Camobject.alerts.active = mostrecent.alerts;
                    if (!Camobject.settings.active)
                    {
                        Enable();
                    }
                }
                else
                {
                    if (Camobject.settings.active)
                    {
                        Disable();
                    }
                }
            }
        }
示例#9
0
        private bool ConfigureSchedule(objectsCameraScheduleEntry _sched)
        {
            if (ddlHourStart.SelectedItem.ToString() == "-" || ddlMinuteStart.SelectedItem.ToString() == "-")
            {
                _sched.start = "-:-";
            }
            else
                _sched.start = ddlHourStart.SelectedItem + ":" + ddlMinuteStart.SelectedItem;
            if (ddlHourEnd.SelectedItem.ToString() == "-" || ddlMinuteEnd.SelectedItem.ToString() == "-")
            {
                _sched.stop = "-:-";
            }
            else
                _sched.stop = ddlHourEnd.SelectedItem + ":" + ddlMinuteEnd.SelectedItem;

            _sched.daysofweek = "";
            if (chkMon.Checked)
            {
                _sched.daysofweek += "1,";
            }
            if (chkTue.Checked)
            {
                _sched.daysofweek += "2,";
            }
            if (chkWed.Checked)
            {
                _sched.daysofweek += "3,";
            }
            if (chkThu.Checked)
            {
                _sched.daysofweek += "4,";
            }
            if (chkFri.Checked)
            {
                _sched.daysofweek += "5,";
            }
            if (chkSat.Checked)
            {
                _sched.daysofweek += "6,";
            }
            if (chkSun.Checked)
            {
                _sched.daysofweek += "0,";
            }
            _sched.daysofweek = _sched.daysofweek.Trim(',');
            if (_sched.daysofweek == "")
            {
                MessageBox.Show(LocRM.GetString("Validate_Camera_SelectOneDay"));
                return false;
            }

            _sched.active = chkScheduleActive.Checked;
            return true;
        }
示例#10
0
 private void button2_Click_1(object sender, EventArgs e)
 {
     List<objectsCameraScheduleEntry> _scheds = CameraControl.Camobject.schedule.entries.ToList();
     objectsCameraScheduleEntry _sched = new objectsCameraScheduleEntry();
     if (ConfigureSchedule(_sched))
     {
         _scheds.Add(_sched);
         CameraControl.Camobject.schedule.entries = _scheds.ToArray();
         ShowSchedule(CameraControl.Camobject.schedule.entries.Count()-1);
     }
 }