Test repository to check push and ssh key
Find a file
Adolfo Jayme Barrientos fa8a7cfa6c Improve awkward dialog title
Please never use the word “dialog” in a dialog’s title.
It’s obvious.
This string has led to confused translations.

Change-Id: Id55d45a48630e5f3d3f01d4eee87240f9907a803
2015-10-21 06:43:04 -05:00
.git-hooks
accessibility
android
animations
apple_remote
avmedia Improve awkward dialog title 2015-10-21 06:43:04 -05:00
basctl loplugin:defaultparams 2015-10-20 11:44:40 +02:00
basebmp
basegfx loplugin:defaultparams 2015-10-20 11:44:45 +02:00
basic loplugin:defaultparams 2015-10-20 11:44:49 +02:00
bean coverity#1326431 Dereference null return value 2015-10-20 21:18:36 +01:00
bin
binaryurp
bridges
canvas
chart2 new loplugin: badvectorinit 2015-10-20 11:35:31 +00:00
clew
cli_ure
codemaker loplugin:defaultparams 2015-10-20 11:44:58 +02:00
comphelper Rename some "document name" params to "document URL" 2015-10-20 15:18:26 +02:00
compilerplugins remove untyped Link<> 2015-10-21 07:44:43 +00:00
config_host
configmgr
connectivity loplugin:badvectorinit 2015-10-21 09:19:34 +02:00
cppcanvas
cppu
cppuhelper
cpputools
cui remove untyped Link<> 2015-10-21 07:44:43 +00:00
dbaccess Fix indentation. 2015-10-21 08:40:26 +02:00
desktop afl-eventtesting: shutdown cleaner to allow things to deregister 2015-10-20 21:18:31 +01:00
dictionaries@c0bdbe9e78
distro-configs
drawinglayer loplugin:defaultparams 2015-10-20 11:45:15 +02:00
dtrans
editeng loplugin:defaultparams 2015-10-20 11:45:21 +02:00
embeddedobj remove untyped Link<> 2015-10-21 07:44:43 +00:00
embedserv
eventattacher
extensions remove untyped Link<> 2015-10-21 07:44:43 +00:00
external Upgrade to ICU 56.1 2015-10-21 10:45:56 +02:00
extras
filter sc: initial png export 2015-10-20 18:12:23 +02:00
forms loplugin:defaultparams 2015-10-20 11:45:39 +02:00
formula loplugin:defaultparams 2015-10-19 17:50:12 +02:00
fpicker remove untyped Link<> 2015-10-21 07:44:43 +00:00
framework impl_mergeMediaDescriptorWithMightExistingModelArgs is a sick function name. 2015-10-21 09:26:09 +02:00
helpcompiler
helpcontent2@fc9a304d9d
hwpfilter com::sun::star->css in hwpfilter/ 2015-10-19 15:33:26 +02:00
i18nlangtag com::sun::star->css in i18nlangtag 2015-10-19 11:06:29 +00:00
i18npool loplugin:defaultparams 2015-10-20 11:45:49 +02:00
i18nutil com::sun::star->css in i18nutil 2015-10-20 07:02:24 +00:00
icon-themes Breeze Icons: Breeze Icons are changed at some icons LO was synced 2015-10-19 21:53:31 +00:00
idl
idlc
include attempt to placate Doxygen 2015-10-21 13:14:53 +02:00
instsetoo_native
io
ios
javaunohelper
jurt coverity#1327460 DLS: Dead local store 2015-10-20 21:18:33 +01:00
jvmaccess
jvmfwk
l10ntools properly check for ICU status so known tags get actually recognized 2015-10-21 10:45:54 +02:00
librelogo
libreofficekit lokdocview: Use G_PARAM_STATIC_STRINGS 2015-10-20 19:33:20 +00:00
lingucomponent
linguistic
lotuswordpro loplugin:defaultparams 2015-10-20 11:45:55 +02:00
m4
mysqlc new loplugin: badvectorinit 2015-10-20 11:35:31 +00:00
nlpsolver More plausible fix 2015-10-21 10:57:59 +02:00
o3tl
odk
offapi Nothing "new" with these 2015-10-21 14:28:49 +03:00
officecfg Clean up documentation of SymbolStyle prop 2015-10-20 14:17:32 +02:00
onlineupdate
oovbaapi
oox loplugin:defaultparams 2015-10-20 11:45:59 +02:00
opencl
osx
package
postprocess sc: initial png export 2015-10-20 18:12:23 +02:00
pyuno
qadevOOo Make ValueChanger work for UNO structs 2015-10-21 09:01:03 +02:00
readlicense_oo
registry
remotebridges
reportbuilder
reportdesign loplugin:defaultparams 2015-10-20 11:46:05 +02:00
ridljar coverity#1326356 presumably a deliberate fall through 2015-10-20 21:18:36 +01:00
rsc loplugin:defaultparams 2015-10-20 11:46:10 +02:00
sal
salhelper
sax new loplugin: badvectorinit 2015-10-20 11:35:31 +00:00
sc boost::ptr_vector -> std::vector 2015-10-21 12:47:31 +02:00
scaddins loplugin:defaultparams 2015-10-19 17:50:56 +02:00
sccomp
scp2
scripting coverity#1326553 Dereference before null check 2015-10-20 21:18:35 +01:00
sd sd: fix typo in PresenterHelper 2015-10-21 10:10:45 +02:00
sdext loplugin:defaultparams 2015-10-20 11:46:27 +02:00
setup_native
sfx2 tdf#95095: Rename "AvoidRecentDocs" to "PickListEntry" for consistency. 2015-10-21 10:03:34 +02:00
shell
slideshow No, it isn't 2015-10-21 11:33:53 +03:00
smoketest
solenv tdf#95169 - copy snk files before using them to link. 2015-10-20 07:51:59 +00:00
soltools
sot loplugin:defaultparams 2015-10-20 11:46:34 +02:00
starmath loplugin:defaultparams 2015-10-20 11:46:38 +02:00
stoc loplugin:defaultparams 2015-10-19 17:51:22 +02:00
store
svgio loplugin:defaultparams 2015-10-20 11:46:42 +02:00
svl sfx items: No need to confuse with 'USHORT_ARG' that is an 'int'. 2015-10-20 12:35:08 +02:00
svtools sc: initial png export 2015-10-20 18:12:23 +02:00
svx Upgrade to ICU 56.1 2015-10-21 10:45:56 +02:00
sw remove untyped Link<> 2015-10-21 07:44:43 +00:00
swext coverity#1326963 RV: Bad use of return value 2015-10-20 21:18:34 +01:00
sysui
test loplugin:defaultparams 2015-10-20 11:47:07 +02:00
testtools
toolkit remove untyped Link<> 2015-10-21 07:44:43 +00:00
tools loplugin:defaultparams 2015-10-20 11:47:14 +02:00
translations@b29df8cb30
tubes remove untyped Link<> 2015-10-21 07:44:43 +00:00
ucb
ucbhelper
udkapi
UnoControls cleanup some local var declarations 2015-10-19 13:08:29 +02:00
unodevtools
unoidl
unoil
unotest
unotools convert remaing DBG_WARNING to SAL_INFO 2015-10-19 13:08:29 +02:00
unoxml
ure
uui Gracefully handle URLs INetURLObject refuses to parse 2015-10-20 14:46:56 +02:00
vbahelper
vcl remove untyped Link<> 2015-10-21 07:44:43 +00:00
winaccessibility
wizards coverity#1326559 Dereference before null check 2015-10-20 21:18:35 +01:00
writerfilter loplugin:defaultparams 2015-10-20 11:47:22 +02:00
writerperfect
xmerge coverity#1326242 Dereference after null check 2015-10-20 21:18:36 +01:00
xmlhelp
xmloff loplugin:defaultparams 2015-10-20 11:47:26 +02:00
xmlreader
xmlscript
xmlsecurity remove untyped Link<> 2015-10-21 07:44:43 +00:00
.gitattributes
.gitignore
.gitmodules
.gitreview
autogen.sh
config.guess
config.sub
config_host.mk.in Add DLOPEN_LIBS to configure for some cases where -ldl is needed 2015-10-20 15:17:58 +00:00
config_host_lang.mk.in
configure.ac Upgrade to ICU 56.1 2015-10-21 10:45:56 +02:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst Upgrade to ICU 56.1 2015-10-21 10:45:56 +02:00
g
install-sh
leak-suppress.txt
Library_merged.mk
lo.xcent.in
logerrit
Makefile.fetch
Makefile.gbuild
Makefile.in android/source/AndroidManifest.xml is not generated during the build 2015-10-19 14:00:31 +02:00
README.cross
README.md
README.Solaris
Repository.mk Add DLOPEN_LIBS to configure for some cases where -ldl is needed 2015-10-20 15:17:58 +00:00
RepositoryExternal.mk
RepositoryFixes.mk
RepositoryModule_build.mk
RepositoryModule_host.mk
TEMPLATE.SOURCECODE.HEADER
unusedcode.easy
unusedcode.exclude
unusedcode.README

LibreOffice

Coverity Scan Build Status

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
basebmp/ enables a VCL compatible rendering API to render to bitmaps, as used for LibreOffice Online, Android, iOS, etc.
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.