| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit implements the needed machinery for GtkContainer
to build it's composite content from GtkBuilder XML and
adds the following API:
o gtk_container_class_set_template_from_resource() and
gtk_container_class_set_template_from_static_string()
APIs to associate GtkBuilder XML to a given GtkContainer subclass
o gtk_container_class_automate_child()
API to declare an object built by GtkBuilder to be associated
with an instance structure offset and automatically set.
o gtk_container_get_automated_child()
API for bindings to fetch a child declared to be automated by
gtk_container_class_automate_child(), for the case where bindings
do not generate GObjects under the hood and cannot use structure
offsets to resolve composite object pointers.
o gtk_container_class_declare_signal_callback[s]()
Declare static functions to be used in signal callbacks from
a given class's template XML
o gtk_container_class_set_signal_connect_func()
API for bindings to override the signal connection machinery
for a given GtkContainer derived class.
|
|
|
|
|
|
|
|
|
|
| |
This adds the definition of the <template> tag with some documentation
on the variant of the format.
gtk_builder_extend_with_template() is to be used while GtkContainer
builds from composite templates but can be used manually. A couple
of error codes are also added to handle a few new possible failure
cases.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In preperation for composite objects, for better encapsulation
the following APIs are added to allow handling of signals declared
in the XML with callbacks declared statically.
o gtk_builder_add_callback_symbol[s]()
Adds a symbol to the internal symbol hash
o gtk_builder_lookup_symbol()
Looks up a symbol, exposed in case added symbols are used
in conjunction with gtk_builder_connect_signals_full()
The default implementation of gtk_builder_connect_signals() now
does not have a strong requirement on GModule (or a strong requirement
on symbols being declared in the global namespace). Instead GModule
is used as a fallback in the case that symbols are not declared
explicitly.
|
| |
|
| |
|
| |
|
|
|
|
| |
As seen in GdHeaderBar.
|
|
|
|
|
|
|
|
|
| |
The code was always adding a label widget as a child, but
then skipping over it in forall if a custom_title was present.
This confuses internal logic of GTK+ which assumes that it
can iterate over the entire widget hierarchy with forall,
to maintain state. Fix this by destroying the label when
a custom_title is set, and recreating it as needed.
|
|
|
|
|
| |
This adds a way to toggle between custom and non-custom titles
in testheaderbar, which is currently broken.
|
|
|
|
|
| |
Should have a finalize function, if there's strings to free.
Also avoid some pointless extra ref on custom title widgets.
|
| |
|
|
|
|
|
| |
Use separate fields for saving the window dimensions prior to fullscreening
and maximisation. Then use those fields to restore the window dimensions from.
|
|
|
|
|
|
|
|
|
|
|
| |
The function update_window_buttons shows or hides the title header after it
has finished updating the visibility of the various buttons. Unfortunately
this
conflicted with the hiding of the title done when going fullscreen.
This solves the problem and fixes the rendering of fullscreen applications by
using update_window_buttons to control the visibility of the box in the
fullscreen case.
|
|
|
|
|
|
|
|
| |
This allows the buttons in the decorations to maximise the window.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=695945
Signed-off-by: Rob Bradford <rob@linux.intel.com>
|
|
|
|
|
|
|
| |
Requests are not limited in size by BroadwayRequest, as
BroadwayRequestTranslation can be of variable size. No need
to copy the request anymore though, because requests are aligned
now.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit 30a1a79322f4097ce47c2a08678479d00cc54b69.
This turns out to be unnecessary when you can set the titlebar
on the window and let GtkWindow handle the events. As a benefit,
we get the window menu on custom titlebars for free.
|
|
|
|
|
| |
This demonstrates how custom titlebars work both with
and without csd.
|
| |
|
|
|
|
|
|
|
|
|
| |
A new function that sets a custom titlebar on a GtkWindow.
With client-side decorations, the custom titlebar simply
replaces the one that GtkWindow would otherwise create itself.
With traditional decorations, we tell the window manager
to just decorate the window with a border. This works ok
at least with metacity and mutter.
|
|
|
|
| |
Get the allocation once, at the beginning.
|
|
|
|
|
| |
GtkHeaderBar can do its own drawing, no need to do this
in gtk_window_draw.
|
| |
|
|
|
|
|
| |
We don't want to create titlebar widgets if the window
is not decorated anyway.
|
|
|
|
|
|
|
|
| |
With recent changes in attach semantics, we always need to attach before
committing. Without this changes to the window contents to not get reflected
in the content of the surface.
Signed-off-by: Rob Bradford <rob@linux.intel.com>
|
|
|
|
| |
Signed-off-by: Rob Bradford <rob@linux.intel.com>
|
|
|
|
|
|
| |
This was left over from the work done in commit: d4a9863
Signed-off-by: Rob Bradford <rob@linux.intel.com>
|
|
|
|
|
|
|
| |
We currently use this information to display the title
string in the window list of the desktop shell.
Signed-off-by: Rob Bradford <rob@linux.intel.com>
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The debug builds must link to the Debug version of the CRT, otherwise
trouble will arise from mixing different CRTs into the resulting binary.
|
| |
|
|
|
|
|
| |
Add a testcase for GtkHeaderBar that shows how it can be used
without client-side decorations.
|
|
|
|
|
| |
We use the same window-dragging style property here to enable
this as for menubars and toolbars.
|
|
|
|
|
|
| |
For csd, we were subtracting the border width one too many
times from the child height, causing clipped off content e.g.
in the 'Properties' window in testgtk.
|
| |
|
| |
|
|
|
|
| |
Recommending gtkparasite is more useful nowadays.
|
| |
|
|
|
|
|
| |
This is what the property declaration says, after all.
https://bugzilla.gnome.org/show_bug.cgi?id=695948
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To clear the tooltip one is to set the tooltip to NULL. Though
the GtkEntryAccessible expect this tooltip to not be NULL in
gtk_entry_accessible_notify_gtk (already handling this case
in its _init).
Fixes:
** (epiphany:23914): CRITICAL **: atk_object_set_description: assertion
`description != NULL' failed
when epiphany g_object_set the entry icon tooltip to NULL (clear the
tooltip) in its find bar.
https://bugzilla.gnome.org/show_bug.cgi?id=695375
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To extract the mnemonic key value, the string must contain the
underscore. But when the "gtk-auto-mnemonics" setting is true and when
the Alt key is not pressed, the underscore must not be displayed. The
problem was that the 'new_str' variable was used for both purposes:
extract the text to display, and extract the accelerator character.
When the underscore must not be visible, the underscores were removed
from the 'new_str' variable before extracting the accelerator character.
Now there are two strings, one for each purpose.
https://bugzilla.gnome.org/show_bug.cgi?id=674759
|
| |
|
| |
|
|
|
|
|
| |
This lets themes render a window frame in the inner border,
and a shadow or nothing in the outer border.
|
|
|
|
|
|
|
|
| |
For now, nothing changes, we're using the sum of inner and
outer border everywhere.
In the future, we will make the inner border the visible
window frame, and the outer border the shadow/resize border.
|
|
|
|
| |
Dragging windows from the border is not useful when maximized.
|
|
|
|
|
| |
The menu is triggered by right-click on the titlebar
or with the menu key.
|