Age | Commit message (Collapse) | Author |
|
this adds just enough of basic UNO ifaces to have SID_PASTE enabled.
It can't actually paste anything yet.
Change-Id: I82e8ef37e11e9df21d27f08d4d199f3e5924ed84
Reviewed-on: https://gerrit.libreoffice.org/60494
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
shows available action and allows to execute them
Change-Id: I944e4eccaac7c458af77b471c1d6e10650b1e798
Reviewed-on: https://gerrit.libreoffice.org/61183
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
This gets us into the document itself, not only the widgets.
Change-Id: Id0cf1294817309c889729d01242cae69d2391130
Reviewed-on: https://gerrit.libreoffice.org/61094
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Widget tree is displayed and basic role mapping is available.
Still needs quite some work (positions, actions, texts, etc.)
Change-Id: I9d26a762f1d9684f33bbb80a384cf2a0b8a905c0
Reviewed-on: https://gerrit.libreoffice.org/60853
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Add missing header after 60a23d5d5f0963cd9bea7711ff4336418e3d6392
Change-Id: Ic24a78db3b425966e49fec96160d10670f68dea4
|
|
This is just a minimal fix for Qt errors from JunitTest_svx_unoapi,
which was manipulating Qt5Timer and other timers, resulting in a
spew of timer error messages like:
QObject::killTimer: Timers cannot be stopped from another thread
QObject::startTimer: Timers cannot be started from another thread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
Eventually all the QWidget manipulation in the Qt5Frame must be
redirected to the main thread, just like Qt5FilePicker already does.
Change-Id: I66054e6c90f99d27bd5818dcaa5876c515867f77
Reviewed-on: https://gerrit.libreoffice.org/60672
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
After the refectoring in commit 4c93de2c921b ("merge
GenericSolarMutex and SolarMutex"), there is no more need to
prevent instantiation of comphelper::SolarMutex objects.
Since every VCL backend implements the yield mutex management in
the same way, we can move the general implementation into the
SalInstance.
While at it use std::unique_ptr for the yield mutex on Mac and
Windows platforms.
Change-Id: Ibe0610bd92b4623152ee14e7a35b52465d403720
Reviewed-on: https://gerrit.libreoffice.org/60570
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Since there is no way to retrieve the embedded native file dialog
from the Qt5 platfor abstraction, force the dialog in non-native
mode. This drops the 2nd option dialog completely.
While at it implement handling of the optional combo boxes in the
dialog.
Change-Id: I8d11e929a5f3b142dc0f5653fcc576231a1b0392
Reviewed-on: https://gerrit.libreoffice.org/60569
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
In this step I have changed all calls that use a
B2DPolyPolygon and do filled graphics, added support for
providing needed transformation which will -if supported-
be used. Added buffering of SystemDependentData at
B2DPolyPolygon for that purpose, see comments describing
the current possibilities in the Gdiplus implementation.
Moved lifetime creation/cleanup of SystemDependentDataManager
to ImplSVData due to cleanup problems in the clang build
Tried to use a std::unique_ptr to hold the instance
of a SystemDependentDataBuffer at ImplSVData and cleanup
inside DeInitVCL() right before ::ImplDeInitScheduler. This
works in principle, but scheduler shutdown triggers
ProcessEventsToIdle which leads to repaints and re-creates
the buffer. Will now do exactly as was done with GdiPlusBuffer
before, a simple local static incarnation and a call to
SetStatic() in constructor
Splitted SystemDependentDataBuffer and Timer due to
different LifeTimes. Timer needs to be destructed
earlier than SystemDependentDataBuffer, before
Scheduler::ImplDeInitScheduler() is called from
DeInitVCL()
Change-Id: I2134e4346a183a4cee1be3428c51541cc8867c11
Reviewed-on: https://gerrit.libreoffice.org/60102
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
|
|
the latter provides (so far) no added value, quite the contrary:
File > Print > $printer > Properties didn't display generic unx/CUPS
dlg but just failed silently
Change-Id: Ide2ad175ffe55b5c9ac5ca3efad4a43b692f9984
Reviewed-on: https://gerrit.libreoffice.org/60040
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Change-Id: I145a496bbc5b375bc309815b18f2c31fa4d50d6c
Reviewed-on: https://gerrit.libreoffice.org/60012
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Change-Id: I8f987e30b2a78e173fd8f3ebb9f33e4720f6588b
Reviewed-on: https://gerrit.libreoffice.org/60011
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
- some cleanup
- ShowFullScreen
- ToTop/SetAlwaysOnTop
- CaptureMouse/SetPointerPos
- Beep/Flush
- ClipRegion functions
Change-Id: Ieafdbdae3f808879b9ad0ebed0fa99a2e4f7ee2e
Reviewed-on: https://gerrit.libreoffice.org/60008
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Consider also blank user profile (empty-ish WindowState) and show
maximized window in that case
Change-Id: Idddcef357cec5f6e6923884ee0c5b454451e8caa
Reviewed-on: https://gerrit.libreoffice.org/59764
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
This is a first step to allow buffering of system
dependent data, especially (but not only) for the
system-dependent implementations of graphic output.
For example, for B2DPolygon and Win output, it allows
buffering the Gdiplus::GraphicsPath instead of re-
creating it all the time.
To support that, the change includes forwarding the
current transformation to the renderers in SalGraphics.
The current state in VCL is to transform all and
everything to device coordinates at every single
paint.
I have currently started to do this for ::drawPolyLine
implementations. The fallbacks for all systems will
at the start of that method just transform the data
to device coordinates, so all works as before.
This may also be done for FilledPolygon paint in a later
step, but most urgent is FatLine painting.
An arrangement of shared_ptr/weak_ptr is used so that
either the instance buffering (in the example B2DPolygon)
or the instance managing it can delete it. The instance
managing it currently uses a 1s Timer and a cycle-lifetime
management, but that can be extended in the future
to e.g. include size hints, too.
The mechanism it designed to support multiple Data per
buffering element, e.g. for B2DPolygon at the same time
system-dependent instances of Gdiplus and Cairo can be
buffered, but also PDF-data.
This is achieved semi-automatic by using
typeid(class).hash_code() as key for organization.
The mechanism will be used for now at B2DPolygon, but
is not limited to. There is already a similar but less
general buffer (see GdiPlusBuffer) that can and will
be converted to use this new mechanism.
Added vcl/headless Cairo renderer to support given
ObjectToDevice transformation (not to transform given
B2DPolygon)
Added support for CairoPath buffered at B2DPolygon,
seems to work well. Need to do more tests
Moved usage to templates suggested by Noel Grandin
(Noel Grandin <noelgrandin@gmail.com>), thanks for
these suggestions. Adapted Win usage to that, too.
Converted Win-specific GdiPlus BitmapBuffer to new
mechanism, works well. Checked, the manager holds
now a mix of bitmap and path data under Win
Added a cleanup mechanism to flush all buffered data
at DeInitVCL() using flushAll() at
SystemDependentDataBuffer
Adapted Linux-versions of ::drawPolyLine to support
PixelSnapHairline, for now in a simplified version
that still allows buffering. This will also be used
(and use buffering) for the Cairo-fallback in
X11SalGraphics
Change-Id: I88d7e438a20b96ddab7707050893bdd590c098c7
Reviewed-on: https://gerrit.libreoffice.org/59555
Tested-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
|
|
Until we implement a Qt based glyph cache, this prevents the crash
for print preview.
Change-Id: I37dd3f90cc0bcac28ef4ce9fe70fd566a781d903
Reviewed-on: https://gerrit.libreoffice.org/59489
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I2c018e2e61707c0d89178b0cb38a0918906e23cb
Reviewed-on: https://gerrit.libreoffice.org/59390
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
instead of a FontSelectPattern with an associated LogicalFontInstance
use a LogicalFontInstance with owned FontSelectPatternAttributes
Change-Id: I939f84731fcb8db5ff6484dcfbd2f9199bb50d23
Reviewed-on: https://gerrit.libreoffice.org/59388
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I66fb1ff4b2fdcc211e0a9d5831f6dcc5e564e789
Reviewed-on: https://gerrit.libreoffice.org/59372
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I8cab3c63ba4dcd08488d0fb34d689692d5cf97f9
Reviewed-on: https://gerrit.libreoffice.org/59347
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
it was not a step in the right direction in 1st place. We distinguish
between main window frame (QMainWindow) and everything else (QWidget)
differently now
Change-Id: I331c9760f7616b2f199e63e5e521df74b08acc62
Reviewed-on: https://gerrit.libreoffice.org/58853
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
this is meant to solve the problem of native menu bar overlapping
w/ non-native, as well as the inability to place an object or select
text dragging the mouse cursor w/ LMB pressed
Change-Id: I29f590ebf79d1ecc7e17b402125384cf13774bf3
Reviewed-on: https://gerrit.libreoffice.org/58171
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Primary as a debugging measure to compare output for Qt5Graphics.
Checks mpToolkitName, so we just disable it for qt5 not kde5.
Change-Id: Ib7a67c4bec16d81dd87b6351ba106f655d37948b
Reviewed-on: https://gerrit.libreoffice.org/58790
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: Ibd50fa73a5ee63e3375ef0518df0ba84bf6fce1c
|
|
The native painting code in the kde5 backend is Qt based only.
To prevent multiple inheritance, it's moved into an extra class
and just leaves the backend specific QImage blitting in the
specific SalGraphics implementation.
Change-Id: I3d5f58f42a37966794541fe1214c1b9557376a98
Reviewed-on: https://gerrit.libreoffice.org/58652
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
In commit bded890a44cc ("Qt5 just release the SolarMutex for Qt
event") the Qt5 main loop was switched to running non-locked, as
most other backends do, so now we must take the lock when
processing Qt events.
Eventually CallCallback should be virtual for security?
Change-Id: I8cbfc9bb8b3de677a70ad3bd5cb3910fabec9b87
Reviewed-on: https://gerrit.libreoffice.org/58650
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
QWidget destructor always deletes all its children, which is fatal
in case not-yet-deleted frame (e.g. because it's in lazy delete queue)
points to one of those children
There's parent-child relationships between the frames though, so perhaps
no need to have it double. For native modality this seems enough
Change-Id: I556ace8d7949bcdfb208170cc08181ac1f2622e8
Reviewed-on: https://gerrit.libreoffice.org/57560
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
copied from dummy headless implementation
Change-Id: I1b184745627acd065b4c0cc54f044c47ec980c93
|
|
loplugin:includeform
loplugin:staticaccess
loplugin:loopvartoosmall
loplugin:redundantcast
Change-Id: Ibd4848f0c6076d5ae95fff2853e1f6e0ba1c083b
|
|
If the source and target rects don't match, LO expect the image
to be scaled.
Change-Id: I337acfa56600eba92c10aed7a70749ad08c03e90
|
|
Some of the PNG icons are 4bit palette based PNG images.
This implements the conversation function for the most
common 4bit case, so we don't rely on some generic handling.
All other non-4bit conversions can be handled by Qt.
Change-Id: I4ddd744fb7166fc3a6992b6be6c250c2adb99ca5
|
|
Fills some more FontAttributes based on the QFont.
Also implements initial font rotation support.
Something is still strage with the vertical font in Writers
vertical ruler. Text looks correct in vertical text boxes FWIW.
The toRectangle bug is embarrassing; I was wondering for quite
some time, which glyphs had strange size rects :-)
While at it, move the Qt5Font header to vcl/inc/qt5.
Change-Id: I67fa400486981035be6f98c5ab56e82d69c42065
|
|
instead of hack with hiding the window and showing it again (otherwise
modality change has no effect and worse yet, weird things happen)
it would be much easier to use QDialog
Change-Id: Ie7029ca66380495c4aad246d02f4b96cb55eb01e
|
|
...to 8447d31e529985ef7fc71933f0e55685530f9fc9 "return SalBitmap using
std::shared_ptr"
Change-Id: I7ef70eda5c2f5931b421852d938ae54d6e133e6d
|
|
since we are now holding these via reference counting, no need to clone
them
Change-Id: I7b0bd86f4a5bca428f7dcd989f838a9aa0c7e179
Reviewed-on: https://gerrit.libreoffice.org/55427
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Build fix after c4c56de1b0e62ec866b519b2b24c5e805f0a86d3.
Change-Id: I49303528ccbe49894a0fbae3c24d3f3d08c016eb
Reviewed-on: https://gerrit.libreoffice.org/55547
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and drop DestroyMenu, all the implementations just delete the object
Change-Id: I673997ea1a9c5216b100cafdc70a8f697732769b
Reviewed-on: https://gerrit.libreoffice.org/55501
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and drop DestroyMenuItem, all the implementations were just deleting the
pointer
Change-Id: I058817b963988b1e399279f61f45716a2cdba023
Reviewed-on: https://gerrit.libreoffice.org/55500
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and remove DestroyPrinter, doesn't not anything beyond delete'ing the
object
Change-Id: I25e14b962e65a0e131fae3ff5771c82920a4e375
Reviewed-on: https://gerrit.libreoffice.org/55498
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I85527407c0cd2d3b94565fd7e24b0616948c9b0f
Reviewed-on: https://gerrit.libreoffice.org/55497
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I8f66b5afb066fe83abb83c56ebde6f21197f894b
Reviewed-on: https://gerrit.libreoffice.org/55333
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
thanks Sergei Reznikov for pointing this out
Change-Id: Ib07d144bb50b178ee7b36f2c7b2eaede27ed10bc
(cherry picked from commit e56c81cc996747e3768cf171d0d6e94753b7d2af)
|
|
Change-Id: Ia7f28a54f253f0263cc781feb5997bb51bb640b2
Reviewed-on: https://gerrit.libreoffice.org/55193
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I9539eb77f663e1174919ae801495801f81571710
|
|
just between us girls, I hate you clang-format
Change-Id: I4cd041eff7a9fa01eb9192cf357e3f07a26fa6ad
|
|
Change-Id: I01997caa22e14c1350bd83100edb74397ebab5d7
|
|
Change-Id: If3a134f67f59d3238c27eb0fef99bf49a8970433
|
|
Change-Id: Ieaac0966b167d82c8bdeb60f3ce4b9cc8589ec62
|
|
Change-Id: Ie7866357d4e74b778849262c1c2b60605a26faad
|
|
this also resolves build failures on 32bit platforms
Change-Id: I53fa2faae52a8cb322644c5bd5e5e84d71110d8e
|