summaryrefslogtreecommitdiff
path: root/framework
AgeCommit message (Collapse)Author
2016-01-05tdf#96059 Replaced imageproducer with CommandInfoProvidersusobhang70
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-04Related tdf#82775: Check for disposed-nessStephan Bergmann
...instead of dereferencing null pointers Change-Id: I9d1709468a5b601b9f3d86dadea7a8e817f449d8
2016-01-04Cleanup after removing vcl::FontInfo classChris Sherlock
Change-Id: I544eac439cb7277e47a23a90c6fbc45496161c3b
2016-01-03vcl: Excise vcl::FontInfo classChris Sherlock
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>
2015-12-29cppcheck: noExplicitConstructorCaolán McNamara
Change-Id: Ib43e53d5b6c9c130adb765ac9b769f58060ac640
2015-12-29PopupMenuToolbarController: Update the menu before openingMaxim Monastirsky
Just like we do for the menubar, we must tell the popup menu controller to update itself. Change-Id: Ib914b22b909f9e5c1c4ebc8af58496d73e867416
2015-12-27Small OUStringBuffer cleanupMatúš Kukan
Change-Id: I7b608400eea39eef4c620a1d4d67b11637c54436
2015-12-23New saving behaviorMaxim Monastirsky
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-23loplugin:unusedfields in frameworkNoel Grandin
Change-Id: Ic6cfbe9f0c7589804b7ffddac0350c188d974c3d
2015-12-21loplugin:unusedmethodsNoel Grandin
Change-Id: Ifafdaf6da0225f244853a0042a6458643b570623
2015-12-20Probably a better way to detect readonly docMaxim Monastirsky
Change-Id: I91f260ad878eba0bd7459c4246357e768c158765
2015-12-20ResourceMenuController: fix detection of verbs for readonly docsMaxim Monastirsky
Change-Id: If1f84e6ace0e42b69b8cd845e4827f1aed6552df
2015-12-17Remove unused ToolPanel (aka TaskPane)Samuel Mehrbrodt
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-16Simplify Desktop::getInfoHelperStephan Bergmann
Change-Id: I13058816e8b2b1c821f0123f110671706bf90449
2015-12-16Remove comment noiseStephan Bergmann
Change-Id: I7794e40e07520c1e504b1167aa64cf24819271f2
2015-12-16No need for TransactionGuard::stopStephan Bergmann
Change-Id: If1c0b7285817bb10338077460b77de4a27d35753
2015-12-16Simplify TransactionManagerStephan Bergmann
Change-Id: I51d1969f9f88d9e29fc081fd54df365578900126
2015-12-16No need to pass eReason out of TransactionManager::registerTransactionStephan Bergmann
Change-Id: I0c8468219a4a9df904f34ec1363043bc46265c14
2015-12-16TransactionGuard is always called with null eReasonStephan Bergmann
Change-Id: If416f9539136563dba43f38f7622d70e7fb1f005
2015-12-16Remove dead ctorStephan Bergmann
Change-Id: If1576f9eabcad4e0287181838e0a019fe9372065
2015-12-16Clean upStephan Bergmann
Change-Id: I170b12d1024d51beb5c48333c0759bc33049f577
2015-12-16Fix indentationSamuel Mehrbrodt
Change-Id: Ie0b842cd35ca05e4adfc0b8692423e0a91e1739c
2015-12-16Fix NotebookBar not showing up when directly opening a documentSamuel Mehrbrodt
Change-Id: I6bb154102d5e58e7c7e1f1b0d68629555a6d1697
2015-12-16vcl: Initial NotebookBar implementation.Jan Holesovsky
Re-introduced, this is still useful code to have :-) Change-Id: I91535c13d68261f7195989ec78bd305cf572c87c
2015-12-15loplugin:constantfunctionNoel Grandin
Change-Id: Id72123039409b7559fb4fdfe5f29bf1bb83ac23f
2015-12-13tdf#93837 Add helper code to load popup menus from xmlMaxim Monastirsky
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-12No need for a separate <vcl/lstbox.h>Tor Lillqvist
Change-Id: Ib8d0e3d240e693c678d575b4791f69ca760919ec
2015-12-11No need for a separate <vcl/graph.h>Tor Lillqvist
Change-Id: I962544005b5d408f7c044a02eefe09b87d8a81fe
2015-12-11Clear all m_pVCLMenu->pItemList->maItemList[i]->m_pSubMenuStephan Bergmann
...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::star::uno::Reference<com::sun::star::accessibility::XAccessible> const&, AtkObject*) at vcl/unx/gtk3/a11y/../../gtk/a11y/atkwrapper.cxx:839 > atk_object_wrapper_ref(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible> const&, bool) at vcl/unx/gtk3/a11y/../../gtk/a11y/atkwrapper.cxx:795 > AtkListener::handleChildAdded(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleContext> const&, com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible> const&) at vcl/unx/gtk3/a11y/../../gtk/a11y/atklistener.cxx:157 > AtkListener::notifyEvent(com::sun::star::accessibility::AccessibleEventObject const&) at vcl/unx/gtk3/a11y/../../gtk/a11y/atklistener.cxx:296 > comphelper::AccessibleEventNotifier::addEvent(unsigned int, com::sun::star::accessibility::AccessibleEventObject const&) at comphelper/source/misc/accessibleeventnotifier.cxx:281 > comphelper::OAccessibleContextHelper::NotifyAccessibleEvent(short, com::sun::star::uno::Any const&, com::sun::star::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-10Unbreak reference upon disposing notificationStephan Bergmann
Change-Id: Ifd9d4fe187c8259db5816f9cdb50cfeae50c8057
2015-12-10loplugin:nullptr: More NULL -> nullptr automatic rewriteStephan Bergmann
Change-Id: Ie83819e2bcdc5fa160b39296b005ca9a5ff74b1d
2015-12-08Move icon rotation/flip handling from ToolbarManager to vcl's ToolbarSamuel Mehrbrodt
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-06ThesaurusMenuController improvementsMaxim Monastirsky
- 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-01Save Remote File isn't supported in all modulesMaxim Monastirsky
so don't add it there to the save dropdown. Change-Id: Iee604cc15616080266f7192ac451f04830ba1bb8
2015-11-30rhbz#1286416: Be more resilient during auto-recovery attemptsStephan Bergmann
...called from within the signal handler, so any bets are off Change-Id: Iedb5c7bc8d08350e5f3e3118c6713f5c25b238b6
2015-11-30loplugin:unusedfieldsNoel Grandin
Change-Id: Ife94d488ead512abc6d137a0df74298bac67185d
2015-11-29Unnecessary castMaxim Monastirsky
Change-Id: I7e9cd165311494d3b2a8386dcaf2f3840449395a
2015-11-29SaveAsMenuController cleanupMaxim Monastirsky
Change-Id: Ib4a838619092b47b4eb5304e8d63ab6d7ee8d1c4
2015-11-29loplugin:overrideMaxim Monastirsky
Change-Id: I710b7955f7cf8d6ec9bf5f9473f467e5b206d798
2015-11-28ToolbarAsMenuController: treat line break as separatorMaxim Monastirsky
Change-Id: Iea82cba12082492ef413e3a2dc0beb20100ec1b5
2015-11-28New controller to show toolbar contents as menuMaxim Monastirsky
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-28Make this static WeakReference local to Frame::impl_checkMenuCloser()Matúš Kukan
..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-26mark UNO structs as SAL_WARN_UNUSED, where possibleNoel Grandin
Change-Id: Ie3de518f60c9f1313c68df54dbdc1fb2804f1f0d
2015-11-25vcl: improve scheduler debugging information.Michael Meeks
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-25cppcheck: noExplicitConstructorCaolán McNamara
Change-Id: Id1615ac223cd6257a419e8abe39b5121d4c16ca4
2015-11-25More cleanup in toolbarmanagerSamuel Mehrbrodt
Change-Id: I97339c43605a838a8fc329b4f1daa05f584ee864
2015-11-25tdf#96059 Replace imageproducer with CommandInfoProviderSamuel Mehrbrodt
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-25Cleanup toolbarmanagerSamuel Mehrbrodt
* 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-25loplugin:unusedfields variousNoel Grandin
Change-Id: I59d9f7f73677358b4ae57efda965d43718bdf0d5
2015-11-20Change the bits of the save button dynamicallyMaxim Monastirsky
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>