Bug 486341 - Edit Bookmarks menu item does nothing
Summary: Edit Bookmarks menu item does nothing
Status: CONFIRMED
Alias: None
Product: digikam
Classification: Applications
Component: Geolocation-Bookmarks (show other bugs)
Version: 8.4.0
Platform: macOS (DMG) macOS
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-30 12:03 UTC by Mark
Modified: 2024-05-08 19:11 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screen movie showing bug (3.75 MB, application/zip)
2024-04-30 12:03 UTC, Mark
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark 2024-04-30 12:03:37 UTC
Created attachment 169032 [details]
Screen movie showing bug

***
If you're not sure this is actually a bug, instead post about it at https://discuss.kde.org

If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***

SUMMARY


STEPS TO REPRODUCE
1. Select an image from an album.
2. Edit Geolocation
3. Right-click a image from Geolocation Edit dialog list.

OBSERVED RESULT

Nothing happens. I have run digiKam from the command line with debug logging enabled and see no output as a result of selecting the Edit Bookmarks item.

EXPECTED RESULT

Bookmark Manager should appear.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 14.4.1 (Intel platform)
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 5.114.0
Qt Version: 5.15.11

ADDITIONAL INFORMATION
Comment 1 Mark 2024-04-30 12:05:30 UTC
Sorry, step 3 should say "Right-click a image from Geolocation Edit dialog list and choose Edit Bookmarks"
Comment 2 caulier.gilles 2024-04-30 14:40:50 UTC
Yes, it's fully reproducible under MacOS with 8.3.0. Under Linux all works as expected...

Gilles Caulier
Comment 4 Maik Qualmann 2024-04-30 19:09:14 UTC
I don't really see an error. The dialog also works under Windows. I'm surprised by the (!) in front of !d->bookmarksDialog->isHidden(). Because if the dialog is hidden, it can also be reactivated. We also use the same code in the plugin dialogs for reactivation. However, it doesn't matter because the pointer is NULL at the start anyway.

Maik
Comment 5 caulier.gilles 2024-05-06 06:23:26 UTC
Hi,

The Edit Bookmarks work but don"t show the dialog with the focus by default. Go to the mac taskbar digiKam icon context menu and select the Show All Windows. The bookmarks editor dialog appears...

Gilles Caulier
Comment 6 Maik Qualmann 2024-05-06 06:28:42 UTC
Git commit 866f0532c62d0b8934ed4f965f151b9564db5720 by Maik Qualmann.
Committed on 06/05/2024 at 06:28.
Pushed by mqualmann into branch 'master'.

try to bring the bookmark dialog to the front

M  +1    -0    core/utilities/geolocation/geoiface/bookmark/gpsbookmarkowner.cpp

https://invent.kde.org/graphics/digikam/-/commit/866f0532c62d0b8934ed4f965f151b9564db5720
Comment 7 caulier.gilles 2024-05-06 06:47:35 UTC
Maik,

I think it's not a raise problem with the dialog. In fact the dialog is open and presnet on screen, but show behind the metadata editor dialog. If i move this last one, bookmarks editor appear, but is not suitable : the mouse has no effect. It sounds like a even loop problem.

Not that the bookmarks editor dialog has the 3 buttons on the title bar. So it can be reduced.

Gilles
Comment 8 Maik Qualmann 2024-05-06 08:16:20 UTC
We could test a different parent for the dialog (qApp->activeWindow()).

Maik
Comment 9 caulier.gilles 2024-05-06 11:03:55 UTC
Git commit 1c890c7017e021b471fe5fe1834eedfb0437d1ac by Gilles Caulier.
Committed on 06/05/2024 at 11:03.
Pushed by cgilles into branch 'master'.

pass active windows parent to the dialog

M  +2    -1    core/utilities/geolocation/geoiface/bookmark/gpsbookmarkowner.cpp

https://invent.kde.org/graphics/digikam/-/commit/1c890c7017e021b471fe5fe1834eedfb0437d1ac
Comment 10 caulier.gilles 2024-05-06 11:12:56 UTC
Maik,

I think the problem under MacOS can be the flags passed to dialog here :

https://invent.kde.org/graphics/digikam/-/blob/master/core/utilities/geolocation/geoiface/bookmark/bookmarksdlg.cpp?ref_type=heads#L80

If i take a look to other setWindowFlags() call in digiKam core, we never use Qt::Sheet, but always a customized combination as this one :

https://invent.kde.org/graphics/digikam/-/blob/master/core/libs/dplugins/widgets/dplugindialog.cpp?ref_type=heads#L46

Gilles
Comment 11 caulier.gilles 2024-05-06 11:15:44 UTC
Git commit 16567cfe1e40838b1fab63e7d3168f49cab22919 by Gilles Caulier.
Committed on 06/05/2024 at 11:14.
Pushed by cgilles into branch 'master'.

use same window flags than DPlugin About Dialog

M  +4    -1    core/utilities/geolocation/geoiface/bookmark/bookmarksdlg.cpp
M  +1    -1    core/utilities/geolocation/geoiface/bookmark/gpsbookmarkowner.cpp

https://invent.kde.org/graphics/digikam/-/commit/16567cfe1e40838b1fab63e7d3168f49cab22919
Comment 12 caulier.gilles 2024-05-06 21:29:01 UTC
changing the edit bookmark dialog parent to active windows do not fix the problem
Comment 13 caulier.gilles 2024-05-06 21:42:49 UTC
Git commit 747bbe9204c0f509761e8fa35ecc142c60a9a44f by Gilles Caulier.
Committed on 06/05/2024 at 21:42.
Pushed by cgilles into branch 'master'.

set dialog modal

M  +3    -0    core/utilities/geolocation/geoiface/bookmark/bookmarksdlg.cpp

https://invent.kde.org/graphics/digikam/-/commit/747bbe9204c0f509761e8fa35ecc142c60a9a44f
Comment 14 caulier.gilles 2024-05-07 08:57:33 UTC
Hi Maik,

Look my screenshot : https://i.imgur.com/wCJXdON.png

Before to open the Edit Bookmark dialog, i moved the geolocation dialog on the right side of screen. The Bookmark dialog appears on the middle of the screen but is not complete. Map is not loaded and some icons are missing. I think the dialog code is blocked somewhere.

Gilles
Comment 15 caulier.gilles 2024-05-07 09:00:17 UTC
Maik,

As you can see on this second screenshot, the map is well displayed on the Geolocation dialog and all icons are present.

Sound like a lock in Marble.

Note : There is no bookmark registered yet on my computer.

Gilles
Comment 16 caulier.gilles 2024-05-07 09:01:02 UTC
Link to the second screenshot : https://i.imgur.com/q64EBvk.png
Comment 17 Maik Qualmann 2024-05-07 09:41:19 UTC
The map in the Bookmark Manager is only loaded when you have added a bookmark and clicked on it. So the screenshot looks normal for empty bookmarks.

Maik
Comment 18 caulier.gilles 2024-05-07 11:07:51 UTC
Another point : the cursor in the Edit bookmark "Search" field is blinking, but the mouse has no action over this dialog.
Comment 19 caulier.gilles 2024-05-07 11:09:40 UTC
I tried the Edit Bookmark under Linux, and the dialog is exactly the same than under MacOS. The missing icons buttons are also there...
Comment 20 caulier.gilles 2024-05-07 11:12:30 UTC
And why the Edit Bookmark dialog still open below than the Geolocation Edit dialog ? This is really strange...
Comment 21 caulier.gilles 2024-05-07 11:16:08 UTC
Time Adjust dialog under MacOS: the Determine clock difference dialog has also strange side effects.

The way to open a dialog from a dialog under MacOS do not work as expected (where Linux and Windows work fine).
Comment 22 caulier.gilles 2024-05-07 11:19:42 UTC
The Maintenance Tool dialog under MacOS / Image Quality / Settings : the setup dialog work as expected.

Perhaps the plugin wizard/dialog as a property than a child dialog don't like.
Comment 23 Maik Qualmann 2024-05-07 12:36:31 UTC
Could it also be because we have already modified the first/basic dialog via the window flags -> QDialog to QWindow? We did this once because of problems with Gnome.

Maik
Comment 24 Maik Qualmann 2024-05-07 12:43:24 UTC
It could also be the parent from the first dialog. The maintenance tool has the digikamApp as parent, the Geolocation Editor and the Time Adjust Tool has a nullptr as parent.

Maik
Comment 25 caulier.gilles 2024-05-07 15:40:59 UTC
Yes, this can be the origin.

The Q is why in this case, Linux and Windows are not affected ?

Note : MacOS still uses Qt5...

Gilles
Comment 26 caulier.gilles 2024-05-07 15:59:20 UTC
Git commit c1fd8e1ad84fcc4425e248fe3afdfaa5e8ef427d by Gilles Caulier.
Committed on 07/05/2024 at 15:58.
Pushed by cgilles into branch 'master'.

pass the active windows as parent to the Geolocation and TimeAdjust dialogs

M  +2    -1    core/dplugins/generic/metadata/geolocationedit/geolocationeditplugin.cpp
M  +2    -1    core/dplugins/generic/metadata/timeadjust/timeadjustplugin.cpp

https://invent.kde.org/graphics/digikam/-/commit/c1fd8e1ad84fcc4425e248fe3afdfaa5e8ef427d
Comment 27 caulier.gilles 2024-05-08 10:36:38 UTC
Maik,

Passing the active windows as parent to the plugins dialog do not change anything...

Gilles
Comment 28 Maik Qualmann 2024-05-08 19:11:50 UTC
Git commit e3028bd8610c43783e377445aca578645dfdabf0 by Maik Qualmann.
Committed on 08/05/2024 at 19:11.
Pushed by mqualmann into branch 'master'.

try moving it to the main thread.
The thread is identical under Linux, but perhaps not under macOS.

M  +2    -1    core/dplugins/generic/metadata/geolocationedit/geolocationeditplugin.cpp
M  +2    -1    core/dplugins/generic/metadata/timeadjust/timeadjustplugin.cpp

https://invent.kde.org/graphics/digikam/-/commit/e3028bd8610c43783e377445aca578645dfdabf0