Test repository to check push and ssh key
Find a file
Thorsten Behrens 76c2125ee3 Add MS binary format validator support for wine
Run bffvalidator also from Linux, reportedly works from wine 1.9
upwards. Wraps stuff in a shell for path name conversion.

Change-Id: I3093b10bbbf89aaff97f63485b8ccadb417b3561
Reviewed-on: https://gerrit.libreoffice.org/26784
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2016-06-29 22:46:20 +00:00
.git-hooks
accessibility tdf#88205: Adapt uses of css::uno::Sequence to use initializer_list ctor 2016-06-29 14:45:01 +00:00
android
animations
apple_remote
avmedia
basctl loplugin:singlevalfields in vcl(part1) 2016-06-24 10:51:45 +00:00
basegfx
basic tdf#96505 Get rid of cargo cult long integer literals 2016-06-27 06:20:18 +00:00
bean
bin Add MS binary format validator support for wine 2016-06-29 22:46:20 +00:00
binaryurp
bridges bridges: [loplugin:staticanonymous] 2016-06-21 18:20:26 +02:00
canvas update other places that read data from cairo image surface 2016-06-28 14:52:57 -04:00
chart2 loplugin:singlevalfields in chart2 2016-06-28 08:35:03 +00:00
cli_ure switch to EHs on windows 2016-06-20 15:18:45 +00:00
codemaker loplugin:singlevalfields in codemaker 2016-06-24 11:30:28 +02:00
comphelper Improve readability of OUString concatanation in OStorageHelper 2016-06-28 06:29:07 +00:00
compilerplugins compilerplugins: -isystem /usr/include breaks the build 2016-06-29 22:37:22 +02:00
config_host
configmgr
connectivity clang-analyzer-deadcode.DeadStores 2016-06-27 16:02:02 +02:00
cppcanvas
cppu
cppuhelper
cpputools
cui loplugin:staticmethods 2016-06-29 20:50:28 +02:00
dbaccess loplugin:singlevalfields in dbaccess 2016-06-27 05:18:07 +00:00
desktop loplugin:singlevalfields in dbaccess 2016-06-27 05:18:07 +00:00
dictionaries@277e232615
distro-configs
drawinglayer loplugin:singlevalfields in drawinglayer 2016-06-27 05:20:38 +00:00
dtrans
editeng move #includes to top of file 2016-06-29 14:49:19 +00:00
embeddedobj
embedserv
eventattacher
extensions Move accessibility relations to .ui files, Part 12: tdf#87026 2016-06-29 09:17:53 +00:00
external I screwed up with the breakpad minidump_stackwalk patch 2016-06-27 04:42:22 +02:00
extras Convert Bitmap tab to Pattern tab 2016-06-28 19:37:44 +00:00
filter loplugin:singlevalfields in filter 2016-06-28 06:25:08 +00:00
forms move #includes to top of file 2016-06-29 14:49:19 +00:00
formula add an isPODF() block to ScCompiler::IsOpCode(), tdf#100641 related 2016-06-27 17:24:20 +02:00
fpicker Move accessibility relations to .ui files, Part 11: tdf#87026 2016-06-27 20:24:28 +00:00
framework framework: fix typo in dispatchdisabler 2016-06-29 15:24:54 +00:00
helpcompiler tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 09:59:49 +00:00
helpcontent2@f4fb6dfe87 Updated core 2016-06-27 07:28:44 +00:00
hwpfilter move #includes to top of file 2016-06-29 14:49:19 +00:00
i18nlangtag
i18npool move #includes to top of file 2016-06-29 14:49:19 +00:00
i18nutil
icon-themes
idl tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 10:01:18 +00:00
idlc
include tdf#100592 Add extra number formats for fraction 2016-06-29 14:38:09 +00:00
instsetoo_native
io
ios
javaunohelper
jurt
jvmaccess
jvmfwk
l10ntools tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 09:59:49 +00:00
librelogo
libreofficekit lokdocview: ensure setView() + doSomethingElse is atomic 2016-06-22 07:07:40 +00:00
lingucomponent cppcheck: oppositeInnerCondition if new fails, its going to throw 2016-06-20 12:34:58 +01:00
linguistic loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
lotuswordpro move #includes to top of file 2016-06-29 14:49:19 +00:00
m4
mysqlc
nlpsolver
o3tl
odk
offapi fix assumed typo 2016-06-28 20:57:37 +02:00
officecfg tdf#96969 Use Ctrl+Shift+Space for Select Column in Chinese 2016-06-27 20:27:50 +00:00
onlineupdate move #includes to top of file 2016-06-29 14:49:19 +00:00
oovbaapi
oox warn->info: its just a fact 2016-06-24 15:21:26 +01:00
opencl Don't waste too much time evaluating the "score" for the "native CPU" 2016-06-29 16:09:15 +00:00
osx
package loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
postprocess Revert "try to debug images_tango.zip failure on arm tinderbox" 2016-06-22 14:22:33 +03:00
pyuno Clean up uses of Any::getValue() in pyuno 2016-06-21 12:46:45 +02:00
qadevOOo
readlicense_oo update credits 2016-06-21 20:44:47 +02:00
registry
remotebridges
reportbuilder
reportdesign loplugin:singlevalfields in reportdesign 2016-06-28 06:25:59 +00:00
ridljar
rsc loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
sal move #includes to top of file 2016-06-29 14:49:19 +00:00
salhelper
sax
sc No need for a derived class 2016-06-29 21:49:25 +02:00
scaddins tdf#100528 Add constraints for AMORLINC function 2016-06-28 14:51:42 +00:00
sccomp
scp2 Convert Bitmap tab to Pattern tab 2016-06-28 19:37:44 +00:00
scripting compilerplugins: add OWeakObject::release() override check 2016-06-24 12:05:09 +00:00
sd move #includes to top of file 2016-06-29 14:49:19 +00:00
sdext loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
setup_native tdf#89657 sign Mac languagepack installer and force-start-close LO 2016-06-20 21:55:08 +02:00
sfx2 move #includes to top of file 2016-06-29 14:49:19 +00:00
shell Work towards tdf#72606 EasyHack _tstring/TCHAR elimination 2016-06-22 12:31:42 +00:00
slideshow loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
smoketest
solenv gbuild: recognize newfangled screen TERM=screen.xterm-256color 2016-06-28 22:11:43 +02:00
soltools tdf#99589 - tolower / toupper - dangerous to Turks ... 2016-06-23 09:59:49 +00:00
sot loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
starmath starmath: Replace OSL_ENSURE with assert 2016-06-29 14:45:46 +00:00
stoc Clean up uses of Any::getValue() in stoc 2016-06-21 14:05:17 +02:00
store
svgio
svl tdf#100594 Calculate nFrac with fNumber for Forced Denominator 2016-06-29 18:31:23 +00:00
svtools vcl: handle PDF data in Read/WriteImpGraphic() 2016-06-29 10:36:21 +00:00
svx move #includes to top of file 2016-06-29 14:49:19 +00:00
sw dynamic_cast followed by static_cast 2016-06-29 21:27:20 +01:00
swext
sysui
test
testtools Clean up uses of Any::getValue() in testtools 2016-06-27 12:36:28 +02:00
toolkit loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
tools loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
translations@0027ac636c Updated core 2016-06-21 18:35:48 +00:00
tubes
ucb loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
ucbhelper loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
udkapi
uitest uitest: move the EventListener to an own file in the new dir structure 2016-06-26 03:28:10 +02:00
UnoControls
unodevtools
unoidl
unoil
unotest
unotools loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
unoxml
ure
uui loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
vbahelper loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
vcl move #includes to top of file 2016-06-29 14:49:19 +00:00
winaccessibility
windows
wizards
writerfilter tdf#90697 docx - don't change continuous break into page break 2016-06-29 07:35:54 +00:00
writerperfect upload libmwaw 0.3.8 2016-06-24 16:33:03 +02:00
xmerge
xmlhelp loplugin:singlevalfields in xmlhelp,xmloff 2016-06-24 06:46:01 +00:00
xmloff loplugin:singlevalfields in various 2016-06-28 11:21:17 +00:00
xmlreader
xmlscript Clean up uses of Any::getValue() in xmlscript 2016-06-27 15:41:42 +02:00
xmlsecurity loplugin:singlevalfields in writerfilter and xmlsec 2016-06-27 07:57:46 +00:00
.buckconfig
.buckversion
.gitattributes
.gitignore Add MS binary format validator support for wine 2016-06-29 22:46:20 +00:00
.gitmodules
.gitreview
autogen.sh
BUCK
config.guess
config.sub
config_host.mk.in integrate libzmf 2016-06-23 15:39:52 +00:00
config_host_lang.mk.in
configure.ac Add MS binary format validator support for wine 2016-06-29 22:46:20 +00:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst Upgrade mdds to 1.2.1. 2016-06-24 15:05:43 +00:00
g
install-sh
leak-suppress.txt
Library_merged.mk
lo.xcent.in
logerrit
Makefile.fetch integrate libzmf 2016-06-23 15:39:52 +00:00
Makefile.gbuild
Makefile.in Fix inconsistent dependencies of "make $MODULE" vs. "make $MODULE.build" etc. 2016-06-29 15:05:02 +02:00
README.cross
README.md
README.Solaris
Repository.mk
RepositoryExternal.mk integrate libzmf 2016-06-23 15:39:52 +00:00
RepositoryFixes.mk
RepositoryModule_build.mk
RepositoryModule_host.mk uitest: build system part for new uitests 2016-06-18 17:02:12 +02:00
sanitize-ubsan-blacklist
TEMPLATE.SOURCECODE.HEADER
unusedcode.easy
unusedcode.exclude
unusedcode.README

LibreOffice

Coverity Scan Build Status

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.