Test repository to check push and ssh key
Find a file
Rene Engelhard eb3bcfff0e Revert "use LIBO_LANG=C.UTF-8 instead of en_US.UTF-8"
This reverts commit dc141130cd.

moggi/cloph insist on that it should be en_US.UTF-8 and people should
either just use that or use locale-gen. Will give problems in chroot,
but... *shrugs*
2017-06-10 11:40:02 +02:00
.git-hooks
accessibility Remove all allocation of VCLExternalSolarLock. 2017-06-05 13:41:38 +02:00
android
animations
apple_remote
avmedia
basctl Remove all allocation of VCLExternalSolarLock. 2017-06-05 13:41:38 +02:00
basegfx cppcheck: knownConditionTrueFalse 2017-06-06 08:25:21 +02:00
basic clang-tidy readability-non-const-parameter 2017-06-09 15:05:54 +02:00
bean
bin White-list svx. 2017-06-06 13:26:08 +01:00
binaryurp
bridges
canvas
chart2 Fix typo in queryAggregation 2017-06-09 19:49:27 +02:00
cli_ure
codemaker
comphelper
compilerplugins DbgCheckItemSet is gone 2017-06-08 16:40:12 +02:00
config_host
configmgr
connectivity DBase, encodings mixed 2017-06-10 10:44:40 +02:00
cppcanvas
cppu
cppuhelper add COVERITY_NOEXCEPT_FALSE 2017-06-06 14:15:43 +02:00
cpputools spelling instanciate -> instantiate 2017-06-05 10:11:33 +02:00
cui tdf#107087: Select bitmap fill from preset list 2017-06-08 23:14:13 +02:00
dbaccess Translate and fix the from-German translation of "UNO binding" 2017-06-07 21:44:17 +02:00
desktop Add --script-cat parameter to dump scripts content. 2017-06-09 11:00:14 +02:00
dictionaries@c1631744a5 Updated core 2017-06-07 05:54:05 +02:00
distro-configs
drawinglayer
dtrans
editeng EditEngine Creating SvXMLImportContext for ODF 2017-06-07 14:50:04 +02:00
embeddedobj
embedserv
eventattacher
extensions add COVERITY_NOEXCEPT_FALSE 2017-06-06 14:15:43 +02:00
external external: drop mingw bits from ExternalPackage_xmlsec 2017-06-09 10:03:39 +02:00
extras
filter clang-tidy readability-non-const-parameter 2017-06-09 15:05:54 +02:00
forms Translate and fix the from-German translation of "UNO binding" 2017-06-07 21:44:17 +02:00
formula Forgot FormulaTokenArrayPlainIterator::GetNextName() 2017-06-08 19:37:10 +03:00
fpicker
framework framework: replace double checked locking patterns 2017-06-08 09:01:42 +02:00
helpcompiler remove some unnecessary use of OUStringBuffer 2017-06-08 08:45:56 +02:00
helpcontent2@38734b7d4f Updated core 2017-06-07 19:21:26 +02:00
hwpfilter clang-tidy readability-non-const-parameter 2017-06-09 15:05:54 +02:00
i18nlangtag spelling instanciate -> instantiate 2017-06-05 10:11:33 +02:00
i18npool use comphelper::InitPropertySequence in more places 2017-06-09 14:24:00 +02:00
i18nutil Make use of OUString::startsWith rest parameter 2017-06-07 14:02:41 +02:00
icon-themes
idl tdf#39468 Translate German comments and dbg strings (leftovers in h.. to i..) 2017-06-06 13:51:55 +02:00
idlc More tests to suppress (all .PHONY test targets should be covered now) 2017-06-09 17:24:55 +02:00
include Cache text layout of statusbar items 2017-06-09 16:29:40 +02:00
instsetoo_native
io
ios iOS, add support for arm64 2017-06-07 12:26:24 +02:00
javaunohelper
jurt spelling instanciate -> instantiate 2017-06-05 10:11:33 +02:00
jvmaccess
jvmfwk
l10ntools tdf#106942 Wrong message when lock file is empty or corrupt 2017-06-06 15:58:02 +02:00
librelogo
libreofficekit
lingucomponent
linguistic use comphelper::InitPropertySequence in more places 2017-06-09 14:24:00 +02:00
lotuswordpro clang-tidy readability-non-const-parameter 2017-06-09 15:05:54 +02:00
m4
mysqlc
nlpsolver
o3tl
odk odk settings.mk: add various missing JAVA_PROC_TYPE overrides for Linux arches 2017-06-09 21:22:20 +02:00
offapi Fix @since tag 2017-06-07 14:04:17 +02:00
officecfg
onlineupdate the custom target needs to depend on python 2017-06-08 05:23:30 +02:00
oovbaapi oovbaapi: add Interior.PatternTintAndShade Property (Excel) 2017-06-08 08:06:47 +02:00
oox GSoC: import VML shape adjustments 2017-06-09 16:28:11 +02:00
opencl
osx
package First cut at moving unzipping into new thread: 2017-06-08 14:27:45 +02:00
postprocess
pyuno
qadevOOo Fix build after f1454b474d 2017-06-08 11:28:20 +02:00
readlicense_oo
registry More tests to suppress (all .PHONY test targets should be covered now) 2017-06-09 17:24:55 +02:00
remotebridges
reportbuilder
reportdesign use comphelper::InitPropertySequence in more places 2017-06-09 14:24:00 +02:00
ridljar
rsc remove some unnecessary use of OUStringBuffer 2017-06-08 08:45:56 +02:00
sal clang-tidy readability-non-const-parameter 2017-06-09 15:05:54 +02:00
salhelper
sax
sc tdf#55631: DBASE import with CP850 encoding 2017-06-10 08:15:33 +02:00
scaddins
sccomp
schema
scp2 scp2: package 64-bit MSVC runtimes for explorer extensions 2017-06-06 13:05:42 +02:00
scripting
sd EditEngine: Added ODF_TEXT_FLAT copy/paste for sd 2017-06-08 20:36:50 +02:00
sdext use comphelper::InitPropertySequence in more places 2017-06-09 14:24:00 +02:00
setup_native
sfx2 clang-tidy readability-non-const-parameter 2017-06-09 15:05:54 +02:00
shell
slideshow
smoketest
solenv Revert "use LIBO_LANG=C.UTF-8 instead of en_US.UTF-8" 2017-06-10 11:40:02 +02:00
soltools
sot EditEngine Exporting flat XML from actual clipboard 2017-06-07 14:40:08 +02:00
starmath replace SVSTREAM_OK with ERRCODE_NONE 2017-06-06 08:15:57 +02:00
stoc Improved loplugin:cstylecast to reference types: stoc 2017-06-05 21:18:04 +02:00
store Improved loplugin:cstylecast to reference types: store 2017-06-05 21:18:04 +02:00
svgio cppcheck: knownConditionTrueFalse 2017-06-06 08:25:21 +02:00
svl use comphelper::InitPropertySequence in more places 2017-06-09 14:24:00 +02:00
svtools use comphelper::InitPropertySequence in more places 2017-06-09 14:24:00 +02:00
svx use comphelper::InitPropertySequence in more places 2017-06-09 14:24:00 +02:00
sw sw: DisableCallbackAction in a bunch more places 2017-06-10 00:10:46 +02:00
swext tdf#98888: mediawiki inserts redundant emptylines in <ref> 2017-06-07 07:13:54 +02:00
sysui
test tdf#45904 Move java XCellSeries test to c++ 2017-06-08 02:45:54 +02:00
testtools One more test to suppress 2017-06-06 11:35:30 +02:00
toolkit cppcheck: knownConditionTrueFalse 2017-06-06 08:25:21 +02:00
tools add COVERITY_NOEXCEPT_FALSE 2017-06-06 14:15:43 +02:00
translations@633cd82082 Updated core 2017-06-07 04:31:32 +02:00
ucb -Werror=unused-variable 2017-06-10 08:33:35 +02:00
ucbhelper ucb: replace double checked locking patterns 2017-06-06 20:58:18 +02:00
udkapi Fix typos 2017-06-05 17:58:20 +02:00
uitest uitest: set en_US.UTF8 for the LibreOffice instance 2017-06-10 09:33:23 +02:00
UnoControls UnoControls: replace double checked locking patterns 2017-06-09 13:40:37 +02:00
unodevtools
unoidl
unoil
unotest
unotools remove some unnecessary use of OUStringBuffer 2017-06-08 08:45:56 +02:00
unoxml
ure
uui tdf#106942 Wrong message when lock file is empty or corrupt 2017-06-06 15:58:02 +02:00
vbahelper
vcl Cache text layout of statusbar items 2017-06-09 16:29:40 +02:00
winaccessibility
wizards spelling instanciate -> instantiate 2017-06-05 10:11:33 +02:00
writerfilter use comphelper::InitPropertySequence in more places 2017-06-09 14:24:00 +02:00
writerperfect
xmerge
xmlhelp
xmloff remove some unnecessary use of OUStringBuffer 2017-06-08 08:45:56 +02:00
xmlreader
xmlscript
xmlsecurity clang-tidy readability-non-const-parameter 2017-06-09 15:05:54 +02:00
.buckconfig
.buckversion
.editorconfig
.gitattributes
.gitignore
.gitmodules
.gitreview
autogen.sh
BUCK
config.guess
config.sub iOS, add support for arm64 2017-06-07 12:26:24 +02:00
config_host.mk.in configure: remove ENABLE_CRASHDUMP placeholder 2017-06-07 17:10:24 +02:00
config_host_lang.mk.in
configure.ac configure: remove ENABLE_CRASHDUMP placeholder 2017-06-07 17:10:24 +02:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst
g
install-sh
leak-suppress.txt
Library_merged.mk
lo.xcent.in
logerrit
Makefile.fetch
Makefile.gbuild
Makefile.in make check on linux includes now uicheck 2017-06-06 23:11:26 +02:00
README.cross
README.md
README.Solaris
Repository.mk scp2: package 64-bit MSVC runtimes for explorer extensions 2017-06-06 13:05:42 +02:00
RepositoryExternal.mk
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.