103 Commits

Author SHA1 Message Date
Alberto Griggio
cf75429648 added set_show_hidden() method to MyFileChooserButton 2017-10-24 11:48:07 +02:00
Alberto Griggio
df8b52f978 implement our own custom FileChooserButton, with the aim of speeding up startup time
See #4140

Compiles fine, but needs testing...
2017-10-24 00:27:55 +02:00
heckflosse
5f97800e69 Reduce number of leakes ui handles per editor instance, #3937 2017-06-29 19:09:40 +02:00
heckflosse
ebbb44c3f5 Cleanup for last commit 2017-06-25 21:42:43 +02:00
Flössie
bc33b51093 IdleRegister cleanups 2017-05-02 18:45:23 +02:00
Ingo Weyrich
3ff2519302 Merge pull request #3816 from Beep6581/cppcheck3
Merged to get more tests. Additional fixes will follow.
2017-04-09 23:58:07 +02:00
heckflosse
92a46e9a3d Merge branch 'idle_harder' into dev 2017-04-09 02:18:09 +02:00
heckflosse
6e55f6bab5 Fixed a lot of issues reported by cppcheck 1.78 2017-04-08 22:41:46 +02:00
Alberto Griggio
27e822fdae fixed more warnings in rtgui (reported by gcc but not clang) 2017-04-01 16:43:32 +02:00
Flössie
6e1f7df2fb Replace g_idle_add_full() with IdleRegister (#3767) 2017-03-30 21:40:09 +02:00
Hombre
c654785ae3 Merge branch 'dev' into rt-cli 2017-03-18 18:17:45 +01:00
Hombre
a25a585673 Checkbox class added to simplify event handling. (issue #3739) 2017-03-16 01:16:37 +01:00
heckflosse
f9a536fd0b new gtk3 version of pixelshift 2017-03-11 22:30:36 +01:00
heckflosse
f226934b57 Pixelshift: Added option to equalize brightness of frames and cleaned gui. 2017-03-11 00:25:49 +01:00
Hombre
fe83cc8134 Merge branch 'dev' into rt-cli 2017-02-14 00:15:23 +01:00
Hombre
a04b3eefba Adding rawtherapee-cli.exe, '-q' (quick start mode) added
Standard rawtherapee.exe now has almost no command line options left.
Use '-h' to see options for each executables.
2017-02-13 23:38:05 +01:00
Flössie
79ff7f5997 Replace all add_idle()s with IdleRegister 2017-02-10 21:22:42 +01:00
Flössie
824ecaed41 Add IdleRegister to deal with destruction while idle func is queued
This adds a little helper class to `guiutils.*` that unregisters
in-flight idle functions queued by `IdleRegister::add()`. It's best
to call `IdleRegister::destroy()` in the destructor of the class
owning the `IdleRegister` instance. Otherwise make sure, it is the
last member which will be deleted first.

`Resize` now makes use of this new facility in `setDimensions()`, which
also fixes #3673.
2017-02-09 20:25:58 +01:00
Hombre
d702156f8a Merge branch 'master' into gtk3 2017-01-02 02:48:45 +01:00
Hombre
23863aceca Printer profile added in Preferences for soft-proofing
The output profiles now retain only 'Display' device class as well as
the Monitor profile - and they both have to have rgb color space, the
printer profile retain only 'Output' device class.

MacOS can use soft-proofing but due to undocumented feature of OSX, and
since Cairo assume that the image data are sRGB, the monitor profile is
forced to 'RT_sRGB'. A warning message replace the combobox for this OS.
2016-12-30 03:59:18 +01:00
Hombre
c7be386c3a Solving issue #3531, assign classes to Gtk::Window and MyWidget
- Curve editor buttons are set to expand by default, but they are set to
shrink as soon as an accompagnying widget is set to expand
- White Balance's method button now has a centered ellipse ("...")
- White Balance's buttons are now aligned on their right
- A "withScrollbar" class is added to MyExpander if the ToolPanel's
vertical scrollbar is visible. This can let you add padding space for
the scrollbar (see #MyExpander.withScrollbar in RT default theme)
- A "maximized" and "fullscreen" class is added to the RTWindow whenever
it change state ; BEWARE: if you maximize the window then make it
fullscreen, Gtk says that the window is in a "maximized & fullscreen"
state, which mean that both class can be added at the same time to the
window.

One Gtk oddity (at least on Windows) is that you can make your window
fullscreen and still drag it around by its header bar... That's not very
practical to click on the unfullscreen button if in Single Editor mode
with vertical Tab.

I also managed to see the window in a Inconified + Maximized state. This
part of Gtk doesn't seem very robust, on Windows at least.
2016-12-20 01:58:37 +01:00
Hombre
a7d4f76364 Merge branch 'gtk3' into gtk3-bugfix 2016-12-13 23:04:25 +01:00
Hombre57
f3f317e5bd Issue #3446: Updated Gtk3.18 theme
Harcoded style has been reintroduced for Gtk < 3.20 only ; a cleanup
will have to be done once Gtk3.18 support will be dropped.
2016-12-06 01:33:03 +01:00
Morgan Hardwood
5ecd50b1cd Merge branch 'master' into gtk3 2016-12-05 12:01:45 +01:00
heckflosse
981a534920 Fixes #3517, build fails when using libcairo 1.15 2016-11-29 13:11:42 +01:00
Hombre
7209f4f1c9 Previous behavior for Profile Panel's combobox size restored
See issue #3300 and #3446.
2016-11-17 20:09:31 +01:00
Hombre
2fcc5b75c8 Solving issue #3497, #3500, #3498 and #3483
For issue #3483, the old behavior is restored, i.e. the minimum width of
the ProfilePanel combobox is the maximum width of its content.

Style updated for the Exif and IPTC sub-tabs
2016-11-09 00:09:52 +01: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
Ingo Weyrich
d14e9adbc2 Merge pull request #3465 from Beep6581/clang-tidy
`clang-tidy` cleanups
2016-10-18 21:53:34 +02:00
Hombre
8f2f4e0870 Enhanced ConnectionBlocker class, now used in ToolBar class 2016-10-16 14:19:59 +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
Morgan Hardwood
0dbea030cb Merge branch 'master' into gtk3-merge-master-b8eb349 2016-10-10 23:07:41 +02:00
Ingo Weyrich
a57ecac9e9 Merge pull request #3452 from Beep6581/cppcheck
merge fixes for a lot of issues reported by Cppcheck
2016-10-09 22:55:31 +02:00
heckflosse
3552fd4161 Cppcheck: Fix issues related to explicit constructors 2016-10-03 00:54:02 +02:00
Hombre
f904bc8f84 First patch of the LockableColorPicker tool.
Still Work In Progress, but can be used without too much hassle.
2016-09-30 01:03:57 +02:00
Adam Reichold
f0611fe9ba Merge branch 'master' into 'gtk3' to fix modal dialogs without a parent 2016-03-28 13:49:56 +02:00
Adam Reichold
4b9bc5be88 Try to fix #3132 by making sure every file chooser dialog is given an appropriate parent window. 2016-03-28 13:32:30 +02:00
Hombre
a54dd81b1a Merge branch 'master' into gtk3 2016-01-11 00:54:25 +01:00
Hombre
8a9af647db Comment removed + file astylized 2016-01-10 16:58:36 +01:00
Hombre
f344a2cee2 Fix the Editor's bottom toolbar, create a new MyProgressBar class to
make it's width stable, and add 2 pixel space between the main action
widgets (progress bar, preferences, full screen)
2016-01-10 01:35:27 +01:00
Adam Reichold
8151e0f5ce Merge branch 'master' into 'gtk3'
Most conflicts seemed to be simple enough. There were a lot of `append_text` to
`append` conversions for `Gtk::ComboBoxText`. The `PopUpCommon` class also saw
a lot of changes with non-trivial conflict resolutions.
2016-01-06 23:56:12 +01:00
Adam Reichold
ff616eb473 Replace the last folder persister and the use of std::auto_ptr by a simple method using a lambda to bind a variable using the selection_changed signal. 2016-01-06 19:53:02 +01:00
Adam Reichold
5fd5d5bece Remove the soft proof button and internal flag as it was decided not to mix this with the output profile handling. 2016-01-01 19:43:09 +01:00
Adam Reichold
22bffabe7f Extend the editor panel to support selection of a monitor profile and rendering intent and extend the preferences to provide a default profile and intent for the editor panel. 2015-12-07 23:22:32 +01:00
Hombre
72acf67304 Issue 2990: workaround for
style->get_background_color(Gtk::STATE_FLAG_SELECTED) which is not
handled properly by Gtk3
2015-11-30 01:26:00 +01:00
Beep6581
a9aa5308b5 Gtk3 theme ready, Gtk2 stuff removed, slim mode removed, RT logo images enhanced. 2015-11-17 02:52:38 +01:00
Hombre
d2fcabea64 The 2 columns of the History list are now of the same width, can't be
resized, and display a tooltip.

The ICM tool has been reworked to avoid loosing space.

The curve's histogram are now displayed.

For Windows users, if you can't build the Gtk3 branch anymore with your
Gcc5.x compiler, try to uncomment line 20-21 of the main CMakeLists.txt.
For some reason, I had to comment that out.
2015-09-17 01:09:02 +02:00