private void btnPlaySound_Click(object sender, EventArgs e) { if (TaskSoundType == SoundType.Internal) { SoundPlayer sp = new SoundPlayer(Properties.Resources.alarm); sp.Load(); sp.Play(); } if (TaskSoundType == SoundType.User) { if (SoundFile == "") { lblFormMsg.ForeColor = Color.Red; lblFormMsg.Text = "Файл не указан!"; return; } try { SoundPlayer sp = new SoundPlayer(SoundFile); sp.Load(); sp.Play(); } catch (Exception ex) { CommonFunctions.ErrMessage(ex.Message); } } }
private void mnuFileCopyConfig_Click(object sender, EventArgs e) { dlgSave.FileName = ""; DialogResult Ans = dlgSave.ShowDialog(); if (Ans == DialogResult.Cancel) { return; } if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); return; } try { File.Copy(cConfig.ConfigPath + cConfig.ConfigFileName, dlgSave.FileName); } catch (Exception ex) { CommonFunctions.ErrMessage(ex.Message); } }
private void mnuTrashClean_Click(object sender, EventArgs e) { if (cConfig.dsConfig.Tables["TrashNotes"].Rows.Count == 0) { return; } DialogResult Ans = MessageBox.Show("Очистить корзину?\r\n ОТМЕНИТЬ БУДЕТ НЕВОЗМОЖНО!", "ОЧИСТКА КОРЗИНЫ", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (Ans == DialogResult.No) { return; } while (cConfig.dsConfig.Tables["TrashNotes"].Rows.Count > 0) { DataRow dr = CurRec("TrashNotes", 0); //удаление из корзины cConfig.dsConfig.Tables["TrashNotes"].Rows.Remove(dr); } if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); } }
private void mnuToolsSave_Click(object sender, EventArgs e) { DataRow dr = CurRec("Notes"); if (dr == null) { return; } dlgSaveFile.FileName = ""; DialogResult Ans = dlgSaveFile.ShowDialog(); if (Ans == DialogResult.Cancel) { return; } string buf = dr["Caption"] + "\r\n\r\n" + CommonFunctions.AtCRLF((string)dr["Text"]); try { File.WriteAllText(dlgSaveFile.FileName, buf, Encoding.GetEncoding(1251)); } catch (Exception ex) { CommonFunctions.ErrMessage(ex.Message); } }
private void mnuTrashRestoreAll_Click(object sender, EventArgs e) { if (cConfig.dsConfig.Tables["TrashNotes"].Rows.Count == 0) { return; } DialogResult Ans = MessageBox.Show("Восстановить все записи?", "Массовое восстановление", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (Ans == DialogResult.No) { return; } while (cConfig.dsConfig.Tables["TrashNotes"].Rows.Count > 0) { DataRow dr = CurRec("TrashNotes", 0); //восстановление cConfig.dsConfig.Tables["Notes"].Rows.Add(null, dr["Caption"].ToString(), dr["Text"].ToString()); //удаление из корзины cConfig.dsConfig.Tables["TrashNotes"].Rows.Remove(dr); } if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); } }
private void mnuEditDeleteAll_Click(object sender, EventArgs e) { if (cConfig.dsConfig.Tables["Notes"].Rows.Count == 0) { return; } DialogResult Ans = MessageBox.Show("Действительно удалить все записи?", "Массовое удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (Ans == DialogResult.No) { return; } while (cConfig.dsConfig.Tables["Notes"].Rows.Count > 0) { DataRow dr = CurRec("Notes", 0); //копирование в корзину cConfig.dsConfig.Tables["TrashNotes"].Rows.Add(null, dr["Caption"].ToString(), dr["Text"].ToString()); //удаление cConfig.dsConfig.Tables["Notes"].Rows.Remove(dr); } if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); } FindRows = null; }
private void mnuEditEdit_Click(object sender, EventArgs e) { DataRow dr = CurRec("Notes"); if (dr == null) { return; } frmAdd fAdd = new frmAdd(); fAdd.stNote = dr["Text"].ToString(); fAdd.stCaption = dr["Caption"].ToString(); fAdd.bEdit = true; fAdd.ShowDialog(); if (fAdd.bSuccess) { dr["Text"] = fAdd.stNote; dr["Caption"] = fAdd.stCaption; } if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); } FindRows = null; }
private void mnuToolsSaveAll_Click(object sender, EventArgs e) { dlgSaveFile.FileName = ""; DialogResult Ans = dlgSaveFile.ShowDialog(); if (Ans == DialogResult.Cancel) { return; } if (cConfig.dsConfig.Tables["Notes"].Rows.Count == 0) { return; } string buf = ""; foreach (DataRow dr in cConfig.dsConfig.Tables["Notes"].Rows) { buf = buf + dr["Caption"] + "\r\n\r\n" + CommonFunctions.AtCRLF((string)dr["Text"]) + "\r\n--------------------\r\n"; } try { File.WriteAllText(dlgSaveFile.FileName, buf, Encoding.GetEncoding(1251)); } catch (Exception ex) { CommonFunctions.ErrMessage(ex.Message); } }
private void mnuTasksStartAll_Click(object sender, EventArgs e) { WorkerErrorLevel wol = Worker.StartAutoRefresh(); if (wol != WorkerErrorLevel.OK) { CommonFunctions.ErrMessage(Worker.TaskErrMessage); statlblMessages.ForeColor = Color.Red; statlblMessages.Text = Worker.TaskErrMessage; } else { if (Worker.TaskErrMessage == string.Empty) { statlblMessages.ForeColor = Color.Black; statlblMessages.Text = "Задачи запущены. " + "Задач " + Worker.LoadedTasksCount(); } else { statlblMessages.ForeColor = Color.Crimson; statlblMessages.Text = Worker.TaskErrMessage; } mnuTasksStartAll.Enabled = false; mnuTasksStopAll.Enabled = true; mnuTasksRestart.Enabled = true; } }
private void mnuTrashDelete_Click(object sender, EventArgs e) { //выбор записи в корзине DataRow dr = CurRec("TrashNotes"); if (dr == null) { return; } DialogResult Ans = MessageBox.Show("Окончательно удалить запись " + dr["Caption"].ToString() + "?\r\nОтменить будет невозможно!", "Окончательное удаление записи", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (Ans == DialogResult.No) { return; } //удаление из корзины cConfig.dsConfig.Tables["TrashNotes"].Rows.Remove(dr); if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); } }
private void lblDelete_Click(object sender, EventArgs e) { DialogResult Ans = MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (Ans == DialogResult.No) { return; } if ((CurRow > -1) && (CurRow < RowsCount)) //запись сохраненная { //удаление try { //поиск записи DataRow dr = cConfig.dsConfig.Tables["Notes"].Rows.Find(recID); //копирование заметки в "корзину" cConfig.dsConfig.Tables["TrashNotes"].Rows.Add( null, dr["Caption"], dr["Text"]); //удаление cConfig.dsConfig.Tables["Notes"].Rows.Remove(dr); } catch (Exception ex) { CommonFunctions.ErrMessage(ex.Message); return; } //сохраняем файл if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); return; } //очищаем текстовые поля txtCaption.Text = ""; txtNote.Text = ""; CountersUpdate(); //обновляем счетчики //Показываем if (CurRow == RowsCount) //если записей нет пустую { NewRec(true); } else //следующую запись если записи есть { ShowCurRec(); } } else //это была новая запись { //очищаем текстовые поля txtCaption.Text = ""; txtNote.Text = ""; } }
private void mnuEditDelete_Click(object sender, EventArgs e) { if (grdMain.CurrentRow == null) { return; } int RecID = (int)grdMain.CurrentRow.Cells["ID"].Value; //проверка, не заблокирована ли запись if (LockedRecIDs.Contains(RecID)) { CommonFunctions.InfoMessage("Запись заблокирована, так как данное задание выполняется", "Запись заблокирована"); return; } DataRow dr = cConfig.dsConfig.Tables["Tasks"].Rows.Find(RecID); DialogResult Ans = MessageBox.Show("Окончательно удалить задачу " + dr["Name"].ToString() + "?\r\nОтменить будет невозможно!", "Удаление задачи", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (Ans == DialogResult.No) { return; } //определение, удаляется ли последняя строка в гриде bool LastRow = false; int gridy = grdMain.CurrentCellAddress.Y; int gridx = grdMain.CurrentCellAddress.X; if (gridy == (grdMain.Rows.Count - 1)) { LastRow = true; } //удаление задачи cConfig.dsConfig.Tables["Tasks"].Rows.Remove(dr); //выгружаем из списка запущенных, если есть WorkerErrorLevel wol = Worker.RemoveTask(RecID, false); showworkererror(wol, "Задача удалена"); if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); } FindRows = null; if (LastRow) { if (grdMain.Rows.Count > 0) { grdMain.Rows[grdMain.Rows.Count - 1].Cells[gridx].Selected = true; } } }
private void btnOK_Click(object sender, EventArgs e) { if (FileName == "") { CommonFunctions.ErrMessage("Не выбран файл!"); return; } bSuccess = true; this.Close(); }
private void mnuEditEdit_Click(object sender, EventArgs e) { if (grdMain.CurrentRow == null) { return; } //Подготовка данных для редактирования int RecID = (int)grdMain.CurrentRow.Cells["ID"].Value; cTask Task = null; //проверка, не заблокирована ли запись if (LockedRecIDs.Contains(RecID)) { CommonFunctions.InfoMessage("Запись заблокирована, так как данное задание выполняется", "Запись заблокирована"); return; } try { Task = new cTask(cConfig.dsConfig, "Tasks", RecID); } catch (Exception ex) { CommonFunctions.ErrMessage(ex.Message); statlblMessages.ForeColor = Color.Red; statlblMessages.Text = "ОШИБКА: " + ex.Message; return; } //форма редактирования frmAddTask fAddTask = new frmAddTask(); fAddTask.fMain = this; fAddTask.Task = Task; fAddTask.bEdit = true; fAddTask.ShowDialog(); OnLockRecord = null; OnUnlockRecord = null; if (fAddTask.bSuccess) { FindRows = null; //обнуление поиска //отредактированное задание должно быть в очереди на выполнение if (Worker.RunningInCurrentPeriod(RecID)) { Worker.RemoveTask(RecID, false); //удаляем WorkerErrorLevel wol = Worker.AddTask(RecID); //перезапускаем showworkererror(wol, "Задача сохранена и запущена на выполнение."); } } }
private void pctLogo_Click(object sender, EventArgs e) { try { Process.Start("http://tolik-punkoff.com"); } catch (Exception ex) { CommonFunctions.ErrMessage(ex.Message); } }
void Worker_OnAutoRefreshError(object sender) { cTaskWorker w = (cTaskWorker)sender; CommonFunctions.ErrMessage(w.TaskErrMessage); WorkerErrorLevel wol = w.StopAutoRefresh(); if (wol != WorkerErrorLevel.OK) { CommonFunctions.ErrMessage(w.TaskErrMessage); } }
private void btnPlaySound_Click(object sender, EventArgs e) { try { SoundPlayer sp = new SoundPlayer(FileName); sp.Load(); sp.Play(); } catch (Exception ex) { CommonFunctions.ErrMessage(ex.Message); } }
private void mnuEditDelete_Click(object sender, EventArgs e) { //поиск DataRow dr = CurRec("Notes"); if (dr == null) { return; } DialogResult Ans = MessageBox.Show("Удалить запись " + dr["Caption"].ToString() + "?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (Ans == DialogResult.No) { return; } //определение, удаляется ли последняя строка в гриде bool LastRow = false; int gridy = grdMain.CurrentCellAddress.Y; int gridx = grdMain.CurrentCellAddress.X; if (gridy == (grdMain.Rows.Count - 1)) { LastRow = true; } //копирование в корзину cConfig.dsConfig.Tables["TrashNotes"].Rows.Add(null, dr["Caption"].ToString(), dr["Text"].ToString()); //удаление cConfig.dsConfig.Tables["Notes"].Rows.Remove(dr); if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); } FindRows = null; if (LastRow) { if (grdMain.Rows.Count > 0) { grdMain.Rows[grdMain.Rows.Count - 1].Cells[gridx].Selected = true; } } }
private void btnAutostart_Click(object sender, EventArgs e) { bool res = cConfig.SwitchAutostart(); if (!res) { CommonFunctions.ErrMessage("Неудача при изменении автозагрузки! Возможно нужно запустить программу с правами администратора!"); } else { MessageBox.Show("Успешно изменена автозагрузка!", "Успешно", MessageBoxButtons.OK, MessageBoxIcon.Information); } AutostartInfo(); }
private void mnuEditAdd_Click(object sender, EventArgs e) { frmAdd fAdd = new frmAdd(); fAdd.ShowDialog(); if (fAdd.bSuccess) { cConfig.dsConfig.Tables["Notes"].Rows.Add(null, fAdd.stCaption, fAdd.stNote); } if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); } FindRows = null; }
private void mnuToolsRestoreWindow_Click(object sender, EventArgs e) { RestoreWindow = true; cConfig.SetParameter("AllNotes.Maximized", "false"); cConfig.SetParameter("AllNotes.Top", string.Empty); cConfig.SetParameter("AllNotes.Left", string.Empty); cConfig.SetParameter("AllNotes.Width", "601"); cConfig.SetParameter("AllNotes.Height", "373"); if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); } else { MessageBox.Show("Параметры окна по умолчанию восстановлены \r\n" + "Откройте окно вновь.", "Готово", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } }
private void mnuTrashRestore_Click(object sender, EventArgs e) { //выбор записи в корзине DataRow dr = CurRec("TrashNotes"); if (dr == null) { return; } //восстановление cConfig.dsConfig.Tables["Notes"].Rows.Add(null, dr["Caption"].ToString(), dr["Text"].ToString()); //удаление из корзины cConfig.dsConfig.Tables["TrashNotes"].Rows.Remove(dr); if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); } }
private void TimeAlarm() { if (Convert.ToBoolean(cConfig.GetParameter("Baloon", "false"))) { CommonFunctions.globalNI.ShowBalloonTip(5000, "Сработал таймер", cConfig.GetParameter("Message", ""), ToolTipIcon.None); } int soundtype = Convert.ToInt32(cConfig.GetParameter("SoundType", "0")); switch (soundtype) { case 0: //встроенный звук { SoundPlayer sp = new SoundPlayer(Properties.Resources.alarm); sp.Load(); sp.Play(); }; break; case 1: //пользовательский файл { string soundfile = cConfig.GetParameter("SoundFile", ""); try { SoundPlayer sp = new SoundPlayer(soundfile); sp.Load(); sp.Play(); } catch (Exception ex) { CommonFunctions.ErrMessage(ex.Message); } }; break; } }
void showworkererror(WorkerErrorLevel wol, string oktext) { switch (wol) { case WorkerErrorLevel.Error: { statlblMessages.ForeColor = Color.Red; statlblMessages.Text = Worker.TaskErrMessage; CommonFunctions.ErrMessage(Worker.TaskErrMessage); }; break; case WorkerErrorLevel.Warning: { statlblMessages.ForeColor = Color.Crimson; statlblMessages.Text = Worker.TaskErrMessage; }; break; default: { statlblMessages.ForeColor = Color.Black; statlblMessages.Text = oktext; }; break; } }
private void lblSave_Click(object sender, EventArgs e) { if (isEdit) //редактирование существующей записи { if ((txtCaption.Text == "") && (txtNote.Text == "")) { DialogResult Ask = MessageBox.Show("Сохранить пустую запись?", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (Ask == DialogResult.No) { return; } } DataRow dr = cConfig.dsConfig.Tables["Notes"].Rows.Find(recID); int idx = cConfig.dsConfig.Tables["Notes"].Rows.IndexOf(dr); try { cConfig.dsConfig.Tables["Notes"].Rows[idx]["Caption"] = txtCaption.Text; cConfig.dsConfig.Tables["Notes"].Rows[idx]["Text"] = txtNote.Text; } catch (Exception ex) { CommonFunctions.ErrMessage(ex.Message); return; } } else //новая запись { if ((txtCaption.Text == "") && (txtNote.Text == "")) { return; } try { //создаем новую запись DataRow dr = cConfig.dsConfig.Tables["Notes"].NewRow(); dr["Caption"] = txtCaption.Text; dr["Text"] = txtNote.Text; if (CurRow < 0) { //вставляем новую запись вперед cConfig.dsConfig.Tables["Notes"].Rows.InsertAt(dr, 0); } else { //добавляем в конец cConfig.dsConfig.Tables["Notes"].Rows.Add(dr); } //ее индекс и ID будет текущим CurRow = cConfig.dsConfig.Tables["Notes"].Rows.IndexOf(dr); recID = (int)dr["ID"]; } catch (Exception ex) { CommonFunctions.ErrMessage(ex.Message); return; } if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); return; } } isEdit = true; CountersUpdate(); }
private void frmMain_Load(object sender, EventArgs e) { niMain.Icon = XuliOrganizzer.Properties.Resources.Clock1; CommonFunctions.globalNI = niMain; if (File.Exists(cConfig.ConfigPath + cConfig.ConfigFileName)) { if (!cConfig.LoadConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); } } //загрузка данных grdMain.DataSource = cConfig.dsConfig.Tables["Tasks"].DefaultView; //поиск по умолчанию скрыт mnuFieldNameDSBL.Visible = false; mnuFindDown.Visible = false; mnuFindDSBL.Visible = false; mnuFindUp.Visible = false; mtxtFind.Visible = false; //загрузка и установка параметров окна bool Maximized = false; try { Maximized = Convert.ToBoolean(cConfig.GetParameter("Main.Maximized", "false")); } catch { Maximized = false; } if (Maximized) { this.WindowState = FormWindowState.Maximized; } else { this.WindowState = FormWindowState.Normal; try { this.Width = Convert.ToInt32(cConfig.GetParameter("Main.Width", "640")); this.Height = Convert.ToInt32(cConfig.GetParameter("Main.Height", "453")); } catch { this.Width = 640; this.Height = 453; } } //запуск задач int wn = Convert.ToInt32(cConfig.GetParameter("Global.Notification", "0")); Worker.WorkerNotification = (NotificationType)wn; Worker.OnAutoRefreshError += new cTaskWorker.AutoRefreshError(Worker_OnAutoRefreshError); Worker.OnAutorefreshComplete += new cTaskWorker.AutoRefreshComplete(Worker_OnAutorefreshComplete); Worker.OnOverdueTaskDetected += new cTaskWorker.OverdueTaskDetected(Worker_OnOverdueTaskDetected); Worker.OnStartRunTask += new cTaskWorker.StartRunTask(Worker_OnStartRunTask); Worker.OnStopTask += new cTaskWorker.StopTask(Worker_OnStopTask); Worker.OnCompleteTask += new cTaskWorker.CompleteTask(Worker_OnCompleteTask); Worker.fMain = this; mnuTasksStartAll_Click(null, null); }
private void mnuEditActivate_Click(object sender, EventArgs e) { if (grdMain.CurrentRow == null) { return; } int RecID = (int)grdMain.CurrentRow.Cells["ID"].Value; //проверка, не заблокирована ли запись if (LockedRecIDs.Contains(RecID)) { CommonFunctions.InfoMessage("Запись заблокирована, так как данное задание выполняется", "Запись заблокирована"); return; } DataRow dr = cConfig.dsConfig.Tables["Tasks"].Rows.Find(RecID); bool Active = (bool)dr["Active"]; bool stopped = false; grdMain_SelectionChanged(null, null); //есть ли задача в списке на выполнение if (Worker.IsTaskExist(RecID)) { //есть, значит активна, надо остановить и удалить из списка WorkerErrorLevel wol = Worker.RemoveTask(RecID, false); showworkererror(wol, "Задача остановлена"); if (wol != WorkerErrorLevel.OK) { return; } Active = false; stopped = true; } else //в списке нет { //меняем активность на противоположную Active = !Active; } //сохранение в БД dr["Active"] = Active; bool scfg = cConfig.SaveConfig(); if (!scfg) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); return; } if (Active) //если была активирована { if (Worker.RunningInCurrentPeriod(RecID)) //должна ли выполняться { //надо добавить в список и запустить WorkerErrorLevel wol = Worker.AddTask(RecID); showworkererror(wol, "Задача активирована и запущена"); } else { statlblMessages.ForeColor = Color.Black; statlblMessages.Text = "Задача активирована."; } } else { if (stopped) { statlblMessages.ForeColor = Color.Black; statlblMessages.Text = "Задача остановлена и деактивирована."; } else { statlblMessages.ForeColor = Color.Black; statlblMessages.Text = "Задача деактивирована."; } } }
private void frmMain_FormClosing(object sender, FormClosingEventArgs e) { if (!ExitFromMenu) //пользователь закрыл форму крестиком, а не вышел из меню { if (Convert.ToBoolean(cConfig.GetParameter("Global.AskMainBehavior", "true"))) { //спросить о поведении формы frmMainBeh fMainBeh = new frmMainBeh(); DialogResult Ask = fMainBeh.ShowDialog(); if (Ask == DialogResult.No) { e.Cancel = true; return; } } //проверить что делать FormBehavior MainBehavior = (FormBehavior)Convert.ToInt32( cConfig.GetParameter("Global.MainBehavior", "0")); if (MainBehavior == FormBehavior.Hide) //скрыть форму { this.Hide(); e.Cancel = true; } } bool Maximized = false; //если форма минимизирована перед закрытием //не сохранять параметры окна if (this.WindowState == FormWindowState.Minimized) { return; } if (this.WindowState == FormWindowState.Maximized) { Maximized = true; } cConfig.SetParameter("Main.Maximized", Maximized.ToString()); cConfig.SetParameter("Main.Width", this.Width.ToString()); cConfig.SetParameter("Main.Height", this.Height.ToString()); //закрытие не отменено - останавливаем задачи if (!e.Cancel) { WorkerErrorLevel wol = Worker.StopAutoRefresh(); if (wol != WorkerErrorLevel.OK) { CommonFunctions.ErrMessage(Worker.TaskErrMessage); } //LockedRecIDs.Clear(); //LockedRecIDs = null; } if (!cConfig.SaveConfig()) { CommonFunctions.ErrMessage(cConfig.ConfigErrMessage); } }