Commit graph

95 commits

Author SHA1 Message Date
Fabien Castan
334bfc8b00
Merge pull request #1861 from alicevision/mug/thumbnailCache
[ui] Thumbnail cache
2023-02-09 11:08:09 +00:00
Fabien Castan
db8d00e901 [ui] ImageGallery thumbnails: no need for caching and expensive smooth resizing 2023-02-08 21:50:04 +01:00
Fabien Castan
db8b3873e3 [ui] ImageGallery: do not reduce thumbnail resolution
As we rely on the thumbnails cache, the images are already downscaled at
a small resolution. So there is no more need to force a max resolution
on the Qml Image.
2023-02-08 18:20:54 +01:00
mugulmd
9b0be36278 [ui] improve thumbnails quality 2023-01-26 05:10:35 -08:00
mugulmd
2f72f9e7d1 [ui] ImageDelegate: increase thumbnail timer to 5s 2023-01-23 06:28:30 -08:00
Fabien Castan
40b182efc5
Merge pull request #1864 from alicevision/dev/saveImportImagesFolder
[ui] Use the location of the most recently imported images as the base folder for the "Import Images" dialog
2023-01-22 18:07:56 +00:00
mugulmd
dd235dcbf1 [ui] clear thumbnail requests when changing viewpoints 2023-01-17 07:11:32 -08:00
mugulmd
ae3184decc [ui] send thumbnail request with timer to avoid deadlocks 2023-01-17 07:00:17 -08:00
mugulmd
0926b20d43 [ui] fallback for dispatching thumbnails in case cellID changed 2023-01-17 02:42:35 -08:00
mugulmd
80174e22af [ui] ImageGallery: faster thumbnail dispatch using caller ID 2023-01-16 06:21:48 -08:00
Candice Bentéjac
5638cf3a75 [ui] "Import Images" dialog: Use opened project's images folder as the base folder
If a project has already been opened before the "Import Images" dialog
is opened for the first time, and if the opened project has imported
images, use the location of these images' folder as the base folder for
the "Import Images" dialog.

If the opened project has no imported images, the base folder will remain
identical to the other dialogs' until images are imported.
2023-01-16 15:10:27 +01:00
mugulmd
a2e6a68811 [ui] ImageDelegate: check URL is not empty instead of OS call 2023-01-16 03:17:56 -08:00
mugulmd
cd955893e3 [ui] ImageGallery: default value for grid view cache buffer 2023-01-10 02:06:00 -08:00
mugulmd
88c85e9496 [ui] thumbnail busy indicator when loading 2023-01-10 00:31:50 -08:00
mugulmd
af2c9c0fd3 [ui] dispatch thumbnail creation signal from grid 2023-01-09 06:21:10 -08:00
mugulmd
60c8e779d5 [ui] create thumbnails asynchronously 2023-01-09 05:52:16 -08:00
mugulmd
ff6358ea07 [ui] new Thumbnail disk cache 2023-01-05 07:01:54 -08:00
Candice Bentéjac
04bd976387 [ui] ImageGallery: fix the DB path in the "Edit Sensor Database" dialog
The output of "cameraInit.attribute("sensorDatabase").value" is the
unresolved ${ALICEVISION_SENSOR_DB} environment variable.

To get the path, the variable needs to be evaluated.
2023-01-05 09:41:47 +01:00
Candice Bentéjac
45bdeba343 [ui] Increase the "cacheBuffer" value of ImageGallery's GridView
The "cacheBuffer" property determines whether delegates are retained
outside the visible area of view. In the case of the ImageGallery,
it determines whether the images that are not currently visible in
the GridView (because we need to scroll up or down to be able to see
them) will remain in the cache or not. The default value is platform-
dependent (320 for Windows) and currently causes any image that is not
directly visible to be lost, even if it was previously loaded when it
appeared in the view: if we scroll up or down, we will necessarily need
to wait for the images to be loaded again.

10000 is an arbitrary value that seems to work correctly for most cases.
2022-12-22 16:09:52 +01:00
Candice Bentéjac
02383c68b3 [ui] Check that objects accessed by QML properties are not null before accessing them
Some QML properties access exposed Python objects that may or may not
be null upon their access. When these objects are accessed while null,
QML issues "TypeError" warnings. These warnings have no functional
impact as QML correctly handles trying to access null objects, but can
spam the logs.

This commit aims at fixing all these warnings by checking that the
Python objects are not null before being accessed.
2022-12-06 11:04:50 +01:00
Loïc Vital
0429accd79 [ui] filter with viewIds only when displaying view ids 2022-11-18 10:35:17 +01:00
Loïc Vital
b829a2d9f4 [ui] tab to focus search bar + click on empty area to loose focus 2022-11-18 10:03:03 +01:00
Loïc Vital
e24310d1a1 [ui] more flexible filtering mechanism + filter with viewIds 2022-11-18 10:03:03 +01:00
Loïc Vital
047b6fb589 [ui] ImageGallery: search bar to filter with filename 2022-11-18 10:03:03 +01:00
Candice Bentéjac
a531caf6fd [ui] ImageGallery: update the Viewer2D correctly when the GridView's item changes
This commit ensures that any change in the ImageGallery's GridView
selection is correctly reflected in the Viewer2D. In particular:
- When a new project file is opened, the first image in the gallery
is now displayed in the 2D viewer, after a correct auto-fit has been
applied
- When an image in the gallery is removed, the adjacent image that
becomes selected is automatically displayed in the 2D viewer
2022-11-17 12:22:51 +01:00
Loïc Vital
91cc786e14 [ui] coherent naming "Image Gallery" across app 2022-10-19 09:50:20 +01:00
Loïc Vital
4e19cf44b9 [ui] update selected view from grid when using keys 2022-10-19 09:50:10 +01:00
Candice Bentéjac
0fb487b098 [ui] ImageGallery: prevent intrinsics table from overlapping with the "Group" label 2022-09-05 09:33:30 +02:00
Candice Bentéjac
e395bc08e5 [ui] ImageGallery: start group index at 1 instead of 0
The first group will not be displayed as "Group 0 / X" anymore,
but rather as "Group 1 / X".
2022-09-02 19:14:15 +02:00
Candice Bentéjac
93a3ad8f16 [ui] Update intrinsics table when switching between groups 2022-08-08 11:58:12 +02:00
Fabien Castan
5829206ba8 [ui] ImageGallery: fix missing function changeCurrentIndex 2022-04-26 17:08:08 +02:00
fabien servant
655dad9959 [camerainit] update parameters to use focal in mm 2022-03-25 11:07:52 +01:00
Fabien Castan
5301104661 [ui] ImageGallery: call makeCurrentItemVisible only once 2021-09-13 10:17:40 +02:00
Fabien Castan
da1f23963a [ui] ImageGallery: fix sort and filtering
Keep a valid index when changing the type of view
2021-09-01 19:06:34 +02:00
Fabien Castan
d3559bd51e [ui] fix image selection in ImageGallery 2021-09-01 14:41:32 +02:00
Nils Landrodie
500dfd96b1 [ui] Change from i++ to ++i 2021-08-27 20:03:24 +02:00
Nils Landrodie
ee910b96c5 [ui] Change buttons default display before reconstruction 2021-08-23 18:44:40 +02:00
Landrodie
56d91bde1a [ui] Change intrinsic structure and key getter for table view 2021-08-23 18:18:29 +02:00
Nils Landrodie
83a404a765 [ui] Add clipping to columns
Add clipping to columns so the text doesn't overflow everywhere

Co-authored-by: Fabien Castan <fabcastan@gmail.com>
2021-08-23 17:52:43 +02:00
Nils Landrodie
4fb719e204 [ui] Update tableview to stop flicking at bounds
Specify boundsMovement property to avoid overshooting with the flicks
2021-08-23 17:52:42 +02:00
Nils Landrodie
0876b9e3d5 [ui] Add vertical scrollbar for high number of intrinsics 2021-08-23 17:52:42 +02:00
Nils Landrodie
eecdcffbc6 [ui] Enable focus change when clicking outside of text inputs 2021-08-23 17:52:42 +02:00
Nils Landrodie
6bb5f84f19 [ui] Clean forgotten debug 2021-08-23 17:52:41 +02:00
Nils Landrodie
6f5b6590af [ui] Adjust column width for serial number 2021-08-23 17:52:41 +02:00
Landrodie
7c0a9666ff [ui] Clean code 2021-08-23 17:52:41 +02:00
Landrodie
b0254de16d [ui] UI adjustements for intrinsic display
* Width of columns is now provided by a column width provider
* Text inputs now cover all the column width
* Text inputs now are right aligned for easier reading/comparing
2021-08-23 17:52:40 +02:00
Nils Landrodie
2eb8783c95 [ui] Change Intrinsic display QML structure 2021-08-17 15:58:14 +02:00
Landrodie
7a8f78f5e1 [ui] Fix combo box height and placeholder display status 2021-08-17 15:58:14 +02:00
Landrodie
713b2f2259 [ui] Add the possibility to dynamically change attribute values 2021-08-17 15:58:14 +02:00
Landrodie
776cbe7884 [ui] Add combo box and check box for specific intrinsics 2021-08-17 15:58:14 +02:00