aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/PlatGTK.cxx
AgeCommit message (Collapse)AuthorFilesLines
2018-03-22Feature [feature-requests:#1211]. Use pre-computed table for UTF8BytesOfLead.Zufu Liu1-1/+1
Friendlier treatment of invalid UTF-8. Add tests for UniConversion handling invalid UTF-8. Simplify UTF8Classify tests.
2017-09-11The Scintilla namespace is always active for internal symbols and for the lexerNeil1-6/+0
interfaces ILexer4 and IDocument.
2017-06-12Removed unused functions and methods from Platform.h.Neil1-100/+0
Replaced Platform::Clamp with Sci::clamp but will later change this to std::clamp once on full C++17 compilers. Drop MouseButtonBounce workaround for very early GTK+/Linux.
2017-06-11Implement SCN_AUTOCSELECTIONCHANGE notification.Neil1-9/+31
2017-06-10Require GTK+ 2.24 or later. Removes support for earlier versions.Baldur Karlsson1-33/+0
2017-06-09Use min and max from std instead of own version from platform.Neil1-4/+4
2017-04-22Include <memory> for std::unique_ptr.Neil1-0/+1
2017-04-15Avoid calling virtual functions in constructors and destructors.Neil1-2/+7
2017-04-07Use same parameter names in declarations and definitions.Neil1-6/+6
2017-04-01Standardize on C++ headers, remove headers that aren't needed and add <cstddef>Neil1-5/+5
where it may be needed in the future.
2017-03-07GTK: Fix popup positioning on monitors not positioned at 0,0Colomban Wendling1-20/+14
2017-03-04Use C++11 keyword "override" for methods that override a base class.Neil1-63/+63
2017-01-04Use new simplified API for showing menu on GTK+ 3.22 as old API was deprecated.Neil1-3/+11
2017-01-04Use newer APIs for screen/monitor/display on GTK+ 3.22 as old APIs deprecated.Neil1-7/+35
These are used to ensure popup windows are fully on-screen but after this change, this doesn't always work on GTK+ 3.22 / Wayland.
2017-01-04Fix display of autocompletion lists and calltips on GTK+ 3.22 on Wayland byNeil1-1/+5
setting the owning window by calling gtk_window_set_transient_for.
2016-11-07Remove warning suppressions for a version of Clang from 4 years ago.Neil1-5/+0
2016-10-23Bug [#1874]. GTK: Avoid warnings about unused parametersColomban Wendling1-1/+1
Either remove the parameter name if it is never used, or mark it with G_GNUC_UNUSED when it might be used depending on some preprocessor flags.
2016-09-06GTK: Fix autoc font size on GTK >= 3.21.0Colomban Wendling1-1/+9
GTK 3.21.0 fixed font size handling, leading to properly interpreting pixels and points in CSS declarations. However, as older versions incorrectly handled those, the code has to handle both behaviours. From CSS, GTK < 3.21.0 actually applied the conversion to points, but incorrectly: 10px was used as 10pt, but 10pt was scaled up twice. So, assuming 96 DPI, it leads to: font-size | 3.20.0 | 3.21.0 | ----------|---------|---------| 10px | 13.33px | 10px | 10pt | 17.77px | 13.33px | So, we need to fix the code to accommodate for both (either scaling ourselves, or adapting the unit: I chose the second, simpler, option). See https://git.gnome.org/browse/gtk+/commit/?id=df08fc91bdc1d2e4c866122304fabe4dd298a7de
2016-05-05Remove template adaptor as only g_iconv is used now. Use glib's gsize type as itNeil Hodgson1-8/+8
matches g_iconv exactly. Make character set name buffer dynamically sized.
2016-04-30Move function braces for consistency.Neil Hodgson1-4/+2
2016-04-27GTK: Get border for the exact current style's state on GTK 3Colomban Wendling1-3/+4
GTK 3.20 doesn't seem to like it so much when looking up details of a non-exact current style context state, so use the current one. This is GTK being really picky as in this case we are just missing the `DIR_LTR` flag, which we definitely don't care about, but let's make it happy.
2016-04-27GTK: Fix auto-completion popup sizing code for GTK 3.20Colomban Wendling1-24/+39
GTK 3.20's GtkScrolledWinodw doesn't like having a too small allocation and spews scary assertion failures. Fix that by requesting the real size we'd like instead of hard-coding 1 as small-enough value in our overriding height requisition method. The actual value doesn't really matter so long as it's small enough anyway, as we resize the popup to fit later on. Note: this moves the actual implementation of ListBoxX::GetRowHeight() to the new convenience function treeViewGetRowHeight(), with no changes in implementation.
2016-04-27GTK: Plug a memory leakColomban Wendling1-0/+1
2016-04-27GTK: Fix fetching the frame border width on GTK 3.20Colomban Wendling1-1/+24
GTK 3.20 introduced a sub-node named "border" to the frame, requiring to lookup the border on that sub-node rather than on the frame itself. Unfortunately supporting this requires to be built against GTK 3.20, as it requires API this version introduced. This means that a build against an older version won't be able to get the popup sizing right if running on 3.20. To mitigate this, add reasonable fallback defaults when running 3.20 but built on an earlier version, to try and avoid 2px-scrolling on GTK 3.20's default theme.
2016-04-27GTK: Fix popup font on GTK >= 3.20Colomban Wendling1-1/+1
2016-04-12Font cache removed along with its thread locking and initialisation.Neil Hodgson1-249/+21
Platform-independent caching is available and there is no performance difference after removal.
2016-03-25Since stddef.h is the most basic header, defining size_t, move it first.Neil1-1/+1
2015-11-20Remove line end whitespace.Neil1-1/+1
2015-10-25GTK: Fix autoc popup row height on GTK2 when it changes at runtimeColomban Wendling1-2/+2
Now the popup is cached the row height has to be re-computed when the font changes on GTK2 too. Closes [bugs:1774].
2015-09-27Simplify casting by using static_cast instead of reinterpret_cast, glib macrosNeil1-8/+8
for passing integer values to callbacks, and avoiding casts by making functions follow prototypes exactly.
2015-09-05Remove #if sections which are not required for GTK+ 2.18.nyamatongwe1-17/+2
2015-09-05With the minimum GTK+ version now 2.18, remove #if conditions required for oldernyamatongwe1-7/+1
versions of GTK+.
2015-09-03Removing support for old GTK+ versions. Minimum GTK+ is 2.18 with glib 2.22.Neil1-6/+1
2015-08-26Removed setting list colours on GTK+ 3.16+ as no longer appears needed.Neil1-1/+5
2015-08-26Use current CSS theming calls instead of deprecated gtk_widget_override_font.Neil1-2/+42
2015-08-26On GTK+ 3.x, fix height of lines in autocompletion lists to match the font.Neil1-1/+5
2015-08-16On GTK+, support code page 866 with SC_CHARSET_OEM866.Serg Stetsuk1-0/+2
2015-06-05Simplified retrieval of correct display for widget and ensure works on older ↵nyamatongwe1-10/+1
versions of GTK+.
2015-06-04Restored compatibility with GTK+ 2.18 for cursor calls.nyamatongwe1-0/+4
2015-06-02GTK: Fix runtime completion popup warningColomban Wendling1-1/+2
GtkScrolledWindow in GTK 3.16 might have a minimum and natural height of 0 if GTK_OVERLAY_SCROLLING is enabled (which is the default), so we need to fix our overridden minimal height to never be greater than the natural height. Do that by only changing the minimal height if it is greater than what we want. I don't know why we didn't use to set 0 here, but it might be that a height of 0 caused problems on older GTK versions, so keep 1 to be sure.
2015-05-29As of GTK+ 3.16, gdk_cursor_new is deprecated and has been replaced withNeil1-7/+14
gdk_cursor_new_for_display.
2015-05-22GTK: Workaround ABI issue with Windows GTK2 bundle and GCC > 3Colomban Wendling1-1/+16
GtkScrolledWindow contains a bitfield, and GCC 3.4 and 4.8 don't agree on the size of the structure (regardless of -mms-bitfields): - GCC 3.4 has sizeof(GtkScrolledWindow)=88 - GCC 4.8 has sizeof(GtkScrolledWindow)=84 As Windows GTK2 bundle is built with GCC 3, it requires types derived from GtkScrolledWindow to be at least 88 bytes, which means we need to add some fake padding to fill in the extra 4 bytes. There is however no other issue with the layout difference as we never access any GtkScrolledWindow fields ourselves. See http://lists.geany.org/pipermail/devel/2015-April/thread.html#9379
2015-05-13Bug [#1703]. Fix bug when drawing text margins in buffered mode which would useNeil1-0/+1
default encoding instead of chosen encoding.
2014-10-19Avoid warning about assiging pointer to integer.Neil1-2/+2
2014-09-24GTK: Fix auto-completion popup row height computation on GTK 3.14Colomban Wendling1-0/+9
GTK 3.14 changed how the cell padding is calculated, and I can't seem to understand the new logic yet. So, use the correct API for computing the row size, which unfortunately doesn't work for us on GTK2, but otherwise is a better way to go anyway. Tested with GTK 3.2, 3.8, 3.10, 3.12 and 3.14.
2014-09-16GTK: Don't hardcode auto-completion popup frame border widthColomban Wendling1-3/+6
2014-09-12GTK: Fix auto-completion popup sizing on some themesColomban Wendling1-11/+11
2014-09-12GTK: Allow the auto-completion popup to be as small as neededColomban Wendling1-13/+32
2014-09-11GTK: Fix auto-completion popup width to better fit contentsColomban Wendling1-2/+23
2014-09-11GTK: Fix auto-completion popup height to better fit contentsColomban Wendling1-22/+30