Test repository to check push and ssh key
Find a file
Miklos Vajna 98f7e70aeb sfx2 classification: fix category name duplication
A category name was stored in m_aName and also as a label value with key
name PROP_BACNAME(). Fix this by always using m_aName, and doing the
conversion in both directions in
SfxClassificationHelper::Impl::pushToObjectShell() and the
SfxClassificationHelper() ctor, as document metadata wants to work with
only key-vaulue pairs.

Change-Id: Iad386840038966e4483e3503c5fcdc046ca9effc
2016-02-29 17:19:49 +01:00
.git-hooks
accessibility use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
android
animations
apple_remote
avmedia loplugin:write only fields 2016-02-22 14:34:21 +02:00
basctl convert HighlighterLanguage to scoped enum 2016-02-24 11:48:39 +02:00
basegfx opengl: shader based polyline rendering - fixes tdf#97137 for OGL 2016-02-25 11:16:19 +01:00
basic tdf#84938 Eliminate B_xxx defines in filefmt.hxx for FileOffset scoped enum. 2016-02-26 07:18:25 +00:00
bean
bin Avoid hard-coded perl path, check with env 2016-02-25 13:51:25 +00:00
binaryurp
bridges Use config_cxxabi.h to check for __*class_type_info 2016-02-26 08:57:09 +01:00
canvas werror: declaration hides previous declaration 2016-02-25 12:18:07 +00:00
chart2 new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
clew
cli_ure use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
codemaker convert codemaker::UnoType::Sort to scoped enum 2016-02-24 11:48:38 +02:00
comphelper convert HighlighterLanguage to scoped enum 2016-02-24 11:48:39 +02:00
compilerplugins compilerplugins: fix clang-3.7 build 2016-02-29 09:37:33 +01:00
config_host These version checks are about the Clang the plugins are built /against/ 2016-02-26 14:34:29 +01:00
configmgr use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
connectivity convert StandardSQLState to scoped enum 2016-02-25 13:50:26 +02:00
cppcanvas tdf#95709 adapt clip polygon for transparence groups 2016-02-28 10:11:16 +00:00
cppu WaE 0xdeadbeaf 32 bits litteral casting to 64 bits pointer 2016-02-22 02:32:13 +00:00
cppuhelper Use an XInitialization-based channel to request service mgr pre-init 2016-02-26 12:37:04 +00:00
cpputools
cui Kill sfx2 menu support 2016-02-28 09:10:19 +02:00
dbaccess Typo: aCompoments->aComponents 2016-02-26 20:33:52 +01:00
desktop desktop: fix infinite loop with --enable-breakpad 2016-02-29 16:31:15 +01:00
dictionaries@e26e5fc152 Updated core 2016-02-26 09:26:38 +00:00
distro-configs play it safe and don't add breakpad to distro config yet 2016-02-22 21:10:01 +01:00
drawinglayer Fix missing iterator include on MSVC 14.0 2016-02-17 23:43:45 +00:00
dtrans Typo: namesapce(s)->namespace(s) 2016-02-17 21:18:10 +01:00
editeng let SvxSearchItem use SearchOptions2 2016-02-24 22:42:05 +01:00
embeddedobj use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
embedserv
eventattacher
extensions Ole: Fix WaE 2016-02-28 14:52:32 +00:00
external make firebird build on gcc 6 again 2016-02-28 20:23:50 +00:00
extras update emoji autocorrect files from po-files 2016-02-24 21:48:59 +01:00
filter loplugin:commaoperator in filter/ 2016-02-22 16:41:20 +02:00
forms use SearchOptions2 2016-02-25 17:33:37 +01:00
formula new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
fpicker Typo: namesapce(s)->namespace(s) 2016-02-17 21:18:10 +01:00
framework language submenu from tools->language->for selection->"languages"... 2016-02-29 09:40:19 +00:00
helpcompiler convert HighlighterLanguage to scoped enum 2016-02-24 11:48:39 +02:00
helpcontent2@c013f73394 Updated core 2016-02-26 08:19:48 +00:00
hwpfilter loplugin:write only fields 2016-02-22 14:34:21 +02:00
i18nlangtag use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
i18npool SearchFlags::WILD_MATCH_SELECTION, SearchOptions2::WildcardEscapeCharacter 2016-02-23 23:25:15 +01:00
i18nutil
icon-themes tdf#97388 Better icon for deleting custom field row 2016-02-29 12:28:21 +01:00
idl methods in .SDI files don't use attributes 2016-02-23 10:07:10 +02:00
idlc use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
include sfx2 classification: fix category name duplication 2016-02-29 17:19:49 +01:00
instsetoo_native
io
ios
javaunohelper javaunohelper: fix all javadoc warnings 2016-02-17 11:28:13 +01:00
jurt cid#1326391: Dereference null return value 2016-02-24 11:33:50 +01:00
jvmaccess
jvmfwk use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
l10ntools Add SAL_WARN + convert some printf into SAL_WARN 2016-02-27 18:50:52 +00:00
librelogo
libreofficekit cid#1354270 fix uninitialized members 2016-02-25 21:22:19 +01:00
lingucomponent use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
linguistic tdf#97179: do not suggest 1-letter custom dictionary words 2016-02-18 20:20:20 +00:00
lotuswordpro loplugin:write only fields 2016-02-22 08:18:08 +02:00
m4
mysqlc
nlpsolver
o3tl
odk cid#1326844: DP: Use doPrivileged 2016-02-24 15:08:51 +01:00
offapi unpublish SearchAlgorithms2 SearchOptions2 TextSearch2 XTextSearch2 2016-02-26 15:25:45 +01:00
officecfg tdf#89646 Implement "uno:LineToolbox" command into calc. 2016-02-28 21:17:32 +00:00
onlineupdate use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
oovbaapi
oox Avoid hard-coded perl path, check with env 2016-02-25 13:51:25 +00:00
opencl use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
osx
package Use passed-in context instead of comphelper::getProcessComponentContext() 2016-02-23 17:05:18 +01:00
postprocess use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
pyuno Running pep8 on pyuno unit test files 2016-02-23 08:14:18 +00:00
qadevOOo coverity#1326436 Dereference null return value 2016-02-20 20:54:20 +00:00
readlicense_oo update credits 2016-02-24 12:29:35 +01:00
registry new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
remotebridges
reportbuilder
reportdesign use SearchOptions2 2016-02-25 17:33:38 +01:00
ridljar ridljar: fix javadoc warnings 2016-02-17 11:55:07 +01:00
rsc new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
sal new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
salhelper use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
sax
sc loplugin:nullptr 2016-02-29 08:50:35 +02:00
scaddins
sccomp
scp2 scp2: move scp2 classification package to AutoInstall 2016-02-29 13:56:13 +01:00
scripting coverity#1354272 SS: Unread field should be static 2016-02-25 20:29:20 +00:00
sd crashtesting: sync PageProperties::SetStyleSheet with GetStyleSheet 2016-02-29 10:02:38 +00:00
sdext new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
setup_native scp2: move scp2 classification package to AutoInstall 2016-02-29 13:56:13 +01:00
sfx2 sfx2 classification: fix category name duplication 2016-02-29 17:19:49 +01:00
shell Typo: namesapce(s)->namespace(s) 2016-02-17 21:18:10 +01:00
slideshow Missing include 2016-02-26 08:53:04 +01:00
smoketest
solenv MSVC 14.0: Fix building 64bit libraries in 32bit mode 2016-02-27 21:21:49 +00:00
soltools new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
sot new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
starmath starmath: Use member initializer list for SmRect 2016-02-29 16:08:21 +00:00
stoc coverity#1353440 Argument cannot be negative 2016-02-20 20:19:02 +00:00
store new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
svgio tdf#98119 Allow markers on zero-length lines 2016-02-28 10:34:05 +00:00
svl add SvxSearchItem::GetWildcard() SetWildcard() 2016-02-26 01:41:49 +01:00
svtools convert HighlighterLanguage to scoped enum 2016-02-24 11:48:39 +02:00
svx crashtesting: sync PageProperties::SetStyleSheet with GetStyleSheet 2016-02-29 10:02:38 +00:00
sw Updated search flag for testSearchWithTransliterate 2016-02-29 16:14:02 +00:00
swext cid#1326858 Eq: Problems with implementation of equals() 2016-02-23 09:31:05 +02:00
sysui Add missing trailing semicolon to Keywords again 2016-02-18 19:48:50 -06:00
test use better assert macros 2016-02-28 00:41:23 +00:00
testtools
toolkit new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
tools new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
translations@5274fba521 Updated core 2016-02-27 18:38:41 +00:00
tubes cosmetic: * in first line confuse mkdocs.sh 2016-02-23 00:59:28 -06:00
ucb loplugin:unuseddefaultparam in ucb 2016-02-29 08:04:06 +02:00
ucbhelper new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
udkapi
UnoControls new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
unodevtools convert codemaker::UnoType::Sort to scoped enum 2016-02-24 11:48:38 +02:00
unoidl
unoil
unotest
unotools loplugin:unuseddefaultparam in unotools 2016-02-29 08:04:06 +02:00
unoxml loplugin:unuseddefaultparam in unotools 2016-02-29 08:04:06 +02:00
ure
uui use consistent #define checks for the Windows platform 2016-02-17 11:33:57 +00:00
vbahelper loplugin:unuseddefaultparam in include/vbahelper 2016-02-26 13:21:20 +02:00
vcl libreoffice-main -> libreoffice-startcenter 2016-02-29 14:59:30 +00:00
winaccessibility
windows
wizards coverity#1326383 Dereference null return value 2016-02-18 17:21:18 +00:00
writerfilter loplugin:unuseddefaultparams in writerfilter/ 2016-02-25 14:18:54 +02:00
writerperfect
xmerge coverity#1326443 Dereference null return value 2016-02-18 17:21:18 +00:00
xmlhelp new loplugin: commaoperator 2016-02-23 08:08:56 +02:00
xmloff xmloff: tdf#97808: allow empty draw:marker-start/marker-end/stroke-dash 2016-02-27 00:04:54 +01:00
xmlreader
xmlscript new loplugin:unuseddefaultparams 2016-02-25 11:42:35 +02:00
xmlsecurity sfx2 classification: don't sort items on the toolbar listbox 2016-02-29 13:56:13 +01:00
.buckconfig
.buckversion
.gitattributes
.gitignore
.gitmodules
.gitreview
autogen.sh
BUCK
config.guess
config.sub
config_host.mk.in New COMPILER_PLUGINS_CXX to specify compiler to build Clang plugins with 2016-02-26 14:34:31 +01:00
config_host_lang.mk.in
configure.ac New COMPILER_PLUGINS_CXX to specify compiler to build Clang plugins with 2016-02-26 14:34:31 +01:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst upgrade graphite to 1.3.6 2016-02-29 10:42:37 +00:00
g
install-sh
leak-suppress.txt
Library_merged.mk
lo.xcent.in
logerrit
Makefile.fetch include breakpad into the build 2016-02-22 18:20:13 +00:00
Makefile.gbuild
Makefile.in Avoid quoting nonsense on Windows 2016-02-24 11:59:53 +01:00
README.cross
README.md
README.Solaris
Repository.mk scp2: move scp2 classification package to AutoInstall 2016-02-29 13:56:13 +01:00
RepositoryExternal.mk MSVC 14.0: Second attempt to fix Python in 32bit build mode 2016-02-27 21:21:33 +00:00
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

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.