Commit Graph

92 Commits

Author SHA1 Message Date
Vincent Sanders
55260cc9a0 Ensure gtk windows have a default favicon at creation.
This ensures newly created gtk gui windows have a default favicon
set. This is necessary because new tab creation displays the new
windows contents before an icon has been set and the icon will not be
changed from the previously viewed tabs icon.
2015-06-30 12:09:45 +01:00
Vincent Sanders
8ef292b9ca Change GTK UI builder handling to use resource API
GTK UI builder resources have till now been exclusively stored on disc
requiring netsurf to ship numerous additional resource files. This
requires going to disc every time a UI action is performed which can
become a lot of unwanted file handling.

GLib/GTK has moved towards GResource handling for such resources
instead. It now seems that migrating to this style of usage is
expected and indeed the only portable way to include pixbufs.

This introduces an API to hide the various implementation details of
how resources are handled from the rest of the codebase.
2015-06-17 21:35:40 +01:00
Vincent Sanders
c4d5393a97 move gtk menu cursor creation into separate resourec handling module
The gtk resource handling must be changed for GTK3 as creating from
inline is depricated. This is the first step to splitting out the
support.
2015-06-04 22:43:11 +01:00
Vincent Sanders
c105738fa3 Change LOG() macro to be varadic
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.

The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.

A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Vincent Sanders
a098626ff1 Fix warnings about using integer absolute operations on floating point values 2015-05-21 13:04:29 +01:00
Vincent Sanders
a29e9589f6 Change how GDK image resources are compiled in.
The compiled in image resources were being created as a structure in a
generated c source file. The generation of this file caused constness
warning as a guint8 * was initialised from a const char array.

This changes the generation and use of these compiled in resources to
use the raw inline form as suggested by the documentation removing the
const warning.
2015-05-20 16:43:48 +01:00
Vincent Sanders
4133154215 fix documentation errors in gtk introduced by recent updates. 2015-04-12 21:42:33 +01:00
Vincent Sanders
f3158f79b6 remove usage of deprecated gtk alignment interface 2015-04-11 22:32:08 +01:00
Vincent Sanders
5a14a74ab1 Update gtk compatability header to cope with deprication of stock icon interface 2015-04-08 22:21:30 +01:00
Vincent Sanders
79e501075a make the form select menu API smaller.
By hiding all but the form selection menu option structure from code
outside of render this reduces the API to the absolute minimum to
support this feature.
2014-11-13 21:52:08 +00:00
Vincent Sanders
5562c9a553 Continue doxygen error cleanup. 2014-11-08 22:08:29 +00:00
Vincent Sanders
ad343eccb1 remove unecessary utils/types.h
This cleans up this header and moves the functionality into more
useful places while reducing the include complexity but only pulling
in whats required.
2014-11-02 20:10:32 +00:00
Michael Drake
94f32b8369 Move create_form_select_menu to window gui table. 2014-10-24 20:45:21 +01:00
Vincent Sanders
f97c0109a6 Update gtk frontend to cope with split operations table headers 2014-10-16 22:33:44 +01:00
Vincent Sanders
55669387ff clean up gtk scaffolding interface, remove lots of cruft and globals 2014-07-27 18:07:00 +01:00
Vincent Sanders
06a1d75d52 stop gtk about dialog forcing navigation of existing browsing contexts 2014-07-27 18:07:00 +01:00
Vincent Sanders
5ce4f11eac add link context menu to gtk and add link copying and bookmarking 2014-07-07 23:29:06 +01:00
Vincent Sanders
3a9fa29ee5 try and improve usage of browser window internals 2014-07-06 18:34:34 +01:00
Vincent Sanders
18aefabd20 change reformat to be driven from the scheduler like redraw 2014-07-01 09:27:20 +01:00
Michael Drake
97c12b975c Add 1px to caret height. 2014-03-27 22:05:35 +00:00
Achal-Aggarwal
7bcefbf72d Fix caret cropping using clip rectangle. 2014-03-21 22:57:41 +05:30
John-Mark Bell
b928095652 GTK: add some support for input methods.
We do not currently support pre-edit texts, or
retrieving/modifying text surrounding the caret.
This does, at least, finally allow the use of
dead keys during text input, but probably is
insufficient for useful input of CJKV &c.
2014-02-17 00:21:49 +00:00
Michael Drake
ea79e85fcd Clean up gui_window creation API. 2014-02-09 13:07:39 +00:00
Michael Drake
ec7a02e550 Use get_scale function instead of derefing the bw. 2014-02-08 16:21:46 +00:00
Michael Drake
a505ea49df Use browser_window_get_extents function. 2014-02-08 16:05:58 +00:00
Michael Drake
3697f543d6 Use browser_window_has_content. 2014-02-08 15:33:39 +00:00
Michael Drake
72b5bc85f2 Remove pointless variable. 2014-02-08 15:18:46 +00:00
Vincent Sanders
00bdf39dc2 remove unnecessary includes 2014-02-01 13:06:51 +00:00
Vincent Sanders
bd065d4a43 split browser gui operations up 2014-01-15 19:37:05 +00:00
Vincent Sanders
d18c8ed452 move teh final optional window operations into the table 2014-01-13 22:54:19 +00:00
Vincent Sanders
e82d83f184 move four more optional window operations to table 2014-01-13 14:51:27 +00:00
Vincent Sanders
d70e371cd9 move two more mandantory window operations to table 2014-01-13 11:38:35 +00:00
Vincent Sanders
7227c29bba move window scroll getter and setter into operations table 2014-01-13 01:08:15 +00:00
Vincent Sanders
5a962586fb move mandantory window update and redraw operations into table 2014-01-12 23:50:54 +00:00
Vincent Sanders
4b49b4ac77 move more optional window operations into table including removing unused hide_pointer operation altogether 2014-01-12 22:55:26 +00:00
Vincent Sanders
b7736bae2f split gui operations into core and window and move more operations into tables 2014-01-12 17:07:34 +00:00
Vincent Sanders
c8496df3df move window creation and destruction into table 2014-01-11 22:34:12 +00:00
Rob Kendrick
550c8cd73c Change gui_file_gadget_interface to pass gui_window not browser_window, add GTK implementation that of course does not work. 2014-01-05 16:45:32 +00:00
Vincent Sanders
41bda017d1 fix error path resource handling in gtk browser window creation (coverity 1109888) 2013-11-03 16:30:34 +00:00
Vincent Sanders
2f280f16eb completely rework scaffolding window destruction using gtkwidget destroy signals 2013-06-28 12:13:02 +01:00
Vincent Sanders
3d7f79683c add new tab tab 2013-06-27 16:42:08 +01:00
Vincent Sanders
59dc293156 fix status/toolbar bottom split position and setting user option in gtk 2013-06-25 19:01:41 +01:00
Vincent Sanders
63d7247a9c fix mismatched option name and variable names
block_ads should be block_advertisments to match option name
toolbar_status_width should be toolbar_status_size to match option name
2013-05-28 14:16:11 +01:00
Vincent Sanders
ee6e6eec05 move options include 2013-05-28 14:16:10 +01:00
Vincent Sanders
e2957762ba remove extraneous debug 2013-05-23 12:07:08 +01:00
Michael Drake
631265ef6b Front ends have no reason to include desktop/selection.h now. 2013-05-10 12:16:05 +01:00
Michael Drake
9644d0594c Remove struct selection from gui_drag_save_selection, so gui.h doesn't need it now. 2013-05-10 11:54:26 +01:00
Vincent Sanders
85030ea2de Fix mouse wheel scrolling on gtk3 by implementing the smooth scroll direction
Fix mouse wheel scrolling on gtk2 by setting a reasonable default step
2013-05-04 19:42:01 +01:00
Vincent Sanders
ad74fa4d6f fix scrolling on gtk3 2013-04-17 14:16:45 +01:00
Vincent Sanders
d6f9ae3793 attach scrollbar and layout to the same adjustment so it need not be done in code 2013-04-17 12:02:53 +01:00