Test repository to check push and ssh key
Find a file
Caolán McNamara f01a975cb2 defer this for a while
This reverts commit 99c361be16.
2017-03-01 09:35:34 +00:00
.git-hooks
accessibility new loplugin unoany 2017-02-28 10:17:47 +00:00
android Improve the Document Provider UX 2017-02-27 14:08:32 +00:00
animations
apple_remote
avmedia new loplugin unoany 2017-02-28 10:17:47 +00:00
basctl
basegfx loplugin:loopvartoosmall 2017-02-26 21:56:36 +01:00
basic typesafe wrappers for css::i18nutil::TransliterationModules 2017-03-01 07:28:03 +00:00
bean
bin
binaryurp
bridges
canvas new loplugin unoany 2017-02-28 10:17:47 +00:00
chart2 new loplugin unoany 2017-02-28 10:17:47 +00:00
cli_ure
codemaker loplugin:loopvartoosmall 2017-02-25 10:10:02 +01:00
comphelper new loplugin unoany 2017-02-28 10:17:47 +00:00
compilerplugins Adapt loplugin:sallogareas 2017-02-28 23:12:48 +01:00
config_host Always enable liblangtag 2017-02-24 15:46:41 +00:00
configmgr
connectivity new loplugin unoany 2017-02-28 10:17:47 +00:00
cppcanvas FontDescription.IsVertical is a tristate 2017-02-28 12:21:06 +00:00
cppu
cppuhelper new loplugin unoany 2017-02-28 10:17:47 +00:00
cpputools new loplugin unoany 2017-02-28 10:17:47 +00:00
cui typesafe wrappers for css::i18nutil::TransliterationModules 2017-03-01 07:28:03 +00:00
dbaccess new loplugin unoany 2017-02-28 10:17:47 +00:00
desktop new loplugin unoany 2017-02-28 10:17:47 +00:00
dictionaries@d759f48f50
distro-configs Always enable liblangtag 2017-02-24 15:46:41 +00:00
drawinglayer loplugin:loopvartoosmall 2017-02-26 22:01:46 +01:00
dtrans
editeng typesafe wrappers for css::i18nutil::TransliterationModules 2017-03-01 07:28:03 +00:00
embeddedobj
embedserv
eventattacher
extensions loplugin:unoany 2017-02-28 17:57:12 +01:00
external Always enable liblangtag 2017-02-24 15:46:41 +00:00
extras update emoji autocorrect files from po-files 2017-02-28 15:22:34 +01:00
filter defer this for a while 2017-03-01 09:35:34 +00:00
forms typesafe wrappers for css::i18nutil::TransliterationModules 2017-03-01 07:28:03 +00:00
formula
fpicker new loplugin unoany 2017-02-28 10:17:47 +00:00
framework new loplugin unoany 2017-02-28 10:17:47 +00:00
helpcompiler
helpcontent2@a43b8eb31d Updated core 2017-02-24 20:59:55 +00:00
hwpfilter hwp: avoid low hanging invalid input 2017-02-28 12:34:43 +00:00
i18nlangtag Always enable liblangtag 2017-02-24 15:46:41 +00:00
i18npool Blind fix for 32-bit builds 2017-03-01 09:15:47 +01:00
i18nutil typesafe wrappers for css::i18nutil::TransliterationModules 2017-03-01 07:28:03 +00:00
icon-themes update notebookbar menu icon use a burger icon 2017-02-24 08:58:28 +00:00
idl Remove unused forward declaration 2017-02-27 14:36:07 +01:00
idlc
include Blind fix for 64-bit Windows builds 2017-03-01 10:27:12 +02:00
instsetoo_native
io
ios Rename misleadingly named include file fillpropertiesgroupcontext.hxx 2017-02-27 19:47:52 +02:00
javaunohelper
jurt
jvmaccess
jvmfwk Make JVM -Xrunjdwp option work on macOS 2017-02-24 17:00:28 +01:00
l10ntools loplugin:loopvartoosmall 2017-02-27 13:00:55 +01:00
librelogo
libreofficekit libreofficekit: adapt README to reality 2017-02-24 09:13:45 +01:00
lingucomponent Clean up use of integer types 2017-02-25 16:50:23 +01:00
linguistic new loplugin unoany 2017-02-28 10:17:47 +00:00
lotuswordpro fix leak 2017-03-01 09:27:37 +00:00
m4
mysqlc
nlpsolver
o3tl
odk
offapi uitest: add a specific method for executing dialogs 2017-02-27 09:43:45 +00:00
officecfg tdf#104507: Add a 'More Options' button to Image content panel 2017-02-27 09:14:36 +00:00
onlineupdate
oovbaapi
oox cid#1401592: bFlipX and bFlipY won't both be true 2017-03-01 09:50:34 +01:00
opencl
osx
package
postprocess
pyuno new loplugin unoany 2017-02-28 10:17:47 +00:00
qadevOOo
readlicense_oo update credits 2017-02-28 15:30:45 +01:00
registry loplugin:loopvartoosmall 2017-02-25 10:14:05 +01:00
remotebridges
reportbuilder
reportdesign typesafe wrappers for css::i18nutil::TransliterationModules 2017-03-01 07:28:03 +00:00
ridljar
rsc start to get make fuzzers working again 2017-02-24 17:43:07 +00:00
sal There's no way to create an oslVolumeDeviceHandle for unx 2017-02-23 17:27:08 +01:00
salhelper
sax FastSaxSerializer: SAL_WARN() when writing invalid XML characters 2017-02-28 22:29:36 +01:00
sc typesafe wrappers for css::i18nutil::TransliterationModules 2017-03-01 07:28:03 +00:00
scaddins
sccomp
schema
scp2
scripting new loplugin unoany 2017-02-28 10:17:47 +00:00
sd typesafe wrappers for css::i18nutil::TransliterationModules 2017-03-01 07:28:03 +00:00
sdext loplugin:sallogareas 2017-02-28 19:09:45 +01:00
setup_native
sfx2 loplugin:unoany 2017-02-28 20:51:16 +01:00
shell new loplugin unoany 2017-02-28 10:17:47 +00:00
slideshow new loplugin unoany 2017-02-28 10:17:47 +00:00
smoketest
solenv let the top level uicheck depend on the build 2017-03-01 02:41:37 +01:00
soltools
sot new loplugin unoany 2017-02-28 10:17:47 +00:00
starmath new loplugin unoany 2017-02-28 10:17:47 +00:00
stoc new loplugin unoany 2017-02-28 10:17:47 +00:00
store
svgio
svl typesafe wrappers for css::i18nutil::TransliterationModules 2017-03-01 07:28:03 +00:00
svtools new loplugin unoany 2017-02-28 10:17:47 +00:00
svx typesafe wrappers for css::i18nutil::TransliterationModules 2017-03-01 07:28:03 +00:00
sw tdf#106001: Clamp CharScaleWidth outliers when exporting to DOCX 2017-03-01 07:43:36 +00:00
swext
sysui
test
testtools
toolkit new loplugin unoany 2017-02-28 10:17:47 +00:00
tools Avoid -fsanitize=null 2017-02-28 08:51:13 +01:00
translations@2883419ce5 Updated core 2017-02-28 13:41:26 +00:00
tubes
ucb new loplugin unoany 2017-02-28 10:17:47 +00:00
ucbhelper
udkapi
uitest uitest: enable additional chart tests that seem to be stable now 2017-03-01 02:41:37 +01:00
UnoControls
unodevtools
unoidl
unoil
unotest
unotools typesafe wrappers for css::i18nutil::TransliterationModules 2017-03-01 07:28:03 +00:00
unoxml
ure
uui
vbahelper new loplugin unoany 2017-02-28 10:17:47 +00:00
vcl typesafe wrappers for css::i18nutil::TransliterationModules 2017-03-01 07:28:03 +00:00
winaccessibility
windows
wizards Related: tdf#80731 missing ')' breaks Gimmicks.Autotext macro 2017-02-28 21:28:29 +00:00
writerfilter writerfilter: avoid repeating the return type from the declaration 2017-03-01 07:17:48 +00:00
writerperfect
xmerge
xmlhelp new loplugin unoany 2017-02-28 10:17:47 +00:00
xmloff these arrays should be const 2017-03-01 06:31:40 +00:00
xmlreader
xmlscript
xmlsecurity new loplugin unoany 2017-02-28 10:17:47 +00:00
.buckconfig
.buckversion
.editorconfig
.gitattributes
.gitignore
.gitmodules
.gitreview
autogen.sh
BUCK
config.guess
config.sub
config_host.mk.in Always enable liblangtag 2017-02-24 15:46:41 +00:00
config_host_lang.mk.in
configure.ac Always enable liblangtag 2017-02-24 15:46:41 +00:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst update to language-subtag-registry-2017-01-20 2017-02-24 20:59:33 +01:00
g
install-sh
leak-suppress.txt
Library_merged.mk
lo.xcent.in
logerrit
Makefile.fetch
Makefile.gbuild
Makefile.in add 602 fuzzer 2017-02-25 20:58:07 +00:00
README.cross
README.md
README.Solaris
Repository.mk add 602 fuzzer 2017-02-25 20:58:07 +00:00
RepositoryExternal.mk gpg4libre: Add libgpg-error to include path 2017-02-27 11:22:38 +00:00
RepositoryFixes.mk
RepositoryModule_build.mk
RepositoryModule_host.mk
sanitize-ubsan-blacklist
TEMPLATE.SOURCECODE.HEADER
unusedcode.easy
unusedcode.exclude
unusedcode.README

LibreOffice

Coverity Scan Build Status CII Best Practices

LibreOffice is an integrated office suite based on copyleft licenses and compatible with most document formats and standards. Libreoffice is backed by The Document Foundation, which represents a large independent community of enterprises, developers and other volunteers moved by the common goal of bringing to the market the best software for personal productivity. LibreOffice is open source, and free to download, use and distribute.

A quick overview of the LibreOffice code structure.

Overview

You can develop for LibreOffice in one of two ways, one recommended and one much less so. First the somewhat less recommended way: it is possible to use the SDK to develop an extension, for which you can read the API docs here and here. This re-uses the (extremely generic) UNO APIs that are also used by macro scripting in StarBasic.

The best way to add a generally useful feature to LibreOffice is to work on the code base however. Overall this way makes it easier to compile and build your code, it avoids any arbitrary limitations of our scripting APIs, and in general is far more simple and intuitive - if you are a reasonably able C++ programmer.

The important bits of code

Each module should have a README file inside it which has some degree of documentation for that module; patches are most welcome to improve those. We have those turned into a web page here:

http://docs.libreoffice.org/

However, there are two hundred modules, many of them of only peripheral interest for a specialist audience. So - where is the good stuff, the code that is most useful. Here is a quick overview of the most important ones:

Module Description
sal/ this provides a simple System Abstraction Layer
tools/ this provides basic internal types: 'Rectangle', 'Color' etc.
vcl/ this is the widget toolkit library and one rendering abstraction
framework UNO framework, responsible for building toolbars, menus, status bars, and the chrome around the document using widgets from VCL, and XML descriptions from /uiconfig/ files
sfx2/ legacy core framework used by Writer/Calc/Draw: document model / load/save / signals for actions etc.
svx/ drawing model related helper code, including much of Draw/Impress

Then applications

Module Description
desktop/ this is where the 'main' for the application lives, init / bootstrap. the name dates back to an ancient StarOffice that also drew a desktop
sw/ Writer
sc/ Calc
sd/ Draw / Impress

There are several other libraries that are helpful from a graphical perspective:

Module Description
basegfx/ algorithms and data-types for graphics as used in the canvas
canvas/ new (UNO) canvas rendering model with various backends
cppcanvas/ C++ helper classes for using the UNO canvas
drawinglayer/ View code to render drawable objects and break them down into primitives we can render more easily.

Finding out more

Beyond this, you can read the README files, send us patches, ask on the mailing list libreoffice@lists.freedesktop.org (no subscription required) or poke people on IRC #libreoffice-dev on irc.freenode.net - we're a friendly and generally helpful mob. We know the code can be hard to get into at first, and so there are no silly questions.