Test repository to check push and ssh key
Find a file
Takeshi Abe 4bec85e561 sc: Drop empty reordermap.cxx
Change-Id: I6d3183cf281363538c603d126660064a205cda5b
Reviewed-on: https://gerrit.libreoffice.org/66058
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-01-10 07:11:50 +01:00
.git-hooks
accessibility add operator* to uno::Reference 2019-01-08 07:09:17 +01:00
android Introduce --enable-android-editing 2018-12-13 13:29:40 +01:00
animations
apple_remote
avmedia convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
basctl convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
basegfx EmptyTuple is unused 2019-01-09 23:00:55 +01:00
basic convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
bean
bin deb#917795 Belarussian → Belarusian 2018-12-30 13:59:21 +01:00
binaryurp Use [[maybe_unused]] instead of cast to void 2018-12-08 22:02:18 +01:00
bridges Fix typo 2018-12-20 07:06:52 +01:00
canvas convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
chart2 Resolves: tdf#122597 chart dialog should be modal 2019-01-09 15:09:34 +01:00
cli_ure
codemaker
comphelper use boost::optional for OUString 2018-12-22 08:21:12 +01:00
compilerplugins loplugin:constantparam 2019-01-08 10:05:45 +01:00
config_host kde5: remove older kde/tde plugins, and references to that 2018-12-17 18:33:13 +01:00
configmgr Use indexed getToken() 2018-12-28 16:52:18 +01:00
connectivity Fix typo 2019-01-07 10:42:08 +01:00
cppcanvas convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
cppu typelib: Fix incorrect parameter type to std::min() on m68k 2018-12-29 07:14:35 +01:00
cppuhelper Do not use indexed getToken for a single call 2018-12-28 17:07:29 +01:00
cpputools Reduce OUString operations and use indexed getToken 2018-12-28 17:10:16 +01:00
cui tdf#122527 dot symbols in chart menubutton not working 2019-01-08 22:00:37 +01:00
dbaccess Resolves: tdf#122467 drop down field name is too narrow 2019-01-09 12:36:03 +01:00
desktop convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
dictionaries@f2b8065791 Update git submodules 2019-01-02 13:29:28 +01:00
distro-configs Update Flatpak to OpenJDK11 2019-01-03 09:25:06 +01:00
drawinglayer tdf#122559 EMF+ Add transparency support for drawing lines 2019-01-09 17:32:53 +01:00
dtrans
editeng tdf#42949 Fix IWYU warnings in include/vcl/[v-x]* 2019-01-07 09:13:14 +01:00
embeddedobj WIN move native dialog hack into WinScheduler 2018-12-13 16:33:58 +01:00
embedserv
emfio svm xml dumper: move this from test to vcl 2019-01-03 15:08:06 +01:00
eventattacher
extensions tdf#42949 Fix IWYU warnings in include/vcl/[v-x]* 2019-01-07 09:13:14 +01:00
external Skip these patches for iOS, too 2019-01-07 13:06:31 +02:00
extras [pt_PT] Added 24 words to autocorrect 2018-12-27 11:16:36 +01:00
filter convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
forms tdf#42949 Fix IWYU warnings in include/vcl/[v-x]* 2019-01-07 09:13:14 +01:00
formula tdf#42949 Fix IWYU warnings in include/vcl/[v-x]* 2019-01-07 09:13:14 +01:00
fpicker tdf#42949 Fix IWYU warnings in include/vcl/[v-x]* 2019-01-07 09:13:14 +01:00
framework tdf#42949 Fix IWYU warnings in include/vcl/[v-x]* 2019-01-07 09:13:14 +01:00
helpcompiler
helpcontent2@29b5659ba0 Update git submodules 2019-01-05 17:02:12 +01:00
hwpfilter Fix typo 2018-12-28 10:18:17 +01:00
i18nlangtag
i18npool tdf#120703 PVS: V560 A part of conditional expression is always true/false 2018-12-24 07:45:56 +01:00
i18nutil Fix typo in code 2018-12-20 08:49:50 +01:00
icon-themes Colibre icon: update toolbarmode and donate icon 2019-01-08 07:42:24 +01:00
idl
idlc idlc: no need to store single OString objects on the heap 2018-12-22 08:16:55 +01:00
include tdf#122273 modal dialog on modeless dialog needs special handling 2019-01-09 11:50:16 +01:00
instsetoo_native tdf#122302: Set status message when installing KB2999226 2018-12-24 09:25:12 +01:00
io use unique_ptr in io 2018-12-19 07:04:51 +01:00
ios
javaunohelper
jurt
jvmaccess
jvmfwk
l10ntools
librelogo
libreofficekit
lingucomponent
linguistic tdf#42949 Fix IWYU warnings in include/vcl/[v-x]* 2019-01-07 09:13:14 +01:00
lotuswordpro use unique_ptr in LwpTools::GetSystemDateStyle 2019-01-07 11:40:09 +01:00
m4
nlpsolver
o3tl Fix o3tl::string_view streaming operator << 2018-12-16 17:14:33 +01:00
odk Bump copyright year to 2019 2019-01-01 00:00:00 -06:00
offapi [API CHANGE] Change the type of Embed*ScriptFonts props to bool 2019-01-05 16:57:31 +01:00
officecfg tdf#82504 writer table cell background color SvxColorItem uno function 2019-01-06 20:15:22 +01:00
onlineupdate
oovbaapi
oox convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
opencl
osx
package
postprocess kde5: remove older kde/tde plugins, and references to that 2018-12-17 18:33:13 +01:00
pyuno
qadevOOo tdf#45904 Move XTableRows Java tests to C++ 2018-12-19 18:45:45 +01:00
readlicense_oo update credits 2019-01-08 13:53:19 +01:00
registry
remotebridges
reportbuilder
reportdesign tdf#42949 Fix IWYU warnings in include/vcl/[v-x]* 2019-01-07 09:13:14 +01:00
ridljar
sal tdf#98343 follow-up: don't fail on UNC prefixes 2018-12-15 16:30:08 +01:00
salhelper tdf#42949 Fix IWYU warnings in salhelper/ 2019-01-09 08:41:50 +01:00
sax
sc sc: Drop empty reordermap.cxx 2019-01-10 07:11:50 +01:00
scaddins Simplify containers iterations in scaddins, sccomp, scripting 2018-12-20 08:15:54 +01:00
sccomp Simplify containers iterations in scaddins, sccomp, scripting 2018-12-20 08:15:54 +01:00
schema address forward incompatibility of InputRequired default change 2018-12-13 19:49:37 +01:00
scp2 tdf#122302: Set status message when installing KB2999226 2018-12-24 09:25:12 +01:00
scripting Restore original behavior of MasterScriptProvider::hasByName 2018-12-20 09:12:36 +01:00
sd use unique_ptr in sd 2019-01-09 07:04:14 +01:00
sdext Fix build with poppler-0.72 2019-01-08 15:04:54 +01:00
setup_native Bump copyright year to 2019 2019-01-01 00:00:00 -06:00
sfx2 Related: tdf#122598 macro dialog from record macro has no parent 2019-01-09 22:08:30 +01:00
shell convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
slideshow convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
smoketest
solenv update uitest debugging instructions to account for gtk3 backend issue 2019-01-09 13:52:03 +01:00
soltools
sot
starmath convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
stoc
store tdf#42949 Fix IWYU warnings in store/source/* 2019-01-08 09:06:44 +01:00
svgio tdf#42949 Fix IWYU warnings in include/vcl/[v-x]* 2019-01-07 09:13:14 +01:00
svl Avoid getTokenCount 2019-01-03 16:13:05 +01:00
svtools Add method DocumentToGraphicRenderer::getPageCount() 2019-01-08 21:07:22 +01:00
svx Removed duplicated include 2019-01-09 08:34:30 +01:00
sw tdf#81750 new unit test: no duplication of field content 2019-01-09 22:30:41 +01:00
swext
sysui kde5: remove older kde/tde plugins, and references to that 2018-12-17 18:33:13 +01:00
test svm xml dumper: move this from test to vcl 2019-01-03 15:08:06 +01:00
testtools
toolkit convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
tools
translations@46a65ed743 Update git submodules 2018-12-19 18:09:48 +01:00
ucb convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
ucbhelper
udkapi Fix typo 2018-12-26 09:07:24 +01:00
uitest
UnoControls
unodevtools
unoidl
unoil
unotest
unotools Add apparently missing ! to GlobalEventConfig_Impl::hasElements 2019-01-04 09:45:39 +01:00
unoxml
ure
uui tdf#42949 Fix IWYU warnings in include/vcl/[v-x]* 2019-01-07 09:13:14 +01:00
vbahelper tdf#42949 Fix IWYU warnings in include/vcl/s* 2018-12-10 14:19:50 +01:00
vcl tdf#122595 Capitalize item in list Order in Print dialogue 2019-01-09 22:42:27 +01:00
winaccessibility tdf#42949 Fix IWYU warnings in include/vcl/s* 2018-12-10 14:19:50 +01:00
wizards Cleaning up Document Converter wizard, moving graphics from bmp to png 2018-12-10 15:49:33 +01:00
writerfilter sw: DOCX: recognize TOC title during import 2019-01-09 22:30:08 +01:00
writerperfect tdf#42949 Fix IWYU warnings in include/vcl/s* 2018-12-10 14:19:50 +01:00
xmerge
xmlhelp use unique_ptr in xmlhelp 2018-12-21 18:51:34 +01:00
xmloff convert "*xxx.get()" to "*xxx" 2019-01-08 10:38:35 +01:00
xmlreader
xmlscript
xmlsecurity CppunitTest_xmlsecurity_signing: use CPPUNIT_TEST_FIXTURE() 2019-01-09 08:40:45 +01:00
.buckconfig
.buckversion
.clang-format
.editorconfig
.gitattributes
.gitignore No more need to generate lo.xcent from lo.xcent.in 2018-12-18 09:37:00 +01:00
.gitmodules uset https:// instead of git:// for submodules 2018-12-20 19:52:51 +01:00
.gitreview
autogen.sh
BUCK
config.guess
config.sub
config_host.mk.in tdf#114635: reimplement TWAIN-based scan using 32-bit shim on Windows 2018-12-29 09:58:09 +01:00
config_host_lang.mk.in
configure.ac Disable removal of GPG socketdir with older gpgconf versions 2019-01-07 14:58:46 +01:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst upload libwpg 0.3.3 2019-01-02 09:52:16 +01:00
g
install-sh
leak-suppress.txt
Library_merged.mk
lo.xcent No more need to generate lo.xcent from lo.xcent.in 2018-12-18 09:37:00 +01:00
logerrit
Makefile.fetch
Makefile.gbuild
Makefile.in No more need to generate lo.xcent from lo.xcent.in 2018-12-18 09:37:00 +01:00
README.cross
README.md
README.Solaris
Repository.mk tdf#114635: reimplement TWAIN-based scan using 32-bit shim on Windows 2018-12-29 09:58:09 +01:00
RepositoryExternal.mk upload libcmis 0.5.2 2018-12-28 19:25:11 +01:00
RepositoryFixes.mk
RepositoryModule_build.mk
RepositoryModule_host.mk
sanitize-ubsan-blacklist
setup.cfg
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 2017
  • macOS:
    • Runtime: 10.10
    • Build: 10.13.2 + Xcode 9.3
  • Linux:
    • Runtime: RHEL 6 or CentOS 6
    • Build: either GCC 7.0.0; or Clang 5.0.2 with libstdc++ 7.3.0
  • iOS (only for LibreOfficeKit):
    • Runtime: 11.4 (only support for newer i devices == 64 bit)
    • Build: Xcode 9.3 and iPhone SDK 11.4

If you want to use Clang with the LibreOffice compiler plugins, the minimal version of Clang is 5.0.2. 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.

loplugin:includeform (compilerplugins/clang/includeform.cxx) enforces these rules.

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.