Commit Graph

6290 Commits

Author SHA1 Message Date
5f3d9ba0cd GetImageFromURL/SetImageProducer unused
looks like these have been abandoned recently in the toolbar manager
update

Change-Id: I5556833dfef0db5958a5779bdb32482c18a46a5f
2016-01-12 11:47:52 +02:00
13e894bb52 loplugin:unusedmethods unused return value in framework
Change-Id: I6e02f34702ba59a961c3fec3d025e775f4e26760
2016-01-11 13:14:08 +02:00
64d624b651 Fix typos
Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86
Reviewed-on: https://gerrit.libreoffice.org/21209
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-10 14:17:20 +00:00
ee3cd777e1 Fix Addons.xcu toolbar items width handling
This is useful for some complex controls (e.g. Combobox).
Regression of cb4177b5f6d2c63548fa544a19b36001c57193e4

Change-Id: I683cc20e9db72a4dd58d89063ec6bfcd05a1068e
2016-01-09 22:58:14 +02:00
3c47809a67 framework: re-enable two dispatch tests, and make them work harder.
Change-Id: I63d72b2d8f0b4835ab0ead51b518deab635ff3b0
Reviewed-on: https://gerrit.libreoffice.org/21222
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2016-01-08 13:52:47 +00:00
3825c28416 framework: restore dispatch API test.
Change-Id: I8a78fee2b43c67feaffb8dbbcd36e96743ca2c9c
Reviewed-on: https://gerrit.libreoffice.org/21208
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-01-07 17:02:04 +00:00
bccd83ea54 Some cleanup for sal_uIntPtr usage
Change-Id: Ia9779e6477d8848588f3543d09ea6b4477f594a2
Reviewed-on: https://gerrit.libreoffice.org/21022
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-01-07 14:13:49 +00:00
5c39b28a87 tdf#96059 Replaced imageproducer with CommandInfoProvider
Replaced all instances of framework::GetImageFromURL with vcl::CommandInfoProvider::Instance().GetImageForCommand

Change-Id: I895a4a80d0219a6523b62d90ca88ec67a433b01c
Reviewed-on: https://gerrit.libreoffice.org/21101
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2016-01-05 09:52:53 +00:00
26cbb3d104 Related tdf#82775: Check for disposed-ness
...instead of dereferencing null pointers

Change-Id: I9d1709468a5b601b9f3d86dadea7a8e817f449d8
2016-01-04 14:20:16 +01:00
7eab7f3485 Cleanup after removing vcl::FontInfo class
Change-Id: I544eac439cb7277e47a23a90c6fbc45496161c3b
2016-01-04 05:16:08 +11:00
8227b9955e vcl: Excise vcl::FontInfo class
This may sound crazy, but literally vcl::FontInfo serves no purpose
that I can see. The inheritance chain is like this:

        ┌────────────────────────┐
        │                        │
        │        vcl::Font       │
        │                        │
        └────────────────────────┘
                     ^
                    ╱ ╲
                     │
                     │
        ┌────────────────────────┐
        │                        │
        │      vcl::FontInfo     │
        │                        │
        └────────────────────────┘
                     ^
                    ╱ ╲
                     │
                     │

        ┌────────────────────────┐
        │                        │
        │       FontMetric       │
        │                        │
        └────────────────────────┘

vcl::FontInfo (which, incidentally, needs to be put into the vcl
namespace due to collisions with poppler!) literally does nothing
and is acting as a bridge between FontMetric and vcl::Font. Unlike
a bridge though, this bridge doesn't actually *do* anything.

So I'm removing it, which means one less class to deal with in the
vcl fonts world.

Change-Id: I32725669c9bca7fbb0846b6a062135464046e4f6
Reviewed-on: https://gerrit.libreoffice.org/21058
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-03 16:19:03 +00:00
bea8a7ad63 cppcheck: noExplicitConstructor
Change-Id: Ib43e53d5b6c9c130adb765ac9b769f58060ac640
2015-12-29 19:46:23 +00:00
e413549dc8 PopupMenuToolbarController: Update the menu before opening
Just like we do for the menubar, we must tell the popup menu
controller to update itself.

Change-Id: Ib914b22b909f9e5c1c4ebc8af58496d73e867416
2015-12-29 00:19:00 +02:00
6b723132da Small OUStringBuffer cleanup
Change-Id: I7b608400eea39eef4c620a1d4d67b11637c54436
2015-12-27 13:55:28 +01:00
22328a224d New saving behavior
Changes in this commit:

- AlwaysAllowSave config is gone. Saving is always permitted, unless in
  a read only document. Also changed the behavior in dbaccess to match
  sfx2.

- The toolbar save button is always enabled, to always give access to
  the dropdown. That's the case even in a read only document, except
  that it changes to DROPDOWNONLY, and the save as command icon+tooltip.
  In table/query designers we still disable the button in read only state.

- When the document is modified, the toolbar button gets a special icon
  to indicate that.

TODO:

- Icons for the document modified state are still missing. I added some
  fake links to Tango's links.txt in order to test the new behavior.
  These links shouldn't stay as-is in a production version!

Change-Id: I56c169bf48b78faaf53c2989ce8624f8297ffb6e
Reviewed-on: https://gerrit.libreoffice.org/20839
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
Tested-by: Maxim Monastirsky <momonasmon@gmail.com>
2015-12-23 09:38:25 +00:00
278f58c68b loplugin:unusedfields in framework
Change-Id: Ic6cfbe9f0c7589804b7ffddac0350c188d974c3d
2015-12-23 08:13:53 +02:00
e18b08363a loplugin:unusedmethods
Change-Id: Ifafdaf6da0225f244853a0042a6458643b570623
2015-12-21 10:20:31 +02:00
f4fabf4270 Probably a better way to detect readonly doc
Change-Id: I91f260ad878eba0bd7459c4246357e768c158765
2015-12-20 14:48:14 +02:00
d62f22570d ResourceMenuController: fix detection of verbs for readonly docs
Change-Id: If1f84e6ace0e42b69b8cd845e4827f1aed6552df
2015-12-20 14:47:13 +02:00
7dd77a1271 Remove unused ToolPanel (aka TaskPane)
Superseded by the Sidebar

Change-Id: I54970d71cd9d42de4f47b223e50dd9474b40632a
Reviewed-on: https://gerrit.libreoffice.org/20724
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-12-17 08:27:55 +00:00
df997d92e0 Simplify Desktop::getInfoHelper
Change-Id: I13058816e8b2b1c821f0123f110671706bf90449
2015-12-16 14:21:27 +01:00
a201684800 Remove comment noise
Change-Id: I7794e40e07520c1e504b1167aa64cf24819271f2
2015-12-16 14:21:26 +01:00
4ac13fb72a No need for TransactionGuard::stop
Change-Id: If1c0b7285817bb10338077460b77de4a27d35753
2015-12-16 14:21:26 +01:00
e9e61809ea Simplify TransactionManager
Change-Id: I51d1969f9f88d9e29fc081fd54df365578900126
2015-12-16 14:21:26 +01:00
fc44b7104c No need to pass eReason out of TransactionManager::registerTransaction
Change-Id: I0c8468219a4a9df904f34ec1363043bc46265c14
2015-12-16 14:21:25 +01:00
51351a28ec TransactionGuard is always called with null eReason
Change-Id: If416f9539136563dba43f38f7622d70e7fb1f005
2015-12-16 14:21:25 +01:00
1681323093 Remove dead ctor
Change-Id: If1576f9eabcad4e0287181838e0a019fe9372065
2015-12-16 14:21:24 +01:00
52379d720b Clean up
Change-Id: I170b12d1024d51beb5c48333c0759bc33049f577
2015-12-16 14:21:24 +01:00
0db3361527 Fix indentation
Change-Id: Ie0b842cd35ca05e4adfc0b8692423e0a91e1739c
2015-12-16 12:10:07 +01:00
dea1b890cf Fix NotebookBar not showing up when directly opening a document
Change-Id: I6bb154102d5e58e7c7e1f1b0d68629555a6d1697
2015-12-16 10:19:25 +01:00
68d75af9c6 vcl: Initial NotebookBar implementation.
Re-introduced, this is still useful code to have :-)

Change-Id: I91535c13d68261f7195989ec78bd305cf572c87c
2015-12-16 10:19:25 +01:00
d59f411bf2 loplugin:constantfunction
Change-Id: Id72123039409b7559fb4fdfe5f29bf1bb83ac23f
2015-12-15 09:18:04 +02:00
bf18145d3f tdf#93837 Add helper code to load popup menus from xml
Using internally MenuBarManager to manage this kind of menus.
Implemented as a popup menu controller to be able to use in
menubar/toolbar, not only as a context menu.

Change-Id: I46719d66c569db83edd04faf977e0b2b3df0c5fa
2015-12-13 09:12:22 +02:00
d2df0adad4 No need for a separate <vcl/lstbox.h>
Change-Id: Ib8d0e3d240e693c678d575b4791f69ca760919ec
2015-12-12 09:26:29 +02:00
a643222794 No need for a separate <vcl/graph.h>
Change-Id: I962544005b5d408f7c044a02eefe09b87d8a81fe
2015-12-11 19:11:01 +02:00
1e0e115d47 Clear all m_pVCLMenu->pItemList->maItemList[i]->m_pSubMenu
...even if no correpsonding xPopupMenu proxy has been set up for some i (because
that sub-menu has never been opened by the user).  Otherwise, the Menu that
m_pVCLMenu->pItemList->maItemList[i]->m_pSubMenu points to will be deleted
(during a recursive xSubMenuManager->dispose call), and when later for some
sub-menu j > i that /has/ been opened by the user SetPopupMenu is called, that
can lead to

> Menu::GetPopupMenu(unsigned short) const at vcl/source/window/menu.cxx:835
> Menu::GetAccessible() at vcl/source/window/menu.cxx:1400
> OAccessibleMenuItemComponent::getAccessibleParent() at accessibility/source/standard/accessiblemenuitemcomponent.cxx:339
> non-virtual thunk to OAccessibleMenuItemComponent::getAccessibleParent() at accessibility/source/standard/accessiblemenuitemcomponent.cxx:335
> atk_object_wrapper_new(com::sun::uno::Reference<com::sun::accessibility::XAccessible> const&, AtkObject*) at vcl/unx/gtk3/a11y/../../gtk/a11y/atkwrapper.cxx:839
> atk_object_wrapper_ref(com::sun::uno::Reference<com::sun::accessibility::XAccessible> const&, bool) at vcl/unx/gtk3/a11y/../../gtk/a11y/atkwrapper.cxx:795
> AtkListener::handleChildAdded(com::sun::uno::Reference<com::sun::accessibility::XAccessibleContext> const&, com::sun::uno::Reference<com::sun::accessibility::XAccessible> const&) at vcl/unx/gtk3/a11y/../../gtk/a11y/atklistener.cxx:157
> AtkListener::notifyEvent(com::sun::accessibility::AccessibleEventObject const&) at vcl/unx/gtk3/a11y/../../gtk/a11y/atklistener.cxx:296
> comphelper::AccessibleEventNotifier::addEvent(unsigned int, com::sun::accessibility::AccessibleEventObject const&) at comphelper/source/misc/accessibleeventnotifier.cxx:281
> comphelper::OAccessibleContextHelper::NotifyAccessibleEvent(short, com::sun::uno::Any const&, com::sun::uno::Any const&) at comphelper/source/misc/accessiblecontexthelper.cxx:188
> OAccessibleMenuBaseComponent::InsertChild(int) at accessibility/source/standard/accessiblemenubasecomponent.cxx:436
> OAccessibleMenuBaseComponent::ProcessMenuEvent(VclMenuEvent const&) at accessibility/source/standard/accessiblemenubasecomponent.cxx:624
> OAccessibleMenuBaseComponent::MenuEventListener(VclMenuEvent&) at accessibility/source/standard/accessiblemenubasecomponent.cxx:572
> OAccessibleMenuBaseComponent::LinkStubMenuEventListener(void*, VclMenuEvent&) at accessibility/source/standard/accessiblemenubasecomponent.cxx:569
> Link<VclMenuEvent&, void>::Call(VclMenuEvent&) const at include/tools/link.hxx:84
> Menu::ImplCallEventListeners(unsigned long, unsigned short) at vcl/source/window/menu.cxx:355
> Menu::SetPopupMenu(unsigned short, PopupMenu*) at vcl/source/window/menu.cxx:825
> framework::MenuBarManager::RemoveListener() at framework/source/uielement/menubarmanager.cxx:556

looking at the dangling pSubMenu pointer (and even if the dangling pointer is
never dereferenced, UBSan will try to determine whether the static_cast in

  return static_cast<PopupMenu*>(pData->pSubMenu);

in Menu::GetPopupMenu, vcl/source/window/menu.cxx, is fine and cause a crash).

Change-Id: I5e5f6dba266580e3c2e7693877ea79a07d80bb74
2015-12-11 15:58:43 +01:00
c88c187124 Unbreak reference upon disposing notification
Change-Id: Ifd9d4fe187c8259db5816f9cdb50cfeae50c8057
2015-12-10 13:36:19 +01:00
fb8a3fac5d loplugin:nullptr: More NULL -> nullptr automatic rewrite
Change-Id: Ie83819e2bcdc5fa160b39296b005ca9a5ff74b1d
2015-12-10 08:06:06 +01:00
ac97f32307 Move icon rotation/flip handling from ToolbarManager to vcl's Toolbar
This enables rotatad/flipped icons in the Sidebar and other non-toolbar places (tdf#85767)

Change-Id: I034394ae6f9b8d91ef5a376a43eda587098f064e
Reviewed-on: https://gerrit.libreoffice.org/20403
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-12-08 08:39:44 +00:00
4d3d266e8a ThesaurusMenuController improvements
- The method to fill the menu shouldn't override impl_setPopupMenu
  from the base class, because we can't fill the menu before getting
  some data through status updates.

- Use vcl::CommandInfoProvider to get menu labels.

Change-Id: Ieeeafb81921bc4786256aae4e26d87c6106e63da
2015-12-06 21:37:32 +02:00
5a3b930b30 Save Remote File isn't supported in all modules
so don't add it there to the save dropdown.

Change-Id: Iee604cc15616080266f7192ac451f04830ba1bb8
2015-12-01 00:56:40 +02:00
9b3ca276da rhbz#1286416: Be more resilient during auto-recovery attempts
...called from within the signal handler, so any bets are off

Change-Id: Iedb5c7bc8d08350e5f3e3118c6713f5c25b238b6
2015-11-30 11:40:56 +01:00
d2df035740 loplugin:unusedfields
Change-Id: Ife94d488ead512abc6d137a0df74298bac67185d
2015-11-30 10:34:38 +02:00
1ad3acc828 Unnecessary cast
Change-Id: I7e9cd165311494d3b2a8386dcaf2f3840449395a
2015-11-29 23:12:40 +02:00
ae3f19564f SaveAsMenuController cleanup
Change-Id: Ib4a838619092b47b4eb5304e8d63ab6d7ee8d1c4
2015-11-29 23:05:56 +02:00
f863f7096b loplugin:override
Change-Id: I710b7955f7cf8d6ec9bf5f9473f467e5b206d798
2015-11-29 09:25:41 +02:00
780304aca9 ToolbarAsMenuController: treat line break as separator
Change-Id: Iea82cba12082492ef413e3a2dc0beb20100ec1b5
2015-11-28 21:16:59 +02:00
ac5d31ee13 New controller to show toolbar contents as menu
Change-Id: I75911a251b0a38874068b95f496496eccc4d05fb
Reviewed-on: https://gerrit.libreoffice.org/20224
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2015-11-28 18:39:13 +00:00
c6122fe614 Make this static WeakReference local to Frame::impl_checkMenuCloser()
..to avoid problem shown with comphelper added to libmerged. More info in
http://lists.freedesktop.org/archives/libreoffice/2015-November/071189.html

Change-Id: I2017d87f64f1ae3a1a1cf2e50bce24c05cff6321
2015-11-28 08:04:14 +01:00
a508f639a0 mark UNO structs as SAL_WARN_UNUSED, where possible
Change-Id: Ie3de518f60c9f1313c68df54dbdc1fb2804f1f0d
2015-11-26 13:26:25 +02:00