diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2024-07-03 10:19:30 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2024-07-03 10:19:30 +0200 |
commit | a14a7a0ccc9de76aeab0b2e4bbf58f1a79deedc2 (patch) | |
tree | e469179df67a0e0db49161a43cbf8076a189f6f4 /app/bin/cnote.c | |
parent | 5d2c2b27a6323e2666378b986129b2a7c2c39e5c (diff) |
New upstream version 5.3.0GAupstream/5.3.0GAupstream
Diffstat (limited to 'app/bin/cnote.c')
-rw-r--r-- | app/bin/cnote.c | 113 |
1 files changed, 61 insertions, 52 deletions
diff --git a/app/bin/cnote.c b/app/bin/cnote.c index 7e4c0f9..04d63f1 100644 --- a/app/bin/cnote.c +++ b/app/bin/cnote.c @@ -17,7 +17,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include "custom.h" @@ -34,51 +34,59 @@ static paramTextData_t noteTextData = { 300, 150 }; static paramData_t notePLs[] = { #define I_NOTETEXT (0) #define noteT ((wText_p)notePLs[I_NOTETEXT].control) - { PD_TEXT, NULL, "text", PDO_DLGRESIZE, ¬eTextData } + { PD_TEXT, NULL, "text", PDO_DLGRESIZE, ¬eTextData } }; static paramGroup_t notePG = { "note", 0, notePLs, COUNT( notePLs ) }; void ClearNote(void) { - if (mainText) { - MyFree(mainText); - mainText = NULL; - } + if (mainText) { + MyFree(mainText); + mainText = NULL; + } } static void NoteOk(void * unused) { - if (wTextGetModified(noteT)) { - int len; - ClearNote(); - len = wTextGetSize(noteT); - mainText = (char*)MyMalloc(len+2); - wTextGetText(noteT, mainText, len); - } - - wHide(noteW); + if (wTextGetModified(noteT)) { + int len; + ClearNote(); + len = wTextGetSize(noteT); + mainText = (char*)MyMalloc(len+2); + wTextGetText(noteT, mainText, len); + } + + wHide(noteW); } void DoNote(void * unused) { - if (noteW == NULL) { - noteW = ParamCreateDialog(¬ePG, MakeWindowTitle(_("Note")), _("Ok"), NoteOk, - wHide, FALSE, NULL, F_NOTTRANSIENT|F_RESIZE, NULL); - } - - wTextClear(noteT); - wTextAppend(noteT, mainText?mainText: - _("Replace this text with your layout notes")); - wTextSetReadonly(noteT, FALSE); - wShow(noteW); + if (noteW == NULL) { + noteW = ParamCreateDialog(¬ePG, MakeWindowTitle(_("Note")), _("Ok"), NoteOk, + wHide, FALSE, NULL, F_NOTTRANSIENT|F_RESIZE, NULL); + } + + wTextClear(noteT); + wTextAppend(noteT, mainText?mainText: + _("Replace this text with your layout notes")); + wTextSetReadonly(noteT, FALSE); + wShow(noteW); } +/** + * Save the main layout note to file. The note text is converted to + * UTF-8 if this is configured at compile time. Before saving characters that + * have special meanings in the XTC file (eg. ") are escaped. + * + * \param f open layout file + * \return + */ BOOL_T WriteMainNote(FILE* f) { - BOOL_T rc = TRUE; + BOOL_T rc = TRUE; char *noteText = mainText; if (noteText && *noteText) { @@ -92,18 +100,17 @@ BOOL_T WriteMainNote(FILE* f) } #endif // UTFCONVERT - - char * sText = ConvertToEscapedText( noteText ); - rc &= fprintf(f, "NOTE MAIN 0 0 0 0 0 \"%s\"\n", sText )>0; - MyFree( sText ); + char * sText = ConvertToEscapedText( noteText ); + rc &= fprintf(f, "NOTE MAIN 0 0 0 0 0 \"%s\"\n", sText )>0; + MyFree( sText ); #ifdef UTFCONVERT if (out) { MyFree(out); } #endif // UTFCONVERT - } - return rc; + } + return rc; } /** @@ -114,28 +121,30 @@ BOOL_T WriteMainNote(FILE* f) BOOL_T ReadMainNote(char *line) { - long size; - char * sNote = NULL; - - if (!GetArgs(line + 9, - paramVersion < 3 ? "l" : - paramVersion < VERSION_INLINENOTE ? "0000l": - "0000lq", &size, &sNote)) { - return FALSE; - } - - if (mainText) { - MyFree(mainText); - } - - if ( paramVersion < VERSION_INLINENOTE ) - mainText = ReadMultilineText(); - else - mainText = sNote; - return TRUE; + long size; + char * sNote = NULL; + + if (!GetArgs(line + 9, + paramVersion < 3 ? "l" : + paramVersion < VERSION_INLINENOTE ? "0000l": + "0000lq", &size, &sNote)) { + return FALSE; + } + + if (mainText) { + MyFree(mainText); + } + + if ( paramVersion < VERSION_INLINENOTE ) { + mainText = ReadMultilineText(); + } else { + mainText = sNote; + } + + return TRUE; } void InitCmdNote() { - ParamRegister(¬ePG); + ParamRegister(¬ePG); } |