Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: Ia9ffcd1665dad3d3d2827d40bcec345186e53aef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93927
Tested-by: Jenkins
Reviewed-by: Ahmed ElShreif <aelshreif7@gmail.com>
|
|
If something goes wrong, better keep the testing Python and the tested soffice
process in a state in which the actual problem can (hopefully) be debugged
better.
I happened to run into a hung UITest_chart on Linux, where soffice.bin was still
at
> Thread 1 (Thread 0x7f2e2b280fc0 (LWP 1906251)):
> #0 futex_abstimed_wait_cancelable (private=0, abstime=0x7f2e27b59a80, clockid=<optimized out>, expected=0, futex_word=0x60e000024e8c) at /usr/src/debug/glibc-2.31-17-gab029a2801/sysdeps/nptl/futex-internal.h:320
> #1 __pthread_cond_wait_common (abstime=0x7f2e27b59a80, clockid=<optimized out>, mutex=0x60e000024e38, cond=0x60e000024e60) at /usr/src/debug/glibc-2.31-17-gab029a2801/nptl/pthread_cond_wait.c:520
> #2 __pthread_cond_clockwait (abstime=0x7f2e27b59a80, clockid=<optimized out>, mutex=0x60e000024e38, cond=0x60e000024e60) at /usr/src/debug/glibc-2.31-17-gab029a2801/nptl/pthread_cond_wait.c:677
> #3 __pthread_cond_clockwait (cond=0x60e000024e60, mutex=0x60e000024e38, clockid=<optimized out>, abstime=0x7f2e27b59a80) at /usr/src/debug/glibc-2.31-17-gab029a2801/nptl/pthread_cond_wait.c:665
> #4 0x00007f2e5fead808 in std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::unique_lock<std::mutex>&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) (this=0x60e000024e60, __lock=..., __atime=...) at include/c++/10.0.1/condition_variable:210
> #5 0x00007f2e5fead295 in std::condition_variable::wait_until<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::unique_lock<std::mutex>&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) (this=0x60e000024e60, __lock=..., __atime=...) at include/c++/10.0.1/condition_variable:120
> #6 0x00007f2e5fea8f05 in std::condition_variable::wait_until<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, SvpSalInstance::DoYield(bool, bool)::$_2>(std::unique_lock<std::mutex>&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&, SvpSalInstance::DoYield(bool, bool)::$_2) (this=0x60e000024e60, __lock=..., __atime=..., __p=...) at include/c++/10.0.1/condition_variable:159
> #7 0x00007f2e5fea6e60 in std::condition_variable::wait_for<long, std::ratio<1l, 1000l>, SvpSalInstance::DoYield(bool, bool)::$_2>(std::unique_lock<std::mutex>&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&, SvpSalInstance::DoYield(bool, bool)::$_2) (this=0x60e000024e60, __lock=..., __rtime=..., __p=...) at include/c++/10.0.1/condition_variable:186
> #8 0x00007f2e5fea5a8e in SvpSalInstance::DoYield(bool, bool) (this=0x611000001bc0, bWait=true, bHandleAllCurrentEvents=false) at vcl/headless/svpinst.cxx:497
> #9 0x00007f2e5f3a232d in ImplYield(bool, bool) (i_bWait=true, i_bAllEvents=false) at vcl/source/app/svapp.cxx:454
> #10 0x00007f2e5f3a18e8 in Application::Yield() () at vcl/source/app/svapp.cxx:518
> #11 0x00007f2e5bf32c2d in Dialog::Execute() (this=0x61a000072080) at vcl/source/window/dialog.cxx:1032
> #12 0x00007f2e5efdcd62 in SalInstanceDialog::run() (this=0x619000091080) at vcl/source/app/salvtables.cxx:1480
> #13 0x00007f2dc37421fd in weld::DialogController::run() (this=0x61200077c5c0) at include/vcl/weld.hxx:2227
> #14 0x00007f2dc39672f2 in chart::CreationWizardUnoDlg::execute() (this=0x610000168d40) at chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx:189
> #15 0x00007f2df91f2507 in FuInsertChart::FuInsertChart(ScTabViewShell&, vcl::Window*, ScDrawView*, SdrModel*, SfxRequest&) (this=0x7f2e27f1a300, rViewSh=..., pWin=0x61a0001e8a80, pViewP=0x61d0001f6880, pDoc=0x617000066a00, rReq=...) at sc/source/ui/drawfunc/fuins2.cxx:673
> #16 0x00007f2dfaf9a379 in ScTabViewShell::ExecDrawIns(SfxRequest&) (this=0x61d0001eaa80, rReq=...) at sc/source/ui/view/tabvwshb.cxx:336
> #17 0x00007f2dfaedf365 in SfxStubScTabViewShellExecDrawIns(SfxShell*, SfxRequest&) (pShell=0x61d0001eaa80, rReq=...) at workdir/SdiTarget/sc/sdi/scslots.hxx:1447
> #18 0x00007f2e8031ded6 in SfxShell::CallExec(void (*)(SfxShell*, SfxRequest&), SfxRequest&) (this=0x61d0001eaa80, pFunc=0x7f2dfaedf240 <SfxStubScTabViewShellExecDrawIns(SfxShell*, SfxRequest&)>, rReq=...) at include/sfx2/shell.hxx:197
> #19 0x00007f2e802a77ff in SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) (this=0x6020002f3dd0, rShell=..., rSlot=..., rReq=..., bRecord=true) at sfx2/source/control/dispatch.cxx:251
> #20 0x00007f2e802aacb6 in SfxDispatcher::PostMsgHandler(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >) (this=0x6020002f3dd0, pReq=std::unique_ptr<class SfxRequest> = {...}) at sfx2/source/control/dispatch.cxx:988
[...]
but the Python process was already at
> Traceback (most recent call first):
> <built-in method waitpid of module object at remote 0x60800002d1c0>
> File "instdir/program/python-core-3.7.7/lib/subprocess.py", line 1611, in _try_wait
> (pid, sts) = os.waitpid(self.pid, wait_flags)
> File "instdir/program/python-core-3.7.7/lib/subprocess.py", line 1653, in _wait
> (pid, sts) = self._try_wait(0)
> File "instdir/program/python-core-3.7.7/lib/subprocess.py", line 1019, in wait
> return self._wait(timeout=timeout)
> File "uitest/libreoffice/connection.py", line 133, in tearDown
> ret = self.soffice.wait()
> File "uitest/libreoffice/connection.py", line 178, in tearDown
> self.connection.tearDown()
> File "uitest/uitest/framework.py", line 46, in tearDown
> self.connection.tearDown()
> File "instdir/program/python-core-3.7.7/lib/unittest/case.py", line 631, in run
> self.tearDown()
> File "instdir/program/python-core-3.7.7/lib/unittest/case.py", line 676, in __call__
> return self.run(*args, **kwds)
> File "instdir/program/python-core-3.7.7/lib/unittest/suite.py", line 122, in run
> test(result)
> File "instdir/program/python-core-3.7.7/lib/unittest/suite.py", line 84, in __call__
> return self.run(*args, **kwds)
> File "instdir/program/python-core-3.7.7/lib/unittest/runner.py", line 176, in run
> test(result)
> File "uitest/test_main.py", line 128, in <module>
> result = unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run(test_suite)
and the relevant
> ======================================================================
> ERROR: test_tdf99069_chart_cancel_data_ranges_dialog (tdf99069.tdf99069)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "sc/qa/uitest/chart/tdf99069.py", line 32, in test_tdf99069_chart_cancel_data_ranges_dialog
> self.ui_test.execute_dialog_through_command(".uno:InsertObjectChart")
> File "uitest/uitest/test.py", line 83, in execute_dialog_through_command
> raise DialogNotExecutedException(command)
> uitest.test.DialogNotExecutedException: Dialog not executed for: .uno:InsertObjectChart
had not yet been written to workdir/UITest/chart/done.log (Python's unittest
appears to unhelpfully hold back such vital information until the very end of
the full test run).
That means DialogNotClosedException is unused now and can thus be removed.
Change-Id: I556ae52f05b1362f4e78f2de362a7b4f9b8a0cf7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92959
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
This reverts commit 634ce6f2d87a30b8abd2e8c67668e3bb5d87406b.
See https://gerrit.libreoffice.org/c/core/+/92616
Change-Id: I642843ab16450d1a6b15d5e955495efbbfa7822a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92539
Tested-by: Jenkins
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
|
|
Change-Id: I58b1fa80b6a570f8214255398f3b91f62590fd6c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92629
Tested-by: Jenkins
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
|
|
Instead, check the focus moved to the bottom and back to the
first element
Execution times goes 17.232 from to 5.521 for me
Change-Id: I816c197f44b68a1b9ab8686de191a743cbc78eb2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92616
Tested-by: Jenkins
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
|
|
Change-Id: I618a17fb8347d1f935caaef54738299863ddbb49
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92612
Tested-by: Jenkins
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
|
|
Execution times goes from 3.807 to 2.718 for me
Change-Id: I9c93417d2678c64a8d9a90b0a18b4d1210c8fdd2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92624
Tested-by: Jenkins
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
|
|
More flexible dialog
logo & about images as SVGs
Change-Id: Icefa035893e241a7dee6aa28236e6b89b38477de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91908
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
This reverts commit 150b67b57bd25ba9c8ec9c28c7aed3cc0b557bfd.
Reason for revert: With the above change, a hung soffice process would cause
the UITest that spawned it to fail, but that would not terminate the hung
soffice process. This is especially problematic for Gerrit Jenkins builds,
where a leftover hung soffice process from a previous build will typically cause
unrelated subsequent builds to fail. So: For a manual developer build, it is
arguably better to leave the hung UITest in the hung state (both the python and
the soffice process) to be able to debug it. And for an automated Gerrit
Jenkins build it is even vital that the hung UITest hangs the build, so that
Jenkins will eventually abort it and lode's bin/kill-wrapper will reliably kill
any remaining processes, incl. the hung soffice process. (But of course it is
unfortunate that we now get less feedback from a hung UITest.)
Change-Id: I6cc577dda362d3cb71846decae9c2bb6bed90b6b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91717
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I3a07a8e6fe6e37d55de6069082b32d84c0450177
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91659
Tested-by: Jenkins
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
|
|
Change-Id: Id44531def1a0b6e7c0ab5686ed651633ccb502b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91655
Tested-by: Jenkins
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
|
|
Change-Id: I1af2de672db7124faec473202ce858ec292a2c6f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91654
Tested-by: Jenkins
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
|
|
identifier_typo: Using "Libreoffice" appears to be a typo:
"Libreoffice" is only known to be referenced here, or in copies of this code.
Identifier "LibreOffice" is referenced elsewhere at least 19 times.
Change-Id: I201bcc7e226dde52eed2c0281d2b9839a234af1f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91033
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
GtkToggleToolButton are much wider than vcl equivalents. Split the bottom
toolbar into two toolbars. Rearrange their contents so the layout of each level
visually match.
Notes:
Master documents have two modes, master content tree and the normal content
tree.
You can drag entries from the content tree into the document, drag mode drop
down controls whether its a link or a copy etc that's dropped in.
Documents can be dropped into the content and global trees.
If outline tracking isn't active, then when content changes the tree is cleared
and refilled, typically an effort is made to reselect the same entry that was
previously selected. Additionally, if the amount of content didn't change an
effort is made to scroll back to the location the scrollbar was at before the
clear.
Change-Id: I00c015145eac5b1acc3398d3c40861d830e4264a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89725
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I7309a546546637a1837df8ac99807c2deb22c72a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90589
Tested-by: Jenkins
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
|
|
I used solenv/gbuild/Trace.mk to measure where the time is spent at the
end of an incremental 'make check'. The last 95 seconds in spent
executing UITest_demo_ui alone.
If that test is executed in isolation, it takes 135 seconds. Profiling
the test shows that some of that time is spent on waiting for an
OnViewClosed event to be emitted after .uno:CloseDoc is dispatched.
I'm not sure how this worked in the past, but seems that in case there
is a single view, then we currently only emit OnUnloaded, which means we
wait a minute for an event that does not arrive, then we silently move
on.
Fix the problem by closing the document via dispose(), the old code also
just discarded all changes to the file.
The new cost of UITest_demo_ui is 73 seconds (54% of baseline).
The overall 'make check' is 84 seconds faster with this, too.
Change-Id: I97e8e2af3ba355b8029920076e070d619b110b77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89984
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
I used solenv/gbuild/Trace.mk to measure where the time is spent at the
end of an incremental 'make check'. The last 141 seconds is spent
executing UITest_writer_demo alone.
If that test is executed in isolation, it takes 289 seconds. I measured
the cost of all the individual .py suites and arranged them into 8
separate UITests, this way the make -j8 cost is 101 seconds (i.e. 35% of
the baseline). IOW this is supposed to speed up 'make check' with 3m13s,
provided you have the code already built.
Change-Id: I1ffee3a06b8fd84d7b9a0295547900df11f11f68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89835
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
So that something like:
make -sr UITest_cui_dialogs UITEST_TEST_NAME="chardlg.Test.testSvxCharEffectsPageWriterAutomatic"
Only executes testSvxCharEffectsPageWriterAutomatic, not
testSvxCharEffectsPageWriter and testSvxCharEffectsPage as well.
Change-Id: I0ed334259634e3b9b0db45d9f8462eb4accc689e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88987
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I21672c9b78e52c3c9b2687cb2c0ab21dcf67f19a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86538
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
|
|
Without that, if XDesktop::terminate() fails (e.g., because an assert in
a test was false while a modal dialog was open, which left the dialog
open, and so TerminationVetoException was thrown in XDesktop::terminate()
by a listener), the wait never ends, and the assertion message gets lost
when buildbot terminates the build, as happened in
https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/51496/console.
The timeout only available since python 3.3.
The soffice process is not terminated in this case; hopefully it will be
terminated when build cleanup will occur.
Change-Id: I924775d0e58619d1fbd603e80ed1f8d047c91145
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87362
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Two problems were present:
1. If local system default locale is not en_US, then in created document,
text has some other language initially; and instrted text also gets this
language. This may result in no replacement suggestions for the spelling
errors, and "changeall" is not active, so expected sequence of changes
and clicks does not happen. Fixed by setting language at cursor before
paste explicitly.
2. On Windows, the returned text has \r\n paragraph breaks, which didn't
match the regex having \n. Fixed by postprocessing the text before match.
Change-Id: I320fc62c3c27dfe699fb45669c081df30cb66d6e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85877
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ic2423f7b2e83ca957d42392c1fba2b7d636ac136
Reviewed-on: https://gerrit.libreoffice.org/85156
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Fix IdentationError and mixture of spaces and tabs found by
python -m py_compile <file>.
Change-Id: I1dc99196410d736ca33ead5deadfc61bc6584428
Reviewed-on: https://gerrit.libreoffice.org/83594
Tested-by: Jenkins
Reviewed-by: Jens Carl <j.carl43@gmx.de>
|
|
The 'is' operator should not be used for comparison on some types of
literals. In CPython this works by accident and CPython 3.8 introduced a
SyntaxWarning (see https://bugs.python.org/issue34850).
Change-Id: Ic4ba481579d13fd1496431ded59dd626a05fc0c6
Reviewed-on: https://gerrit.libreoffice.org/83033
Tested-by: Jenkins
Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
|
|
Change-Id: Id2b95d21799f8fa4b55a304afda739219fee06ff
Reviewed-on: https://gerrit.libreoffice.org/82323
Tested-by: Jenkins
Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
|
|
Change-Id: I5159ed77c2b3ba2f06e381a738a49dbe17a6a4dd
Reviewed-on: https://gerrit.libreoffice.org/80542
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
This reverts commit d35840a2111beafe018851314a624e268e3cde6a, now that
43aef04d77aafb9d055957642e62b559231f3711 "Reliably wait for soffice to
terminate" makes sure that no soffice-related processes are left behind by
UITests. Using PR_SET_PDEATHSIG had the following drawbacks:
* It defeats debugging if a runaway process is forcefully killed by the test
framework. (And there are already higher-layer mechanisms in place for the
reliable termination of runaway tinderbox builds, see the commit message of
43aef04d77aafb9d055957642e62b559231f3711 mentioned above.)
* It is brittle in that it can terminate soffice-related processes too early, as
the signal is sent as soon as the parent's thread that spawned the child (and
not the parent process as a whole) terminates.
* It is Linux-only.
Change-Id: Ia07f5dbaafc824bad0dfbdb1a2aabe6d5508741b
Reviewed-on: https://gerrit.libreoffice.org/80186
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...to avoid leftover soffice-related processes (oosplash, soffice.bin) from
UITests, whose occasional presence on tinderboxes is discussed in the comments
to <https://gerrit.libreoffice.org/#/c/79854/> "uitest: make child soffice
process die when parent dies". Should sucha an soffice-related process fail to
terminate, the UITest will now fail to terminate too, and (a) a developer can
debug the hung processes or (b) a tinderbox can reliably kill all processes (cf.
<https://gerrit.libreoffice.org/plugins/gitiles/lode/+/
bea0738dbadfe8784e5d3c00f533acf101db4e7e%5E%21> "tb_slave_wrapper: trap signal
and kill -9 everything"). This is in line with the waiting in tearDown in
unotest/source/python/org/libreoffice/unotest.py, and with the corresponding
behavior of C++ and Java test frameworks in unotest.
Change-Id: Ieb5c48964428bc05fa8c0f83af9426641d6df693
Reviewed-on: https://gerrit.libreoffice.org/80175
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...which had gone missing with 98cbfb087eed0d1defa6ef26385fcf47f95c05fc "uitest:
kill the LibreOffice instance if it ignores terminate request".
(None != 0 is true, so there is no need to map from ret_attr to ret, and that
code can be cleaned up a bit.)
Change-Id: Ic5e429d61a10a2bbd5c28aeee9d8465cb05c1e4a
Reviewed-on: https://gerrit.libreoffice.org/80147
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I2f586bd5e2e4c3cf1fc052cdfe526532dca9acd4
Reviewed-on: https://gerrit.libreoffice.org/79884
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
using PR_SET_PDEATHSIG.
Note that this can only be called by the child process in question, so
we have to pass a new command line argument down to activate it.
And we have to plumb it through the wrapper oosplash process.
I wonder where else our testing infrastructure could benefit from this
Change-Id: I55e8e9f7f4e6cc415046df04c804e51475b8a4c9
Reviewed-on: https://gerrit.libreoffice.org/79854
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This reverts commit 367719e77747bc142ac4b7ec5ee10d7c5e519c16.
Change-Id: I36e4aef93f04fe593692edaa804512020464aa95
Reviewed-on: https://gerrit.libreoffice.org/78354
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
This commit is updated just to help Ahmed.
He is going to fix this in the next implementation.
Change-Id: I1cdebb27b5ded57694e97da7d990adce716448c0
Reviewed-on: https://gerrit.libreoffice.org/77743
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I41023dd1fd06ca48849726d3372f74a4990c27a3
|
|
Change-Id: I502aa9e998d084a82e738c0c0c68ad634cb5c76a
|
|
Change-Id: If6f6c71f72ba9def4885ffbd74cb7814f7465f2c
|
|
Change-Id: I7de9bd97e868624476b5c39a5e37afc945206e4e
|
|
Change-Id: I18fcc81fa54362dfaa574ec04125e66b37a5aad8
|
|
Change-Id: I01d044a96eeae60a070a5ca0fc8d6105d7333414
|
|
Change-Id: I40779dfdb65037838e1a1b7bed5d89a656047ce6
|
|
Change-Id: I740995d811be030f406f9d3ff53c56d28af2b786
|
|
1) Add recursively query for the parent until find an parent with a name.
2) Remove the parent part "from xxxxxx" from the log statment if there is un-named parent
3) Update the compiler to use the most top parent if there is command with no un-named parent
Change-Id: Id7dd5092bc995312494b5536720141908e73af9a
|
|
1) Rename Tab
2) Insert Tab
Change-Id: I7a653a4b274c0c8058672c5b0aa1645bb5a51e3a
|
|
Impress:
1) Delete Slide
2) Duplicate Slide
3) Rename Slide
Draw:
1) Delte Page
2) Rename Page
Change-Id: I124bdf96c58dfe00bdb039c5e93afc0dc6e7163d
|
|
for Impress:
add new Slide
for Draw:
add new Page
Modify the UILogger System to save information about the name of the app
Change-Id: I87fd98b2a11783e3410f1c0eba633631addf389b
|
|
Change-Id: I1b77b106db181a8cadc1ff0b2a5de6ad19fe6762
|
|
1) Make small changes in the UI logger Grammar
2) Add Comments to be more documented
Change-Id: I5e68c33375870cf4a1f2537ee1a7eb997145f24f
|
|
for Calc:
1) Delete some Cells
2) Remove content from some cells
3) Insert Cells
4) Cut Cells
5) Copy Cells
6) Paste Cells
7) Merge Cells
8) Split Cell ( Delete Merge )
for Writer:
1) Insert Table
2) Copy Text
3) Cut Text
4) Paste Text
5) Inser Break Page
Also, Solve some bugs in the UI logger and UNO Commands.
Change-Id: Ic7cacbc20e1e400900a9760b61e8b45ae96c84ff
|
|
Change-Id: I39836423fad8cb361a8f007f648108618906be8a
|
|
1) init_app
2) init_Object
3) write_line_without_parameters
4) write_line_with_one_parameters
Then Rewrite the handlers again
Change-Id: I8ceb01f4eaa48f1544ada8966c7585dcbd3e15aa
|