internal WndAdjustSchedule(PNote note) : this() { _Schedule = (PNNoteSchedule)note.Schedule.Clone(); _Name = note.Name; _Note = note; }
internal PNote(PNote src) { _ID = DateTime.Now.ToString("yyMMddHHmmssfff"); if (src._Skin != null) { _Skin = src._Skin.PNClone(); } if (src._Skinless != null) { _Skinless = (PNSkinlessDetails) src._Skinless.Clone(); } _CustomOpacity = src._CustomOpacity; _GroupID = src._GroupID; _PrevGroupID = src._PrevGroupID; _Opacity = src._Opacity; _Schedule = (PNNoteSchedule)src._Schedule.Clone(); _Protected = src._Protected; _Completed = src._Completed; _Priority = src._Priority; _Pinned = src._Pinned; _Name = src._Name; _Topmost = src._Topmost; _Tags = new List<string>(src._Tags); _LinkedNotes = new List<string>(src._LinkedNotes); _PinClass = src._PinClass; _PinText = src._PinText; _Scrambled = src._Scrambled; var group = PNStatic.Groups.GetGroupByID(_GroupID); if (group != null) { group.GroupPropertyChanged += group_GroupPropertyChanged; } initFields(); }
internal static PNSkinDetails GetSkin(WndNote dlg, PNote note) { try { PNSkinDetails skn; if (note.Skin != null) { skn = note.Skin; } else { PNGroup gr = PNStatic.Groups.GetGroupByID(note.GroupID); if (gr.Skin == null || gr.Skin.SkinName == PNSkinDetails.NO_SKIN) //if (gr.ID != (int)SpecialGroups.Docking && gr.ID != (int)SpecialGroups.Diary) { // get General png skin gr = PNStatic.Groups.GetGroupByID(0); } skn = gr.Skin; } return(skn); } catch (Exception ex) { PNStatic.LogException(ex); return(null); } }
internal int RemoveThumbnail(PNote note, bool resetProperty = true) { try { var index = 0; var thb = Thumbnails.FirstOrDefault(t => t.Id == note.ID); if (thb != null) { index = Thumbnails.IndexOf(thb); thb.Click -= Thumbnail_Click; thb.MouseEnter -= Thumbnail_MouseEnter; thb.MouseLeave -= Thumbnail_MouseLeave; thb.MouseDoubleClick -= Thumbnail_MouseDoubleClick; Thumbnails.Remove(thb); } if (resetProperty) { note.Thumbnail = false; PNNotesOperations.SaveNoteThumbnail(note); } if (note.Dialog == null) { return(index); } note.PlaceOnScreen(); return(index); } catch (Exception ex) { PNStatic.LogException(ex); return(0); } }
private void changeNodeImage(PNote note) { try { foreach ( var tn in tvwResults.Items.OfType <PNTreeItem>().Where(tn => tn.Tag != null && (string)tn.Tag == note.ID)) { tn.SetImageResource(PNNotesOperations.GetNoteImage(note)); break; } } catch (Exception ex) { PNStatic.LogException(ex); } }
private void changeNodeName(PNote note) { try { foreach ( var tn in tvwResults.Items.OfType <PNTreeItem>().Where(tn => tn.Tag != null && (string)tn.Tag == note.ID)) { tn.Text = note.Name; break; } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static void PlaceOnScreen(this PNote note) { var size = PNStatic.AllScreensSize(); var rect = PNStatic.AllScreensBounds(); if (PNStatic.Settings.Behavior.RelationalPositioning) { note.Dialog.SetLocation(new Point((int)Math.Floor(size.Width * note.XFactor), (int)Math.Floor(size.Height * note.YFactor))); while (note.Dialog.Left + note.Dialog.Width > size.Width) { note.Dialog.Left--; } if (rect.X >= 0) { while (note.Dialog.Left < 0) { note.Dialog.Left++; } } while (note.Dialog.Top + note.Dialog.Height > size.Height) { note.Dialog.Top--; } if (rect.Y >= 0) { while (note.Dialog.Top < 0) { note.Dialog.Top++; } } } else { if (rect.IntersectsWith(new Rect(note.NoteLocation, note.NoteSize))) { note.Dialog.SetLocation(note.NoteLocation); } else { PNNotesOperations.CentralizeNotes(new[] { note }); } } }
private void addNote(PNote note) { try { var key = PNNotesOperations.GetNoteImage(note); _Notes.Add(new Result { IconSource = key, Created = note.DateCreated, Saved = note.DateSaved, Deleted = note.DateDeleted, Name = note.Name, Received = note.DateReceived, Sent = note.DateSent, Id = note.ID }); } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static void ApplyNoteSkin(WndNote dlg, PNote note, bool fromLoad = false) { try { PNSkinDetails skn = GetSkin(dlg, note); if (skn != null && skn.BitmapSkin != null) { if (dlg.Equals(note.Dialog)) { dlg.Hide(); } dlg.SetRuntimeSkin(skn.PNClone(), fromLoad); if (dlg.Equals(note.Dialog)) { dlg.Show(); } } } catch (Exception ex) { PNStatic.LogException(ex); } }
private void changeNoteDate(PNote note, NoteDateType type) { try { if (_Notes.Count == 0) { return; } var item = _Notes.FirstOrDefault(n => n.Id == note.ID); if (item == null) { return; } switch (type) { case NoteDateType.Saving: item.Saved = note.DateSaved; break; case NoteDateType.Sending: item.Sent = note.DateSent; break; case NoteDateType.Receiving: item.Received = note.DateReceived; break; case NoteDateType.Deletion: item.Deleted = note.DateDeleted; break; } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal WndAdjustAppearance(PNote note) : this() { _Note = note; }
internal static bool ApplyBooleanChange(PNote note, NoteBooleanTypes type, bool state, object stateObject) { try { switch (type) { case NoteBooleanTypes.Roll: note.Rolled = state; return SaveBooleanChange(note, state, "ROLLED"); case NoteBooleanTypes.Topmost: note.Topmost = state; return SaveBooleanChange(note, state, "TOPMOST"); case NoteBooleanTypes.Priority: note.Priority = state; return SaveBooleanChange(note, state, "PRIORITY"); case NoteBooleanTypes.Protection: note.Protected = state; return SaveBooleanChange(note, state, "PROTECTED"); case NoteBooleanTypes.Scrambled: note.Scrambled = state; return SaveBooleanChange(note, state, "SCRAMBLED"); case NoteBooleanTypes.Visible: note.Visible = state; return SaveBooleanChange(note, state, "VISIBLE"); case NoteBooleanTypes.Pin: note.Pinned = state; return SaveBooleanChange(note, state, "PINNED"); case NoteBooleanTypes.Password: if (state) { note.PasswordString = (string)stateObject; } else { note.PasswordString = ""; } return SavePasswordChange(note); case NoteBooleanTypes.Favorite: note.Favorite = state; return SaveBooleanChange(note, state, "FAVORITE"); case NoteBooleanTypes.Complete: note.Completed = state; return SaveBooleanChange(note, state, "COMPLETED"); case NoteBooleanTypes.Change: note.Changed = state; if (!note.Changed) { //note has been saved var sa = stateObject as SaveAsNoteNameSetEventArgs; if (sa != null) { note.Name = sa.Name; note.GroupID = sa.GroupID; } return !note.FromDB ? SaveNewNote(note) : SaveExistingNote(note); } return false; } return false; } catch (Exception ex) { PNStatic.LogException(ex); return false; } }
internal static bool LogIntoNoteOrGroup(PNote note) { try { var group = PNStatic.Groups.GetGroupByID(note.GroupID); var loggedGroups = new List<int>(); if (group != null) { if (!LoginToGroup(group, ref loggedGroups)) { return false; } } if (note.PasswordString.Trim().Length > 0) { if (!LoginToNote(note)) { return false; } } return true; } catch (Exception ex) { PNStatic.LogException(ex); return false; } }
internal static void SaveNoteThumbnail(PNote note) { try { if (note.FromDB) { var sb = new StringBuilder(); sb.Append("UPDATE NOTES SET THUMBNAIL = "); sb.Append(Convert.ToInt32(note.Thumbnail)); sb.Append(" WHERE ID = '"); sb.Append(note.ID); sb.Append("'"); using (var oData = new SQLiteDataObject(PNData.ConnectionString)) { oData.Execute(sb.ToString()); } } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static void SaveNoteLocation(PNote note, Point location) { try { note.NoteLocation = location; var factors = getRelationalFactors(note); note.XFactor = factors[0]; note.YFactor = factors[1]; if (note.FromDB) { var pc = new PointConverter(); var sb = new StringBuilder(); sb.Append("UPDATE NOTES SET LOCATION = '"); sb.Append(pc.ConvertToString(null, PNStatic.CultureInvariant, note.NoteLocation)); sb.Append("', REL_X = "); sb.Append(factors[0].ToString(PNStatic.CultureInvariant)); sb.Append(", REL_Y = "); sb.Append(factors[1].ToString(PNStatic.CultureInvariant)); sb.Append(" WHERE ID = '"); sb.Append(note.ID); sb.Append("'"); using (var oData = new SQLiteDataObject(PNData.ConnectionString)) { oData.Execute(sb.ToString()); } } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static void LoadBackupCopy(PNote note, Window owner) { try { var di = new DirectoryInfo(PNPaths.Instance.BackupDir); var fis = di.GetFiles(note.ID + "*" + PNStrings.NOTE_BACK_EXTENSION); var lenght = fis.Length; if (lenght == 0) { var message = PNLang.Instance.GetMessageText("no_backup_copies", "There are no backup copies for current note"); PNMessageBox.Show(message, PNStrings.PROG_NAME); return; } var ofn = new OpenFileDialog { Title = PNLang.Instance.GetCaptionText("restore_note", "Restore note") + @" [" + note.Name + @"]" }; var filter = PNLang.Instance.GetCaptionText("restore_filter", "Backup copies of notes"); filter += "(" + note.ID + "*" + PNStrings.NOTE_BACK_EXTENSION + ")|" + note.ID + "*" + PNStrings.NOTE_BACK_EXTENSION; ofn.Filter = filter; ofn.RestoreDirectory = true; ofn.InitialDirectory = PNPaths.Instance.BackupDir; if (!ofn.ShowDialog(owner).Value) return; LoadBackupFile(note, ofn.FileName); } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static void SaveNoteOpacity(PNote note) { try { var sb = new StringBuilder(); using (var oData = new SQLiteDataObject(PNData.ConnectionString)) { sb.Append("UPDATE NOTES SET OPACITY = "); sb.Append(note.Opacity.ToString(PNStatic.CultureInvariant)); sb.Append(" WHERE ID = '"); sb.Append(note.ID); sb.Append("'"); oData.Execute(sb.ToString()); sb = new StringBuilder(); if (isNotePresentedInCustomSettings(note)) { sb.Append("UPDATE CUSTOM_NOTES_SETTINGS SET CUSTOM_OPACITY = "); sb.Append(Convert.ToInt32(note.CustomOpacity)); sb.Append(" WHERE NOTE_ID = '"); sb.Append(note.ID); sb.Append("'"); } else { sb.Append("INSERT INTO CUSTOM_NOTES_SETTINGS (NOTE_ID, CUSTOM_OPACITY) VALUES('"); sb.Append(note.ID); sb.Append("', "); sb.Append(Convert.ToInt32(note.CustomOpacity)); sb.Append(")"); } oData.Execute(sb.ToString()); } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static int GetNoteIcon(PNote note) { try { if (note.GroupID == (int)SpecialGroups.RecycleBin) { return 16; } if (note.Visible) { if (note.FromDB) { if (note.Schedule.Type != ScheduleType.None && note.Changed) { return 3; } if (note.Schedule.Type != ScheduleType.None) { return 2; } if (note.Changed) { return 1; } return 0; } if (note.Schedule.Type != ScheduleType.None && note.Changed) { return 7; } if (note.Schedule.Type != ScheduleType.None) { return 6; } if (note.Changed) { return 5; } return 4; } if (note.FromDB) { if (note.Schedule.Type != ScheduleType.None && note.Changed) { return 11; } if (note.Schedule.Type != ScheduleType.None) { return 10; } if (note.Changed) { return 9; } return 8; } if (note.Schedule.Type != ScheduleType.None && note.Changed) { return 15; } if (note.Schedule.Type != ScheduleType.None) { return 14; } if (note.Changed) { return 13; } return 12; } catch (Exception ex) { PNStatic.LogException(ex); return 0; } }
internal static void LoadBackupCopy(PNote note, string fileBackUp) { try { var path = Path.Combine(PNPaths.Instance.BackupDir, fileBackUp); if (File.Exists(path)) { if (!note.Visible) { if (ShowHideSpecificNote(note, true) != ShowHideResult.Success) return; } LoadNoteFile(note.Dialog.Edit, path); } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static string GetNoteImage(PNote note) { try { if (note.GroupID == (int)SpecialGroups.RecycleBin) { return "lsdel"; //return new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lsdel.png")); } if (note.Visible) { if (note.FromDB) { if (note.Schedule.Type != ScheduleType.None && note.Changed) { return "lsvord_change_sch"; //return new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lsvord_change_sch.png")); } if (note.Schedule.Type != ScheduleType.None) { return "lsvord_sch"; //return new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lsvord_sch.png")); } return note.Changed ? "lsvord_change" //new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lsvord_change.png")) : "lsvord"; //new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lsvord.png")); } if (note.Schedule.Type != ScheduleType.None && note.Changed) { return "lsvnew_change_sch"; //return new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lsvnew_change_sch.png")); } if (note.Schedule.Type != ScheduleType.None) { return "lsvnew_sch"; //return new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lsvnew_sch.png")); } return note.Changed ? "lsvnew_change" : "lsvnew"; //new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lsvnew_change.png")) //new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lsvnew.png")); } if (note.FromDB) { if (note.Schedule.Type != ScheduleType.None && note.Changed) { return "lshord_change_sch"; //return new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lshord_change_sch.png")); } if (note.Schedule.Type != ScheduleType.None) { return "lshord_sch"; //return new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lshord_sch.png")); } return note.Changed ? "lshord_change" //new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lshord_change.png")) : "lshord"; //new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lshord.png")); } if (note.Schedule.Type != ScheduleType.None && note.Changed) { return "lshnew_change_sch"; //return new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lshnew_change_sch.png")); } if (note.Schedule.Type != ScheduleType.None) { return "lshnew_sch"; //return new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lshnew_sch.png")); } return note.Changed ? "lshnew_change" //new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lshnew_change.png")) : "lshnew"; //new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lshnew.png")); } catch (Exception ex) { PNStatic.LogException(ex); return "lsvord"; //return new BitmapImage(new Uri(PNStrings.RESOURCE_PREFIX + "lsvord.png")); } }
internal static void AdjustNoteSchedule(PNote note, Window owner) { try { var dlgSchedule = new WndAdjustSchedule(note) { Owner = owner }; dlgSchedule.ShowDialog(); } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static void SaveNoteSchedule(PNote note) { try { var ac = new AlarmAfterValuesConverter(); var mc = new MonthDayConverter(); var dc = new DaysOfWeekConverter(); var sb = new StringBuilder(); DeleteNoteSchedule(note); sb.Append("INSERT INTO NOTES_SCHEDULE (NOTE_ID,SCHEDULE_TYPE,ALARM_DATE,START_DATE,LAST_RUN,SOUND,STOP_AFTER,TRACK,REPEAT_COUNT,SOUND_IN_LOOP,USE_TTS,START_FROM,MONTH_DAY,ALARM_AFTER,WEEKDAYS,PROG_TO_RUN,CLOSE_ON_NOTIFICATION,MULTI_ALERTS,TIME_ZONE) VALUES('"); sb.Append(note.ID); sb.Append("',"); sb.Append(Convert.ToInt32(note.Schedule.Type)); sb.Append(",'"); sb.Append(note.Schedule.AlarmDate.ToString(PNStrings.DATE_TIME_FORMAT, PNStatic.CultureInvariant).Replace("'", "''")); sb.Append("','"); sb.Append(note.Schedule.StartDate.ToString(PNStrings.DATE_TIME_FORMAT, PNStatic.CultureInvariant).Replace("'", "''")); sb.Append("','"); sb.Append(note.Schedule.LastRun.ToString(PNStrings.DATE_TIME_FORMAT, PNStatic.CultureInvariant).Replace("'", "''")); sb.Append("','"); sb.Append(note.Schedule.Sound); sb.Append("',"); sb.Append(note.Schedule.StopAfter); sb.Append(","); sb.Append(Convert.ToInt32(note.Schedule.Track)); sb.Append(","); sb.Append(note.Schedule.RepeatCount); sb.Append(","); sb.Append(Convert.ToInt32(note.Schedule.SoundInLoop)); sb.Append(","); sb.Append(Convert.ToInt32(note.Schedule.UseTts)); sb.Append(","); sb.Append(Convert.ToInt32(note.Schedule.StartFrom)); sb.Append(",'"); sb.Append(mc.ConvertToString(note.Schedule.MonthDay)); sb.Append("','"); sb.Append(ac.ConvertToString(note.Schedule.AlarmAfter)); sb.Append("','"); sb.Append(dc.ConvertToString(note.Schedule.Weekdays)); sb.Append("','"); sb.Append(note.Schedule.ProgramToRunOnAlert); sb.Append("',"); sb.Append(Convert.ToInt32(note.Schedule.CloseOnNotification)); //MULTI_ALERTS if (note.Schedule.MultiAlerts.Any()) { var temp = new StringBuilder(); foreach (var ma in note.Schedule.MultiAlerts) { temp.Append(ma.Raised); temp.Append("|"); temp.Append(ma.Date.ToString(PNStrings.DATE_TIME_FORMAT, PNStatic.CultureInvariant).Replace("'", "''")); temp.Append("^"); } sb.Append(",'"); sb.Append(temp); sb.Append("'"); } else { sb.Append(",NULL"); } //TIME_ZONE if (note.Schedule.TimeZone != null) { sb.Append(",'"); sb.Append(note.Schedule.TimeZone.ToSerializedString()); sb.Append("'"); } else { sb.Append(",NULL"); } sb.Append(")"); using (var oData = new SQLiteDataObject(PNData.ConnectionString)) { oData.Execute(sb.ToString()); } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static void SaveNoteSkin(PNote note) { try { var sb = new StringBuilder(); using (var oData = new SQLiteDataObject(PNData.ConnectionString)) { if (isNotePresentedInCustomSettings(note)) { sb.Append("UPDATE CUSTOM_NOTES_SETTINGS SET SKIN_NAME = "); if (note.Skin != null) { sb.Append("'"); sb.Append(note.Skin.SkinName); sb.Append("'"); } else { sb.Append("NULL"); } sb.Append(" WHERE NOTE_ID = '"); sb.Append(note.ID); sb.Append("'"); } else { sb.Append("INSERT INTO CUSTOM_NOTES_SETTINGS (NOTE_ID, SKIN_NAME) VALUES("); if (note.Skin != null) { sb.Append("'"); sb.Append(note.ID); sb.Append("', '"); sb.Append(note.Skin.SkinName); sb.Append("')"); } else { sb.Append("'"); sb.Append(note.ID); sb.Append("', NULL)"); } } oData.Execute(sb.ToString()); } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static void LoadBackupFile(PNote note, string fileName) { try { if (!note.Visible) { if (ShowHideSpecificNote(note, true) != ShowHideResult.Success) return; } LoadNoteFile(note.Dialog.Edit, fileName); } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static void SaveNoteSkinless(PNote note) { try { var cr = new ColorConverter(); var lfc = new WPFFontConverter(); var sb = new StringBuilder(); using (var oData = new SQLiteDataObject(PNData.ConnectionString)) { if (isNotePresentedInCustomSettings(note)) { sb.Append("UPDATE CUSTOM_NOTES_SETTINGS SET BACK_COLOR = "); if (note.Skinless != null) { sb.Append("'"); sb.Append(cr.ConvertToString(null, PNStatic.CultureInvariant, note.Skinless.BackColor)); sb.Append("'"); } else { sb.Append("NULL"); } sb.Append(", CAPTION_FONT_COLOR = "); if (note.Skinless != null) { sb.Append("'"); sb.Append(cr.ConvertToString(null, PNStatic.CultureInvariant, note.Skinless.CaptionColor)); sb.Append("'"); } else { sb.Append("NULL"); } sb.Append(", CAPTION_FONT = "); if (note.Skinless != null) { sb.Append("'"); sb.Append(lfc.ConvertToString(note.Skinless.CaptionFont)); sb.Append("'"); } else { sb.Append("NULL"); } sb.Append(" WHERE NOTE_ID = '"); sb.Append(note.ID); sb.Append("'"); } else { sb.Append("INSERT INTO CUSTOM_NOTES_SETTINGS (NOTE_ID, BACK_COLOR, CAPTION_FONT_COLOR, CAPTION_FONT) VALUES("); if (note.Skinless != null) { sb.Append("'"); sb.Append(note.ID); sb.Append("', '"); sb.Append(cr.ConvertToString(null, PNStatic.CultureInvariant, note.Skinless.BackColor)); sb.Append("', '"); sb.Append(cr.ConvertToString(null, PNStatic.CultureInvariant, note.Skinless.CaptionColor)); sb.Append("', '"); sb.Append(lfc.ConvertToString(note.Skinless.CaptionFont)); sb.Append("')"); } else { sb.Append("'"); sb.Append(note.ID); sb.Append("', NULL, NULL, NULL)"); } } oData.Execute(sb.ToString()); } } catch (Exception ex) { PNStatic.LogException(ex); } }
private void findInNoteAtLeastOneWord(PNote note, string searchString, System.Windows.Forms.RichTextBoxFinds options, ref int count) { try { var foundTitle = false; PNRichEditBox edit; var strings = searchString.Split(' '); var counter = 0; var key = PNNotesOperations.GetNoteImage(note); var tn = new PNTreeItem(key, note.Name, note.ID); switch (_Scope) { case SearchScope.Titles: if (!strings.Any(s => note.Name.Contains(s))) { return; } count++; _FoundItems.Add(tn); return; case SearchScope.TextAndTitles: if (strings.Any(s => note.Name.Contains(s))) { count++; foundTitle = true; } break; } if (note.Visible) { edit = note.Dialog.Edit; } else { var path = Path.Combine(PNPaths.Instance.DataDir, note.ID + PNStrings.NOTE_EXTENSION); _HiddenEdit.Size = note.EditSize; PNNotesOperations.LoadNoteFile(_HiddenEdit, path); edit = _HiddenEdit; } var stop = edit.TextLength; foreach (var s in strings) { var start = 0; var index = edit.Find(s, start, options); if (index <= -1) { continue; } counter++; var current = 0; while (index > -1 && current <= index) { count++; current = index; var line = edit.GetLineFromCharIndex(index); var col = index - edit.GetFirstCharIndexFromLine(line); var t = new PNTreeItem("searchloc", s + " (" + _Line + " " + (line + 1).ToString(CultureInfo.InvariantCulture) + ", " + _Column + " " + (col + 1).ToString(CultureInfo.InvariantCulture) + ")", new[] { index, s.Length }); tn.Items.Add(t); if (s.Length > 1) { start = index + s.Length - 1; } else { start = index + s.Length; } if (start >= stop) { break; } index = edit.Find(s, start, options); } } if (counter > 0 || foundTitle) { if (_Scope == SearchScope.TextAndTitles) { if (counter > 0 && foundTitle) { tn.Text += @" " + _TextAndTitle; } else if (counter > 0) { tn.Text += @" " + _TextOnly; } else { tn.Text += @" " + _TitleOnly; } } _FoundItems.Add(tn); return; } count = 0; } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static void SaveNoteSize(PNote note, Size size, System.Drawing.Size editSize) { try { note.NoteSize = size; note.EditSize = editSize; if (note.FromDB) { var sc = new SizeConverter(); var scd = new System.Drawing.SizeConverter(); var sb = new StringBuilder(); sb.Append("UPDATE NOTES SET SIZE = '"); sb.Append(sc.ConvertToString(null, PNStatic.CultureInvariant, note.NoteSize)); sb.Append("', EDIT_SIZE = '"); sb.Append(scd.ConvertToString(null, PNStatic.CultureInvariant, note.EditSize)); sb.Append("' WHERE ID = '"); sb.Append(note.ID); sb.Append("'"); using (var oData = new SQLiteDataObject(PNData.ConnectionString)) { oData.Execute(sb.ToString()); } } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static PNSkinDetails GetSkin(WndNote dlg, PNote note) { try { PNSkinDetails skn; if (note.Skin != null) { skn = note.Skin; } else { PNGroup gr = PNStatic.Groups.GetGroupByID(note.GroupID); if (gr.Skin == null || gr.Skin.SkinName == PNSkinDetails.NO_SKIN) //if (gr.ID != (int)SpecialGroups.Docking && gr.ID != (int)SpecialGroups.Diary) { // get General png skin gr = PNStatic.Groups.GetGroupByID(0); } skn = gr.Skin; } return skn; } catch (Exception ex) { PNStatic.LogException(ex); return null; } }
internal static void SaveNotePin(PNote note) { try { if (note.FromDB) { var sb = new StringBuilder(); sb.Append("UPDATE NOTES SET PINNED = "); sb.Append(Convert.ToInt32(note.Pinned)); sb.Append(", PIN_CLASS = '"); sb.Append(note.PinClass); sb.Append("', PIN_TEXT = '"); sb.Append(note.PinText); sb.Append("' WHERE ID = '"); sb.Append(note.ID); sb.Append("'"); using (var oData = new SQLiteDataObject(PNData.ConnectionString)) { oData.Execute(sb.ToString()); } } } catch (Exception ex) { PNStatic.LogException(ex); } }
private void replaceEntireString(PNote note, string searchString, string replaceString, System.Windows.Forms.RichTextBoxFinds options, ref int count) { try { var start = 0; var foundText = false; PNRichEditBox edit; if (note.Visible) { edit = note.Dialog.Edit; } else { var path = Path.Combine(PNPaths.Instance.DataDir, note.ID + PNStrings.NOTE_EXTENSION); _HiddenEdit.Size = note.EditSize; PNNotesOperations.LoadNoteFile(_HiddenEdit, path); edit = _HiddenEdit; } var stop = edit.TextLength; var index = edit.Find(searchString, start, options); if (index > -1) { foundText = true; var current = 0; while (index > -1 && current <= index) { count++; current = index; edit.Select(index, searchString.Length); edit.SelectedText = replaceString; if (searchString.Length > 1) { start = index + searchString.Length - 1; } else { start = index + searchString.Length; } if (start >= stop) { break; } index = edit.Find(searchString, start, options); } } //save hidden note if (foundText && !note.Visible) { var path = Path.Combine(PNPaths.Instance.DataDir, note.ID + PNStrings.NOTE_EXTENSION); PNNotesOperations.SaveNoteFile(edit, path); } } catch (Exception ex) { PNStatic.LogException(ex); } }
private static double[] getRelationalFactors(PNote note) { var factors = new[] { 0.0, 0.0 }; try { var size = PNStatic.AllScreensSize(); factors[0] = size.Width > 0 ? note.NoteLocation.X / size.Width : 0; factors[1] = size.Height > 0 ? note.NoteLocation.Y / size.Height : 0; return factors; } catch (Exception ex) { PNStatic.LogException(ex); return factors; } }
internal static void ShiftPreviousDock(PNote note, DockStatus prevStatus, bool reorder) { try { int w, h; if (!PNStatic.Settings.GeneralSettings.UseSkins) { w = PNStatic.Settings.GeneralSettings.DockWidth; h = PNStatic.Settings.GeneralSettings.DockHeight; } else { w = PNStatic.Docking.Skin.BitmapSkin.Width; h = PNStatic.Docking.Skin.BitmapSkin.Height; } IEnumerable<PNote> notes; if (prevStatus != DockStatus.None) { PNStatic.DockedNotes[prevStatus].Remove(note); } switch (prevStatus) { case DockStatus.Left: case DockStatus.Right: notes = PNStatic.Notes.Where(n => n.DockStatus == prevStatus && n.Dialog.Top > note.Dialog.Top); foreach (var n in notes) { n.Dialog.Top -= h; if (reorder) { n.DockOrder -= 1; SaveNoteDockStatus(n); } } break; case DockStatus.Top: case DockStatus.Bottom: notes = PNStatic.Notes.Where(n => n.DockStatus == prevStatus && n.Dialog.Left > note.Dialog.Left); foreach (var n in notes) { n.Dialog.Left -= w; if (reorder) { n.DockOrder -= 1; SaveNoteDockStatus(n); } } break; } } catch (Exception ex) { PNStatic.LogException(ex); } }
private static void showSpecificNote(PNote note) { try { if (!note.Visible) { if (note.Completed && PNStatic.Settings.Behavior.HideCompleted) { //don't show note return; } if (note.PasswordString.Trim().Length > 0) { if (!LoginToNote(note)) { return; } } if (ApplyBooleanChange(note, NoteBooleanTypes.Visible, true, null)) { note.Dialog = new WndNote(note, note.ID, NewNoteMode.Identificator); note.Dialog.Show(); } } else { note.Dialog.SendWindowToForeground(); } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static bool LoginToNote(PNote note) { try { var text = " [" + PNLang.Instance.GetCaptionText("note", "Note") + " \"" + note.Name + "\"]"; var pwrdDelete = new WndPasswordDelete(PasswordDlgMode.LoginNote, text, note.PasswordString) { Topmost = true, Owner = PNStatic.FormMain }; var showDialog = pwrdDelete.ShowDialog(); if (showDialog == null || !showDialog.Value) { return false; } return true; } catch (Exception ex) { PNStatic.LogException(ex); return false; } }
internal static ShowHideResult ShowHideSpecificNote(PNote note, bool show) { try { if (show) { if (!note.Visible) { if (note.Completed && PNStatic.Settings.Behavior.HideCompleted) { var message = PNLang.Instance.GetMessageText("completed_hidden", "In order to show notes marked as 'Completed' uncheck appropriate check box at 'Behavior' page of Preferences dialog"); PNMessageBox.Show(message, PNStrings.PROG_NAME); //don't show note return ShowHideResult.NotSuccess; } if (!LogIntoNoteOrGroup(note)) return ShowHideResult.NotSuccess; if (ApplyBooleanChange(note, NoteBooleanTypes.Visible, true, null)) { note.Dialog = new WndNote(note, note.ID, NewNoteMode.Identificator); note.Dialog.Show(); } } else { note.Dialog.SendWindowToForeground(); if (note.Thumbnail) { PNStatic.FormPanel.RemoveThumbnail(note); } } } else { if (note.Visible) { note.Dialog.ApplyHideNote(note); } } return ShowHideResult.Success; } catch (Exception ex) { PNStatic.LogException(ex); return ShowHideResult.NotSuccess; } }
private static bool isNotePresentedInCustomSettings(PNote note) { try { var sb = new StringBuilder(); sb.Append("SELECT COUNT(NOTE_ID) AS COUNT_ID FROM CUSTOM_NOTES_SETTINGS WHERE NOTE_ID = '"); sb.Append(note.ID); sb.Append("'"); using (var oData = new SQLiteDataObject(PNData.ConnectionString)) { var o = oData.GetScalar(sb.ToString()); if (o != null && !PNData.IsDBNull(o) && Convert.ToInt32(o) > 0) { return true; } return false; } } catch (Exception ex) { PNStatic.LogException(ex); return false; } }
internal static void SaveNoteAsTextFile(PNote note, Window owner) { try { if (PNStatic.Settings.Protection.PromptForPassword) if (!LogIntoNoteOrGroup(note)) return; var sfd = new SaveFileDialog { Title = PNLang.Instance.GetCaptionText("save_as_text", "Save note as text file") + @" [" + note.Name + @"]", Filter = PNLang.Instance.GetCaptionText("save_as_filter", "Text files (*.txt)|*.txt"), RestoreDirectory = true, AddExtension = true }; if (sfd.ShowDialog(owner).Value) { using (var sw = new StreamWriter(sfd.FileName)) { if (note.Visible) { sw.Write(note.Dialog.Edit.Text); } else { var rtb = new PNRichEditBox(); var path = Path.Combine(PNPaths.Instance.DataDir, note.ID) + PNStrings.NOTE_EXTENSION; LoadNoteFile(rtb, path); sw.Write(rtb.Text); } } } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal WndScramble(ScrambleMode mode, PNote note) : this() { _Mode = mode; _Note = note; }
internal static void SendNoteAsText(PNote note, string recipients = "", string linkToRemove = "") { try { var text = ""; if (note.Visible) { text = note.Dialog.Edit.Text; } else { var path = Path.Combine(PNPaths.Instance.DataDir, note.ID + PNStrings.NOTE_EXTENSION); if (File.Exists(path)) { var rtb = new RichTextBox(); LoadNoteFile(rtb, path); text = rtb.Text; } } //remove possible link if (!string.IsNullOrEmpty(linkToRemove)) { text = text.Replace(linkToRemove, ""); } var profile = PNStatic.SmtpProfiles.FirstOrDefault(c => c.Active); if (profile == null) { text = text.Replace("\n", "%0D%0A"); text = text.Replace("\r", "%0D%0A"); text = text.Replace("\"", "%22"); text = text.Replace("&", "%26"); var mailMessage = new MapiMailMessage { Subject = PNLang.Instance.GetMessageText("mail_subject_text", "Sent from PNotes. Note name:") + @" " + note.Name, Body = text }; if(!string.IsNullOrEmpty(recipients)) { var recips = recipients.Split(new[] {';'}, StringSplitOptions.RemoveEmptyEntries); foreach (var r in recips) { mailMessage.Recipients.Add(r); } } mailMessage.ShowDialog(); } else { var dlgSend = new WndSendSmtp(profile, note.Name, recipients, text, null); dlgSend.ShowDialog(); } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal NewNoteCreatedEventArgs(PNote note) { _Note = note; }
internal static void PreUndockNote(PNote note) { try { var prevStatus = note.DockStatus; note.DockStatus = DockStatus.None; note.DockOrder = -1; ShiftPreviousDock(note, prevStatus, true); if (note.FromDB) { SaveNoteDockStatus(note); } } catch (Exception ex) { PNStatic.LogException(ex); } }