52 Commits

Author SHA1 Message Date
Daniel Gao
711f274403 Get rid of relative include paths
* Use target_include_directories to specify include paths
* Specify project root (parent of rtgui and rtengine) as include path
* Replace relative includes with normal includes
2024-11-16 17:20:02 -05:00
Pandagrapher
89d2bdce5b Initial commit for real hidpi support
Note: This commit has only been tested on MacOS

Changes:
- Icons now use the native hidpi support from Gtk (through Icon Theme)
- Icons are now directly generated from scalable file (i.e. SVG file)
- Widget sizes are scaled based on DPI and scale factor
- Font size is scaled based on DPI and scale factor
2022-08-19 16:47:28 +02:00
Lawrence Lee
77ea6d92cb Pin inspector whenever scrolling or zooming 2021-05-09 12:31:26 -07:00
Lawrence Lee
6535cb4a94 Make inspector never upscale in fit-to-window mode
When zoomed completely out, don't upscale images.
2021-05-09 12:18:06 -07:00
Lawrence Lee
36cb32b31b Make inspector window size consistent 2021-05-08 11:48:18 -07:00
Lawrence Lee
b2988ddbb3 Avoid reopening inspector window when being opened 2021-05-07 22:26:28 -07:00
Lawrence Lee
9495c049c4 Fix inspector not opening full-screen at first 2021-05-06 21:39:01 -07:00
Lawrence Lee
70d30a5050 Fix crash after pressing f key in file browser
Check that the inspector window exists before trying to close it.
2021-05-02 15:57:34 -07:00
Lawrence Lee
bce88478c4 Fix inspector window rendering with device scaling 2021-05-02 15:50:55 -07:00
Lawrence Lee
de9403f9fe Ignore key down repeat events in inspector window
Ignore key press events that happen when a key is held down.
2021-05-02 12:52:15 -07:00
Lawrence Lee
e25cb3fde0 Fix inspector window panning speed
Consistently use integers for mouse movement and compensate for image
scale.
2021-05-01 15:52:45 -07:00
Lawrence Lee
5decec5405 Fix inspector window zoom centering
Use floating point coordinates instead of integers to avoid rounding
errors.
2021-05-01 15:52:13 -07:00
Lawrence Lee
900af7aeb7 Remove drawn background in inspector window
Add "InspectorWindow" CSS ID so that the background color can be changed
through CSS.
2021-04-25 18:11:47 -07:00
Lawrence Lee
d4bceb5c06 Pin inspector window if opened with context menu 2021-04-25 17:27:57 -07:00
Lawrence Lee
67e18b5c53 Fix inspector window sometimes not hiding
When the f shortcut is quickly pressed, the inspector window will
sometimes open and remain open even though it should automatically
close. This commit ensures the window closes by capturing the f key
release event from the main window in addition to the inspector window.
2021-04-25 17:05:02 -07:00
Lawrence Lee
61aba8ad08 Set inspector window title from language files 2021-04-25 15:48:29 -07:00
rfranke
e63b800864 Re-add inspector tab as an option (#5867)
- add option "inspectorWindow" to switch from tab to fullscreen view
- add option "zoomOnScroll" to configure scroll device for zoom or pan
- add both options to preferences
- filepanel creates tab if not inspectorWindow
- inspector adapts to settings inspectorWindow and zoomOnScroll
- filebrowser shows context menu item for inspector only if inspectorWindow
2020-08-11 18:27:50 +02:00
rfranke
947f3dca00 Toggle fullscreen status of inspector window with F11 (#5867)
Moreover add two null pointer checks (thanks for review @Lawrence37).
2020-08-09 17:17:15 +02:00
rfranke
691523d8dd Let inspector window zoom on scroll wheel events (#5867)
A scroll wheel should emit GDK_SCROLL_UP/DOWN/LEFT_RIGHT.
The ALT key is left as backup in case a scroll wheel emits GDK_SCROLL_SMOOTH
that results in panning (used with trackpads).
2020-08-04 18:39:01 +02:00
rfranke
e82c787369 Implement panning in inspector window with mouse drag (#5867) 2020-08-04 18:25:44 +02:00
rfranke
affa336680 Delay update of inspector window until it is visible (#5867)
This reduces CPU load if the inspector window is not used.
2020-08-04 12:24:02 +02:00
rfranke
38c898884d Change direction and center when zooming inspector with scroll wheel 2020-01-23 07:15:29 +01:00
rfranke
134aa407c0 Enhance inspector window with zooming
- support zoom gesture and Alt scroll
2020-01-19 23:54:01 +01:00
rfranke
a064a225e0 Support more scroll devices for inspector window
- introduce step increment for non-mac
- don't close pinned window on button press anymore
2020-01-12 20:55:15 +01:00
rfranke
6604ab1b7c Enhance inspector window with scrolling and pinning
- 2D scrolling during 1:1 view (tested with mac trackpad)
- click to pin inspector window
- another click or ESC to hide inspector window
- 'z' or 'F' to switch to 1:1 view, 'f' to switch to scaled view
2020-01-04 18:35:15 +01:00
rfranke
3deff849ef Hide inspector window during initialization, thanks to @heckflosse 2020-01-03 16:46:00 +01:00
rfranke
c4e21438a1 Open inspector fullscreen and exploit monitor resolution, see #1474, #5591
- filecatalog.cc: add shortcuts
    'f' for image on full screen
    'Shift' 'f' for 100% crop on full screen
    (synchronization with mouse move as before with dual monitors)
- filepanel.cc: don't create inspector tab
- inspector.cc, inspector.h:
    create separate window for inspector
    scale image if requested
    exploit device scaling for full monitor resolution under macOS
2020-01-03 10:37:22 +01:00
Ingo Weyrich
e5258e6f60 reduce rtgui/inspector.h dependencies 2019-11-08 20:22:18 +01:00
Ingo Weyrich
cac2eb53ef Further reduction of include dependencies 2019-10-31 20:41:08 +01:00
Ingo Weyrich
6935faa258 Further cleanup of include dependencies 2019-10-30 22:12:06 +01:00
Ingo Weyrich
ba8dda1836 Further cleanup of include dependencies 2019-10-30 16:38:02 +01:00
Morgan Hardwood
60b2196bce Updated gnu.org links to use HTTPS 2019-09-10 12:34:57 +02:00
Ingo Weyrich
4101102ddf cppcheck: further fixes 2019-07-31 20:02:35 +02:00
Ingo Weyrich
cbb3f05b7e use empty() instead of comparison with an empty string 2019-07-22 13:49:08 +02:00
Hombre
97824da6de Histogram and Navigator now handle Hi-DPI.
+ widgets are now sized depending on Hi-DPI
see issue #3547
2019-01-04 15:32:35 +01:00
Alberto Griggio
91f14e0146 added option 'InspectorDelay' to delay generation of inspector previews 2018-02-09 22:20:55 +01:00
Hombre57
f23be9345c Add multi-frame handling.
- Exif of all frames are displayed in the Editor's Exif tab (without
separator)
- isHDR and isPixelShift is added to the data files stored in cache
- In the Editor panel, the QuickInfo frame display the HDR and
PixelShift information, as well as the number of frame and bit-depth for
HDR image
- the number of frame is provided by dcraw. If not set, it is provided
by the Exif's main IFD count
- the PixelShift information (for Pentax as of now) is provided by
looking at the Exif informations
- the HDR information is provided by the Exif information of the first
frame for Pentax raw files, or by the bitspersample, sampleformat and
compression tags for other files

TODO: add icons to the thumbnails to tag HDR and PixelShift files.
2017-08-08 23:42:05 +02:00
heckflosse
97e558a040 Fixed some coverity issues 2017-06-12 17:54:34 +02:00
heckflosse
6e55f6bab5 Fixed a lot of issues reported by cppcheck 1.78 2017-04-08 22:41:46 +02:00
Hombre
965cadb52e New batch of update for issue 3446
This commit include :
- cleanup rtgui/retinex.cc file (constructor only) and switched to
Gtk::Grid (the new standard) instead of Gtk::Box. This however doesn't
solve the issue of the Transmission curves in the Retinex tool, with
wrong resize of the Frame when folding/unfolding the curves.
- better alignment of the Histogram panel now with 4px of padding on the
left and right side
- Threshold selector now use the Scale's Trough style to draw its box
and sliders
- Curve's background are darker and restricted to the curve diagram
- Diagonal and Flat curves has been converted to Gtk::Grid as well
- A special color is now used for unsensitive Threshold selector and
Sclaes widgets
- Gap around the main Window has been removed on windows to circumvent a
bug in Gtk3, but the window can now only be maximized (usual use case)
or resized vertically by the top border only.
- Buttons at the bottom of the Editor panel has now the same height
2016-11-01 20:39:41 +01:00
Hombre
e4e474ca8a Merge branch 'gtk3' into gtk3-bugfix 2016-10-28 23:48:22 +02:00
heckflosse
b16ef8d1f5 Merge master into gtk3 2016-10-28 17:59:47 +02:00
Hombre
f6a9e13297 New batch of Theme bugfix, see issue #3446 (still WIP) 2016-10-20 22:38:37 +02:00
Flössie
0731975ff0 Apply modernize-use-nullptr
Setup:
- `mkdir tidy; cd tidy`
- `cmake .. -DCMAKE_BUILD_TYPE=debug -DPROC_TARGET_NUMBER=1 -DCACHE_NAME_SUFFIX=4 -DBINDIR=. -DDATADIR=. -DBUILD_BUNDLE=ON -DWITH_LTO=OFF -DOPTION_OMP=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON`
- `cd ..`
- `find -name '*.cc' -exec clang-tidy-3.8 -header-filter=.* -p=tidy -fix-errors -checks=modernize-use-nullptr {} \;`
2016-10-12 17:48:40 +02:00
Adam Reichold
a04c7706db Merge branch 'master' into 'gtk3' 2016-03-05 13:11:00 +01:00
Adam Reichold
a2eea7c265 Finally fully remove the safegtk module. 2016-02-21 10:26:11 +01:00
Hombre
5a9531b353 Merge branch 'master' into gtk3 2015-08-20 23:46:29 +02:00
Hombre
c351be41b8 Add some new features to the On Preview Objects mechanism 2015-08-20 02:33:46 +02:00
Morgan Hardwood
56a0805bc7 Gtk3 by Hombre, issue 2807 2015-08-12 16:07:19 +02:00
DrSlony
0e0cfb9b25 Formatted all .cc and .h code in rtengine, rtexif and rtgui using astyle 2015-08-11 11:55:03 +02:00