├── .gitignore ├── .gitlab-ci.yml ├── AUTHORS ├── COPYING ├── COPYING-DOCS ├── ChangeLog ├── NEWS ├── README.md ├── TODO ├── config.h.in ├── data ├── gnote.1 ├── icons │ ├── hicolor_actions_16x16_note-new.png │ ├── hicolor_actions_16x16_note-new.svg │ ├── hicolor_actions_16x16_notebook-new.png │ ├── hicolor_actions_16x16_notebook-new.svg │ ├── hicolor_actions_22x22_filter-note-all.png │ ├── hicolor_actions_22x22_filter-note-all.xcf.bz2 │ ├── hicolor_actions_22x22_filter-note-unfiled.png │ ├── hicolor_actions_22x22_filter-note-unfiled.svg │ ├── hicolor_actions_22x22_note-new.png │ ├── hicolor_actions_22x22_note-new.svg │ ├── hicolor_actions_22x22_notebook-new.png │ ├── hicolor_actions_22x22_notebook-new.svg │ ├── hicolor_actions_24x24_filter-note-all.png │ ├── hicolor_actions_24x24_filter-note-unfiled.png │ ├── hicolor_actions_24x24_note-new.png │ ├── hicolor_actions_24x24_notebook-new.png │ ├── hicolor_actions_48x48_notebook-new.png │ ├── hicolor_actions_scalable_notebook-new.svg │ ├── hicolor_apps_16x16_org.gnome.Gnote.png │ ├── hicolor_apps_16x16_org.gnome.Gnote.xcf.bz2 │ ├── hicolor_apps_22x22_org.gnome.Gnote.png │ ├── hicolor_apps_22x22_org.gnome.Gnote.xcf.bz2 │ ├── hicolor_apps_24x24_org.gnome.Gnote.png │ ├── hicolor_apps_256x256_org.gnome.Gnote.png │ ├── hicolor_apps_32x32_org.gnome.Gnote.png │ ├── hicolor_apps_48x48_org.gnome.Gnote.png │ ├── hicolor_apps_scalable_org.gnome.Gnote.svg │ ├── hicolor_places_16x16_note.png │ ├── hicolor_places_16x16_note.xcf.bz2 │ ├── hicolor_places_16x16_notebook.png │ ├── hicolor_places_16x16_notebook.svg │ ├── hicolor_places_22x22_active-notes.png │ ├── hicolor_places_22x22_active-notes.svg │ ├── hicolor_places_22x22_note.png │ ├── hicolor_places_22x22_note.svg │ ├── hicolor_places_22x22_notebook.png │ ├── hicolor_places_22x22_notebook.svg │ ├── hicolor_places_22x22_special-notes.png │ ├── hicolor_places_22x22_special-notes.svg │ ├── hicolor_places_24x24_note.png │ ├── hicolor_places_24x24_notebook.png │ ├── hicolor_status_16x16_pin-active.png │ ├── hicolor_status_16x16_pin-down.png │ ├── hicolor_status_16x16_pin-up.png │ └── meson.build ├── images │ ├── artwork.svg │ ├── gnote.svg │ └── tag.svg ├── meson.build ├── org.gnome.Gnote.appdata.xml.in ├── org.gnome.Gnote.desktop.in ├── org.gnome.Gnote.search-provider.ini ├── org.gnome.Gnote.service.in ├── org.gnome.gnote.gschema.xml └── shortcuts-gnote.ui ├── gnote.doap ├── help ├── C │ ├── figures │ │ ├── add-notebook-search.png │ │ ├── add-to-notebook.png │ │ ├── delete-notebook.png │ │ ├── gnote-addin-table-of-contents.png │ │ ├── gnote-new-note.png │ │ ├── gnote-pindown.png │ │ ├── gnote-pinup.png │ │ ├── gnote-preferences-add-ins.png │ │ ├── gnote-preferences-editing.png │ │ ├── gnote-preferences-synchronization.png │ │ ├── gnote-search-all-notes.png │ │ ├── gnote-sync-progress.png │ │ ├── gnote-syncprefs-advanced.png │ │ ├── gnote-syncprefs-gvfs.png │ │ ├── gnote-syncprefs-local.png │ │ ├── gnote-syncprefs-webdav.png │ │ ├── gnote-template-note.png │ │ ├── gnote-tools.png │ │ ├── logo32.png │ │ ├── note-template.png │ │ └── notebook-icon.png │ ├── gnote-addin-bugzillalink.page │ ├── gnote-addin-fixedwidth.page │ ├── gnote-addin-html.page │ ├── gnote-addin-notedirwatcher.page │ ├── gnote-addin-noteoftheday.page │ ├── gnote-addin-print.page │ ├── gnote-addin-readonly.page │ ├── gnote-addin-replacetitle.page │ ├── gnote-addin-specialnotes.page │ ├── gnote-addin-sync-gvfs.page │ ├── gnote-addin-sync-local.page │ ├── gnote-addin-sync-webdav.page │ ├── gnote-addin-tableofcontents.page │ ├── gnote-addin-timestamp.page │ ├── gnote-addin-underline.page │ ├── gnote-addins-preferences.page │ ├── gnote-bulleted-lists.page │ ├── gnote-common-problems.page │ ├── gnote-creating-notes.page │ ├── gnote-deleting-notes.page │ ├── gnote-editing-notes.page │ ├── gnote-introduction.page │ ├── gnote-links.page │ ├── gnote-notes-preferences.page │ ├── gnote-searching-notes.page │ ├── gnote-synchronization.page │ ├── gnote-template-notes.page │ ├── gnote-working-with-notebooks.page │ └── index.page ├── LINGUAS ├── ca │ └── ca.po ├── cs │ ├── cs.po │ └── figures │ │ ├── add-notebook-search.png │ │ ├── add-to-notebook.png │ │ ├── delete-notebook.png │ │ ├── gnote-new-note.png │ │ ├── gnote-preferences-add-ins.png │ │ ├── gnote-preferences-editing.png │ │ ├── gnote-preferences-synchronization.png │ │ └── note-template.png ├── da │ └── da.po ├── de │ ├── de.po │ └── figures │ │ ├── add-notebook-search.png │ │ ├── add-to-notebook.png │ │ ├── delete-notebook.png │ │ ├── gnote-addin-table-of-contents.png │ │ ├── gnote-new-note.png │ │ ├── gnote-preferences-add-ins.png │ │ ├── gnote-preferences-editing.png │ │ ├── gnote-search-all-notes.png │ │ ├── gnote-sync-progress.png │ │ ├── gnote-syncprefs-advanced.png │ │ ├── gnote-syncprefs-local.png │ │ ├── gnote-syncprefs-webdav.png │ │ ├── gnote-template-note.png │ │ └── note-template.png ├── el │ └── el.po ├── es │ └── es.po ├── fr │ ├── figures │ │ ├── add-notebook-search.png │ │ ├── add-to-notebook.png │ │ ├── delete-notebook.png │ │ ├── gnote-new-note.png │ │ ├── gnote-preferences-add-ins.png │ │ ├── gnote-preferences-editing.png │ │ ├── gnote-search-all-notes.png │ │ └── note-template.png │ └── fr.po ├── hu │ ├── figures │ │ ├── add-notebook-search.png │ │ ├── add-to-notebook.png │ │ ├── delete-notebook.png │ │ ├── gnote-addin-table-of-contents.png │ │ ├── gnote-new-note.png │ │ ├── gnote-preferences-add-ins.png │ │ ├── gnote-preferences-editing.png │ │ ├── gnote-search-all-notes.png │ │ ├── gnote-sync-progress.png │ │ ├── gnote-syncprefs-advanced.png │ │ ├── gnote-syncprefs-gvfs.png │ │ ├── gnote-syncprefs-local.png │ │ ├── gnote-syncprefs-webdav.png │ │ ├── gnote-template-note.png │ │ └── note-template.png │ └── hu.po ├── id │ └── id.po ├── lt │ ├── figures │ │ ├── add-notebook-search.png │ │ ├── add-to-notebook.png │ │ ├── delete-notebook.png │ │ ├── gnote-addin-table-of-contents.png │ │ ├── gnote-new-note.png │ │ ├── gnote-preferences-add-ins.png │ │ ├── gnote-preferences-editing.png │ │ ├── gnote-search-all-notes.png │ │ ├── gnote-sync-progress.png │ │ ├── gnote-syncprefs-advanced.png │ │ ├── gnote-syncprefs-gvfs.png │ │ ├── gnote-syncprefs-local.png │ │ ├── gnote-syncprefs-webdav.png │ │ ├── gnote-template-note.png │ │ └── note-template.png │ └── lt.po ├── meson.build ├── pl │ └── pl.po ├── ru │ └── ru.po ├── sl │ └── sl.po ├── sv │ ├── figures │ │ ├── add-notebook-search.png │ │ ├── add-to-notebook.png │ │ ├── delete-notebook.png │ │ ├── gnote-addin-table-of-contents.png │ │ ├── gnote-new-note.png │ │ ├── gnote-preferences-add-ins.png │ │ ├── gnote-preferences-editing.png │ │ ├── gnote-search-all-notes.png │ │ ├── gnote-sync-progress.png │ │ ├── gnote-syncprefs-advanced.png │ │ ├── gnote-syncprefs-gvfs.png │ │ ├── gnote-syncprefs-local.png │ │ ├── gnote-syncprefs-webdav.png │ │ ├── gnote-template-note.png │ │ └── note-template.png │ └── sv.po ├── uk │ └── uk.po └── zh_CN │ └── zh_CN.po ├── meson.build ├── po ├── LINGUAS ├── POTFILES.in ├── POTFILES.skip ├── ar.po ├── as.po ├── bg.po ├── bn_IN.po ├── bs.po ├── ca.po ├── ca@valencia.po ├── cs.po ├── da.po ├── de.po ├── el.po ├── en_GB.po ├── eo.po ├── es.po ├── eu.po ├── fi.po ├── fr.po ├── gl.po ├── gu.po ├── he.po ├── hi.po ├── hu.po ├── id.po ├── ie.po ├── it.po ├── ja.po ├── ka.po ├── kn.po ├── ko.po ├── lt.po ├── lv.po ├── meson.build ├── ml.po ├── mr.po ├── nb.po ├── nl.po ├── oc.po ├── or.po ├── pa.po ├── pl.po ├── pt.po ├── pt_BR.po ├── ro.po ├── ru.po ├── sk.po ├── sl.po ├── sr.po ├── sr@latin.po ├── sv.po ├── ta.po ├── te.po ├── th.po ├── tr.po ├── uk.po ├── zh_CN.po ├── zh_HK.po └── zh_TW.po ├── src ├── abstractaddin.cpp ├── abstractaddin.hpp ├── actionmanager.cpp ├── actionmanager.hpp ├── addininfo.cpp ├── addininfo.hpp ├── addinmanager.cpp ├── addinmanager.hpp ├── addinpreferencefactory.cpp ├── addinpreferencefactory.hpp ├── applicationaddin.cpp ├── applicationaddin.hpp ├── base │ ├── hash.hpp │ └── macros.hpp ├── dbus │ ├── gnote-introspect.xml │ ├── iremotecontrol.hpp │ ├── meson.build │ ├── remotecontrol-glue.cpp │ ├── remotecontrol-glue.hpp │ ├── remotecontrol.cpp │ ├── remotecontrol.hpp │ ├── searchprovider.cpp │ ├── searchprovider.hpp │ └── shell-search-provider-dbus-interfaces.xml ├── debug.cpp ├── debug.hpp ├── gnome_keyring │ ├── keyringexception.hpp │ ├── ring.cpp │ └── ring.hpp ├── gnote.cpp ├── gnote.hpp ├── iactionmanager.cpp ├── iactionmanager.hpp ├── iconmanager.cpp ├── iconmanager.hpp ├── ignote.cpp ├── ignote.hpp ├── importaddin.cpp ├── importaddin.hpp ├── itagmanager.cpp ├── itagmanager.hpp ├── main.cpp ├── mainwindow.cpp ├── mainwindow.hpp ├── mainwindowaction.cpp ├── mainwindowaction.hpp ├── mainwindowembeds.cpp ├── mainwindowembeds.hpp ├── meson.build ├── noncopyable.hpp ├── note.cpp ├── note.hpp ├── noteaddin.cpp ├── noteaddin.hpp ├── notebase.cpp ├── notebase.hpp ├── notebooks │ ├── createnotebookdialog.cpp │ ├── createnotebookdialog.hpp │ ├── notebook.cpp │ ├── notebook.hpp │ ├── notebookapplicationaddin.cpp │ ├── notebookapplicationaddin.hpp │ ├── notebookmanager.cpp │ ├── notebookmanager.hpp │ ├── notebooknamepopover.cpp │ ├── notebooknamepopover.hpp │ ├── notebooknoteaddin.cpp │ ├── notebooknoteaddin.hpp │ ├── notebooksview.cpp │ ├── notebooksview.hpp │ ├── specialnotebooks.cpp │ └── specialnotebooks.hpp ├── notebuffer.cpp ├── notebuffer.hpp ├── noteeditor.cpp ├── noteeditor.hpp ├── notemanager.cpp ├── notemanager.hpp ├── notemanagerbase.cpp ├── notemanagerbase.hpp ├── noterenamedialog.cpp ├── noterenamedialog.hpp ├── notetag.cpp ├── notetag.hpp ├── notewindow.cpp ├── notewindow.hpp ├── plugins │ ├── backlinks │ │ ├── backlinks.desktop.in.in │ │ ├── backlinksnoteaddin.cpp │ │ ├── backlinksnoteaddin.hpp │ │ └── meson.build │ ├── bugzilla │ │ ├── bug.png │ │ ├── bugzilla.desktop.in.in │ │ ├── bugzillalink.cpp │ │ ├── bugzillalink.hpp │ │ ├── bugzillanoteaddin.cpp │ │ ├── bugzillanoteaddin.hpp │ │ ├── bugzillapreferences.cpp │ │ ├── bugzillapreferences.hpp │ │ ├── bugzillapreferencesfactory.hpp │ │ ├── insertbugaction.cpp │ │ ├── insertbugaction.hpp │ │ └── meson.build │ ├── exporttogtg │ │ ├── exporttogtg.desktop.in.in │ │ ├── exporttogtgnoteaddin.cpp │ │ ├── exporttogtgnoteaddin.hpp │ │ └── meson.build │ ├── exporttohtml │ │ ├── exporttohtml.desktop.in.in │ │ ├── exporttohtml.xsl │ │ ├── exporttohtmldialog.cpp │ │ ├── exporttohtmldialog.hpp │ │ ├── exporttohtmlnoteaddin.cpp │ │ ├── exporttohtmlnoteaddin.hpp │ │ ├── meson.build │ │ └── notenameresolver.hpp │ ├── filesystemsyncservice │ │ ├── filesystemsyncservice.desktop.in.in │ │ ├── filesystemsyncserviceaddin.cpp │ │ ├── filesystemsyncserviceaddin.hpp │ │ └── meson.build │ ├── fixedwidth │ │ ├── fixedwidth.desktop.in.in │ │ ├── fixedwidthnoteaddin.cpp │ │ ├── fixedwidthnoteaddin.hpp │ │ ├── fixedwidthtag.hpp │ │ └── meson.build │ ├── gvfssyncservice │ │ ├── gvfssyncservice.desktop.in.in │ │ ├── gvfssyncserviceaddin.cpp │ │ ├── gvfssyncserviceaddin.hpp │ │ └── meson.build │ ├── inserttimestamp │ │ ├── inserttimestamp.desktop.in.in │ │ ├── inserttimestampnoteaddin.cpp │ │ ├── inserttimestampnoteaddin.hpp │ │ ├── inserttimestamppreferences.cpp │ │ ├── inserttimestamppreferences.hpp │ │ ├── inserttimestamppreferencesfactory.hpp │ │ └── meson.build │ ├── meson.build │ ├── notedirectorywatcher │ │ ├── meson.build │ │ ├── notedirectorywatcher.desktop.in.in │ │ ├── notedirectorywatcherapplicationaddin.cpp │ │ ├── notedirectorywatcherapplicationaddin.hpp │ │ ├── notedirectorywatcherpreferences.cpp │ │ ├── notedirectorywatcherpreferences.hpp │ │ └── notedirectorywatcherpreferencesfactory.hpp │ ├── noteoftheday │ │ ├── meson.build │ │ ├── noteoftheday.cpp │ │ ├── noteoftheday.desktop.in.in │ │ ├── noteoftheday.hpp │ │ ├── noteofthedayapplicationaddin.cpp │ │ ├── noteofthedayapplicationaddin.hpp │ │ ├── noteofthedaypreferences.cpp │ │ ├── noteofthedaypreferences.hpp │ │ └── noteofthedaypreferencesfactory.hpp │ ├── printnotes │ │ ├── meson.build │ │ ├── printnotes.desktop.in.in │ │ ├── printnotesnoteaddin.cpp │ │ └── printnotesnoteaddin.hpp │ ├── readonly │ │ ├── meson.build │ │ ├── readonly.desktop.in.in │ │ ├── readonlynoteaddin.cpp │ │ └── readonlynoteaddin.hpp │ ├── replacetitle │ │ ├── meson.build │ │ ├── replacetitle.desktop.in.in │ │ ├── replacetitlenoteaddin.cpp │ │ └── replacetitlenoteaddin.hpp │ ├── specialnotes │ │ ├── meson.build │ │ ├── specialnotes.desktop.in.in │ │ ├── specialnotesapplicationaddin.cpp │ │ └── specialnotesapplicationaddin.hpp │ ├── statistics │ │ ├── meson.build │ │ ├── statistics.desktop.in.in │ │ ├── statisticsapplicationaddin.cpp │ │ ├── statisticsapplicationaddin.hpp │ │ ├── statisticswidget.cpp │ │ └── statisticswidget.hpp │ ├── tableofcontents │ │ ├── HACKING │ │ ├── NEWS │ │ ├── TODO │ │ ├── meson.build │ │ ├── tableofcontents.desktop.in.in │ │ ├── tableofcontents.hpp │ │ ├── tableofcontentsnoteaddin.cpp │ │ ├── tableofcontentsnoteaddin.hpp │ │ ├── tableofcontentsutils.cpp │ │ └── tableofcontentsutils.hpp │ ├── todo │ │ ├── meson.build │ │ ├── todo.desktop.in.in │ │ ├── todonoteaddin.cpp │ │ └── todonoteaddin.hpp │ ├── tomboyimport │ │ ├── meson.build │ │ ├── tomboyimport.desktop.in.in │ │ ├── tomboyimportaddin.cpp │ │ └── tomboyimportaddin.hpp │ ├── underline │ │ ├── meson.build │ │ ├── underline.desktop.in.in │ │ ├── underlinenoteaddin.cpp │ │ ├── underlinenoteaddin.hpp │ │ └── underlinetag.hpp │ └── webdavsyncservice │ │ ├── meson.build │ │ ├── webdavsyncservice.desktop.in.in │ │ ├── webdavsyncserviceaddin.cpp │ │ └── webdavsyncserviceaddin.hpp ├── popoverwidgets.cpp ├── popoverwidgets.hpp ├── preferences.cpp ├── preferences.hpp ├── preferencesdialog.cpp ├── preferencesdialog.hpp ├── recentchanges.cpp ├── recentchanges.hpp ├── remotecontrolproxy.cpp ├── remotecontrolproxy.hpp ├── search.cpp ├── search.hpp ├── searchnoteswidget.cpp ├── searchnoteswidget.hpp ├── sharp │ ├── datetime.cpp │ ├── datetime.hpp │ ├── directory.cpp │ ├── directory.hpp │ ├── dynamicmodule.cpp │ ├── dynamicmodule.hpp │ ├── exception.cpp │ ├── exception.hpp │ ├── fileinfo.cpp │ ├── fileinfo.hpp │ ├── files.cpp │ ├── files.hpp │ ├── map.hpp │ ├── modulefactory.hpp │ ├── modulemanager.cpp │ ├── modulemanager.hpp │ ├── pluginsmodel.cpp │ ├── pluginsmodel.hpp │ ├── propertyeditor.cpp │ ├── propertyeditor.hpp │ ├── streamreader.cpp │ ├── streamreader.hpp │ ├── streamwriter.cpp │ ├── streamwriter.hpp │ ├── string.cpp │ ├── string.hpp │ ├── timespan.cpp │ ├── timespan.hpp │ ├── uri.cpp │ ├── uri.hpp │ ├── uuid.hpp │ ├── xml.cpp │ ├── xml.hpp │ ├── xmlconvert.cpp │ ├── xmlconvert.hpp │ ├── xmlreader.cpp │ ├── xmlreader.hpp │ ├── xmlresolver.hpp │ ├── xmlwriter.cpp │ ├── xmlwriter.hpp │ ├── xsltargumentlist.cpp │ ├── xsltargumentlist.hpp │ ├── xsltransform.cpp │ └── xsltransform.hpp ├── synchronization │ ├── filesystemsyncserver.cpp │ ├── filesystemsyncserver.hpp │ ├── gnotesyncclient.cpp │ ├── gnotesyncclient.hpp │ ├── gvfssyncservice.cpp │ ├── gvfssyncservice.hpp │ ├── isyncmanager.cpp │ ├── isyncmanager.hpp │ ├── silentui.cpp │ ├── silentui.hpp │ ├── syncdialog.cpp │ ├── syncdialog.hpp │ ├── syncmanager.cpp │ ├── syncmanager.hpp │ ├── syncserviceaddin.cpp │ ├── syncserviceaddin.hpp │ ├── syncui.cpp │ ├── syncui.hpp │ ├── syncutils.cpp │ └── syncutils.hpp ├── tag.cpp ├── tag.hpp ├── tagmanager.cpp ├── tagmanager.hpp ├── test │ ├── meson.build │ ├── runner.cpp │ ├── testgnote.cpp │ ├── testgnote.hpp │ ├── testnote.cpp │ ├── testnote.hpp │ ├── testnotemanager.cpp │ ├── testnotemanager.hpp │ ├── testsyncaddin.cpp │ ├── testsyncaddin.hpp │ ├── testsyncclient.cpp │ ├── testsyncclient.hpp │ ├── testsyncmanager.cpp │ ├── testsyncmanager.hpp │ ├── testtagmanager.cpp │ ├── testtagmanager.hpp │ └── unit │ │ ├── datetimeutests.cpp │ │ ├── directorytests.cpp │ │ ├── fileinfoutests.cpp │ │ ├── filesutests.cpp │ │ ├── gnotesyncclientutests.cpp │ │ ├── hashtests.cpp │ │ ├── notemanagerutests.cpp │ │ ├── noteutests.cpp │ │ ├── stringutests.cpp │ │ ├── syncmanagerutests.cpp │ │ ├── trieutests.cpp │ │ ├── uriutests.cpp │ │ ├── utiltests.cpp │ │ ├── xmldecodertests.cpp │ │ └── xmlreaderutests.cpp ├── trie.hpp ├── triehit.hpp ├── undo.cpp ├── undo.hpp ├── utils.cpp ├── utils.hpp ├── watchers.cpp └── watchers.hpp └── tools ├── DBusClientTest.py └── SearchProviderTest.py /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | image: fedora:latest 2 | include: 3 | - component: gitlab.gnome.org/GNOME/citemplates/release-service@master 4 | inputs: 5 | job-stage: release 6 | dist-job-name: "build-release-tarball" 7 | tarball-artifact-path: "${TARBALL_ARTIFACT_PATH}" 8 | 9 | stages: 10 | - test 11 | - release 12 | 13 | variables: 14 | DEPENDENCIES: desktop-file-utils 15 | gettext 16 | gcc-c++ 17 | git 18 | gtkmm4.0-devel 19 | itstool 20 | libadwaita-devel 21 | libsecret-devel 22 | libuuid-devel 23 | libxml2-devel 24 | libxslt-devel 25 | meson 26 | pcre-devel 27 | yelp-tools 28 | 29 | GIT_SUBMODULE_STRATEGY: normal 30 | MESON_BUILD_DIR: _build 31 | TARBALL_ARTIFACT_PATH: "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz" 32 | 33 | test: 34 | stage: test 35 | before_script: 36 | - dnf update -y --nogpgcheck 37 | - dnf install -y --nogpgcheck $DEPENDENCIES 38 | script: 39 | - meson setup "${MESON_BUILD_DIR}" 40 | - meson test -C "${MESON_BUILD_DIR}" 41 | - ninja -C "${MESON_BUILD_DIR}" install 42 | 43 | build-release-tarball: 44 | stage: release 45 | needs: ["test"] 46 | before_script: 47 | - dnf update -y --nogpgcheck 48 | - dnf install -y --nogpgcheck $DEPENDENCIES 49 | script: 50 | - meson setup "${MESON_BUILD_DIR}" 51 | - meson dist -C "${MESON_BUILD_DIR}" 52 | artifacts: 53 | name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" 54 | when: always 55 | paths: 56 | - "${TARBALL_ARTIFACT_PATH}" 57 | rules: 58 | - if: '$CI_COMMIT_TAG' 59 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Gnote: 2 | Aurimas Černius 3 | Debarshi Ray 4 | Hubert Figuiere 5 | Iain Nicol 6 | 7 | 8 | Original Tomboy authors and copyright: 9 | Copyright (C) 2004-2007 Alex Graveley 10 | Copyright (C) 2004-2009 Others 11 | 12 | Alex Graveley (original author) 13 | Boyd Timothy (retired maintainer) 14 | Sandy Armstrong (maintainer) 15 | Aaron Bockover 16 | Alexey Nedilko 17 | Alex Kloss 18 | Anders Petersson 19 | Andrew Fister 20 | Benjamin Podszun 21 | Buchner Johannes 22 | Chris Scobell 23 | Dave Foster 24 | David Trowbridge 25 | Doug Johnston 26 | Everaldo Canuto 27 | Frederic Crozat 28 | Gabriel Burt 29 | Gabriel de Perthuis 30 | Greg Poirier 31 | Jakub Steiner 32 | James Westby 33 | Jamin Philip Gray 34 | Jan Rüegg 35 | Jay R. Wren 36 | Jeffrey Stedfast 37 | Jeff Tickle 38 | Jerome Haltom 39 | Joe Shaw 40 | John Anderson 41 | John Carr 42 | Jon Lund Steffensen 43 | JP Rosevear 44 | Kevin Kubasik 45 | Laurent Bedubourg 46 | Łukasz Jernaś 47 | Mark Wakim 48 | Mathias Hasselmann 49 | Matt Johnston 50 | Mike Mazur 51 | Nathaniel Smith 52 | Paul Cutler 53 | Przemysław Grzegorczyk 54 | Robert Buchholz 55 | Robin Sonefors 56 | Rodrigo Moya 57 | Romain Tartiere 58 | Ryan Lortie 59 | Sebastian Dröge 60 | Sebastian Rittau 61 | Stefan Cosma 62 | Stefan Schweizer 63 | Tommi Asiala 64 | Wouter Bolsterlee 65 | Yonatan Oren 66 | -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/ChangeLog -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- 1 | TODO 2 | - import automatically from Tomboy 3 | - port the plugins 4 | - translations 5 | -------------------------------------------------------------------------------- /config.h.in: -------------------------------------------------------------------------------- 1 | #define LIBGNOTE_RELEASE "@libgnote_release@" 2 | #define LIBGNOTE_VERSION_INFO "@libgnote_version_info@" 3 | #define LIBDIR "@libdir@" 4 | #define DATADIR "@datadir@" 5 | #define PACKAGE_NAME "@package_name@" 6 | #define PACKAGE_VERSION "@package_version@" 7 | #define VERSION "@version@" 8 | #define GETTEXT_PACKAGE "gnote" 9 | #define GNOTE_LOCALEDIR "@gnote_localedir@" 10 | 11 | -------------------------------------------------------------------------------- /data/icons/hicolor_actions_16x16_note-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_actions_16x16_note-new.png -------------------------------------------------------------------------------- /data/icons/hicolor_actions_16x16_notebook-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_actions_16x16_notebook-new.png -------------------------------------------------------------------------------- /data/icons/hicolor_actions_22x22_filter-note-all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_actions_22x22_filter-note-all.png -------------------------------------------------------------------------------- /data/icons/hicolor_actions_22x22_filter-note-all.xcf.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_actions_22x22_filter-note-all.xcf.bz2 -------------------------------------------------------------------------------- /data/icons/hicolor_actions_22x22_filter-note-unfiled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_actions_22x22_filter-note-unfiled.png -------------------------------------------------------------------------------- /data/icons/hicolor_actions_22x22_note-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_actions_22x22_note-new.png -------------------------------------------------------------------------------- /data/icons/hicolor_actions_22x22_notebook-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_actions_22x22_notebook-new.png -------------------------------------------------------------------------------- /data/icons/hicolor_actions_24x24_filter-note-all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_actions_24x24_filter-note-all.png -------------------------------------------------------------------------------- /data/icons/hicolor_actions_24x24_filter-note-unfiled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_actions_24x24_filter-note-unfiled.png -------------------------------------------------------------------------------- /data/icons/hicolor_actions_24x24_note-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_actions_24x24_note-new.png -------------------------------------------------------------------------------- /data/icons/hicolor_actions_24x24_notebook-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_actions_24x24_notebook-new.png -------------------------------------------------------------------------------- /data/icons/hicolor_actions_48x48_notebook-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_actions_48x48_notebook-new.png -------------------------------------------------------------------------------- /data/icons/hicolor_apps_16x16_org.gnome.Gnote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_apps_16x16_org.gnome.Gnote.png -------------------------------------------------------------------------------- /data/icons/hicolor_apps_16x16_org.gnome.Gnote.xcf.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_apps_16x16_org.gnome.Gnote.xcf.bz2 -------------------------------------------------------------------------------- /data/icons/hicolor_apps_22x22_org.gnome.Gnote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_apps_22x22_org.gnome.Gnote.png -------------------------------------------------------------------------------- /data/icons/hicolor_apps_22x22_org.gnome.Gnote.xcf.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_apps_22x22_org.gnome.Gnote.xcf.bz2 -------------------------------------------------------------------------------- /data/icons/hicolor_apps_24x24_org.gnome.Gnote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_apps_24x24_org.gnome.Gnote.png -------------------------------------------------------------------------------- /data/icons/hicolor_apps_256x256_org.gnome.Gnote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_apps_256x256_org.gnome.Gnote.png -------------------------------------------------------------------------------- /data/icons/hicolor_apps_32x32_org.gnome.Gnote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_apps_32x32_org.gnome.Gnote.png -------------------------------------------------------------------------------- /data/icons/hicolor_apps_48x48_org.gnome.Gnote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_apps_48x48_org.gnome.Gnote.png -------------------------------------------------------------------------------- /data/icons/hicolor_places_16x16_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_places_16x16_note.png -------------------------------------------------------------------------------- /data/icons/hicolor_places_16x16_note.xcf.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_places_16x16_note.xcf.bz2 -------------------------------------------------------------------------------- /data/icons/hicolor_places_16x16_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_places_16x16_notebook.png -------------------------------------------------------------------------------- /data/icons/hicolor_places_22x22_active-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_places_22x22_active-notes.png -------------------------------------------------------------------------------- /data/icons/hicolor_places_22x22_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_places_22x22_note.png -------------------------------------------------------------------------------- /data/icons/hicolor_places_22x22_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_places_22x22_notebook.png -------------------------------------------------------------------------------- /data/icons/hicolor_places_22x22_special-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_places_22x22_special-notes.png -------------------------------------------------------------------------------- /data/icons/hicolor_places_24x24_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_places_24x24_note.png -------------------------------------------------------------------------------- /data/icons/hicolor_places_24x24_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_places_24x24_notebook.png -------------------------------------------------------------------------------- /data/icons/hicolor_status_16x16_pin-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_status_16x16_pin-active.png -------------------------------------------------------------------------------- /data/icons/hicolor_status_16x16_pin-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_status_16x16_pin-down.png -------------------------------------------------------------------------------- /data/icons/hicolor_status_16x16_pin-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/data/icons/hicolor_status_16x16_pin-up.png -------------------------------------------------------------------------------- /data/org.gnome.Gnote.desktop.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Gnote 3 | Comment=Take notes, link ideas, and stay organized 4 | GenericName=Note-taker 5 | # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! 6 | Keywords=notes;idea;link;organize; 7 | Exec=gnote %u 8 | # Translators: Do NOT translate or transliterate this text (this is an icon file name)! 9 | Icon=org.gnome.Gnote 10 | MimeType=x-scheme-handler/note; 11 | StartupNotify=true 12 | DBusActivatable=true 13 | Terminal=false 14 | Type=Application 15 | Categories=GNOME;GTK;Utility; 16 | Actions=new-window;new-note; 17 | 18 | [Desktop Action new-window] 19 | Name=New Window 20 | Exec=gnote --new-window 21 | 22 | [Desktop Action new-note] 23 | Name=New Note 24 | Exec=gnote --new-note 25 | -------------------------------------------------------------------------------- /data/org.gnome.Gnote.search-provider.ini: -------------------------------------------------------------------------------- 1 | [Shell Search Provider] 2 | DesktopId=org.gnome.Gnote.desktop 3 | BusName=org.gnome.Gnote 4 | ObjectPath=/org/gnome/Gnote/SearchProvider 5 | Version=2 6 | -------------------------------------------------------------------------------- /data/org.gnome.Gnote.service.in: -------------------------------------------------------------------------------- 1 | 2 | [D-BUS Service] 3 | Name=org.gnome.Gnote 4 | Exec=@bindir@/@wrapper@ --shell-search 5 | 6 | -------------------------------------------------------------------------------- /gnote.doap: -------------------------------------------------------------------------------- 1 | 6 | 7 | gnote 8 | A note taking application 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | Aurimas Cernius 17 | 18 | aurimasc 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /help/C/figures/add-notebook-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/add-notebook-search.png -------------------------------------------------------------------------------- /help/C/figures/add-to-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/add-to-notebook.png -------------------------------------------------------------------------------- /help/C/figures/delete-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/delete-notebook.png -------------------------------------------------------------------------------- /help/C/figures/gnote-addin-table-of-contents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-addin-table-of-contents.png -------------------------------------------------------------------------------- /help/C/figures/gnote-new-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-new-note.png -------------------------------------------------------------------------------- /help/C/figures/gnote-pindown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-pindown.png -------------------------------------------------------------------------------- /help/C/figures/gnote-pinup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-pinup.png -------------------------------------------------------------------------------- /help/C/figures/gnote-preferences-add-ins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-preferences-add-ins.png -------------------------------------------------------------------------------- /help/C/figures/gnote-preferences-editing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-preferences-editing.png -------------------------------------------------------------------------------- /help/C/figures/gnote-preferences-synchronization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-preferences-synchronization.png -------------------------------------------------------------------------------- /help/C/figures/gnote-search-all-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-search-all-notes.png -------------------------------------------------------------------------------- /help/C/figures/gnote-sync-progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-sync-progress.png -------------------------------------------------------------------------------- /help/C/figures/gnote-syncprefs-advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-syncprefs-advanced.png -------------------------------------------------------------------------------- /help/C/figures/gnote-syncprefs-gvfs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-syncprefs-gvfs.png -------------------------------------------------------------------------------- /help/C/figures/gnote-syncprefs-local.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-syncprefs-local.png -------------------------------------------------------------------------------- /help/C/figures/gnote-syncprefs-webdav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-syncprefs-webdav.png -------------------------------------------------------------------------------- /help/C/figures/gnote-template-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-template-note.png -------------------------------------------------------------------------------- /help/C/figures/gnote-tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/gnote-tools.png -------------------------------------------------------------------------------- /help/C/figures/logo32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/logo32.png -------------------------------------------------------------------------------- /help/C/figures/note-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/note-template.png -------------------------------------------------------------------------------- /help/C/figures/notebook-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/C/figures/notebook-icon.png -------------------------------------------------------------------------------- /help/C/gnote-addin-bugzillalink.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | Insert Bugzilla links 10 |

GNU Free Documentation License (GFDL), Version 1.1

11 | 12 | Pierre-Yves Luyten 13 | 2011 14 | 15 | 16 | Aurimas Cernius 17 | 2011,2013 18 | 19 | 20 | Adam Dingle 21 | adam@yorba.org 22 | 2013 23 | 24 |
25 | 26 | Bugzilla Links Add-in 27 |

This plugin lets you drag a Bugzilla URL directly into a Gnote note. The bug number is inserted as a link with a little bug icon next to it.

28 |

In the preferences, you can add special icons for certain hosts.

29 | 30 |
31 | -------------------------------------------------------------------------------- /help/C/gnote-addin-fixedwidth.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | Use a fixed-width font 9 |

GNU Free Documentation License (GFDL), Version 1.1

10 | 11 | Pierre-Yves Luyten 12 | 2011 13 | 14 | 15 | Aurimas Cernius 16 | 2011,2013 17 | 18 | 19 | Adam Dingle 20 | adam@yorba.org 21 | 2013 22 | 23 |
24 | 25 | Fixed Width Plugin 26 |

The Fixed Width plugin allows text to use a fixed width font. To change existing text, first select the text you want to modify. Then select Fixed Width from the Text menu. You can also select Fixed Width from the menu before you start typing.

27 | 28 |
29 | -------------------------------------------------------------------------------- /help/C/gnote-addin-html.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | Export notes to HTML 9 |

GNU Free Documentation License (GFDL), Version 1.1

10 | 11 | Pierre-Yves Luyten 12 | 2011 13 | 14 | 15 | Aurimas Cernius 16 | 2011,2013 17 | 18 | 19 | Adam Dingle 20 | adam@yorba.org 21 | 2013 22 | 23 |
24 | 25 | Export to HTML 26 |

When the Export to HTML plugin is installed, the command Export to HTML is present in the Note Actions menu.

27 |

To create an HTML document from one or more notes, select this command. You will see a dialog that lets you choose where to save the HTML file. Enter the destination filename and click Save to save the file, or Cancel to abort.

28 |

To export any notes linked to by the current note, select the Export Linked Notes check box.

29 | 30 |
31 | -------------------------------------------------------------------------------- /help/C/gnote-addin-notedirwatcher.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | Watch for note changes on file system 9 |

GNU Free Documentation License (GFDL), Version 1.1

10 | 11 | Aurimas Cernius 12 | 2012-2013 13 | 14 | 15 | Adam Dingle 16 | adam@yorba.org 17 | 2013 18 | 19 |
20 | 21 | Note Directory Watcher 22 |

This plugin lets you work with notes on the file system while Gnote is running. When enabled, this plugin monitors note files for changes and reloads them when any change is detected. This way any external change to a note file will automatically be reflected in Gnote.

23 |

Gnote stores notes in the ~/.local/share/gnote folder. With this plugin is enabled, you can perform actions at the file system level on this directory, such as synchronizing note files with some other location, while Gnote is running.

24 | 25 |
26 | -------------------------------------------------------------------------------- /help/C/gnote-addin-noteoftheday.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | A "Today" note 9 |

GNU Free Documentation License (GFDL), Version 1.1

10 | 11 | Pierre-Yves Luyten 12 | 2011 13 | 14 | 15 | Aurimas Cernius 16 | 2011,2013 17 | 18 | 19 | Adam Dingle 20 | adam@yorba.org 21 | 2013 22 | 23 |
24 | 25 | Note of the Day 26 |

This plugin automatically creates a "Today" note for jotting daily thoughts down. As an example, a "Today" note created on February 28, 2013 would be called "Today: Thursday, February 28 2013".

27 |

If you leave a "Today" note unmodified, the plugin will automatically delete the note.

28 |

To customize the content of the default "Today" note, create a new note and change the title of the note to "Today: Template". Change the content of the template note to whatever you like. New "Today" notes will then use the content of your "Today: Template" note.

29 | 30 |
31 | -------------------------------------------------------------------------------- /help/C/gnote-addin-print.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | Print notes 9 |

GNU Free Documentation License (GFDL), Version 1.1

10 | 11 | Pierre-Yves Luyten 12 | 2011 13 | 14 | 15 | Aurimas Cernius 16 | 2011,2013 17 | 18 | 19 | Adam Dingle 20 | adam@yorba.org 21 | 2013 22 | 23 |
24 | 25 | Print 26 |

When the Print plugin is installed, the Print command is present in the Note Actions menu. This command opens a standard Print dialog which lets you print a note.

27 | 28 |
29 | -------------------------------------------------------------------------------- /help/C/gnote-addin-readonly.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | Make notes read-only 9 |

GNU Free Documentation License (GFDL), Version 1.1

10 | 11 | Aurimas Cernius 12 | 2013 13 | 14 |
15 | 16 | Read Only 17 |

When the ReadOnly plugin is installed, the Read Only item is present in the Note Actions menu for open note. When this item is checked, note is marked as read-only. This does not allow to change note until the menu item is unchecked. Use this to prevent notes from accidental modification.

18 | 19 |
20 | -------------------------------------------------------------------------------- /help/C/gnote-addin-replacetitle.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | Rename a note 9 |

GNU Free Documentation License (GFDL), Version 1.1

10 | 11 | Pierre-Yves Luyten 12 | 2011 13 | 14 | 15 | Aurimas Cernius 16 | 2011,2013 17 | 18 | 19 | Adam Dingle 20 | adam@yorba.org 21 | 2013 22 | 23 |
24 | 25 | Replace title 26 |

When the Replace title plugin is installed, the command Replace title is present in the Note Actions menu.

27 |

The Replace title command replaces a note's title with the currently selected text (from any application).

28 |

Alternatively, you can use the CtrlR shortcut.

29 | 30 |
31 | -------------------------------------------------------------------------------- /help/C/gnote-addin-specialnotes.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | See special notes 9 |

GNU Free Documentation License (GFDL), Version 1.1

10 | 11 | Aurimas Cernius 12 | 2013 13 | 14 |
15 | 16 | Special Notes 17 |

When the SpecialNotes plugin is installed, the new special notebook Special Notes is present in the list of notebooks. This notebook contains notes that are otherwise not visible, such as template notes. This might be convenient way to go through all your templates.

18 | 19 |
20 | -------------------------------------------------------------------------------- /help/C/gnote-addin-sync-gvfs.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | Synchronize to an online folder 10 |

GNU Free Documentation License (GFDL), Version 1.1

11 | 12 | Aurimas Cernius 13 | 2019 14 | 15 |
16 | 17 | Online Folder Synchronization 18 |

This type of synchronization lets you synchronize to online folder that can be opened in Files.

19 |

To use this type of synchronization you have to first configure your account for accessing the folder in Online Accounts. Once account has been added, it should be visible in the side pane in Files application and you should be able to open it and browse your online folder.

20 |

To configure this type of synchronization, select Online Folder in the Service drop-down and then enter the desired folder as the Folder URI. You can get the folder URI by opening that online folder in Files application and then pressing CtrlL to edit the path.

21 |
22 | Online Folder Synchronization configuration 23 | 24 |
25 |

After entering the desired folder, click the Save button. Use the Clear button to turn synchronization off.

26 |

If entered folder doesn't exist, Gnote will attempt to create it.

27 | 28 |
29 | -------------------------------------------------------------------------------- /help/C/gnote-addin-sync-local.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | Synchronize to a local folder 10 |

GNU Free Documentation License (GFDL), Version 1.1

11 | 12 | Aurimas Cernius 13 | 2012 14 | 15 | 16 | Adam Dingle 17 | adam@yorba.org 18 | 2013 19 | 20 |
21 | 22 | Local Folder Synchronization 23 |

This type of synchronization lets you use a local folder as synchronization storage.

24 |

To configure this type of synchronization, select Local Folder in the Service drop-down and then select the desired folder as the Folder Path.

25 |
26 | Local Folder Synchronization configuration 27 | 28 |
29 |

After selecting the desired folder, click the Save button. Use the Clear button to turn synchronization off.

30 | 31 |
32 | -------------------------------------------------------------------------------- /help/C/gnote-addin-sync-webdav.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | Synchronize to a WebDAV share 10 |

GNU Free Documentation License (GFDL), Version 1.1

11 | 12 | Aurimas Cernius 13 | 2012 14 | 15 | 16 | Adam Dingle 17 | adam@yorba.org 18 | 2013 19 | 20 |
21 | 22 | WebDAV Synchronization 23 |

This type of synchronization lets you use a WebDAV server as synchronization storage.

24 |

To configure this type of synchronization:

25 | 26 |

select "WebDAV" in the Service drop-down

27 |

enter the URL to your share

28 |

enter your username and password

29 |
30 |
31 | Local Folder Synchronization configuration 32 | 33 |
34 |

After selecting the desired folder click the Save button. Use the Clear button to turn synchronization off.

35 | 36 |
37 | -------------------------------------------------------------------------------- /help/C/gnote-addin-timestamp.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | Insert current time 10 |

GNU Free Documentation License (GFDL), Version 1.1

11 | 12 | Pierre-Yves Luyten 13 | 2011 14 | 15 | 16 | Aurimas Cernius 17 | 2011,2013 18 | 19 | 20 | Adam Dingle 21 | adam@yorba.org 22 | 2013 23 | 24 |
25 | 26 | Insert Timestamp Add-in 27 | 28 |

When the Insert Timestamp plugin is installed, the Actions menu will include a Insert Timestamp command. Select this command to insert the current date and time.

29 | 30 |
31 | -------------------------------------------------------------------------------- /help/C/gnote-addin-underline.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | Underline text 9 |

GNU Free Documentation License (GFDL), Version 1.1

10 | 11 | Pierre-Yves Luyten 12 | 2011 13 | 14 | 15 | Aurimas Cernius 16 | 2011,2013 17 | 18 | 19 | Adam Dingle 20 | adam@yorba.org 21 | 2013 22 | 23 |
24 | 25 | Underline Text Plugin 26 |

When the Underline plugin is installed, the Text menu will have a Underline option available.

27 |

To underline the selected text, use one of the following:

28 | 29 |

Click on Text and select Underline.

30 |

Press CtrlU.

31 |
32 |

To remove underline, select the underlined text and use one of the following:

33 | 34 |

Click on Text and select Underline.

35 |

Press CtrlU.

36 |
37 | 38 |
39 | -------------------------------------------------------------------------------- /help/C/gnote-addins-preferences.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | Settings for Gnote plugins 9 |

GNU Free Documentation License (GFDL), Version 1.1

10 | 11 | Pierre-Yves Luyten 12 | 2011 13 | 14 | 15 | Aurimas Cernius 16 | 2011,2013,2014 17 | 18 | 19 | Adam Dingle 20 | adam@yorba.org 21 | 2013 22 | 23 |
24 | 25 | Plugin Preferences 26 |

You can activate or deactivate plugins in this tab. To do this, select a plugin and click the Enable button. Use the Disable button to disable a plugin.

27 |

Some plugins have preferences, which you can access by selecting a plugin and pressing the Preferences button.

28 |
<app>Gnote</app> Plugin Preferences 29 | Gnote Plugins window 30 | 31 |

Plugins window.

32 |
33 |
34 | 35 |
36 | -------------------------------------------------------------------------------- /help/C/gnote-common-problems.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 |

GNU Free Documentation License (GFDL), Version 1.1

9 | Frequently asked questions 10 | 11 | Pierre-Yves Luyten 12 | 2011 13 | 14 | 15 | Aurimas Cernius 16 | 2011-2014 17 | 18 | 19 | Adam Dingle 20 | adam@yorba.org 21 | 2013 22 | 23 |
24 | 25 | Gnote Common Issues 26 | 27 |

Does Gnote work with Tomboy?

You can import Tomboy Notes. A plugin has to be activated.

28 |
29 |

How to automatically start Gnote when I log in?

30 |

you can setup Gnote to start automatically when you log into GNOME using Tweaks application.

31 |
32 |
33 | 34 |
35 | -------------------------------------------------------------------------------- /help/C/gnote-creating-notes.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 |

GNU Free Documentation License (GFDL), Version 1.1

9 | Creating notes 10 | 11 | Pierre-Yves Luyten 12 | 2011 13 | 14 | 15 | Aurimas Cernius 16 | 2011-2012,2019,2023-2025 17 | 18 | 19 | Adam Dingle 20 | adam@yorba.org 21 | 2013 22 | 23 |
24 | 25 | Creating Notes 26 | 27 |

In Gnote, you can create new notes in any of these ways:

28 | 29 |

Click menu button in the main window and then select New Note.

30 |

In the Gnote window, click the button New at the bottom of the notes list.

31 |

Use the keyboard shortcut CtrlShiftN.

32 |
33 | 34 |
35 | -------------------------------------------------------------------------------- /help/C/gnote-deleting-notes.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 |

GNU Free Documentation License (GFDL), Version 1.1

9 | Deleting notes 10 | 11 | Pierre-Yves Luyten 12 | 2011 13 | 14 | 15 | Aurimas Cernius 16 | 2011-2012,2024 17 | 18 | 19 | Adam Dingle 20 | adam@yorba.org 21 | 2013 22 | 23 |
24 | 25 | Deleting Notes 26 |

You can delete a note in either of two ways:

27 | 28 |

In the list of notes press Delete. This will delete all selected notes.

29 |

Press the Delete button at the bottom of notes list. This will delete all selected notes.

30 |

When a note is open, press the Note Actions button on the toolbar and press Delete in menu that opens.

31 |
32 |

In both cases a dialog box will pop up asking if you want to permanently delete the note and its contents. Click the Delete button to discard the note permanently, or Cancel to abort. Links to the deleted note from other notes will still exist, but will re-create the note upon activation.

33 | 34 |
35 | -------------------------------------------------------------------------------- /help/C/gnote-introduction.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | Introduction to Gnote 10 |

GNU Free Documentation License (GFDL), Version 1.1

11 | 12 | Pierre-Yves Luyten 13 | 2011 14 | 15 | 16 | Aurimas Cernius 17 | 2011-2012 18 | 19 | 20 | Adam Dingle 21 | adam@yorba.org 22 | 2013 23 | 24 |
25 | 26 | Gnote Introduction 27 |

Gnote is a desktop note-taking application for GNOME. It is simple and easy to use, and lets you organize the ideas and information you deal with every day. Gnote has useful editing features to help you customize your notes, including

28 | 29 |

highlighting search text

30 |

inline spell checking

31 |

auto-linking web and email addresses

32 |

undo/redo

33 |

font styling and sizing

34 |

bulleted lists

35 |
36 |
37 | The <app>Gnote</app> main window 38 | The Gnote main window 39 | 40 |

The Gnote main window.

41 |
42 |
43 | 44 |
45 | -------------------------------------------------------------------------------- /help/C/gnote-links.page: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 |

GNU Free Documentation License (GFDL), Version 1.1

9 | Linking to other notes 10 | 11 | Pierre-Yves Luyten 12 | 2011 13 | 14 | 15 | Aurimas Cernius 16 | 2011,2013 17 | 18 | 19 | Adam Dingle 20 | adam@yorba.org 21 | 2013 22 | 23 |
24 | 25 | Links 26 |

The Link button creates a link to a new note from within the current note. For example, if your note contains the phrase “FinalExam”, you can select this text and click the Link button to create a new note called “FinalExam”. The selected text will become a clickable link to this new note.

27 | 28 |

Changing a note's title will update links present in other notes. This prevents broken links from occurring when a note is renamed.

29 | 30 | 33 | 34 |
35 | -------------------------------------------------------------------------------- /help/C/index.page: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |

GNU Free Documentation License (GFDL), Version 1.1

7 |
8 | 9 | Pierre-Yves Luyten 10 | 2011 11 | 12 | 13 | Aurimas Cernius 14 | 2011 15 | 16 |
17 | 18 | <media type="image" src="figures/logo32.png" /> Gnote Help 19 | 20 |
21 | Introduction 22 |
23 | 24 |
25 | Managing Notes 26 |
27 | 28 |
29 | Organizing Notes 30 |
31 | 32 |
33 | Advanced 34 |
35 | 36 |
37 | Customizing 38 |
39 | 40 |
41 | Common Problems 42 |
43 | 44 |
45 | -------------------------------------------------------------------------------- /help/LINGUAS: -------------------------------------------------------------------------------- 1 | # Please keep this list sorted alphabetically 2 | ca 3 | cs 4 | da 5 | de 6 | el 7 | es 8 | fr 9 | hu 10 | id 11 | lt 12 | pl 13 | ru 14 | sl 15 | sv 16 | uk 17 | zh_CN 18 | -------------------------------------------------------------------------------- /help/cs/figures/add-notebook-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/cs/figures/add-notebook-search.png -------------------------------------------------------------------------------- /help/cs/figures/add-to-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/cs/figures/add-to-notebook.png -------------------------------------------------------------------------------- /help/cs/figures/delete-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/cs/figures/delete-notebook.png -------------------------------------------------------------------------------- /help/cs/figures/gnote-new-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/cs/figures/gnote-new-note.png -------------------------------------------------------------------------------- /help/cs/figures/gnote-preferences-add-ins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/cs/figures/gnote-preferences-add-ins.png -------------------------------------------------------------------------------- /help/cs/figures/gnote-preferences-editing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/cs/figures/gnote-preferences-editing.png -------------------------------------------------------------------------------- /help/cs/figures/gnote-preferences-synchronization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/cs/figures/gnote-preferences-synchronization.png -------------------------------------------------------------------------------- /help/cs/figures/note-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/cs/figures/note-template.png -------------------------------------------------------------------------------- /help/de/figures/add-notebook-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/add-notebook-search.png -------------------------------------------------------------------------------- /help/de/figures/add-to-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/add-to-notebook.png -------------------------------------------------------------------------------- /help/de/figures/delete-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/delete-notebook.png -------------------------------------------------------------------------------- /help/de/figures/gnote-addin-table-of-contents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/gnote-addin-table-of-contents.png -------------------------------------------------------------------------------- /help/de/figures/gnote-new-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/gnote-new-note.png -------------------------------------------------------------------------------- /help/de/figures/gnote-preferences-add-ins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/gnote-preferences-add-ins.png -------------------------------------------------------------------------------- /help/de/figures/gnote-preferences-editing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/gnote-preferences-editing.png -------------------------------------------------------------------------------- /help/de/figures/gnote-search-all-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/gnote-search-all-notes.png -------------------------------------------------------------------------------- /help/de/figures/gnote-sync-progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/gnote-sync-progress.png -------------------------------------------------------------------------------- /help/de/figures/gnote-syncprefs-advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/gnote-syncprefs-advanced.png -------------------------------------------------------------------------------- /help/de/figures/gnote-syncprefs-local.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/gnote-syncprefs-local.png -------------------------------------------------------------------------------- /help/de/figures/gnote-syncprefs-webdav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/gnote-syncprefs-webdav.png -------------------------------------------------------------------------------- /help/de/figures/gnote-template-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/gnote-template-note.png -------------------------------------------------------------------------------- /help/de/figures/note-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/de/figures/note-template.png -------------------------------------------------------------------------------- /help/fr/figures/add-notebook-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/fr/figures/add-notebook-search.png -------------------------------------------------------------------------------- /help/fr/figures/add-to-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/fr/figures/add-to-notebook.png -------------------------------------------------------------------------------- /help/fr/figures/delete-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/fr/figures/delete-notebook.png -------------------------------------------------------------------------------- /help/fr/figures/gnote-new-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/fr/figures/gnote-new-note.png -------------------------------------------------------------------------------- /help/fr/figures/gnote-preferences-add-ins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/fr/figures/gnote-preferences-add-ins.png -------------------------------------------------------------------------------- /help/fr/figures/gnote-preferences-editing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/fr/figures/gnote-preferences-editing.png -------------------------------------------------------------------------------- /help/fr/figures/gnote-search-all-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/fr/figures/gnote-search-all-notes.png -------------------------------------------------------------------------------- /help/fr/figures/note-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/fr/figures/note-template.png -------------------------------------------------------------------------------- /help/hu/figures/add-notebook-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/add-notebook-search.png -------------------------------------------------------------------------------- /help/hu/figures/add-to-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/add-to-notebook.png -------------------------------------------------------------------------------- /help/hu/figures/delete-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/delete-notebook.png -------------------------------------------------------------------------------- /help/hu/figures/gnote-addin-table-of-contents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/gnote-addin-table-of-contents.png -------------------------------------------------------------------------------- /help/hu/figures/gnote-new-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/gnote-new-note.png -------------------------------------------------------------------------------- /help/hu/figures/gnote-preferences-add-ins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/gnote-preferences-add-ins.png -------------------------------------------------------------------------------- /help/hu/figures/gnote-preferences-editing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/gnote-preferences-editing.png -------------------------------------------------------------------------------- /help/hu/figures/gnote-search-all-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/gnote-search-all-notes.png -------------------------------------------------------------------------------- /help/hu/figures/gnote-sync-progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/gnote-sync-progress.png -------------------------------------------------------------------------------- /help/hu/figures/gnote-syncprefs-advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/gnote-syncprefs-advanced.png -------------------------------------------------------------------------------- /help/hu/figures/gnote-syncprefs-gvfs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/gnote-syncprefs-gvfs.png -------------------------------------------------------------------------------- /help/hu/figures/gnote-syncprefs-local.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/gnote-syncprefs-local.png -------------------------------------------------------------------------------- /help/hu/figures/gnote-syncprefs-webdav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/gnote-syncprefs-webdav.png -------------------------------------------------------------------------------- /help/hu/figures/gnote-template-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/gnote-template-note.png -------------------------------------------------------------------------------- /help/hu/figures/note-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/hu/figures/note-template.png -------------------------------------------------------------------------------- /help/lt/figures/add-notebook-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/add-notebook-search.png -------------------------------------------------------------------------------- /help/lt/figures/add-to-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/add-to-notebook.png -------------------------------------------------------------------------------- /help/lt/figures/delete-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/delete-notebook.png -------------------------------------------------------------------------------- /help/lt/figures/gnote-addin-table-of-contents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/gnote-addin-table-of-contents.png -------------------------------------------------------------------------------- /help/lt/figures/gnote-new-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/gnote-new-note.png -------------------------------------------------------------------------------- /help/lt/figures/gnote-preferences-add-ins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/gnote-preferences-add-ins.png -------------------------------------------------------------------------------- /help/lt/figures/gnote-preferences-editing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/gnote-preferences-editing.png -------------------------------------------------------------------------------- /help/lt/figures/gnote-search-all-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/gnote-search-all-notes.png -------------------------------------------------------------------------------- /help/lt/figures/gnote-sync-progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/gnote-sync-progress.png -------------------------------------------------------------------------------- /help/lt/figures/gnote-syncprefs-advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/gnote-syncprefs-advanced.png -------------------------------------------------------------------------------- /help/lt/figures/gnote-syncprefs-gvfs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/gnote-syncprefs-gvfs.png -------------------------------------------------------------------------------- /help/lt/figures/gnote-syncprefs-local.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/gnote-syncprefs-local.png -------------------------------------------------------------------------------- /help/lt/figures/gnote-syncprefs-webdav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/gnote-syncprefs-webdav.png -------------------------------------------------------------------------------- /help/lt/figures/gnote-template-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/gnote-template-note.png -------------------------------------------------------------------------------- /help/lt/figures/note-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/lt/figures/note-template.png -------------------------------------------------------------------------------- /help/sv/figures/add-notebook-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/add-notebook-search.png -------------------------------------------------------------------------------- /help/sv/figures/add-to-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/add-to-notebook.png -------------------------------------------------------------------------------- /help/sv/figures/delete-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/delete-notebook.png -------------------------------------------------------------------------------- /help/sv/figures/gnote-addin-table-of-contents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/gnote-addin-table-of-contents.png -------------------------------------------------------------------------------- /help/sv/figures/gnote-new-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/gnote-new-note.png -------------------------------------------------------------------------------- /help/sv/figures/gnote-preferences-add-ins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/gnote-preferences-add-ins.png -------------------------------------------------------------------------------- /help/sv/figures/gnote-preferences-editing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/gnote-preferences-editing.png -------------------------------------------------------------------------------- /help/sv/figures/gnote-search-all-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/gnote-search-all-notes.png -------------------------------------------------------------------------------- /help/sv/figures/gnote-sync-progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/gnote-sync-progress.png -------------------------------------------------------------------------------- /help/sv/figures/gnote-syncprefs-advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/gnote-syncprefs-advanced.png -------------------------------------------------------------------------------- /help/sv/figures/gnote-syncprefs-gvfs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/gnote-syncprefs-gvfs.png -------------------------------------------------------------------------------- /help/sv/figures/gnote-syncprefs-local.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/gnote-syncprefs-local.png -------------------------------------------------------------------------------- /help/sv/figures/gnote-syncprefs-webdav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/gnote-syncprefs-webdav.png -------------------------------------------------------------------------------- /help/sv/figures/gnote-template-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/gnote-template-note.png -------------------------------------------------------------------------------- /help/sv/figures/note-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/help/sv/figures/note-template.png -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | # Please keep this list sorted alphabetically 2 | ar 3 | as 4 | bg 5 | bn_IN 6 | bs 7 | ca 8 | ca@valencia 9 | cs 10 | da 11 | de 12 | el 13 | en_GB 14 | eo 15 | es 16 | eu 17 | fi 18 | fr 19 | gl 20 | gu 21 | he 22 | hi 23 | hu 24 | id 25 | ie 26 | it 27 | ja 28 | ka 29 | kn 30 | ko 31 | lt 32 | lv 33 | ml 34 | mr 35 | nb 36 | nl 37 | oc 38 | or 39 | pa 40 | pl 41 | pt 42 | pt_BR 43 | ro 44 | ru 45 | sk 46 | sl 47 | sr 48 | sr@latin 49 | sv 50 | ta 51 | te 52 | th 53 | tr 54 | uk 55 | zh_CN 56 | zh_HK 57 | zh_TW 58 | -------------------------------------------------------------------------------- /po/POTFILES.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/po/POTFILES.skip -------------------------------------------------------------------------------- /po/meson.build: -------------------------------------------------------------------------------- 1 | i18n.gettext( 2 | meson.project_name(), 3 | preset: 'glib', 4 | args: [ 5 | '--keyword=Description', 6 | '--keyword=Authors', 7 | '--keyword=Copyright', 8 | ] 9 | ) 10 | 11 | -------------------------------------------------------------------------------- /src/abstractaddin.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2010,2019,2021 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | 23 | 24 | #include "abstractaddin.hpp" 25 | 26 | namespace gnote { 27 | 28 | AbstractAddin::AbstractAddin() 29 | : m_gnote(nullptr) 30 | , m_disposing(false) 31 | { 32 | } 33 | 34 | AbstractAddin::~AbstractAddin() 35 | { 36 | } 37 | 38 | void AbstractAddin::dispose() 39 | { 40 | m_disposing = true; 41 | dispose(true); 42 | } 43 | 44 | 45 | void AbstractAddin::dispose(bool ) 46 | { 47 | } 48 | 49 | 50 | } 51 | 52 | -------------------------------------------------------------------------------- /src/abstractaddin.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2010,2012-2013,2019 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | 23 | 24 | #ifndef __ABSTRACT_ADDIN_HPP_ 25 | #define __ABSTRACT_ADDIN_HPP_ 26 | 27 | #include 28 | 29 | #include "sharp/modulefactory.hpp" 30 | 31 | namespace gnote { 32 | 33 | class IGnote; 34 | 35 | 36 | class AbstractAddin 37 | : public sharp::IInterface 38 | , public sigc::trackable 39 | { 40 | public: 41 | AbstractAddin(); 42 | virtual ~AbstractAddin(); 43 | 44 | void initialize(IGnote & ignote) 45 | { 46 | m_gnote = &ignote; 47 | } 48 | void dispose(); 49 | bool is_disposing() const 50 | { return m_disposing; } 51 | 52 | IGnote & ignote() const 53 | { 54 | return const_cast(*m_gnote); 55 | } 56 | protected: 57 | virtual void dispose(bool disposing); 58 | 59 | private: 60 | IGnote *m_gnote; 61 | bool m_disposing; 62 | }; 63 | 64 | } 65 | 66 | 67 | 68 | #endif 69 | -------------------------------------------------------------------------------- /src/addinpreferencefactory.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2009 Hubert Figuiere 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | 22 | 23 | 24 | #include "addinpreferencefactory.hpp" 25 | 26 | namespace gnote { 27 | 28 | const char * AddinPreferenceFactoryBase::IFACE_NAME = "gnote::AddinPreferenceFactoryBase"; 29 | 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/applicationaddin.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2009 Debarshi Ray 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | #include "applicationaddin.hpp" 21 | 22 | namespace gnote { 23 | 24 | const char * ApplicationAddin::IFACE_NAME = "gnote::ApplicationAddin"; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/base/hash.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2023 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #ifndef __HASH_HPP__ 22 | #define __HASH_HPP__ 23 | 24 | #include 25 | 26 | #include 27 | 28 | 29 | namespace gnote { 30 | 31 | template 32 | class Hash 33 | { 34 | }; 35 | 36 | template <> 37 | class Hash 38 | { 39 | public: 40 | std::size_t operator()(const Glib::ustring & s) const noexcept 41 | { 42 | std::string_view sv(s.c_str(), s.bytes()); 43 | return m_hash(sv); 44 | } 45 | private: 46 | std::hash m_hash; 47 | }; 48 | 49 | } 50 | 51 | #endif 52 | 53 | -------------------------------------------------------------------------------- /src/base/macros.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2016,2019 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a 8 | * copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation 10 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11 | * and/or sell copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | * DEALINGS IN THE SOFTWARE. 24 | */ 25 | 26 | 27 | 28 | 29 | #ifndef __BASE_MACROS_ 30 | #define __BASE_MACROS_ 31 | 32 | #if __cplusplus < 201103L 33 | #error "C++11 support is required" 34 | #else 35 | #include 36 | #endif 37 | 38 | #if __GNUC__ 39 | #define _PRINTF_FORMAT(f,a) \ 40 | __attribute__ ((format (printf, f, a))); 41 | #else 42 | #define _PRINTF_FORMAT(f,a) 43 | #endif 44 | 45 | #define TO_STRING(x) std::to_string(x) 46 | #define STRING_TO_INT(x) std::stoi(x) 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /src/dbus/iremotecontrol.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2009 Hubert Figuiere 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #ifndef __IREMOTE_CONTROL_HPP_ 22 | #define __IREMOTE_CONTROL_HPP_ 23 | 24 | #include "dbus/remotecontrol-glue.hpp" 25 | 26 | 27 | namespace gnote { 28 | 29 | typedef org::gnome::Gnote::RemoteControl_adaptor IRemoteControl; 30 | 31 | } 32 | 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/dbus/meson.build: -------------------------------------------------------------------------------- 1 | install_data( 2 | [ 'gnote-introspect.xml', 'shell-search-provider-dbus-interfaces.xml' ], 3 | install_dir: get_option('datadir') / 'gnote', 4 | ) 5 | 6 | -------------------------------------------------------------------------------- /src/gnome_keyring/keyringexception.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2012-2013,2017,2019 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #ifndef _GNOME_KEYRING_KEYRINGEXCEPTION_HPP_ 22 | #define _GNOME_KEYRING_KEYRINGEXCEPTION_HPP_ 23 | 24 | #include 25 | 26 | #include 27 | 28 | 29 | namespace gnome { 30 | namespace keyring { 31 | 32 | class KeyringException 33 | : public std::exception 34 | { 35 | public: 36 | KeyringException(const Glib::ustring & msg) 37 | : m_what(msg) 38 | {} 39 | virtual ~KeyringException() noexcept override {} 40 | virtual const char *what() const noexcept override 41 | { 42 | return m_what.c_str(); 43 | } 44 | private: 45 | Glib::ustring m_what; 46 | }; 47 | 48 | } 49 | } 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /src/gnome_keyring/ring.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2012,2017 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #ifndef _GNOME_KEYRING_RING_HPP_ 22 | #define _GNOME_KEYRING_RING_HPP_ 23 | 24 | #include 25 | #include 26 | 27 | #include 28 | #include 29 | 30 | 31 | 32 | namespace gnome { 33 | namespace keyring { 34 | 35 | class Ring 36 | { 37 | public: 38 | static Glib::ustring find_password(const std::map & atts); 39 | static Glib::ustring default_keyring(); 40 | static void create_password(const Glib::ustring & keyring, const Glib::ustring & displayName, 41 | const std::map & attributes, 42 | const Glib::ustring & secret); 43 | static void clear_password(const std::map & attributes); 44 | private: 45 | static GHashTable *keyring_attributes(const std::map & atts); 46 | 47 | static SecretSchema s_schema; 48 | }; 49 | 50 | } 51 | } 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /src/iactionmanager.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2019 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include "iactionmanager.hpp" 22 | 23 | namespace gnote { 24 | 25 | IActionManager::~IActionManager() 26 | {} 27 | 28 | } 29 | 30 | -------------------------------------------------------------------------------- /src/iconmanager.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2012-2013,2017,2019,2021-2023 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include "iconmanager.hpp" 22 | 23 | 24 | namespace gnote { 25 | 26 | const char *IconManager::BUG = "bug"; 27 | const char *IconManager::EMBLEM_PACKAGE = "emblem-package"; 28 | const char *IconManager::FILTER_NOTE_ALL = "filter-note-all"; 29 | const char *IconManager::FILTER_NOTE_UNFILED = "filter-note-unfiled"; 30 | const char *IconManager::GNOTE = "org.gnome.Gnote"; 31 | const char *IconManager::NOTE = "note"; 32 | const char *IconManager::NOTE_NEW = "note-new"; 33 | const char *IconManager::NOTEBOOK = "notebook"; 34 | const char *IconManager::NOTEBOOK_NEW = "notebook-new"; 35 | const char *IconManager::PIN_ACTIVE = "pin-active"; 36 | const char *IconManager::PIN_DOWN = "pin-down"; 37 | const char *IconManager::PIN_UP = "pin-up"; 38 | const char *IconManager::ACTIVE_NOTES = "active-notes"; 39 | const char *IconManager::SPECIAL_NOTES = "special-notes"; 40 | 41 | } 42 | 43 | -------------------------------------------------------------------------------- /src/iconmanager.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2012-2013,2017,2019,2023 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | namespace gnote { 21 | 22 | class IconManager 23 | { 24 | public: 25 | static const char *BUG; 26 | static const char *EMBLEM_PACKAGE; 27 | static const char *FILTER_NOTE_ALL; 28 | static const char *FILTER_NOTE_UNFILED; 29 | static const char *GNOTE; 30 | static const char *NOTE; 31 | static const char *NOTE_NEW; 32 | static const char *NOTEBOOK; 33 | static const char *NOTEBOOK_NEW; 34 | static const char *PIN_ACTIVE; 35 | static const char *PIN_DOWN; 36 | static const char *PIN_UP; 37 | static const char *ACTIVE_NOTES; 38 | static const char *SPECIAL_NOTES; 39 | 40 | IconManager() = delete; 41 | }; 42 | 43 | } 44 | 45 | -------------------------------------------------------------------------------- /src/ignote.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2017 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include 22 | 23 | #include "ignote.hpp" 24 | 25 | 26 | namespace gnote { 27 | 28 | IGnote::~IGnote() 29 | {} 30 | 31 | Glib::ustring IGnote::cache_dir() 32 | { 33 | return Glib::get_user_cache_dir() + "/gnote"; 34 | } 35 | 36 | Glib::ustring IGnote::conf_dir() 37 | { 38 | return Glib::get_user_config_dir() + "/gnote"; 39 | } 40 | 41 | Glib::ustring IGnote::data_dir() 42 | { 43 | return Glib::get_user_data_dir() + "/gnote"; 44 | } 45 | 46 | Glib::ustring IGnote::old_note_dir() 47 | { 48 | Glib::ustring home_dir = Glib::get_home_dir(); 49 | 50 | if(home_dir.empty()) { 51 | home_dir = Glib::get_current_dir(); 52 | } 53 | 54 | return home_dir + "/.gnote"; 55 | } 56 | 57 | } 58 | 59 | -------------------------------------------------------------------------------- /src/ignote.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2016-2017,2019,2022-2023 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | #ifndef _IGNOTE_HPP_ 21 | #define _IGNOTE_HPP_ 22 | 23 | #include "mainwindow.hpp" 24 | 25 | namespace gnote { 26 | 27 | class IActionManager; 28 | class Preferences; 29 | namespace notebooks { 30 | class NotebookManager; 31 | } 32 | namespace sync { 33 | class ISyncManager; 34 | } 35 | 36 | 37 | class IGnote 38 | { 39 | public: 40 | static Glib::ustring cache_dir(); 41 | static Glib::ustring conf_dir(); 42 | static Glib::ustring data_dir(); 43 | static Glib::ustring old_note_dir(); 44 | 45 | virtual ~IGnote(); 46 | 47 | virtual IActionManager & action_manager() = 0; 48 | virtual notebooks::NotebookManager & notebook_manager() = 0; 49 | virtual sync::ISyncManager & sync_manager() = 0; 50 | virtual Preferences & preferences() = 0; 51 | 52 | virtual MainWindow & get_main_window() = 0; 53 | virtual MainWindow & get_window_for_note() = 0; 54 | virtual MainWindow & new_main_window() = 0; 55 | virtual void open_note(const NoteBase & note) = 0; 56 | virtual MainWindow & open_search_all() = 0; 57 | 58 | sigc::signal signal_quit; 59 | }; 60 | 61 | } 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /src/importaddin.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2009 Hubert Figuiere 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include "importaddin.hpp" 22 | 23 | 24 | namespace gnote { 25 | 26 | const char * ImportAddin::IFACE_NAME = "gnote::ImportAddin"; 27 | 28 | ImportAddin::ImportAddin() 29 | : m_initialized(false) 30 | { 31 | } 32 | 33 | 34 | bool ImportAddin::initialized () 35 | { 36 | return m_initialized; 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/importaddin.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2019 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | 23 | #ifndef __IMPORT_ADDIN_HPP__ 24 | #define __IMPORT_ADDIN_HPP__ 25 | 26 | #include "applicationaddin.hpp" 27 | 28 | namespace gnote { 29 | 30 | class NoteManager; 31 | 32 | class ImportAddin 33 | : public ApplicationAddin 34 | { 35 | public: 36 | static const char * IFACE_NAME; 37 | 38 | ImportAddin(); 39 | 40 | virtual bool initialized() override; 41 | 42 | /** Return whether the importer want to run at startup or not 43 | */ 44 | virtual bool want_to_run(NoteManager & manager) = 0; 45 | /** Run import during first run. 46 | * @param manager the NoteManager to import into. 47 | * @return true in case of success. 48 | */ 49 | virtual bool first_run(NoteManager & manager) = 0; 50 | 51 | protected: 52 | bool m_initialized; 53 | }; 54 | 55 | 56 | } 57 | 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /src/itagmanager.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2021 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | #include "itagmanager.hpp" 21 | 22 | namespace gnote { 23 | 24 | const char *ITagManager::TEMPLATE_NOTE_SYSTEM_TAG = "template"; 25 | const char *ITagManager::TEMPLATE_NOTE_SAVE_SELECTION_SYSTEM_TAG = "template:save-selection"; 26 | const char *ITagManager::TEMPLATE_NOTE_SAVE_TITLE_SYSTEM_TAG = "template:save-title"; 27 | 28 | ITagManager::~ITagManager() 29 | {} 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/itagmanager.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2017,2019,2021,2024 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | #ifndef _ITAGMANAGER_HPP_ 21 | #define _ITAGMANAGER_HPP_ 22 | 23 | #include 24 | 25 | #include "tag.hpp" 26 | 27 | namespace gnote { 28 | 29 | class ITagManager 30 | { 31 | public: 32 | static const char * TEMPLATE_NOTE_SYSTEM_TAG; 33 | static const char * TEMPLATE_NOTE_SAVE_SELECTION_SYSTEM_TAG; 34 | static const char * TEMPLATE_NOTE_SAVE_TITLE_SYSTEM_TAG; 35 | 36 | virtual ~ITagManager(); 37 | 38 | [[nodiscard]] 39 | virtual Tag::ORef get_tag(const Glib::ustring & tag_name) const = 0; 40 | [[nodiscard]] 41 | virtual Tag &get_or_create_tag(const Glib::ustring &) = 0; 42 | [[nodiscard]] 43 | virtual Tag::ORef get_system_tag(const Glib::ustring & tag_name) const = 0; 44 | [[nodiscard]] 45 | virtual Tag &get_or_create_system_tag(const Glib::ustring & name) = 0; 46 | virtual void remove_tag(Tag &tag) = 0; 47 | [[nodiscard]] 48 | virtual std::vector all_tags() const = 0; 49 | }; 50 | 51 | } 52 | 53 | #endif 54 | 55 | -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2022 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | #include "config.h" 22 | 23 | #include 24 | 25 | #include "gnote.hpp" 26 | 27 | int main(int argc, char **argv) 28 | { 29 | bindtextdomain(GETTEXT_PACKAGE, GNOTE_LOCALEDIR); 30 | bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); 31 | textdomain(GETTEXT_PACKAGE); 32 | 33 | Glib::RefPtr app = gnote::Gnote::create(); 34 | return app->main(argc, argv); 35 | } 36 | -------------------------------------------------------------------------------- /src/mainwindowembeds.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2021 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include "mainwindowembeds.hpp" 22 | 23 | 24 | namespace gnote { 25 | 26 | void EmbeddableWidget::embed(EmbeddableWidgetHost *h) 27 | { 28 | //remove from previous host, if any 29 | if(m_host) { 30 | m_host->unembed_widget(*this); 31 | } 32 | m_host = h; 33 | signal_embedded(); 34 | } 35 | 36 | void EmbeddableWidget::unembed() 37 | { 38 | m_host = NULL; 39 | signal_unembedded(); 40 | } 41 | 42 | void EmbeddableWidget::foreground() 43 | { 44 | signal_foregrounded(); 45 | } 46 | 47 | void EmbeddableWidget::background() 48 | { 49 | signal_backgrounded(); 50 | } 51 | 52 | void EmbeddableWidget::size_internals() 53 | { 54 | } 55 | 56 | 57 | bool SearchableItem::supports_goto_result() 58 | { 59 | return false; 60 | } 61 | 62 | bool SearchableItem::goto_next_result() 63 | { 64 | return false; 65 | } 66 | 67 | bool SearchableItem::goto_previous_result() 68 | { 69 | return false; 70 | } 71 | 72 | } 73 | 74 | -------------------------------------------------------------------------------- /src/noncopyable.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2017 Aurimas Cernius 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a 7 | * copy of this software and associated documentation files (the "Software"), 8 | * to deal in the Software without restriction, including without limitation 9 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 10 | * and/or sell copies of the Software, and to permit persons to whom the 11 | * Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22 | * DEALINGS IN THE SOFTWARE. 23 | */ 24 | 25 | 26 | #ifndef __NONCOPYABLE_HPP__ 27 | #define __NONCOPYABLE_HPP__ 28 | 29 | namespace gnote 30 | { 31 | 32 | class NonCopyable 33 | { 34 | public: 35 | NonCopyable() {} 36 | NonCopyable(const NonCopyable &) = delete; 37 | const NonCopyable & operator=(const NonCopyable &) = delete; 38 | }; 39 | 40 | } 41 | 42 | #endif 43 | 44 | -------------------------------------------------------------------------------- /src/notebooks/createnotebookdialog.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2017,2019 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | 23 | 24 | #ifndef __NOTEBOOK_CREATENOTEBOOKDIALOG_HPP_ 25 | #define __NOTEBOOK_CREATENOTEBOOKDIALOG_HPP_ 26 | 27 | #include 28 | #include 29 | #include 30 | 31 | #include "utils.hpp" 32 | 33 | namespace gnote { 34 | 35 | class IGnote; 36 | 37 | namespace notebooks { 38 | 39 | 40 | class CreateNotebookDialog 41 | : public utils::HIGMessageDialog 42 | { 43 | public: 44 | CreateNotebookDialog(Gtk::Window *parent, GtkDialogFlags f, IGnote & g); 45 | 46 | Glib::ustring get_notebook_name(); 47 | void set_notebook_name(const Glib::ustring &); 48 | 49 | private: 50 | void on_name_entry_changed(); 51 | IGnote & m_gnote; 52 | Gtk::Entry m_nameEntry; 53 | Gtk::Label m_errorLabel; 54 | Glib::RefPtr m_newNotebookIcon; 55 | Glib::RefPtr m_newNotebookIconDialog; 56 | }; 57 | 58 | } 59 | } 60 | 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /src/notebooks/notebookapplicationaddin.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2012-2015,2017,2019,2023-2024 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | 23 | #ifndef __NOTEBOOK_APPLICATION_ADDIN_HPP__ 24 | #define __NOTEBOOK_APPLICATION_ADDIN_HPP__ 25 | 26 | #include "applicationaddin.hpp" 27 | #include "note.hpp" 28 | 29 | namespace gnote { 30 | namespace notebooks { 31 | 32 | 33 | class NotebookApplicationAddin 34 | : public ApplicationAddin 35 | { 36 | public: 37 | static ApplicationAddin * create(); 38 | virtual void initialize() override; 39 | virtual void shutdown() override; 40 | virtual bool initialized() override; 41 | 42 | protected: 43 | NotebookApplicationAddin(); 44 | private: 45 | void on_tag_added(const NoteBase&, const Tag&); 46 | void on_tag_removed(const NoteBase&, const Glib::ustring&); 47 | void on_note_added(NoteBase &); 48 | void on_new_notebook_action(const Glib::VariantBase&); 49 | 50 | bool m_initialized; 51 | }; 52 | 53 | 54 | } 55 | } 56 | 57 | 58 | #endif 59 | 60 | -------------------------------------------------------------------------------- /src/plugins/backlinks/backlinks.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=BacklinksAddin 3 | Name=Backlinks 4 | Description=See which notes link to the one you're currently viewing. 5 | Authors=Hubert Figuiere and Tomboy Project 6 | Category=Tools 7 | Version=0.11 8 | DefaultEnabled=true 9 | Module=libbacklinks 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | [Actions] 13 | ActionsString=backlinks-open-note 14 | NonModifyingActions=backlinks-open-note 15 | -------------------------------------------------------------------------------- /src/plugins/backlinks/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'backlinks.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'backlinks', 20 | 'backlinksnoteaddin.cpp', 21 | dependencies: dependencies, 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/bugzilla/bug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/gnote/ee5623c9212ad87b4f2d08922f3c471c41c95826/src/plugins/bugzilla/bug.png -------------------------------------------------------------------------------- /src/plugins/bugzilla/bugzilla.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=BugzillaAddin 3 | Name=Bugzilla Links 4 | Description=Allows you to drag a Bugzilla URL from your browser directly into a Gnote note. The bug number is inserted as a link with a little bug icon next to it. 5 | Authors=Hubert Figuiere and the Tomboy Project 6 | Category=DesktopIntegration 7 | Version=0.6 8 | DefaultEnabled=false 9 | Module=libbugzilla 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | -------------------------------------------------------------------------------- /src/plugins/bugzilla/bugzillalink.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2012-2013,2017,2019,2022-2023 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | #ifndef __BUGZILLA_LINK_HPP_ 22 | #define __BUGZILLA_LINK_HPP_ 23 | 24 | #include 25 | 26 | #include "noteeditor.hpp" 27 | #include "notetag.hpp" 28 | 29 | namespace gnote { 30 | class IGnote; 31 | } 32 | 33 | 34 | namespace bugzilla { 35 | 36 | 37 | class BugzillaLink 38 | : public gnote::DynamicNoteTag 39 | { 40 | public: 41 | typedef Glib::RefPtr Ptr; 42 | static gnote::DynamicNoteTag::Ptr create(gnote::IGnote & ignote) 43 | { 44 | return Glib::make_refptr_for_instance(new BugzillaLink(ignote)); 45 | } 46 | BugzillaLink(gnote::IGnote & ignote); 47 | Glib::ustring get_bug_url() const; 48 | void set_bug_url(const Glib::ustring & ); 49 | bool activate(const gnote::NoteEditor & , const Gtk::TextIter &) override; 50 | protected: 51 | void initialize(Glib::ustring && element_name) override; 52 | virtual void on_attribute_read(const Glib::ustring &) override; 53 | private: 54 | void make_image(); 55 | 56 | gnote::IGnote & m_gnote; 57 | }; 58 | 59 | } 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /src/plugins/bugzilla/bugzillanoteaddin.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2010,2013,2017,2019,2023 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | 23 | 24 | #ifndef _BUGZILLA_NOTE_ADDIN_HPP__ 25 | #define _BUGZILLA_NOTE_ADDIN_HPP__ 26 | 27 | 28 | #include "sharp/dynamicmodule.hpp" 29 | #include "noteaddin.hpp" 30 | 31 | namespace bugzilla { 32 | 33 | 34 | class BugzillaModule 35 | : public sharp::DynamicModule 36 | { 37 | public: 38 | BugzillaModule(); 39 | }; 40 | 41 | class BugzillaNoteAddin 42 | : public gnote::NoteAddin 43 | { 44 | public: 45 | static BugzillaNoteAddin* create() 46 | { 47 | return new BugzillaNoteAddin; 48 | } 49 | static Glib::ustring images_dir(); 50 | virtual void initialize() override; 51 | virtual void shutdown() override; 52 | virtual void on_note_opened() override; 53 | private: 54 | BugzillaNoteAddin(); 55 | void migrate_images(const Glib::ustring & old_images_dir); 56 | 57 | static const char * TAG_NAME; 58 | 59 | bool drop_string(const Glib::ustring & line, int x, int y); 60 | bool insert_bug (int x, int y, const Glib::ustring & uri, int id); 61 | }; 62 | 63 | 64 | } 65 | 66 | 67 | #endif 68 | -------------------------------------------------------------------------------- /src/plugins/bugzilla/bugzillapreferencesfactory.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2009 Hubert Figuiere 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | 22 | 23 | 24 | #ifndef __BUGZILLA_PREFERENCES_FACTORY_HPP_ 25 | #define __BUGZILLA_PREFERENCES_FACTORY_HPP_ 26 | 27 | #include "addinpreferencefactory.hpp" 28 | #include "bugzillapreferences.hpp" 29 | 30 | namespace bugzilla { 31 | 32 | 33 | class BugzillaPreferencesFactory 34 | : public gnote::AddinPreferenceFactory 35 | { 36 | 37 | }; 38 | 39 | } 40 | 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /src/plugins/bugzilla/insertbugaction.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2017 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | #ifndef __BUGZILLA_INSERT_BUG_ACTION_HPP_ 22 | #define __BUGZILLA_INSERT_BUG_ACTION_HPP_ 23 | 24 | #include "undo.hpp" 25 | 26 | #include "bugzillalink.hpp" 27 | 28 | namespace bugzilla { 29 | 30 | class InsertBugAction 31 | : public gnote::SplitterAction 32 | { 33 | public: 34 | InsertBugAction(const Gtk::TextIter & start, const Glib::ustring & id, 35 | const BugzillaLink::Ptr & tag); 36 | void undo (Gtk::TextBuffer * buffer); 37 | void redo (Gtk::TextBuffer * buffer); 38 | void merge (EditAction * action); 39 | bool can_merge (const EditAction * action) const; 40 | void destroy (); 41 | 42 | private: 43 | BugzillaLink::Ptr m_tag; 44 | int m_offset; 45 | Glib::ustring m_id; 46 | }; 47 | 48 | 49 | } 50 | 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /src/plugins/bugzilla/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'bugzilla.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | 10 | custom_target( 11 | desktop_file, 12 | input: configured_desktop_file, 13 | output: desktop_file, 14 | command: msgfmt_plugin_cmd, 15 | install: true, 16 | install_dir: addins_install_dir, 17 | ) 18 | 19 | install_data('bug.png', install_dir: get_option('datadir') / meson.project_name()/ 'icons/hicolor/16x16/apps') 20 | 21 | shared_library( 22 | 'bugzilla', 23 | [ 24 | 'bugzillanoteaddin.cpp', 25 | 'insertbugaction.cpp', 26 | 'bugzillalink.cpp', 27 | 'bugzillapreferences.cpp', 28 | ], 29 | dependencies: dependencies, 30 | include_directories: [root_include_dir, src_include_dir], 31 | link_with: libgnote_shared_lib, 32 | install: true, 33 | install_dir: addins_install_dir, 34 | cpp_args: compiler_flags, 35 | ) 36 | 37 | -------------------------------------------------------------------------------- /src/plugins/exporttogtg/exporttogtg.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=ExportToGTGAddin 3 | Name=Export to Getting Things GNOME 4 | Description=Exports individual notes as Getting Things GNOME tasks 5 | Authors=Aurimas Černius 6 | Category=Tools 7 | Version=0.6 8 | DefaultEnabled=false 9 | Module=libexporttogtg 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | [Actions] 13 | ActionsVoid=exporttogtg-export 14 | NonModifyingActions=exporttogtg-export 15 | -------------------------------------------------------------------------------- /src/plugins/exporttogtg/exporttogtgnoteaddin.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2016,2019 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | 22 | 23 | 24 | 25 | #ifndef _EXPORTTOGTG_ADDIN_HPP_ 26 | #define _EXPORTTOGTG_ADDIN_HPP_ 27 | 28 | #include 29 | 30 | #include "sharp/dynamicmodule.hpp" 31 | #include "noteaddin.hpp" 32 | 33 | namespace exporttogtg { 34 | 35 | 36 | class ExportToGTGModule 37 | : public sharp::DynamicModule 38 | { 39 | public: 40 | ExportToGTGModule(); 41 | }; 42 | 43 | 44 | DECLARE_MODULE(ExportToGTGModule); 45 | 46 | 47 | class ExportToGTGNoteAddin 48 | : public gnote::NoteAddin 49 | { 50 | public: 51 | static ExportToGTGNoteAddin *create() 52 | { 53 | return new ExportToGTGNoteAddin; 54 | } 55 | virtual void initialize() override; 56 | virtual void shutdown() override; 57 | virtual void on_note_opened() override; 58 | virtual std::vector get_actions_popover_widgets() const override; 59 | private: 60 | void export_button_clicked(const Glib::VariantBase&); 61 | 62 | static Glib::RefPtr s_gtg_interface; 63 | }; 64 | 65 | } 66 | 67 | #endif 68 | -------------------------------------------------------------------------------- /src/plugins/exporttogtg/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'exporttogtg.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'exporttogtg', 20 | 'exporttogtgnoteaddin.cpp', 21 | dependencies: dependencies, 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/exporttohtml/exporttohtml.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=ExportToHtmlAddin 3 | Name=Export to HTML 4 | Description=Exports individual notes to HTML. 5 | Authors=Hubert Figuiere and the Tomboy Project 6 | Category=Tools 7 | Version=0.12 8 | DefaultEnabled=false 9 | Module=libexporttohtml 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | [Actions] 13 | ActionsVoid=exporttohtml-export 14 | NonModifyingActions=exporttohtml-export 15 | -------------------------------------------------------------------------------- /src/plugins/exporttohtml/exporttohtmldialog.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2017,2019-2020 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | #ifndef __EXPORT_TO_HTML_DIALOG_HPP_ 23 | #define __EXPORT_TO_HTML_DIALOG_HPP_ 24 | 25 | #include 26 | #include 27 | #include 28 | 29 | 30 | namespace gnote { 31 | class IGnote; 32 | } 33 | 34 | 35 | namespace exporttohtml { 36 | 37 | class ExportToHtmlDialog 38 | : public Gtk::FileChooserDialog 39 | { 40 | public: 41 | ExportToHtmlDialog(gnote::IGnote & ignote, const Glib::ustring &); 42 | void save_preferences(); 43 | 44 | bool get_export_linked() const; 45 | void set_export_linked(bool); 46 | bool get_export_linked_all() const; 47 | void set_export_linked_all(bool); 48 | 49 | private: 50 | void on_export_linked_toggled(); 51 | void load_preferences(const Glib::ustring & ); 52 | gnote::IGnote & m_gnote; 53 | Gtk::CheckButton m_export_linked; 54 | Gtk::CheckButton m_export_linked_all; 55 | Glib::RefPtr m_settings; 56 | }; 57 | 58 | 59 | } 60 | 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /src/plugins/exporttohtml/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'exporttohtml.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | install_data('exporttohtml.xsl', install_dir: get_option('datadir') / meson.project_name()) 19 | 20 | shared_library( 21 | 'exporttohtml', 22 | [ 23 | 'exporttohtmlnoteaddin.cpp', 24 | 'exporttohtmldialog.cpp', 25 | ], 26 | dependencies: dependencies, 27 | include_directories: [root_include_dir, src_include_dir], 28 | link_with: libgnote_shared_lib, 29 | install: true, 30 | install_dir: addins_install_dir, 31 | cpp_args: compiler_flags, 32 | ) 33 | 34 | -------------------------------------------------------------------------------- /src/plugins/exporttohtml/notenameresolver.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2014,2023 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | 23 | 24 | #include "sharp/xmlresolver.hpp" 25 | #include "notebase.hpp" 26 | #include "notemanagerbase.hpp" 27 | 28 | namespace exporttohtml { 29 | 30 | class NoteNameResolver 31 | : public sharp::XmlResolver 32 | { 33 | public: 34 | NoteNameResolver(const gnote::NoteManagerBase &, const gnote::NoteBase &) 35 | {} 36 | }; 37 | 38 | 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/plugins/filesystemsyncservice/filesystemsyncservice.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=FileSystemSyncServiceAddin 3 | Name=Local Directory Sync Service Plugin 4 | Description=Synchronize Gnote Notes to a local file system path 5 | Authors=Aurimas Černius and the Tomboy Project 6 | Category=Synchronization 7 | Version=0.8 8 | DefaultEnabled=true 9 | Module=libfilesystemsyncservice 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | -------------------------------------------------------------------------------- /src/plugins/filesystemsyncservice/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'filesystemsyncservice.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'filesystemsyncservice', 20 | 'filesystemsyncserviceaddin.cpp', 21 | dependencies: dependencies, 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/fixedwidth/fixedwidth.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=FixedWidthAddin 3 | Name=Fixed Width 4 | Description=Adds fixed-width font style. 5 | Authors=Hubert Figuiere and the Tomboy Project 6 | Category=Formatting 7 | Version=0.8 8 | DefaultEnabled=true 9 | Module=libfixedwidth 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | [Actions] 13 | ActionsBool=fixedwidth-enable 14 | -------------------------------------------------------------------------------- /src/plugins/fixedwidth/fixedwidthtag.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2010,2017 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | 23 | 24 | 25 | #ifndef __ADDIN_FIXED_WIDTH_TAG_HPP_ 26 | #define __ADDIN_FIXED_WIDTH_TAG_HPP_ 27 | 28 | #include "notetag.hpp" 29 | 30 | 31 | namespace fixedwidth { 32 | 33 | 34 | class FixedWidthTag 35 | : public gnote::NoteTag 36 | { 37 | public: 38 | FixedWidthTag() 39 | : gnote::NoteTag("monospace", CAN_GROW | CAN_UNDO | CAN_SPELL_CHECK) 40 | { 41 | property_family() = "monospace"; 42 | } 43 | }; 44 | 45 | 46 | 47 | } 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /src/plugins/fixedwidth/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'fixedwidth.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'fixedwidth', 20 | 'fixedwidthnoteaddin.cpp', 21 | dependencies: dependencies, 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/gvfssyncservice/gvfssyncservice.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=GvfsSyncServiceAddin 3 | Name=Online Directory Sync Service Plugin 4 | Description=Synchronize Gnote Notes to an online directory 5 | Authors=Aurimas Černius 6 | Category=Synchronization 7 | Version=0.5 8 | DefaultEnabled=true 9 | Module=libgvfssyncservice 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | -------------------------------------------------------------------------------- /src/plugins/gvfssyncservice/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'gvfssyncservice.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'gvfssyncservice', 20 | 'gvfssyncserviceaddin.cpp', 21 | dependencies: [ dependencies, threads_support ], 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/inserttimestamp/inserttimestamp.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=InsertTimestampAddin 3 | Name=Insert Timestamp 4 | Description=Inserts current date and time at the cursor position. 5 | Authors=Hubert Figuiere and Tomboy Project 6 | Category=Tools 7 | Version=0.9 8 | DefaultEnabled=false 9 | Module=libinserttimestamp 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | [Actions] 13 | ActionsVoid=inserttimestamp-insert 14 | -------------------------------------------------------------------------------- /src/plugins/inserttimestamp/inserttimestamppreferencesfactory.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2009 Hubert Figuiere 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | #ifndef _INSERTTIMESTAMP_PREFERENCES_FACTORY_HPP__ 21 | #define _INSERTTIMESTAMP_PREFERENCES_FACTORY_HPP__ 22 | 23 | 24 | #include "addinpreferencefactory.hpp" 25 | #include "inserttimestamppreferences.hpp" 26 | 27 | namespace inserttimestamp { 28 | 29 | 30 | class InsertTimestampPreferencesFactory 31 | : public gnote::AddinPreferenceFactory 32 | { 33 | public: 34 | }; 35 | 36 | 37 | } 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /src/plugins/inserttimestamp/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'inserttimestamp.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'inserttimestamp', 20 | [ 21 | 'inserttimestampnoteaddin.cpp', 22 | 'inserttimestamppreferences.cpp', 23 | ], 24 | dependencies: dependencies, 25 | include_directories: [root_include_dir, src_include_dir], 26 | link_with: libgnote_shared_lib, 27 | install: true, 28 | install_dir: addins_install_dir, 29 | cpp_args: compiler_flags, 30 | ) 31 | 32 | -------------------------------------------------------------------------------- /src/plugins/meson.build: -------------------------------------------------------------------------------- 1 | addins_install_dir = get_option('libdir') / meson.project_name() / 'plugins' / gnote_release 2 | 3 | addin_conf = configuration_data() 4 | addin_conf.set('libgnote_release', gnote_release) 5 | addin_conf.set('libgnote_version_info', libgnote_version_info) 6 | 7 | msgfmt_plugin_cmd = [ 8 | find_program('msgfmt'), 9 | '--desktop', 10 | '--keyword=Name', 11 | '--keyword=Description', 12 | '--keyword=Authors', 13 | '--keyword=Copyright', 14 | '--template=@INPUT@', 15 | '-d', join_paths(srcdir, 'po'), 16 | '--output=@OUTPUT@' 17 | ] 18 | 19 | subdir('backlinks') 20 | subdir('bugzilla') 21 | subdir('exporttogtg') 22 | subdir('exporttohtml') 23 | subdir('filesystemsyncservice') 24 | subdir('fixedwidth') 25 | subdir('gvfssyncservice') 26 | subdir('inserttimestamp') 27 | subdir('notedirectorywatcher') 28 | subdir('noteoftheday') 29 | subdir('printnotes') 30 | subdir('readonly') 31 | subdir('replacetitle') 32 | subdir('specialnotes') 33 | subdir('statistics') 34 | subdir('tableofcontents') 35 | subdir('todo') 36 | subdir('tomboyimport') 37 | subdir('underline') 38 | subdir('webdavsyncservice') 39 | 40 | -------------------------------------------------------------------------------- /src/plugins/notedirectorywatcher/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'notedirectorywatcher.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'notedirectorywatcher', 20 | [ 21 | 'notedirectorywatcherapplicationaddin.cpp', 22 | 'notedirectorywatcherpreferences.cpp', 23 | ], 24 | dependencies: dependencies, 25 | include_directories: [root_include_dir, src_include_dir], 26 | link_with: libgnote_shared_lib, 27 | install: true, 28 | install_dir: addins_install_dir, 29 | cpp_args: compiler_flags, 30 | ) 31 | 32 | -------------------------------------------------------------------------------- /src/plugins/notedirectorywatcher/notedirectorywatcher.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=NoteDirectoryWatcherAddin 3 | Name=Note Directory Watcher 4 | Description=Watch your Gnote note directory for changes to your notes. 5 | Authors=Aurimas Černius and Tomboy original authors 6 | Category=Tools 7 | Version=0.8 8 | DefaultEnabled=false 9 | Module=libnotedirectorywatcher 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | -------------------------------------------------------------------------------- /src/plugins/notedirectorywatcher/notedirectorywatcherpreferences.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2014,2019-2020 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #ifndef _ADDINS_NOTE_DIRECTORY_WATCHER_PREFERENCES_ 22 | #define _ADDINS_NOTE_DIRECTORY_WATCHER_PREFERENCES_ 23 | 24 | #include 25 | #include 26 | 27 | #include "notemanager.hpp" 28 | 29 | 30 | namespace gnote { 31 | class IGnote; 32 | } 33 | 34 | namespace notedirectorywatcher { 35 | 36 | extern const char *SCHEMA_NOTE_DIRECTORY_WATCHER; 37 | extern const char *CHECK_INTERVAL; 38 | 39 | 40 | class NoteDirectoryWatcherPreferences 41 | : public Gtk::Grid 42 | { 43 | public: 44 | static Glib::RefPtr & settings(); 45 | NoteDirectoryWatcherPreferences(gnote::IGnote &, gnote::Preferences &, gnote::NoteManager &); 46 | private: 47 | static Glib::RefPtr s_settings; 48 | 49 | void on_interval_changed(); 50 | 51 | Gtk::SpinButton m_check_interval; 52 | }; 53 | 54 | } 55 | 56 | #endif 57 | 58 | -------------------------------------------------------------------------------- /src/plugins/notedirectorywatcher/notedirectorywatcherpreferencesfactory.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2014 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #ifndef _ADDINS_NOTE_DIRECTORY_WATCHER_PREFERENCES_FACTORY_ 22 | #define _ADDINS_NOTE_DIRECTORY_WATCHER_PREFERENCES_FACTORY_ 23 | 24 | #include "addinpreferencefactory.hpp" 25 | #include "notedirectorywatcherpreferences.hpp" 26 | 27 | namespace notedirectorywatcher { 28 | 29 | class NoteDirectoryWatcherPreferencesFactory 30 | : public gnote::AddinPreferenceFactory 31 | {}; 32 | 33 | } 34 | 35 | #endif 36 | 37 | -------------------------------------------------------------------------------- /src/plugins/noteoftheday/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'noteoftheday.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'noteoftheday', 20 | [ 21 | 'noteoftheday.cpp', 22 | 'noteofthedayapplicationaddin.cpp', 23 | 'noteofthedaypreferences.cpp', 24 | ], 25 | dependencies: dependencies, 26 | include_directories: [root_include_dir, src_include_dir], 27 | link_with: libgnote_shared_lib, 28 | install: true, 29 | install_dir: addins_install_dir, 30 | cpp_args: compiler_flags, 31 | ) 32 | 33 | -------------------------------------------------------------------------------- /src/plugins/noteoftheday/noteoftheday.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=NoteOfTheDayAddin 3 | Name=Note of the Day 4 | Description=Automatically creates a "Today" note for easily jotting down daily thoughts 5 | Authors=Debarshi Ray and the Tomboy Project 6 | Category=Tools 7 | Version=0.8 8 | DefaultEnabled=false 9 | Module=libnoteoftheday 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | -------------------------------------------------------------------------------- /src/plugins/noteoftheday/noteofthedaypreferences.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2019 Aurimas Cernius 5 | * Copyright (C) 2009 Debarshi Ray 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | #ifndef __NOTE_OF_THE_DAY_PREFERENCES_HPP_ 22 | #define __NOTE_OF_THE_DAY_PREFERENCES_HPP_ 23 | 24 | #include "notemanager.hpp" 25 | 26 | namespace gnote { 27 | class Preferences; 28 | } 29 | 30 | 31 | namespace noteoftheday { 32 | 33 | class NoteOfTheDayPreferences 34 | : public Gtk::Grid 35 | { 36 | public: 37 | 38 | NoteOfTheDayPreferences(gnote::IGnote &, gnote::Preferences &, gnote::NoteManager &); 39 | ~NoteOfTheDayPreferences(); 40 | 41 | private: 42 | 43 | void open_template_button_clicked() const; 44 | 45 | Gtk::Button m_open_template_button; 46 | Gtk::Label m_label; 47 | gnote::IGnote & m_gnote; 48 | gnote::NoteManager & m_note_manager; 49 | }; 50 | 51 | } 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /src/plugins/noteoftheday/noteofthedaypreferencesfactory.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2009 Debarshi Ray 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | #ifndef __NOTE_OF_THE_DAY_FACTORY_HPP_ 21 | #define __NOTE_OF_THE_DAY_FACTORY_HPP_ 22 | 23 | #include "addinpreferencefactory.hpp" 24 | #include "noteofthedaypreferences.hpp" 25 | 26 | namespace noteoftheday { 27 | 28 | class NoteOfTheDayPreferencesFactory 29 | : public gnote::AddinPreferenceFactory 30 | { 31 | 32 | }; 33 | 34 | } 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/plugins/printnotes/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'printnotes.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'printnotes', 20 | 'printnotesnoteaddin.cpp', 21 | dependencies: dependencies, 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/printnotes/printnotes.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=PrintNotesAddin 3 | Name=Printing Support 4 | Description=Allows you to print a note. 5 | Authors=Hubert Figuiere and the Tomboy Project 6 | Category=DesktopIntegration 7 | Version=0.13 8 | DefaultEnabled=true 9 | Module=libprintnotes 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | [Actions] 13 | ActionsVoid=printnotes-print 14 | NonModifyingActions=printnotes-print 15 | -------------------------------------------------------------------------------- /src/plugins/readonly/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'readonly.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'readonly', 20 | 'readonlynoteaddin.cpp', 21 | dependencies: dependencies, 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/readonly/readonly.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=ReadOnlyAddin 3 | Name=Read Only 4 | Description=Mark certain notes as read only 5 | Authors=Aurimas Černius, Debarshi Ray and Arief Bayu Purwanto 6 | Category=Tools 7 | Version=0.9 8 | DefaultEnabled=false 9 | Module=libreadonly 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | [Actions] 13 | ActionsBool=readonly-toggle 14 | NonModifyingActions=readonly-toggle 15 | -------------------------------------------------------------------------------- /src/plugins/readonly/readonlynoteaddin.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2016,2019,2024 Aurimas Cernius 5 | * Copyright (C) 2010 Debarshi Ray 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | #ifndef __READ_ONLY_NOTE_ADDIN_HPP_ 22 | #define __READ_ONLY_NOTE_ADDIN_HPP_ 23 | 24 | #include "sharp/dynamicmodule.hpp" 25 | #include "noteaddin.hpp" 26 | 27 | namespace readonly { 28 | 29 | class ReadOnlyModule 30 | : public sharp::DynamicModule 31 | { 32 | public: 33 | ReadOnlyModule(); 34 | }; 35 | 36 | class ReadOnlyNoteAddin 37 | : public gnote::NoteAddin 38 | { 39 | public: 40 | static ReadOnlyNoteAddin * create() 41 | { 42 | return new ReadOnlyNoteAddin; 43 | } 44 | 45 | virtual ~ReadOnlyNoteAddin(); 46 | virtual void initialize() override; 47 | virtual void shutdown() override; 48 | virtual void on_note_opened() override; 49 | virtual std::vector get_actions_popover_widgets() const override; 50 | private: 51 | ReadOnlyNoteAddin(); 52 | void on_menu_item_toggled(const Glib::VariantBase & state); 53 | void on_note_foregrounded() override; 54 | void on_note_backgrounded() override; 55 | 56 | sigc::connection m_readonly_toggle_cid; 57 | }; 58 | 59 | } 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /src/plugins/replacetitle/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'replacetitle.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'replacetitle', 20 | 'replacetitlenoteaddin.cpp', 21 | dependencies: dependencies, 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/replacetitle/replacetitle.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=ReplaceTitleAddin 3 | Name=Replace title 4 | Description=Replace title with selection. 5 | Authors=Pierre-Yves Luyten 6 | Category=Tools 7 | Version=0.7 8 | DefaultEnabled=true 9 | Module=libreplacetitle 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | [Actions] 13 | ActionsVoid=replacetitle-replace 14 | -------------------------------------------------------------------------------- /src/plugins/replacetitle/replacetitlenoteaddin.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2011-2013,2016,2019 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #ifndef _REPLACETITLE_ADDIN_HPP_ 22 | #define _REPLACETITLE_ADDIN_HPP_ 23 | 24 | #include "sharp/dynamicmodule.hpp" 25 | #include "note.hpp" 26 | #include "noteaddin.hpp" 27 | 28 | namespace replacetitle { 29 | 30 | class ReplaceTitleModule 31 | : public sharp::DynamicModule 32 | { 33 | public: 34 | ReplaceTitleModule(); 35 | }; 36 | 37 | DECLARE_MODULE(ReplaceTitleModule); 38 | 39 | class ReplaceTitleNoteAddin 40 | : public gnote::NoteAddin 41 | { 42 | public: 43 | static ReplaceTitleNoteAddin * create() 44 | { 45 | return new ReplaceTitleNoteAddin; 46 | } 47 | virtual void initialize() override; 48 | virtual void shutdown() override; 49 | virtual void on_note_opened() override; 50 | virtual std::vector get_actions_popover_widgets() const override; 51 | private: 52 | void replacetitle_button_clicked(const Glib::VariantBase&); 53 | }; 54 | 55 | 56 | } 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /src/plugins/specialnotes/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'specialnotes.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'specialnotes', 20 | 'specialnotesapplicationaddin.cpp', 21 | dependencies: dependencies, 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/specialnotes/specialnotes.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=SpecialNotesAddin 3 | Name=Special Notes 4 | Description=Show special notes, that are otherwise hidden 5 | Authors=Aurimas Černius 6 | Category=Tools 7 | Version=0.5 8 | DefaultEnabled=false 9 | Module=libspecialnotes 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | -------------------------------------------------------------------------------- /src/plugins/specialnotes/specialnotesapplicationaddin.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2019 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | #ifndef __SPECIAL_NOTES_APPLICATION_ADDIN_HPP_ 21 | #define __SPECIAL_NOTES_APPLICATION_ADDIN_HPP_ 22 | 23 | #include "notebooks/notebook.hpp" 24 | #include "sharp/dynamicmodule.hpp" 25 | #include "applicationaddin.hpp" 26 | 27 | namespace specialnotes { 28 | 29 | class SpecialNotesModule 30 | : public sharp::DynamicModule 31 | { 32 | public: 33 | SpecialNotesModule(); 34 | }; 35 | 36 | 37 | class SpecialNotesApplicationAddin 38 | : public gnote::ApplicationAddin 39 | { 40 | public: 41 | static const char * IFACE_NAME; 42 | 43 | static SpecialNotesApplicationAddin *create() 44 | { 45 | return new SpecialNotesApplicationAddin; 46 | } 47 | 48 | virtual ~SpecialNotesApplicationAddin(); 49 | virtual void initialize() override; 50 | virtual void shutdown() override; 51 | virtual bool initialized() override; 52 | private: 53 | SpecialNotesApplicationAddin(); 54 | 55 | bool m_initialized; 56 | gnote::notebooks::Notebook::Ptr m_notebook; 57 | }; 58 | 59 | } 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /src/plugins/statistics/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'statistics.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'statistics', 20 | [ 21 | 'statisticsapplicationaddin.cpp', 22 | 'statisticswidget.cpp', 23 | ], 24 | dependencies: dependencies, 25 | include_directories: [root_include_dir, src_include_dir], 26 | link_with: libgnote_shared_lib, 27 | install: true, 28 | install_dir: addins_install_dir, 29 | cpp_args: compiler_flags, 30 | ) 31 | 32 | -------------------------------------------------------------------------------- /src/plugins/statistics/statistics.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=Statistics 3 | Name=Statistics 4 | Description=Show various statistics about notes. 5 | Authors=Aurimas Černius 6 | Category=Tools 7 | Version=0.10 8 | DefaultEnabled=false 9 | Module=libstatistics 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | [Actions] 13 | ActionsVoid=statistics-show 14 | -------------------------------------------------------------------------------- /src/plugins/statistics/statisticsapplicationaddin.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2015,2019,2023 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | #ifndef _STATISTICS_APPLICATION_ADDIN_ 21 | #define _STATISTICS_APPLICATION_ADDIN_ 22 | 23 | #include "applicationaddin.hpp" 24 | #include "statisticswidget.hpp" 25 | #include "sharp/dynamicmodule.hpp" 26 | 27 | namespace statistics { 28 | 29 | class StatisticsModule 30 | : public sharp::DynamicModule 31 | { 32 | public: 33 | StatisticsModule(); 34 | }; 35 | 36 | DECLARE_MODULE(StatisticsModule); 37 | 38 | class StatisticsApplicationAddin 39 | : public gnote::ApplicationAddin 40 | { 41 | public: 42 | static StatisticsApplicationAddin *create() 43 | { 44 | return new StatisticsApplicationAddin; 45 | } 46 | virtual void initialize() override; 47 | virtual void shutdown() override; 48 | virtual bool initialized() override; 49 | private: 50 | StatisticsApplicationAddin(); 51 | void on_show_statistics(const Glib::VariantBase&); 52 | void add_menu_item(std::vector & widgets); 53 | 54 | bool m_initialized; 55 | sigc::connection m_add_menu_item_cid; 56 | StatisticsWidget *m_widget; 57 | }; 58 | 59 | } 60 | 61 | #endif 62 | 63 | -------------------------------------------------------------------------------- /src/plugins/statistics/statisticswidget.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2017,2019,2023 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #ifndef _STATISTICS_WIDGET_HPP_ 22 | #define _STATISTICS_WIDGET_HPP_ 23 | 24 | #include 25 | 26 | #include "mainwindowembeds.hpp" 27 | #include "notemanager.hpp" 28 | 29 | 30 | namespace statistics { 31 | 32 | class StatisticsWidget 33 | : public Gtk::ListView 34 | , public gnote::EmbeddableWidget 35 | { 36 | public: 37 | StatisticsWidget(gnote::IGnote & g, gnote::NoteManager & nm); 38 | virtual Glib::ustring get_name() const override; 39 | virtual void foreground() override; 40 | virtual void background() override; 41 | }; 42 | 43 | } 44 | 45 | #endif 46 | 47 | -------------------------------------------------------------------------------- /src/plugins/tableofcontents/HACKING: -------------------------------------------------------------------------------- 1 | 2 | == Little release manual 3 | update NEWS 4 | + update TODO 5 | + .desktop: version field 6 | + help topic status/pkgversion 7 | ==> commit -m "version x.y") 8 | -------------------------------------------------------------------------------- /src/plugins/tableofcontents/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'tableofcontents.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'tableofcontents', 20 | [ 21 | 'tableofcontentsnoteaddin.cpp', 22 | 'tableofcontentsutils.cpp', 23 | ], 24 | dependencies: dependencies, 25 | include_directories: [root_include_dir, src_include_dir], 26 | link_with: libgnote_shared_lib, 27 | install: true, 28 | install_dir: addins_install_dir, 29 | cpp_args: compiler_flags, 30 | ) 31 | 32 | -------------------------------------------------------------------------------- /src/plugins/tableofcontents/tableofcontents.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=TableofcontentsAddin 3 | Name=Table of Contents 4 | Description=Navigate long structured notes. Set section and subsection headings in your note, and the Table of Contents will show in a menu. 5 | Authors=Aurimas Černius, Luc Pionchon 6 | Category=Tools 7 | Version=1.4.1 8 | DefaultEnabled=false 9 | Module=libtableofcontents 10 | Copyright=© 2013 Luc Pionchon 11 | LibgnoteRelease=@libgnote_release@ 12 | LibgnoteVersionInfo=@libgnote_version_info@ 13 | [Actions] 14 | ActionsVoid=tableofcontents-heading1,tableofcontents-heading2,tableofcontents-help 15 | ActionsInt=tableofcontents-goto-heading 16 | NonModifyingActions=tableofcontents-goto-heading,tableofcontents-help 17 | -------------------------------------------------------------------------------- /src/plugins/tableofcontents/tableofcontents.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * "Table of Contents" is a Note add-in for Gnote. 3 | * It lists note's table of contents in a menu. 4 | * 5 | * Copyright (C) 2013 Luc Pionchon 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | /* An enum for different header levels in the toc */ 22 | 23 | 24 | /* Note: the enum is in this file because 25 | when it was in tableofcontentsnoteaddin.hpp, 26 | I could not use it also in tableofcontentsmenuitem.cpp, 27 | there was a scope error, which I could not solve. 28 | */ 29 | 30 | #ifndef __TABLEOFCONTENT_HPP_ 31 | #define __TABLEOFCONTENT_HPP_ 32 | 33 | namespace tableofcontents { 34 | 35 | namespace Heading { // Heading level, 36 | enum Type { // Heading::Type (can be used as a type) 37 | Title, // Heading::Title == Note title 38 | Level_1, // Heading::Level_1 == 1st level heading == Ctrl-1 39 | Level_2, // Heading::Level_2 == 2nd level heading == Ctrl-2 40 | None // Heading::None 41 | }; 42 | } 43 | 44 | 45 | } 46 | 47 | #endif -------------------------------------------------------------------------------- /src/plugins/tableofcontents/tableofcontentsutils.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * "Table of Contents" is a Note add-in for Gnote. 3 | * It lists note's table of contents in a menu. 4 | * 5 | * Copyright (C) 2013,2015,2023 Aurimas Cernius 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | #include "notewindow.hpp" 23 | #include "tableofcontentsutils.hpp" 24 | 25 | 26 | namespace tableofcontents { 27 | 28 | void goto_heading(gnote::Note & note, int heading_position) 29 | { 30 | // Scroll the TextView and place the cursor on the heading 31 | Gtk::TextIter heading_iter; 32 | heading_iter = note.get_buffer()->get_iter_at_offset(heading_position); 33 | note.get_window()->editor()->scroll_to(heading_iter, 34 | 0.0, //[0.0,0.5] within_margin, margin as a fraction of screen size. 35 | 0.0, //[0.0,1.0] horizontal alignment of mark within visible area. 36 | 0.0);//[0.0,1.0] vertical alignment of mark within visible area. 37 | note.get_buffer()->place_cursor(heading_iter); 38 | } 39 | 40 | } 41 | 42 | -------------------------------------------------------------------------------- /src/plugins/tableofcontents/tableofcontentsutils.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * "Table of Contents" is a Note add-in for Gnote. 3 | * It lists note's table of contents in a menu. 4 | * 5 | * Copyright (C) 2013,2015,2023 Aurimas Cernius 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | #ifndef _TABLEOFCONTENTS_TABLEOFCONTENTSUTILS_HPP_ 23 | #define _TABLEOFCONTENTS_TABLEOFCONTENTSUTILS_HPP_ 24 | 25 | #include "note.hpp" 26 | 27 | namespace tableofcontents { 28 | 29 | void goto_heading(gnote::Note & note, int heading_position); 30 | 31 | } 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/plugins/todo/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'todo.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'todo', 20 | 'todonoteaddin.cpp', 21 | dependencies: dependencies, 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/todo/todo.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=Todo 3 | Name=TODO 4 | Description=Highlight FIXME:, TODO: and XXX: patterns in notes. 5 | Authors=Aurimas Černius, Romain Tartière 6 | Category=Tools 7 | Version=0.4 8 | DefaultEnabled=false 9 | Module=libtodo 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | -------------------------------------------------------------------------------- /src/plugins/todo/todonoteaddin.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2017 Aurimas Cernius 5 | * Copyright (c) 2009 Romain Tartière 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | #ifndef _TODO_NOTE_ADDIN_ 23 | #define _TODO_NOTE_ADDIN_ 24 | 25 | #include "noteaddin.hpp" 26 | #include "sharp/dynamicmodule.hpp" 27 | 28 | namespace todo { 29 | 30 | class TodoModule 31 | : public sharp::DynamicModule 32 | { 33 | public: 34 | TodoModule(); 35 | }; 36 | 37 | DECLARE_MODULE(TodoModule); 38 | 39 | class Todo 40 | : public gnote::NoteAddin 41 | { 42 | public: 43 | static Todo* create() 44 | { 45 | return new Todo; 46 | } 47 | virtual void initialize() override; 48 | virtual void shutdown() override; 49 | virtual void on_note_opened() override; 50 | private: 51 | void on_insert_text(const Gtk::TextIter & pos, const Glib::ustring & text, int bytes); 52 | void on_delete_range(const Gtk::TextBuffer::iterator & start, const Gtk::TextBuffer::iterator & end); 53 | void highlight_note(); 54 | void highlight_region(Gtk::TextIter start, Gtk::TextIter end); 55 | void highlight_region(const Glib::ustring & pattern, Gtk::TextIter start, Gtk::TextIter end); 56 | }; 57 | 58 | } 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /src/plugins/tomboyimport/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'tomboyimport.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'tomboyimport', 20 | 'tomboyimportaddin.cpp', 21 | dependencies: dependencies, 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/tomboyimport/tomboyimport.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=TomboyImportAddin 3 | Name=Tomboy Importer 4 | Description=Import your notes from Tomboy. 5 | Authors=Hubert Figuiere 6 | Category=Tools 7 | Version=0.3 8 | DefaultEnabled=true 9 | Module=libtomboyimport 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | [PluginAttributes] 13 | AutoDisable=true 14 | -------------------------------------------------------------------------------- /src/plugins/tomboyimport/tomboyimportaddin.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2010,2013,2017,2019 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | 23 | #ifndef __TOMBOY_IMPORT_ADDIN_HPP_ 24 | #define __TOMBOY_IMPORT_ADDIN_HPP_ 25 | 26 | #include "sharp/dynamicmodule.hpp" 27 | #include "importaddin.hpp" 28 | 29 | 30 | namespace tomboyimport { 31 | 32 | 33 | class TomboyImportModule 34 | : public sharp::DynamicModule 35 | { 36 | public: 37 | TomboyImportModule(); 38 | }; 39 | 40 | 41 | DECLARE_MODULE(TomboyImportModule); 42 | 43 | class TomboyImportAddin 44 | : public gnote::ImportAddin 45 | { 46 | public: 47 | 48 | static TomboyImportAddin * create() 49 | { 50 | return new TomboyImportAddin; 51 | } 52 | virtual void initialize() override; 53 | virtual void shutdown() override; 54 | virtual bool want_to_run(gnote::NoteManager & manager) override; 55 | virtual bool first_run(gnote::NoteManager & manager) override; 56 | 57 | private: 58 | Glib::ustring m_tomboy_path; 59 | }; 60 | 61 | 62 | } 63 | 64 | 65 | #endif 66 | 67 | -------------------------------------------------------------------------------- /src/plugins/underline/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'underline.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'underline', 20 | 'underlinenoteaddin.cpp', 21 | dependencies: dependencies, 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/underline/underline.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=UnderlineAddin 3 | Name=Underline 4 | Description=Adds ability to underline text. 5 | Authors=Hubert Figuière and the Tomboy Project 6 | Category=Formatting 7 | Version=0.7 8 | DefaultEnabled=true 9 | Module=libunderline 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | [Actions] 13 | ActionsBool=underline-enable 14 | -------------------------------------------------------------------------------- /src/plugins/underline/underlinetag.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2010,2017,2023 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | 23 | 24 | 25 | #ifndef __ADDIN_UNDERLINE_TAG_HPP_ 26 | #define __ADDIN_UNDERLINE_TAG_HPP_ 27 | 28 | #include "notetag.hpp" 29 | 30 | 31 | namespace underline { 32 | 33 | 34 | class UnderlineTag 35 | : public gnote::NoteTag 36 | { 37 | public: 38 | UnderlineTag() 39 | : gnote::NoteTag("underline", CAN_GROW | CAN_UNDO | CAN_SPELL_CHECK) 40 | { 41 | property_underline() = Pango::Underline::SINGLE; 42 | } 43 | }; 44 | 45 | 46 | 47 | } 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /src/plugins/webdavsyncservice/meson.build: -------------------------------------------------------------------------------- 1 | desktop_file = 'webdavsyncservice.desktop' 2 | 3 | configured_desktop_file = configure_file( 4 | input: desktop_file + '.in.in', 5 | output: desktop_file + '.in', 6 | configuration: addin_conf, 7 | ) 8 | 9 | custom_target( 10 | desktop_file, 11 | input: configured_desktop_file, 12 | output: desktop_file, 13 | command: msgfmt_plugin_cmd, 14 | install: true, 15 | install_dir: addins_install_dir, 16 | ) 17 | 18 | shared_library( 19 | 'webdavsyncservice', 20 | 'webdavsyncserviceaddin.cpp', 21 | dependencies: [ dependencies, threads_support ], 22 | include_directories: [root_include_dir, src_include_dir], 23 | link_with: libgnote_shared_lib, 24 | install: true, 25 | install_dir: addins_install_dir, 26 | cpp_args: compiler_flags, 27 | ) 28 | 29 | -------------------------------------------------------------------------------- /src/plugins/webdavsyncservice/webdavsyncservice.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | Id=WebDavSyncServiceAddin 3 | Name=WebDAV Sync Service Plugin 4 | Description=Synchronize Gnote Notes to a WebDAV URL. 5 | Authors=Aurimas Černius and the Tomboy Project 6 | Category=Synchronization 7 | Version=0.7 8 | DefaultEnabled=true 9 | Module=libwebdavsyncservice 10 | LibgnoteRelease=@libgnote_release@ 11 | LibgnoteVersionInfo=@libgnote_version_info@ 12 | -------------------------------------------------------------------------------- /src/sharp/exception.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2017 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a 8 | * copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation 10 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11 | * and/or sell copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | * DEALINGS IN THE SOFTWARE. 24 | */ 25 | 26 | 27 | 28 | 29 | #include "sharp/exception.hpp" 30 | 31 | 32 | namespace sharp { 33 | 34 | Exception::~Exception() noexcept 35 | { 36 | } 37 | 38 | const char *Exception::what() const noexcept 39 | { 40 | return m_what.c_str(); 41 | } 42 | 43 | } 44 | 45 | -------------------------------------------------------------------------------- /src/sharp/exception.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2017,2019,2022 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a 8 | * copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation 10 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11 | * and/or sell copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | * DEALINGS IN THE SOFTWARE. 24 | */ 25 | 26 | 27 | 28 | 29 | #ifndef __SHARP_EXCEPTION_HPP_ 30 | #define __SHARP_EXCEPTION_HPP_ 31 | 32 | #include 33 | 34 | #include 35 | 36 | namespace sharp { 37 | 38 | 39 | class Exception 40 | : public std::exception 41 | { 42 | public: 43 | Exception(Glib::ustring && m) noexcept 44 | : m_what(std::move(m)) 45 | { 46 | } 47 | virtual ~Exception() noexcept; 48 | 49 | virtual const char *what() const noexcept override; 50 | 51 | private: 52 | Glib::ustring m_what; 53 | }; 54 | 55 | } 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /src/sharp/fileinfo.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2011-2012,2017,2020 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a 8 | * copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation 10 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11 | * and/or sell copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | * DEALINGS IN THE SOFTWARE. 24 | */ 25 | 26 | 27 | #ifndef __SHARP_FILEINFO_HPP_ 28 | #define __SHARP_FILEINFO_HPP_ 29 | 30 | 31 | #include 32 | 33 | #include "sharp/datetime.hpp" 34 | 35 | namespace sharp { 36 | 37 | 38 | class FileInfo 39 | { 40 | public: 41 | FileInfo(const Glib::ustring & ); 42 | Glib::ustring get_name() const; 43 | Glib::ustring get_extension() const; 44 | private: 45 | Glib::ustring m_path; 46 | }; 47 | 48 | 49 | Glib::DateTime file_modification_time(const Glib::ustring &); 50 | 51 | } 52 | 53 | #endif 54 | 55 | -------------------------------------------------------------------------------- /src/sharp/streamreader.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2017 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a 8 | * copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation 10 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11 | * and/or sell copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | * DEALINGS IN THE SOFTWARE. 24 | */ 25 | 26 | 27 | 28 | #ifndef __SHARP_STREAMREADER_HPP_ 29 | #define __SHARP_STREAMREADER_HPP_ 30 | 31 | #include 32 | 33 | #include 34 | 35 | #include 36 | 37 | namespace sharp { 38 | 39 | 40 | class StreamReader 41 | // : public TextReader 42 | { 43 | public: 44 | StreamReader(); 45 | ~StreamReader(); 46 | 47 | void init(const Glib::ustring &); 48 | 49 | FILE * file() 50 | { 51 | return m_file; 52 | } 53 | 54 | void read_to_end(Glib::ustring &); 55 | 56 | void close(); 57 | private: 58 | FILE * m_file; 59 | }; 60 | 61 | } 62 | 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /src/sharp/timespan.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2012,2017,2020 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | 22 | #ifndef _SHARP_TIMESPAN_HPP_ 23 | #define _SHARP_TIMESPAN_HPP_ 24 | 25 | 26 | #include 27 | #include 28 | 29 | 30 | namespace sharp { 31 | 32 | Glib::TimeSpan time_span(int hrs, int mins, int secs); 33 | Glib::TimeSpan time_span(int days, int hrs, int mins, int secs, int usecs); 34 | Glib::TimeSpan time_span_parse(const Glib::ustring & s); 35 | double time_span_total_minutes(Glib::TimeSpan ts); 36 | double time_span_total_seconds(Glib::TimeSpan ts); 37 | double time_span_total_milliseconds(Glib::TimeSpan ts); 38 | Glib::ustring time_span_string(Glib::TimeSpan ts); 39 | 40 | } 41 | 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /src/sharp/uuid.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2017 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a 8 | * copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation 10 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11 | * and/or sell copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | * DEALINGS IN THE SOFTWARE. 24 | */ 25 | 26 | 27 | 28 | 29 | #ifndef __SHARP_UUID_HPP_ 30 | #define __SHARP_UUID_HPP_ 31 | 32 | #include 33 | 34 | #include 35 | 36 | namespace sharp { 37 | 38 | class uuid 39 | { 40 | public: 41 | uuid() 42 | { 43 | uuid_generate(m_uuid); 44 | } 45 | 46 | Glib::ustring string() 47 | { 48 | char out[40]; 49 | uuid_unparse_lower(m_uuid, out); 50 | return out; 51 | } 52 | 53 | private: 54 | 55 | uuid_t m_uuid; 56 | }; 57 | 58 | } 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /src/sharp/xmlconvert.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2017,2020 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a 8 | * copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation 10 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11 | * and/or sell copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | * DEALINGS IN THE SOFTWARE. 24 | */ 25 | 26 | 27 | 28 | #include "sharp/xmlconvert.hpp" 29 | 30 | #include "debug.hpp" 31 | 32 | namespace sharp { 33 | 34 | Glib::DateTime XmlConvert::to_date_time(const Glib::ustring & date) 35 | { 36 | return date_time_from_iso8601(date); 37 | } 38 | 39 | Glib::ustring XmlConvert::to_string(const Glib::DateTime & date) 40 | { 41 | return date_time_to_iso8601(date); 42 | } 43 | 44 | } 45 | 46 | -------------------------------------------------------------------------------- /src/sharp/xmlconvert.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2017,2020 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a 8 | * copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation 10 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11 | * and/or sell copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | * DEALINGS IN THE SOFTWARE. 24 | */ 25 | 26 | 27 | 28 | 29 | #ifndef __SHARP_DATETIME_HPP_ 30 | #define __SHARP_DATETIME_HPP_ 31 | 32 | #include 33 | 34 | #include "sharp/datetime.hpp" 35 | 36 | namespace sharp { 37 | 38 | class XmlConvert 39 | { 40 | public: 41 | static Glib::DateTime to_date_time(const Glib::ustring & date); 42 | static Glib::ustring to_string(const Glib::DateTime & date); 43 | }; 44 | 45 | } 46 | 47 | 48 | #endif 49 | 50 | -------------------------------------------------------------------------------- /src/sharp/xmlresolver.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2009 Hubert Figuiere 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a 7 | * copy of this software and associated documentation files (the "Software"), 8 | * to deal in the Software without restriction, including without limitation 9 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 10 | * and/or sell copies of the Software, and to permit persons to whom the 11 | * Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22 | * DEALINGS IN THE SOFTWARE. 23 | */ 24 | 25 | 26 | 27 | 28 | 29 | #ifndef _SHARP_XML_RESOLVER_HPP__ 30 | #define _SHARP_XML_RESOLVER_HPP__ 31 | 32 | 33 | namespace sharp { 34 | 35 | class XmlResolver 36 | { 37 | public: 38 | }; 39 | 40 | } 41 | 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /src/synchronization/isyncmanager.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2012-2013,2017,2019-2020 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include "ignote.hpp" 22 | #include "isyncmanager.hpp" 23 | #include "preferences.hpp" 24 | #include "sharp/uuid.hpp" 25 | 26 | 27 | namespace gnote { 28 | namespace sync { 29 | 30 | 31 | SyncLockInfo::SyncLockInfo(const Glib::ustring & client) 32 | : client_id(client) 33 | , transaction_id(sharp::uuid().string()) 34 | , renew_count(0) 35 | , duration(sharp::time_span(0, 2, 0)) // default of 2 minutes 36 | , revision(0) 37 | { 38 | } 39 | 40 | Glib::ustring SyncLockInfo::hash_string() 41 | { 42 | return Glib::ustring::compose("%1-%2-%3-%4-%5", transaction_id, client_id, renew_count, sharp::time_span_string(duration), revision); 43 | } 44 | 45 | 46 | 47 | SyncClient::~SyncClient() 48 | { 49 | } 50 | 51 | 52 | ISyncManager::~ISyncManager() 53 | { 54 | } 55 | 56 | 57 | 58 | SyncServer::~SyncServer() 59 | {} 60 | 61 | 62 | } 63 | } 64 | 65 | -------------------------------------------------------------------------------- /src/synchronization/silentui.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2012-2014,2017,2019,2023 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #ifndef _SYNCHRONIZATION_SILENTUI_HPP_ 22 | #define _SYNCHRONIZATION_SILENTUI_HPP_ 23 | 24 | 25 | #include "notemanager.hpp" 26 | #include "syncui.hpp" 27 | 28 | 29 | 30 | namespace gnote { 31 | namespace sync { 32 | 33 | class SilentUI 34 | : public SyncUI 35 | { 36 | public: 37 | static SyncUI::Ptr create(IGnote &, NoteManagerBase &); 38 | SilentUI(IGnote &, NoteManagerBase &); 39 | private: 40 | virtual void sync_state_changed(SyncState state) override; 41 | virtual void note_synchronized(const Glib::ustring & noteTitle, NoteSyncType type) override; 42 | virtual void note_conflict_detected(NoteBase & localConflictNote, 43 | NoteUpdate remoteNote, 44 | const std::vector & noteUpdateTitles) override; 45 | virtual void present_ui() override; 46 | void on_connecting(); 47 | void on_idle(); 48 | 49 | bool m_ui_disabled; 50 | }; 51 | 52 | } 53 | } 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /src/synchronization/syncserviceaddin.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2012 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include "syncserviceaddin.hpp" 22 | 23 | namespace gnote { 24 | namespace sync { 25 | 26 | const char * SyncServiceAddin::IFACE_NAME = "gnote::sync::SyncServiceAddin"; 27 | 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/tagmanager.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2017,2019,2021-2022,2024 Aurimas Cernius 5 | * Copyright (C) 2009 Hubert Figuiere 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program. If not, see . 19 | */ 20 | 21 | 22 | 23 | 24 | #ifndef __TAG_MANAGER_HPP_ 25 | #define __TAG_MANAGER_HPP_ 26 | 27 | 28 | #include 29 | #include 30 | 31 | #include "itagmanager.hpp" 32 | #include "tag.hpp" 33 | 34 | 35 | namespace gnote { 36 | 37 | class TagManager 38 | : public ITagManager 39 | { 40 | public: 41 | TagManager(); 42 | 43 | Tag::ORef get_tag(const Glib::ustring & tag_name) const override; 44 | Tag &get_or_create_tag(const Glib::ustring &) override; 45 | Tag::ORef get_system_tag(const Glib::ustring & tag_name) const override; 46 | Tag &get_or_create_system_tag(const Glib::ustring & name) override; 47 | void remove_tag(Tag &tag) override; 48 | std::vector all_tags() const override; 49 | private: 50 | typedef std::unique_ptr TagPtr; 51 | std::vector m_tags; 52 | typedef std::map InternalMap; 53 | InternalMap m_internal_tags; 54 | mutable std::mutex m_locker; 55 | }; 56 | 57 | } 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /src/test/meson.build: -------------------------------------------------------------------------------- 1 | test_sources = [ 2 | 'runner.cpp', 3 | 'testgnote.cpp', 4 | 'testnote.cpp', 5 | 'testnotemanager.cpp', 6 | 'testsyncaddin.cpp', 7 | 'testsyncclient.cpp', 8 | 'testsyncmanager.cpp', 9 | 'testtagmanager.cpp', 10 | 'unit/datetimeutests.cpp', 11 | 'unit/directorytests.cpp', 12 | 'unit/filesutests.cpp', 13 | 'unit/fileinfoutests.cpp', 14 | 'unit/gnotesyncclientutests.cpp', 15 | 'unit/hashtests.cpp', 16 | 'unit/noteutests.cpp', 17 | 'unit/notemanagerutests.cpp', 18 | 'unit/stringutests.cpp', 19 | 'unit/syncmanagerutests.cpp', 20 | 'unit/trieutests.cpp', 21 | 'unit/uriutests.cpp', 22 | 'unit/utiltests.cpp', 23 | 'unit/xmldecodertests.cpp', 24 | 'unit/xmlreaderutests.cpp', 25 | ] 26 | 27 | extra_testee_sources = [ 28 | '../synchronization/gnotesyncclient.cpp', 29 | '../synchronization/silentui.cpp', 30 | '../synchronization/syncmanager.cpp', 31 | ] 32 | 33 | gnoteunittests = executable( 34 | 'gnoteunittests', 35 | [test_sources, extra_testee_sources], 36 | dependencies: [ dependencies, unit_test_pp, threads_support ], 37 | include_directories: [root_include_dir, src_include_dir], 38 | link_with: libgnote_shared_lib, 39 | ) 40 | 41 | test('gnote_unit_tests', gnoteunittests) 42 | 43 | -------------------------------------------------------------------------------- /src/test/runner.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2017-2019,2022 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | #include 27 | 28 | int main(int /*argc*/, char ** /*argv*/) 29 | { 30 | // force certain timezone so that time tests work 31 | setenv("TZ", "Europe/London", 1); 32 | // also force the locale for formatting tests 33 | setenv("LC_ALL", "en_US", 1); 34 | Glib::init(); 35 | Gio::init(); 36 | 37 | auto main_loop = Glib::MainLoop::create(); 38 | int ret = 0; 39 | std::thread thread([&main_loop, &ret]() { 40 | ret = UnitTest::RunAllTests(); 41 | main_loop->quit(); 42 | }); 43 | main_loop->run(); 44 | thread.join(); 45 | return ret; 46 | } 47 | 48 | -------------------------------------------------------------------------------- /src/test/testnote.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2014,2018-2019,2022 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include "testnote.hpp" 22 | 23 | namespace test { 24 | 25 | Note::Note(std::unique_ptr _data, Glib::ustring && filepath, gnote::NoteManagerBase & manager_) 26 | : gnote::NoteBase(std::move(filepath), manager_) 27 | , m_data_synchronizer(std::move(_data)) 28 | { 29 | } 30 | 31 | const gnote::NoteDataBufferSynchronizerBase & Note::data_synchronizer() const 32 | { 33 | return m_data_synchronizer; 34 | } 35 | 36 | gnote::NoteDataBufferSynchronizerBase & Note::data_synchronizer() 37 | { 38 | return m_data_synchronizer; 39 | } 40 | 41 | void Note::set_change_type(gnote::ChangeType c) 42 | { 43 | gnote::NoteBase::set_change_type(c); 44 | } 45 | 46 | } 47 | 48 | -------------------------------------------------------------------------------- /src/test/testnote.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2014,2018-2019,2022-2023 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include "notebase.hpp" 22 | 23 | namespace test { 24 | 25 | class Note 26 | : public gnote::NoteBase 27 | { 28 | public: 29 | static gnote::NoteBase::Ptr create(std::unique_ptr _data, Glib::ustring && filepath, gnote::NoteManagerBase & manager) 30 | { 31 | return Glib::make_refptr_for_instance(new Note(std::move(_data), std::move(filepath), manager)); 32 | } 33 | void set_change_type(gnote::ChangeType c); 34 | protected: 35 | virtual const gnote::NoteDataBufferSynchronizerBase & data_synchronizer() const; 36 | virtual gnote::NoteDataBufferSynchronizerBase & data_synchronizer(); 37 | private: 38 | Note(std::unique_ptr _data, Glib::ustring && filepath, gnote::NoteManagerBase & manager); 39 | 40 | gnote::NoteDataBufferSynchronizerBase m_data_synchronizer; 41 | }; 42 | 43 | } 44 | 45 | -------------------------------------------------------------------------------- /src/test/testsyncclient.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2014 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include "testsyncclient.hpp" 22 | 23 | 24 | namespace test { 25 | 26 | SyncClient::SyncClient(gnote::NoteManagerBase & /*manager*/) 27 | { 28 | } 29 | 30 | } 31 | 32 | -------------------------------------------------------------------------------- /src/test/testsyncclient.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2014,2017,2019 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #ifndef _TEST_SYNCCLIENT_HPP_ 22 | #define _TEST_SYNCCLIENT_HPP_ 23 | 24 | #include "synchronization/gnotesyncclient.hpp" 25 | 26 | 27 | namespace test { 28 | 29 | class SyncClient 30 | : public gnote::sync::GnoteSyncClient 31 | { 32 | public: 33 | typedef std::shared_ptr Ptr; 34 | 35 | SyncClient(gnote::NoteManagerBase & manager); 36 | 37 | void set_manifest_path(const Glib::ustring & path) 38 | { 39 | m_local_manifest_file_path = path; 40 | } 41 | 42 | void reparse() 43 | { 44 | parse(m_local_manifest_file_path); 45 | } 46 | }; 47 | 48 | } 49 | 50 | #endif 51 | 52 | -------------------------------------------------------------------------------- /src/test/testtagmanager.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2014,2017-2019,2024 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #ifndef _TESTTAGMANAGER_HPP_ 22 | #define _TESTTAGMANAGER_HPP_ 23 | 24 | #include "itagmanager.hpp" 25 | 26 | namespace test { 27 | 28 | class TagManager 29 | : public gnote::ITagManager 30 | { 31 | public: 32 | gnote::Tag::ORef get_tag(const Glib::ustring & tag_name) const override; 33 | gnote::Tag &get_or_create_tag(const Glib::ustring &) override; 34 | gnote::Tag::ORef get_system_tag(const Glib::ustring & tag_name) const override; 35 | gnote::Tag &get_or_create_system_tag(const Glib::ustring & name) override; 36 | void remove_tag(gnote::Tag &tag) override; 37 | std::vector all_tags() const override; 38 | private: 39 | typedef std::unique_ptr TagPtr; 40 | std::vector m_tags; 41 | }; 42 | 43 | } 44 | 45 | #endif 46 | 47 | -------------------------------------------------------------------------------- /src/test/unit/hashtests.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2023 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include 22 | 23 | #include "base/hash.hpp" 24 | 25 | 26 | SUITE(Hash) 27 | { 28 | TEST(Hash_Glib_ustring) 29 | { 30 | Glib::ustring tst1 = "Hello, World!"; 31 | Glib::ustring tst2 = "Some other string for testing"; 32 | 33 | gnote::Hash h; 34 | std::hash check_h; 35 | 36 | auto hash1 = h(tst1); 37 | auto check1 = check_h(tst1); 38 | CHECK_EQUAL(check1, hash1); 39 | 40 | auto hash2 = h(tst2); 41 | auto check2 = check_h(tst2); 42 | CHECK_EQUAL(check2, hash2); 43 | } 44 | } 45 | 46 | -------------------------------------------------------------------------------- /src/test/unit/xmldecodertests.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2023 Aurimas Cernius 5 | * 6 | * This program is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program. If not, see . 18 | */ 19 | 20 | 21 | #include 22 | 23 | #include "utils.hpp" 24 | 25 | using gnote::utils::XmlDecoder; 26 | 27 | SUITE(XmlDecoder) 28 | { 29 | TEST(decode_returns_plain_text) 30 | { 31 | const auto note = 32 | "" 33 | "Test Note\n\n\n\n" 34 | "Tasks\n\n\n" 35 | "Other\n\n\n" 36 | ""; 37 | const auto plain_text = "Test Note\n\n\n\nTasks\n\n\nOther\n\n\n"; 38 | 39 | auto decoded = XmlDecoder::decode(note); 40 | CHECK_EQUAL(plain_text, decoded); 41 | } 42 | } 43 | 44 | -------------------------------------------------------------------------------- /src/triehit.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gnote 3 | * 4 | * Copyright (C) 2013,2017,2019,2022-2023 Aurimas Cernius 5 | * Copyright (C) 2011 Debarshi Ray 6 | * Copyright (C) 2009 Hubert Figuiere 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 3 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program. If not, see . 20 | */ 21 | 22 | #ifndef __TRIEHIT_HPP_ 23 | #define __TRIEHIT_HPP_ 24 | 25 | #include 26 | #include 27 | 28 | #include 29 | 30 | namespace gnote { 31 | 32 | template 33 | class TrieHit 34 | { 35 | public: 36 | typedef std::vector List; 37 | 38 | TrieHit(int s, int e, Glib::ustring && k, value_t && v) 39 | : m_start(s) 40 | , m_end(e) 41 | , m_key(std::forward(k)) 42 | , m_value(std::forward(v)) 43 | { 44 | } 45 | 46 | int start() const 47 | { 48 | return m_start; 49 | } 50 | 51 | int end() const 52 | { 53 | return m_end; 54 | } 55 | 56 | Glib::ustring key() const 57 | { 58 | return m_key; 59 | } 60 | 61 | value_t value() const 62 | { 63 | return m_value; 64 | } 65 | 66 | private: 67 | 68 | int m_start; 69 | int m_end; 70 | Glib::ustring m_key; 71 | value_t m_value; 72 | }; 73 | 74 | } 75 | 76 | #endif 77 | -------------------------------------------------------------------------------- /tools/DBusClientTest.py: -------------------------------------------------------------------------------- 1 | import dbus 2 | import dbus.glib 3 | import gtk 4 | import gobject 5 | import os 6 | 7 | GNOTE_DBUS_PATH = "/org/gnome/Gnote/RemoteControl" 8 | GNOTE_DBUS_IFACE = "org.gnome.Gnote" 9 | 10 | def freeze(): 11 | # Burn some CPU.. 12 | while True: 13 | pass 14 | 15 | def crash(): 16 | # Dump some core 17 | os.abort() 18 | 19 | class TestApp(object): 20 | def __init__(self): 21 | self.bus = dbus.SessionBus() 22 | 23 | tomboy_obj = self.bus.get_object(GNOTE_DBUS_IFACE, GNOTE_DBUS_PATH) 24 | self.tomboy = dbus.Interface(tomboy_obj, "org.gnome.Gnote.RemoteControl") 25 | self.tomboy.connect_to_signal("NoteAdded", self.note_added_cb) 26 | self.tomboy.connect_to_signal("NoteSaved", self.note_saved_cb) 27 | self.tomboy.connect_to_signal("NoteDeleted", self.note_deleted_cb) 28 | 29 | notif_obj = self.bus.get_object("org.freedesktop.Notifications", "/org/freedesktop/Notifications") 30 | self.notify = dbus.Interface(notif_obj, "org.freedesktop.Notifications") 31 | 32 | # Uncomment one of these to test crash behaviour when app is connected to tomboy, but not mid signal 33 | #gobject.idle_add(crash) 34 | #gobject.idle_add(freeze) 35 | 36 | def note_added_cb(self, uid): 37 | self.doMessage("Note added", uid) 38 | 39 | def note_saved_cb(self, uid): 40 | self.doMessage("Note saved", uid) 41 | 42 | def note_deleted_cb(self, uid, title): 43 | self.doMessage("Note deleted", uid + "\n" + title) 44 | 45 | def doMessage(self, msg, uid): 46 | self.notify.Notify("Conduit Devs Rock", 0, "", msg, uid, [], {}, 3000) 47 | 48 | # Uncomment one of these to test crash behaviour when app is connected to tomboy and mid signal 49 | #crash() 50 | #freeze() 51 | 52 | TestApp() 53 | gtk.main() 54 | --------------------------------------------------------------------------------