Test repository to check push and ssh key
Find a file
andreas kainz 0453b6a845 App icons: add 22,24,64px size app and mimetype LibO icons
Change-Id: Ic3bc840467e7af6d9f2d0b5f105b316d4d12193e
Reviewed-on: https://gerrit.libreoffice.org/55492
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: andreas_kainz <kainz.a@gmail.com>
2018-06-09 11:38:23 +02:00
.git-hooks
accessibility tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
android
animations
apple_remote
avmedia tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
basctl tdf#117825: check if macros are allowed when double-click one 2018-06-02 18:57:57 +02:00
basegfx
basic Translate German comments and debug strings 2018-06-06 13:46:09 +02:00
bean
bin use prebuilt opens___.ttf in oss-fuzz configuration 2018-06-03 19:32:52 +01:00
binaryurp
bridges
canvas tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
chart2 look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
cli_ure
codemaker tdf#117918 codemaker: avoid including ourselves in .hpp files 2018-06-06 08:41:29 +02:00
comphelper look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
compilerplugins
config_host
configmgr
connectivity look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
cppcanvas tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
cppu
cppuhelper
cpputools
cui remove cargo cult OSL_ENSURE(pFact, "ScAbstractFactory create fail!"( 2018-06-09 09:45:53 +02:00
dbaccess look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
desktop tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
dictionaries@6c85a19c88
distro-configs solenv/flatpak-manifest.in: Properly disable debug information 2018-06-08 12:50:14 +02:00
drawinglayer tdf#117949 Use small overlap for SVG gradient representation 2018-06-07 08:42:30 +02:00
dtrans tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
editeng remove cargo cult OSL_ENSURE(pFact, "ScAbstractFactory create fail!"( 2018-06-09 09:45:53 +02:00
embeddedobj look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
embedserv
emfio assert in BitmapInfoAccess if bitmap is empty or we can't read from it 2018-06-07 13:50:16 +02:00
eventattacher
extensions Fix glitch in SAL_INFO logging 2018-06-08 17:55:36 +02:00
external svx: set the font name of imported PDF text 2018-06-07 10:45:32 +02:00
extras weld SwSectionFootnoteEndTabPage 2018-06-02 22:16:25 +02:00
filter tdf#118037 PPT import: fix lost crop of graphic 2018-06-08 10:20:58 +02:00
forms look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
formula tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
fpicker tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
framework look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
helpcompiler tdf#96099 Remove std::vector typedefs 2018-06-07 07:28:54 +02:00
helpcontent2@4189aaf3b4 Updated core 2018-06-07 11:07:17 +02:00
hwpfilter tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
i18nlangtag
i18npool tdf#115007: add import/export to NatNum12 (spell out numbers, 2018-06-08 18:00:20 +02:00
i18nutil tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
icon-themes Karasa Jaga: Add many locale icon, update some database & chart related icons 2018-06-04 16:44:51 +02:00
idl
idlc
include hold LogicalFontInstance with rtl::Reference 2018-06-08 22:29:50 +02:00
instsetoo_native [API CHANGE] Remove unused StartCenterHideExternalLinks configuration property 2018-06-07 08:47:33 +02:00
io
ios We use ICU 61 now 2018-06-07 21:51:36 +03:00
javaunohelper
jurt
jvmaccess
jvmfwk
l10ntools enable incremental linking on windows 2018-06-06 08:55:02 +02:00
librelogo
libreofficekit
lingucomponent
linguistic tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
lotuswordpro
m4
mysqlc
nlpsolver
o3tl
odk
offapi tdf#115007: add import/export to NatNum12 (spell out numbers, 2018-06-08 18:00:20 +02:00
officecfg [API CHANGE] Remove unused StartCenterHideExternalLinks configuration property 2018-06-07 08:47:33 +02:00
onlineupdate
oovbaapi Add ooo.vba.word.Application.StatusBar property for debug output from client 2018-06-07 13:05:02 +02:00
oox Support autoTxRot parameter in Text algorithm 2018-06-08 18:36:52 +02:00
opencl tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
osx
package look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
postprocess [API CHANGE] Remove unused StartCenterHideExternalLinks configuration property 2018-06-07 08:47:33 +02:00
pyuno look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
qadevOOo
readlicense_oo
registry
remotebridges
reportbuilder
reportdesign remove cargo cult OSL_ENSURE(pFact, "ScAbstractFactory create fail!"( 2018-06-09 09:45:53 +02:00
ridljar
sal sal: WNT -> _WIN32 2018-06-05 17:06:16 +02:00
salhelper
sax tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
sc uitest Calc - statistics - sampling 2018-06-09 09:47:07 +02:00
scaddins
sccomp
schema
scp2
scripting
sd remove cargo cult OSL_ENSURE(pFact, "ScAbstractFactory create fail!"( 2018-06-09 09:45:53 +02:00
sdext look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
setup_native
sfx2 look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
shell
slideshow tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
smoketest
solenv solenv/flatpak-manifest.in: Properly disable debug information 2018-06-08 12:50:14 +02:00
soltools
sot
starmath tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
stoc tdf#96099 Remove std::vector typedefs 2018-06-07 07:28:54 +02:00
store
svgio
svl tdf#115007: add import/export to NatNum12 (spell out numbers, 2018-06-08 18:00:20 +02:00
svtools Translate German comments and debug strings 2018-06-06 13:46:09 +02:00
svx remove cargo cult OSL_ENSURE(pFact, "ScAbstractFactory create fail!"( 2018-06-09 09:45:53 +02:00
sw sw_redlinehide: old GCC needs a cast here 2018-06-09 09:59:57 +02:00
swext
sysui App icons: add 22,24,64px size app and mimetype LibO icons 2018-06-09 11:38:23 +02:00
test look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
testtools
toolkit Translate German comments and debug strings 2018-06-06 13:46:09 +02:00
tools tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
translations@ed31445a5c
ucb tdf#96099 Remove std::vector typedefs 2018-06-07 07:28:54 +02:00
ucbhelper
udkapi Fix typo 2018-06-07 14:30:41 +02:00
uitest
UnoControls
unodevtools
unoidl
unoil
unotest
unotools tdf#115007: Use [NatNum12 params...] syntax 2018-06-08 15:08:33 +02:00
unoxml tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
ure
uui tdf#42949 remove unused compheler includes .. 2018-06-05 10:56:36 +02:00
vbahelper look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
vcl hold and return SalI18NImeStatus using std::unique_ptr 2018-06-09 09:52:43 +02:00
winaccessibility
wizards
writerfilter look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
writerperfect Fix IWYU warnings 2018-06-07 09:27:46 +02:00
xmerge
xmlhelp tdf#96099 Remove std::vector typedefs 2018-06-07 07:28:54 +02:00
xmloff tdf#115007: add import/export to NatNum12 (spell out numbers, 2018-06-08 18:00:20 +02:00
xmlreader
xmlscript look for unnecessary calls to Reference::is() after an UNO_QUERY_THROW 2018-06-08 01:29:32 +02:00
xmlsecurity xmlsecurity: check for the libxmlsec version runtime, not build-time 2018-06-08 08:11:46 +02:00
.buckconfig
.buckversion
.clang-format
.editorconfig
.gitattributes
.gitignore
.gitmodules
.gitreview
autogen.sh
BUCK
config.guess
config.sub
config_host.mk.in
config_host_lang.mk.in
configure.ac Bump iOS SDK version to the current one, 11.4 2018-06-07 21:51:36 +03:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst upload libepubgen 0.1.1 2018-06-03 19:14:54 +02:00
g
install-sh
leak-suppress.txt
Library_merged.mk
lo.xcent.in
logerrit
Makefile.fetch
Makefile.gbuild
Makefile.in
README.cross
README.md Bump iOS SDK version to the current one, 11.4 2018-06-07 21:51:36 +03:00
README.Solaris
Repository.mk
RepositoryExternal.mk
RepositoryFixes.mk
RepositoryModule_build.mk
RepositoryModule_host.mk
sanitize-ubsan-blacklist
TEMPLATE.SOURCECODE.HEADER

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 build chain and runtime baselines

These are the current minimal operating system and compiler versions to run and compile LibreOffice, also used by the TDF builds:

  • Windows:
    • Runtime: Windows 7
    • Build: Cygwin + Visual Studio 2015 Update 3
  • macOS:
    • Runtime: 10.9
    • Build: 10.12 + Xcode 8
  • Linux:
    • Runtime: RHEL 6 or CentOS 6
    • Build: GCC 4.8.1 or Clang
  • iOS (only for LibreOfficeKit):
    • Runtime: 11.4 (only support for newer i devices == 64 bit)
    • Build: Xcode 9.3 and iPhone SDK 11.4

At least Clang 3.4.2 is known to be too old to pass the configure.ac check "whether $CXX supports C++17, C++14, or C++11" in its current form (due to the #pragma GCC diagnostic ignored "-Wpragmas" that it does not understand).

If you want to use Clang with the LibreOffice compiler plugins, the minimal version of Clang is 3.8. Since Xcode doesn't provide the compiler plugin headers, you have to compile your own Clang to use them on macOS.

You can find the TDF configure switches in the distro-configs/ directory.

To setup your initial build environment on Windows and macOS, we provide the LibreOffice Development Environment (LODE) scripts.

For more information see the build instructions for your platform in the TDF wiki.

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:

https://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.

Rules for #include directives (C/C++)

Use the "..." form if and only if the included file is found next to the including file. Otherwise, use the <...> form. (For further details, see the mail Re: C[++]: Normalizing include syntax ("" vs <>).)

The UNO API include files should consistently use double quotes, for the benefit of external users of this API.

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.