Commit Graph

4164 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
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
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
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
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
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
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
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
9c554c2c8c vcl: improve scheduler debugging information.
Change-Id: I6f7d7d3b5b027097417a15804a42aaaab4a03158
Reviewed-on: https://gerrit.libreoffice.org/20185
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-25 23:15:42 +00:00
f43c9aa5eb cppcheck: noExplicitConstructor
Change-Id: Id1615ac223cd6257a419e8abe39b5121d4c16ca4
2015-11-25 15:45:56 +00:00
4e88b2a787 More cleanup in toolbarmanager
Change-Id: I97339c43605a838a8fc329b4f1daa05f584ee864
2015-11-25 15:22:01 +01:00
02044b5d27 tdf#96059 Replace imageproducer with CommandInfoProvider
Change-Id: I9508a947e5ae6720516d9f926a59d4287cb15317
Reviewed-on: https://gerrit.libreoffice.org/20166
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-11-25 12:55:10 +00:00
56907b06f1 Cleanup toolbarmanager
* Remove unused fields/methods/includes
* Formatting

Change-Id: Ia4a2fba258ddf00e8fe507338f7f8c7388631f0b
Reviewed-on: https://gerrit.libreoffice.org/20164
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-11-25 12:50:21 +00:00
4f69d0810e Change the bits of the save button dynamically
When the save slot is disabled, we want it to become
a dropdown only instead of disabling it.

Change-Id: I22fb04c8a0c9afc0a1af8f031a584cdaa99484f9
Reviewed-on: https://gerrit.libreoffice.org/20079
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-11-20 13:24:10 +00:00
fafac0d248 loplugin:unusedfields forms,formula,fpicker,framework
Change-Id: Ic7af56ac801c1e5b3fcf3c4e8413656e96220279
2015-11-20 15:07:05 +02:00
009face61b Revert "vcl: Initial NotebookBar implementation."
Will use a different approach for NotebookBar.
Also this should not be in 5.1.

This reverts commit 8c1014021dbe9da2e18233d215b970f5359db67b.

Change-Id: Ic699723818a890bf4c3be3a2c045527148bd118b
Reviewed-on: https://gerrit.libreoffice.org/20075
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-11-20 11:14:24 +00:00
fe3fd05966 add mapKeysToSequence/mapValuesToSequence methods to comphelper
and use them

Change-Id: If4dc9df63db37185228aeaaab2979498d61304ec
Reviewed-on: https://gerrit.libreoffice.org/20055
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-20 08:14:13 +00:00
1d5c39192e new loplugin:unusedfields
run it over the framework module

Change-Id: I1220a4be0936ba30136ce22ffd78633c8a7b9d35
2015-11-20 10:12:58 +02:00