Bug 128942 - Remove frame around rotation wheel within Position and Size / Ratation dialog
Summary: Remove frame around rotation wheel within Position and Size / Ratation dialog
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
7.0.0.0.alpha0+
Hardware: All All
: lowest trivial
Assignee: Thorsten Wagner
URL:
Whiteboard: target:6.5.0
Keywords:
Depends on:
Blocks:
 
Reported: 2019-11-21 23:50 UTC by Thorsten Wagner
Modified: 2020-01-25 17:33 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
Screenshot (38.21 KB, image/png)
2019-11-21 23:51 UTC, Thorsten Wagner
Details
Screenshot with patch (328.43 KB, image/png)
2020-01-23 00:06 UTC, Thorsten Wagner
Details
Patch (3.67 KB, patch)
2020-01-23 00:08 UTC, Thorsten Wagner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thorsten Wagner 2019-11-21 23:50:41 UTC
Description:
Issue is a follow up from tdf#125508: Black frame lines around rotation wheel within Position and Size / Ratation dialog may not be intended (see screenshot attached)

Steps to Reproduce:
1. Open LO Impress
2. Draw an arbitrary object
2. Open Position and Size / Rotation dialog

Actual Results:
Black frame lines are drawn around rotation wheel.

Expected Results:
Rotation wheel is drawn without frame.


Reproducible: Always


User Profile Reset: No


OpenGL enabled: Yes

Additional Info:
Comment 1 Thorsten Wagner 2019-11-21 23:51:06 UTC
Created attachment 156016 [details]
Screenshot
Comment 2 Xisco Faulí 2019-12-10 16:01:52 UTC
Moving to NEW
Comment 3 Thorsten Wagner 2020-01-23 00:06:09 UTC
To remove frame around rotation wheel shadow had to be disabled for enclosing GtkViewPort and GtkScrolledWindow objects. This was done using Glade. On Linux result is as expected, on macOS frame is not removed. To remove frame on macOS too, GtkScrolledWindow was removed too. Result looks as expected on macOS too (see screenshot attached).

@ Caolan: Could you please doublecheck whether this is the right approach (modified Glade output is attached too).

As there is no change within C++ code, GTKScrolledWindow is addressed there furthermore although it has been removed within the XML UI description file:

m_xCtrlDial(new DialControl(m_xBuilder->weld_scrolled_window("anglepreview")))
Comment 4 Thorsten Wagner 2020-01-23 00:06:44 UTC
Created attachment 157346 [details]
Screenshot with patch
Comment 5 Thorsten Wagner 2020-01-23 00:08:00 UTC
Created attachment 157347 [details]
Patch
Comment 6 Xisco Faulí 2020-01-23 08:49:38 UTC
(In reply to Thorsten Wagner from comment #5)
> Created attachment 157347 [details]
> Patch

Hi Thosten,
Could you please submit the patch to gerrit for review ? See https://wiki.documentfoundation.org/Development/gerrit/SubmitPatch
Comment 7 Heiko Tietze 2020-01-23 09:04:31 UTC Comment hidden (obsolete)
Comment 8 Caolán McNamara 2020-01-23 11:04:58 UTC
caolan->thorsten: remove the ViewPort as well as the ScrolledWindow, the ViewPort is just an adaptor to put things into a ScrolledWindow so if the ScrolledWindow goes, it should go as well

Ideally in the c++ 
m_xCtrlDial(new DialControl(m_xBuilder->weld_scrolled_window("anglepreview")))
changes to
m_xCtrlDial(new DialControl(nullptr))
but it will work, as you've already seen, without the change because m_xBuilder->weld_scrolled_window(I_DONT_EXIST)
returns null anyway after a little wasted work trying to find it
Comment 9 Thorsten Wagner 2020-01-23 23:24:25 UTC
(In reply to Caolán McNamara from comment #8)
> caolan->thorsten: remove the ViewPort as well as the ScrolledWindow, the
> ViewPort is just an adaptor to put things into a ScrolledWindow so if the
> ScrolledWindow goes, it should go as well
> 
> Ideally in the c++ 
> m_xCtrlDial(new
> DialControl(m_xBuilder->weld_scrolled_window("anglepreview")))
> changes to
> m_xCtrlDial(new DialControl(nullptr))
> but it will work, as you've already seen, without the change because
> m_xBuilder->weld_scrolled_window(I_DONT_EXIST)
> returns null anyway after a little wasted work trying to find it

Thank you for checking. Removing GtkViewPort using Glade's "Remove Parent" function causes the removal of enclosed object by Glade as well. Although this is not visible directly, it happens after saving/reloading UI file with Glade. Does the UI file has to be edited directly?
Comment 10 Heiko Tietze 2020-01-24 08:26:07 UTC
(In reply to Thorsten Wagner from comment #9)
> Removing GtkViewPort using Glade's "Remove Parent" function causes the removal 
> of enclosed object by Glade as well.

Maybe copy/paste work.
Comment 11 Caolán McNamara 2020-01-24 15:46:12 UTC
Yeah, cut and paste would do the trick. I've uploaded the patch with the extra viewport removed as https://gerrit.libreoffice.org/c/core/+/87348
Comment 12 Commit Notification 2020-01-25 17:33:09 UTC
Thorsten Wagner committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/4623b903e16c379a56c63c31ba84cf447bcfe7f9

tdf#128942 Remove frame around rotation wheel within Position and Size dialog

It will be available in 6.5.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 13 Commit Notification 2020-01-25 17:33:15 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/2f4dda0a26fba2555641debdc84ec2ece1433ec6

Related: tdf#128942 remove the scrolledwindow frames from all the dialcontrols

It will be available in 6.5.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.