# Hooks

# onNoteStored

# Methodeaanroep en parameters

/ **
  * Deze functie wordt aangeroepen wanneer een notitie op schijf wordt opgeslagen
  * Je kunt opgeslagen notities niet wijzigen, dat zou een puinhoop zijn sindsdien
  * u bewerkt ze waarschijnlijk tegelijkertijd met de hand
  *
  * @param {NoteApi} notitie - het notitieobject van de opgeslagen notitie
  * /
functie onNoteStored (Notizie);
1
2
3
4
5
6
7
8

Misschien wilt u het voorbeeld eens bekijken on-note-opened.qml (opens new window).

# noteOpenedHook

# Methodeaanroep en parameters

/ **
  * Deze functie wordt aangeroepen nadat een notitie is geopend
  *
  * @param {NoteApi} note - het notitieobject dat werd geopend
  * /
functie noteOpenedHook (note);
1
2
3
4
5
6

Misschien wilt u het voorbeeld eens bekijken on-note-opened.qml (opens new window).

# noteDoubleClickedHook

# Methodeaanroep en parameters

/ **
    * Deze functie wordt aangeroepen nadat een notitie is geopend
    *
    * @param {NoteApi} note - het notitieobject dat werd geopend
    * /
functie noteOpenedHook (note);
1
2
3
4
5
6

Misschien wilt u het voorbeeld eens bekijken external-note-open.qml (opens new window).

# insertMediaHook

Deze functie wordt aangeroepen wanneer een mediabestand in de huidige notitie wordt ingevoegd.

Als deze functie in meerdere scripts is gedefinieerd, wint het eerste script dat een niet-lege tekenreeks retourneert.

# Methodeaanroep en parameters

// **
  * @param fileName string het bestandspad van het bronmediabestand voordat het naar de mediamap werd gekopieerd
  * @param markdownText string de markdown-tekst van het mediabestand, bijv. ![mijn-afbeelding] ![my-image](media/my-image-4101461585.jpg)
  * @return string de nieuwe markdown-tekst van het mediabestand
  * /
functie insertMediaHook (bestandsnaam, markdownText);
1
2
3
4
5
6

Misschien wilt u het voorbeeld eens bekijken example.qml (opens new window).

# insertAttachmentHook

Deze functie wordt aangeroepen wanneer een mediabestand in de huidige notitie wordt ingevoegd.

Als deze functie in meerdere scripts is gedefinieerd, wint het eerste script dat een niet-lege tekenreeks retourneert.

# Methodeaanroep en parameters

/**
  * @param fileName string het bestandspad van het bronbijlagebestand voordat het naar de bijlagemap werd gekopieerd
  * @param markdownText string de markdown-tekst van het bijlagebestand, bijv. [mijn-bestand.txt] (bijlagen / mijn-bestand-4245650967.txt)
  * @return string de nieuwe markdown-tekst van het bijlagebestand
  */
functie insertAttachmentHook (bestandsnaam, markdownText);
1
2
3
4
5
6

Misschien wilt u het voorbeeld eens bekijken voorbeeld.qml (opens new window).

# insertingFromMimeDataHook

# Methodeaanroep en parameters

/**
  * Deze functie wordt aangeroepen wanneer html of een mediabestand in een notitie wordt geplakt met `Ctrl + Shift + V`
  *
  * @ parametertekst tekst van het QMimeData-object
  * @param html html van het QMimeData-object
  * @ retourneert de tekenreeks die moet worden ingevoegd in plaats van de tekst uit het QMimeData-object
  */
functie insertingFromMimeDataHook (tekst, html);
1
2
3
4
5
6
7
8

Misschien wilt u het voorbeeld example.qml (opens new window), insert-headline-with-link-from-github-url.qml (opens new window) of note-text bekijken -vanaf-17.00 uur-mail.qml (opens new window).

# handleNoteTextFileNameHook

# Methodeaanroep en parameters

/**
  * Deze functie wordt aangeroepen wanneer een notitie op schijf wordt opgeslagen als
  * "Toestaan dat de naam van het notitiebestand anders is dan de kop" is ingeschakeld
  * in de instellingen
  *
  * Hiermee kunt u de naam van het notitiebestand wijzigen
  * Houd er rekening mee dat u zelf voor dubbele namen moet zorgen!
 *
  * Retourneer een lege tekenreeks als de bestandsnaam van de notitie zou moeten
  * niet worden gewijzigd
  *
  * @param {NoteApi} note - het notitieobject van de opgeslagen notitie
  * @return {string} de bestandsnaam van de notitie
  */
functie handleNoteTextFileNameHook (opmerking);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Misschien wilt u het voorbeeld eens bekijken example.qml (opens new window) of use-tag-names-in-filename.qml (opens new window).

# handleNoteNameHook

# Methodeaanroep en parameters

/ **
  * Deze functie wordt aangeroepen wanneer de nootnaam voor een noot wordt bepaald
  *
  * Hiermee kunt u de naam wijzigen van de notitie die wordt bekeken
  *
  * Retourneer een lege tekenreeks als de naam van de notitie niet moet worden gewijzigd
  *
  * @param {NoteApi} note - het notitieobject van de opgeslagen notitie
  * @return {string} de naam van de notitie
  * /
functie handleNoteNameHook (opmerking);
1
2
3
4
5
6
7
8
9
10
11

Misschien wilt u het voorbeeld eens bekijken example.qml (opens new window).

Het is misschien geen goed idee om deze hook te gebruiken als de instelling om de bestandsnaam als nootnaam te gebruiken actief is.

# handleNewNoteHeadlineHook

# Methodeaanroep en parameters

/ **
  * Deze functie wordt aangeroepen voordat een nootnoot wordt aangemaakt
  *
  * Hiermee kunt u de kop van de notitie wijzigen voordat deze wordt gemaakt
  * Merk op dat u anders moet zorgen voor een unieke naam van de notitie
  * de nieuwe notitie wordt niet aangemaakt, deze staat alleen in de notitielijst
  *
  * U kunt deze methode gebruiken om notitiesjablonen te maken
  *
  * @param koptekst die zou worden gebruikt om de koptekst te maken
  * @return {string} de kop van de notitie
  * /
functie handleNewNoteHeadlineHook (headline);
1
2
3
4
5
6
7
8
9
10
11
12
13

Misschien wil je het voorbeeld custom-new-note-headline.qml (opens new window) bekijken.

# preNoteToMarkdownHtmlHook

# Methodeaanroep en parameters

/**
  * Deze functie wordt aangeroepen voordat de markdown-html van een notitie wordt gegenereerd
  *
  * Hiermee kunt u wijzigen wat wordt doorgegeven aan de markdown naar html-converter
  *
  * De methode kan bijvoorbeeld in meerdere scripts worden gebruikt om code weer te geven (zoals LaTeX-wiskunde of zeemeermin)
  * naar de grafische weergave voor de preview
  *
  * De notitie wordt tijdens dit proces niet gewijzigd
  *
  * @param {NoteApi} note - het notitieobject
  * @param {string} markdown - de markdown die op het punt staat te worden omgezet naar html
  * @param {string} forExport - true als de html wordt gebruikt voor een export, false voor de preview
  * @return {string} de gewijzigde markdown of een lege string als er niets gewijzigd mag worden
  */
functie preNoteToMarkdownHtmlHook (note, markdown, forExport);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Misschien wilt u het voorbeeld eens bekijken preview-styling.qml (opens new window).

# noteToMarkdownHtmlHook

# Methodeaanroep en parameters

/**
  * Deze functie wordt aangeroepen wanneer de markdown-html van een notitie wordt gegenereerd
  *
  * Hiermee kunt u deze html wijzigen
  * Dit wordt bijvoorbeeld eerder aangeroepen door het notitievoorbeeld
  *
  * De methode kan in meerdere scripts worden gebruikt om de html van de preview te wijzigen
  *
  * @param {NoteApi} note - het notitieobject
  * @param {string} html - de html die op het punt staat te worden weergegeven
  * @param {string} forExport - true als de html wordt gebruikt voor een export, false voor de preview
  * @return {string} de gewijzigde html of een lege string als er niets gewijzigd mag worden
  */
functie noteToMarkdownHtmlHook (opmerking, html, forExport);
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Misschien wilt u het voorbeeld eens bekijken voorbeeld.qml (opens new window) of preview-styling.qml (opens new window).

Raadpleeg de ondersteunde HTML Subset (opens new window) documentatie voor een lijst met alle ondersteunde css-stijlen.

# encryptionHook

# Methodeaanroep en parameters

/**
  * Deze functie wordt aangeroepen wanneer tekst moet worden gecodeerd of gedecodeerd
  *
  * @param text string de tekst die moet worden versleuteld of ontsleuteld
  * @param wachtwoord tekenreeks het wachtwoord
  * @param decrypt bool als valse codering vereist is, als echte decodering vereist is
  * @return de versleutelde ontsleutelde tekst
  */
functie encryptionHook (tekst, wachtwoord, decoderen);
1
2
3
4
5
6
7
8
9

Misschien wilt u het voorbeeld eens bekijken encryptie-keybase.qml (opens new window), encryptie-pgp.qml (opens new window) of encryptie-rot13.qml (opens new window).

# noteTaggingHook

U kunt uw eigen tagging-mechanisme voor notities implementeren met bijvoorbeeld speciale tekst in uw notitie, zoals @tag1, @tag2, @tag3.

# Methodeaanroep en parameters

/ **
  * Verwerkt notitie-tagging voor een notitie
  *
  * Deze functie wordt aangeroepen wanneer tags worden toegevoegd aan, verwijderd uit of hernoemd in
  * een notitie of de tags van een notitie moeten worden vermeld
  *
  * @param opmerking
  * @param-actie kan zijn "toevoegen", "verwijderen", "hernoemen" of "lijst"
  * @param tagName tag naam die moet worden toegevoegd, verwijderd of hernoemd
  * @param newTagName tagnaam die moet worden hernoemd als action = "hernoemen"
  * @return opmerking tekstreeks of string-lijst met tagnamen (if action = "list")
  * /
functie noteTaggingHook (note, action, tagName, newTagName);
1
2
3
4
5
6
7
8
9
10
11
12
13
  • zodra een script is geactiveerd dat de nieuwe functie noteTaggingHook implementeert, wordt het taggen van opmerkingen door die functie afgehandeld
  • zodra een script is geactiveerd dat de nieuwe functie <0>noteTaggingHook</0> implementeert, wordt het taggen van opmerkingen door die afgehandeld
    • in eerste instantie tags zoals @tag uit je notities importeren en je huidige tag-toewijzing overschrijven
      • u zult uw tagsboom niet verliezen, alleen de vorige toewijzing aan notities
      • u kunt nog steeds tags naar andere tags verplaatsen
      • als meer dan één tag dezelfde naam heeft in uw tagboom, wordt de eerste treffer toegewezen
    • door een tag aan een notitie toe te voegen, wordt de tag aan de notitietekst toegevoegd
    • door een tag aan een notitie toe te voegen, wordt de tag aan de notitietekst toegevoegd
    • als u tags in de taglijst verwijdert, worden die tags uit uw notities verwijderd
    • het hernoemen van tags in de tag-lijst zal de naam van die tags in uw notities
    • bulksgewijs taggen van notities in de notitielijst zal die tags aan uw notities
    • het bulksgewijs verwijderen van tags uit notities in de notitielijst zal die tags uit uw notities verwijderen
    • de applicatie activeert een reeks toevoegen en verwijderen acties voor alle geselecteerde tags en hun kinderen op alle notities als tags worden verplaatst in het tagpaneel

Vielleicht möchten Sie sich das Beispiel ansehen note-tagging.qml (opens new window) um Ihren eigenen Tagging-Mechanismus zu implementieren.

WARNING

Zorg ervoor dat uw lijst -actie echt snel is, want deze wordt voor elke notitie uitgevoerd telkens wanneer de notitiemap opnieuw wordt geladen!

# noteTaggingByObjectHook

Net als bij noteTaggingHook kunt u uw eigen mechanisme voor het taggen van notities implementeren, maar u bent niet gebonden aan het taggen van namen in de root van de tagboom. Op deze manier kunt u gebruik maken van de hele tagboom in plaats van alleen een taglijst.

Met noteTaggingByObjectHook krijg je een TagApi -object als parameter, in plaats van een tagnaam. En als resultaat voor de list -actie moet u een lijst met tag-id's.

Dit betekent ook dat u zelf ontbrekende tags moet maken om een lijst met reeds bestaande tag-ID's voor de list -actie te kunnen leveren.

# Methodeaanroep en parameters

/ **
  * Verwerkt notitie-tagging voor een notitie
  *
  * Deze functie wordt aangeroepen wanneer tags worden toegevoegd aan, verwijderd uit of hernoemd in
  * een notitie of de tags van een notitie moeten worden vermeld
  *
  * @param opmerking
  * @param-actie kan zijn "toevoegen", "verwijderen", "hernoemen" of "lijst"
  * @param-tag die moet worden toegevoegd, verwijderd of hernoemd
  * @param newTagName tagnaam die moet worden hernoemd als action = "hernoemen"
  * @return notitie tekstreeks of string-lijst met tag-ID's (if action = "list")
  * /
functie noteTaggingByObjectHook (opmerking, actie, tag, newTagName);
1
2
3
4
5
6
7
8
9
10
11
12
13

Misschien wil je het voorbeeld note-tagging-by-object.qml (opens new window) bekijken om je eigen tagging-mechanisme te implementeren.

# autocompletionHook

U kunt een lijst met tekenreeksen retourneren die aan de autocomplete-lijst moeten worden toegevoegd wanneer ze automatisch worden aangeroepen (bijvoorbeeld door op Ctrl + Space te drukken).

# Methodeaanroep en parameters

/**
  * Roept de functie autocompletionHook aan voor alle scriptcomponenten
  * Deze functie wordt aangeroepen wanneer automatische aanvulling wordt aangeroepen in een notitie
  *
  * @return QStringLijst met tekst voor de autocomplete lijst
  */
functie callAutocompletionHook ();
1
2
3
4
5
6
7

Misschien wilt u het voorbeeld eens bekijken automatisch aanvullen.qml (opens new window).

# websocketRawDataHook

Deze hook wordt aangeroepen wanneer gegevens worden verzonden vanuit de QOwnNotes Web Companion-browserextensie via het contextmenu van de webbrowser.

# Methodeaanroep en parameters

/**
  * @param requestType kan "pagina" of "selectie" zijn
  * @param pageUrl de url van de webpagina waar het verzoek is gedaan
  * @param page Titel de paginatitel van de webpagina waar het verzoek is gedaan
  * @param rawData de gegevens die zijn verzonden, html voor requestType "page" of platte tekst voor requestType "selection"
  * @param screenshotDataUrl de data-url van de screenshot als de webpagina waar het verzoek is gedaan
  * @return waar als gegevens werden afgehandeld door een haak
  */
function callHandleWebsocketRawDataHook(requestType, pageUrl, pageTitle, rawData, screenshotDataUrl);
1
2
3
4
5
6
7
8
9

Misschien wilt u de voorbeelden eens bekijken websocket-raw-data-new-note.qml (opens new window) en websocket-raw-data-selection-in-note.qml (opens new window).

# onDetachedProcessCallback

Deze hook wordt aangeroepen wanneer een scriptthread van startDetachedProcess klaar is met uitvoeren.

# Methodeaanroep en parameters

/**
  * Deze functie wordt aangeroepen wanneer een scriptthread klaar is met uitvoeren.
 * Hint: thread [1]==0 helpt om te bepalen of een groot deel van de gestarte processen voor een bepaalde identifier is voltooid.
 *
  * @param {QString} callbackIdentifier - de opgegeven id bij het aanroepen van startDetachedProcess ()
  * @param {QString} resultSet - het resultaat van het proces
  * @param {QVariantList} cmd - de volledige commando-array [0-executablePath, 1-parameters, 2-exitCode]
  * @param {QVariantList} thread - de thread-informatie-array [0-doorgegeven callbackParameter, 1-resterende threads voor deze identifier]
  * /
functie onDetachedProcessCallback (callbackIdentifier, resultSet, cmd, thread);
1
2
3
4
5
6
7
8
9
10

Misschien wilt u het voorbeeld eens bekijken callback-example.qml (opens new window).

# windowStateChangedHook

# Methodeaanroep en parameters

/**
  * Deze functie wordt aangeroepen nadat een WindowStateChange-gebeurtenis is geactiveerd
  *
  * @param {QString} windowState - de nieuwe vensterstatus, parameterwaarde kan "geminimaliseerd", "gemaximaliseerd", "volledig scherm", "actief" of "nostate" zijn
  */
functie windowStateChangedHook (windowState);
1
2
3
4
5
6

Misschien wilt u het voorbeeld eens bekijken window-state-changed.qml (opens new window).