Lots of raw pointers have been converted to boost::scoped_ptr to reduce
the number of 'delete's and the possibility of memory leaks.
Some pointers have been converted to references, to reduce the needless
checking for nullptrs, and so simplifying the code.
Also some #define-s have been converted to C++ constants or enumerations.
Change-Id: Ifbeb78f744bac7a96c8a446ff4db90dedf85fe26
This solves an issue about Edit > Redo in BasicIDE (Hungarian site):
http://bug.openscope.org/browse/OOO-269
1. Redo should have a shortcut (Ctrl+Y), like in other parts of
LibreOffice. (Undo has the usual Ctrl+Z.)
2. In the Edit menu, Undo and Redo should print something after the
colon (what is to be undone, redone).
This patch fixes both.
Unfortunately the shortcut isn't shown in the menu (it's in
vcl/source/window/keycod.cxx like Undo, and not in
officecfg/registry/data/org/openoffice/Office/Accelerators.xcu).
Change-Id: I2cfbfeb7d57309a27676e48943633cdb194288bc
Reviewed-on: https://gerrit.libreoffice.org/514
Reviewed-by: Andras Timar <atimar@suse.com>
Tested-by: Andras Timar <atimar@suse.com>
Now all names in basctl are in namespace 'basctl'.
There were lots of names that included the word 'Basic' or 'BasicIDE' in
it, e.g. BasicIDEData, BasicDocumentEntry, BasicTreeListBox,
BasicIDEModule, IDEBaseWindow etc. This information is now stored in the
namespace name, so the names could be shortened: basctl::DocumentEntry,
basctl::TreeListBox, basctl::Module, basctl::BaseWindow etc.
Some other minor changes:
* LibInfos, LibInfoItem, LibInfoKey ->
LibInfos, LibInfos::Item, LibInfos::Key
* The header guards are now uniformly BASCTL_FILENAME_HXX, instead of
e.g. _FILENAME_HXX, which is undefined behaviour because of the '_'.
* namespace BasicIDE, BasicIDEGlobals, basicide -> namespace basctl
* BASICIDE_TYPE_MODULE, ... -> basctl::TYPE_MODULE, ...
Change-Id: I2a9b493562d0d8a2510d569798fbe9e1161b7c9b
Reviewed-on: https://gerrit.libreoffice.org/501
Reviewed-by: Andras Timar <atimar@suse.com>
Tested-by: Andras Timar <atimar@suse.com>
Part of MultiLineEdit was moved down from stvools to vcl
with name VCLMultiLineEdit. MessBox uses it to display the
message in read-only mode. Some of svtools' classes - which
are necessary to implement VCLMultiLineEdit - were moved to
vcl as a whole, and their includes are rewrite.
Note: ExtTextView and ExtTextEngine classes would be leaved in svtools
if VCLMultiLineEdit is a template class, but two macros: IMPL_LINK
end IMPL_LINK_NOARG make it impossible to use template syntax.
Change-Id: I26543868d8081c225c7125404d23369de3c3afcd
Convert all occurences of sal_Bool, sal_True and sal_False in basctl
to bool, true and false -- except in prototypes of virtual function
overrides. (The virtual functions that are internal to basctl can be
and was converted.) Note that since sal_Bool and bool are implicitly
convertible to each other, for functions that take a sal_Bool (by
value), true and false can be given too.
Change-Id: Ie44740fa87f89e9fedd913840ca2b38e95e6b957
Object Catalog was a floating window. It has been converted to a fixed
pane on the right hand side of the editor window. While it is a
BasicDockingWindow, at the moment it is not possible to undock, move,
or resize it. Also, the Object Catalog toolbar button does not show
the visibility status of the pane, ideally it should look pressed, when
the Object Catalog pane is visible. Another missing feature is that
the Object Catalog pane cannot be switched on together with the
dialog editor.
This patch resize the nVirtToolBoxHeight in WatchWindow::WatchWindow if
the aRemoveWatchButton plus some space is higher than nVirtToolBoxHeight. So
the aRemoveWatchButton doesn't go into aHeaderBar.
* cppheader.xsl had initially been written under the false assumption that a
missing oor:nillable attribute defaults to "false" instead of "true". That has
been fixed.
* As a result, many places that use the new simplified officecfg/*.hxx headers
broke as they did not expect value types to be wrapped boost::optional. To keep
the code simple, I decided to change all occurrences in
officecfg/registry/schema/ of properties that specify a default <value> and do
not explicitly specify oor:nillable="true" to oor:nillable="false". Strictly
speaking, this is an incompatible change, but in many cases it should be what
was intended, anyway.
* Some places that use the new simplified officecfg/*.hxx headers still had to
be adapted to boost::optional wrapping.
* This showed that unotools/configuration.hxx did not yet work for those wrapped
properties and needed fixing, too.