/// <summary> /// Saves updated note (also to file) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSave_Click(object sender, EventArgs e) { /* * 1. Collect all info and save to list & save to file * 2. Check if avatar = null? */ note.Color = colorBox.SelectedValue.ToString(); note.Text = noteTextBox.Text.Trim(); note.Tags = tagsTextBox.Text.Trim(); // Convert Avatar to base64 encoded string if (note.Avatar != null) { note.Avatar = NoteHandler.imageToBase64(avatarBox.Image); } // Save Note NoteHandler.saveNote(note); NoteHandler.saveNotesToFile(); NoteHandler.refreshNotesFromFile(); // Update data representation as well as update playerbuttons TableHandler.refreshTableData(note, table); TableHandler.refreshPlayerButtons(table); this.Close(); }
/// <summary> /// Update Avatar from out of Note Window /// Basically just takes screenshot of Avatar-Rectangle and puts it into data representation /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnUpdateAvatar_Click(object sender, EventArgs e) { TableData td = TableHandler.getTableDataFromTableName(table); Bitmap screenshot = Screenshot.CaptureApplication(td.tablePointer); string seat = td.getSeatname(note.Name); Bitmap updatedAvatar = ScreenshotAnalyzer.getSingleAvatar(screenshot, seat, td.getTableSize()); avatarBox.Image = updatedAvatar; note.Avatar = NoteHandler.imageToBase64(updatedAvatar); }
/// <summary> /// If there is no Note stored for a player => Create a new note! /// </summary> /// <param name="playername"></param> /// <param name="tablename"></param> public void constructNewNote(string playername, string tablename) { // Construct Note from TableData TableData td = TableHandler.getTableDataFromTableName(tablename); string seatname = td.getSeatname(playername); note.Name = td.getNickname(seatname); if (td.getAvatar(seatname) == null) { note.Avatar = null; } else { note.Avatar = NoteHandler.imageToBase64(td.getAvatar(seatname)); } loadValuesFromNote(); }