Commit Graph

19322 Commits

Author SHA1 Message Date
Matthias Clasen
dc073b8020 Make window icons work in GtkHeaderBar 2013-12-13 01:02:36 -05:00
Ryan Lortie
04897e5b09 gdk: add gdk_window_set_shadow_width()
And deprecate the X11-specific version of it.

We call this new API _set_shadow_width() and not _set_frame_extents()
because we already have a gdk_window_get_frame_extents() with a
different meaning and different type of value.

https://bugzilla.gnome.org/show_bug.cgi?id=720374
2013-12-12 23:53:47 -05:00
Jasper St. Pierre
ec61f290dc headerbar: Respect the show-close-button property 2013-12-12 21:55:06 -05:00
Jasper St. Pierre
01f5ff765b window: Update decorations when updating state
This fixes the maximize button not updating...
2013-12-12 21:55:02 -05:00
Jasper St. Pierre
d9f92424b2 headerbar: Support all kinds of CSD decorations
Move the gtkwindow.c CSD code into GtkHeaderBar, and make it triggerable
by the show-close-button property, and remove shows-fallback-app-menu.

https://bugzilla.gnome.org/show_bug.cgi?id=720233
2013-12-12 19:30:59 -05:00
Matthias Clasen
d8401c5f0a GtkHeaderBar: treat "" as 'no subtitle'
This is one of the few cases where it makes some sense to blur
the line between and empty string and NULL: without this, it is
hard to reset the subtitle e.g. from a builder file. And we
have the has-subtitle property now to enforce subtitle size
allocation independently.
2013-12-12 19:29:52 -05:00
Volker Sobek
70eb35d569 GtkFileChooser: Don't fill location_entry if we just populated the file list
Only fill the location entry with the file name of the tree view's
selected file when the selection was done by the user.

When the file chooser's action is GTK_FILE_CHOOSER_ACTION_OPEN, it
selects the first file in the tree view once loading has finished. For
this case we don't want it to insert the file name in the location
entry, as it hinders efficient navigation using the location entry. To
achieve this, use a priv flag to keep track of whether the
selection-changed signal was caused by the file chooser itself.

https://bugzilla.gnome.org/show_bug.cgi?id=386569
2013-12-12 17:42:10 -06:00
Volker Sobek
06091ed457 GtkFileChooserDefault: Remove unused struct field
The field changing_folder is no longer used anywhere.

https://bugzilla.gnome.org/show_bug.cgi?id=720293
2013-12-12 01:33:37 +01:00
Jasper St. Pierre
37baeed66e headerbar: Remove unused private API
Don't remove gtkheaderbarprivate.h, even though it's empty,
since we'll add more to it soon.

https://bugzilla.gnome.org/show_bug.cgi?id=720233
2013-12-11 19:28:30 -05:00
Jehan
57f59010b8 Gettext comment for "default:LTR" must be before the string
https://bugzilla.gnome.org/show_bug.cgi?id=720096
2013-12-10 23:31:47 -05:00
Matthias Clasen
8596a34b8b Simplify a check
Whenever titlebar is set, title_box is pointing to the
same widget, so we can just always use title_box here.
Pointed out by Jasper St. Pierre.
2013-12-10 23:19:36 -05:00
Matthias Clasen
50a206223f Trivial typo fix 2013-12-10 23:03:12 -05:00
Matthias Clasen
05d34f9a5b Use ::has-subtitle when constructing CSD titlebars
GtkWindow was constructing a custom title label to
avoid the size reservation for a subtitle. This is
now easier with the ::has-subtitle property.
2013-12-10 23:03:12 -05:00
Matthias Clasen
1a6a86a867 GtkHeaderBar: Add a ::has-subtitle property
It is a fairly common case to just want a title, and not
reserve extra space for a subtitle. This is much easier
to get right by setting a boolean property than by
constructing a custom title widget.
2013-12-10 23:03:12 -05:00
Matthias Clasen
da08592ea1 Update headerbar title from window title
This removes a possible source of confusion in our API.
The title is now synchronized both ways between the window
and the headerbar.

https://bugzilla.gnome.org/show_bug.cgi?id=720067
2013-12-10 20:45:42 -05:00
Matthias Clasen
5918a4dae8 Sync the window title initially
When setting a custom titlebar that happens to be a GtkHeaderBar,
we connect to notify::title to pick up title changes on the headerbar,
but we forgot to sync the title initially. Fix that.
2013-12-10 18:44:26 -05:00
Matthias Clasen
f08df56211 Disconnect signal handlers
We connect to notify::title on app-provided titlebars, but
we forgot to disconnect the signal handler when unsetting
the titlebar.
2013-12-10 18:21:58 -05:00
Matthias Clasen
73bd03c9ed Add a function to determine the text direction
This function can be used in the rare cases where the locale
has to be changed after gtk_init(). Based on a patch
by Jehan <jehan@girinstud.io>.

https://bugzilla.gnome.org/show_bug.cgi?id=720096
2013-12-10 17:34:23 -05:00
Benjamin Otte
b6f9ce8a73 button: Allow :hover on insensitive buttons
You can still hover a mouse on insensitive elements; it's up to the
theme to disable that.
This is in line with the HTML/CSS interpretation of :hover.

Insensitive elements still cannot be clicked.

https://bugzilla.gnome.org/show_bug.cgi?id=719486
2013-12-07 01:39:38 +01:00
Benjamin Otte
860138b302 filechooser: Don't crash if invalid thumbnails exist
Failing to load a thumbnail returns a NULL pixbuf. Since the hidpi
patches this wasn't checked when creating the surface. Result: assertion
failure.

https://bugzilla.gnome.org/show_bug.cgi?id=719977
2013-12-07 01:39:38 +01:00
Torsten Schönfeld
904bc27250 gtkradio*: add (allow-none) annotations were appropriate
https://bugzilla.gnome.org/show_bug.cgi?id=679563
2013-12-06 23:57:16 +01:00
Matthias Clasen
8d3a91d6ba docs: Add a missing Since: tag 2013-12-05 09:08:35 -05:00
Lars Uebernickel
d736e8baf9 GtkMenuItem: only set 'separator' class on the separator line
To make the separator line distinguishable from the widget's normal
border from css.

https://bugzilla.gnome.org/show_bug.cgi?id=719861
2013-12-05 12:35:12 +01:00
Jasper St. Pierre
96d2eeb6ba recentchooserdefault: Clean up load_id when we have nothing left to do
Returning FALSE from a GSourceFunc will implicitly remove it, so we need
to do this in order to make the new g_source_remove happy.
2013-12-04 19:29:06 -05:00
Lionel Landwerlin
45216c4f60 window: enable client side decorations deactivation with wayland backend 2013-12-04 17:24:48 +00:00
Benjamin Otte
f765bb8803 treeview: Don't draw a background for the bin window
The bin window's background would have to be drawn in the bin window's
size and inside the pixel cache draw function to not cause transparency
issues.

But because it's unnecessary as the view window draws the same
background, we just skip it.

https://bugzilla.gnome.org/show_bug.cgi?id=709027
2013-12-04 10:40:03 +01:00
William Jon McCann
a34702a61f file-chooser: add a sort-directories-first gsetting
Add an option to sort folders before files in order to be
more constistent with the file manager.
2013-12-03 12:12:54 -05:00
Jonh Wendell
9d8a32b07d toolbar: draw a full box for separators
This allows themes do whatever they want as separators, with
paddings, borders and backgrounds.

If "wide-separators" property is true, then, instead of just draw
a frame, also render its background, and take into account the
padding property for its limits.

https://bugzilla.gnome.org/show_bug.cgi?id=719713
2013-12-03 09:55:58 -02:00
Benjamin Otte
9a0064c684 button: Call the new function
This simplifies a lot of code and doesn't require hacks setting
in_button anymore.
2013-12-03 01:57:38 +01:00
Benjamin Otte
804be65a09 button: Split out function
This is in preparation of the following cleanup commits.
2013-12-03 01:57:38 +01:00
Benjamin Otte
85b17e778c button: Don't emit a signal on broken grabs
We don't emit one on grab notify, so we don't want one for broken grabs
either.
2013-12-03 01:57:38 +01:00
Philip Withnall
b37f8b80b4 gtkprintunixdialog: Remove a redundant (GFile != NULL) check
g_file_new_for_uri() is guaranteed to return a non-NULL value, so this
check was redundant, and was confusing the static analyser into
returning a false positive, where it thought the file could be NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=712760
2013-12-02 10:36:26 +00:00
Philip Withnall
380150361b gtktreeselection: Eliminate a dead assignment
This is technically a dead assignment, but is nice to retain for
clarity. Moving it to the variable definition shuts scan-build up.

https://bugzilla.gnome.org/show_bug.cgi?id=712760
2013-12-02 10:36:26 +00:00
Philip Withnall
1adf0becc2 gtkthemingengine: Eliminate a dead assignment
This is technically a dead assignment, but is nice to retain for
clarity. Moving it to the variable definition shuts scan-build up.

https://bugzilla.gnome.org/show_bug.cgi?id=712760
2013-12-02 10:36:26 +00:00
Philip Withnall
5c5390f74b gtkthemingengine: Fix a definite use of an uninitialised variable
At this point, segments[1] is always uninitialised, and is used to
initialise itself. Looking at the code in the branch above, this appears
to have been a typo from segments[0], as segments[1] seems to typically
be 2 * segments[0].

Found by scan-build.

https://bugzilla.gnome.org/show_bug.cgi?id=712760
2013-12-02 10:36:26 +00:00
Philip Withnall
99a162c69e gtkpapersize: Reformat #if preprocessor commands
This eliminates some false positive warnings from scan-build, which was
not interpreting the #ifs and hence warning about unbalanced #endifs.

https://bugzilla.gnome.org/show_bug.cgi?id=712760
2013-12-02 10:36:26 +00:00
Philip Withnall
a265d8f32d gtkmenu: Fix potential use of uninitialised variables
The child_height out variable is only valid if compute_child_offset()
returns TRUE.

Found by scan-build.

https://bugzilla.gnome.org/show_bug.cgi?id=712760
2013-12-02 10:36:26 +00:00
Philip Withnall
480a005039 gtktreeviewaccessible: Fix potential uses of uninitialised variables
Found with scan-build.

https://bugzilla.gnome.org/show_bug.cgi?id=712760
2013-12-02 10:36:26 +00:00
Matthias Clasen
087b61f653 GtkRevealer: Fix size allocation with disabled animation
When animation is disabled, we use 'none' as the effective
transition type. So far, this transition type failed to change
the size request, causing the revealer to always take up the
space of the child, even when the child is not shown.

https://bugzilla.gnome.org/show_bug.cgi?id=719568
2013-12-01 21:45:17 -05:00
Matthias Clasen
96c0903799 Fix the AtkImage implementation for GtkIconView items
We were returning uninitialized values for image size and
position.

Found in a pile of patches in
https://bugzilla.gnome.org/review?bug=712760
2013-12-01 18:33:38 -05:00
Matthias Clasen
8377c12b15 Code cleanup
Don't compare booleans to FALSE.
2013-12-01 17:54:00 -05:00
Simon Feltman
af95d6628c annotations: Set GtkTreeModelFilterModifyFunc value argument to out
Use (out caller-allocates) annotation for the "value" argument to
GtkTreeModelFilterModifyFunc. This is needed because GI based language
bindings coerce GValue input args into native types and there is no
opportunity to set the value within the GValue itself.

https://bugzilla.gnome.org/show_bug.cgi?id=719460
2013-12-01 17:22:05 -05:00
Marco Brito
d31f3e5766 Add class toolbar before the style context is created for the widget.
The call to gtk_button_set_relief() in gtk_toolbar_init() indirectly
used the style context of the half-created widget, before we had a
chance to add the "toolbar" style class to it.

Reorder gtk_toolbar_init() to ensure that the proper style class is
set first.

https://bugzilla.gnome.org/show_bug.cgi?id=719595
2013-12-01 17:20:30 -05:00
Christian Persch
cc3c737088 infobar: Fix visibility when enable-animations=false
When enable-animations is false, the revealer's child-revealed property is
notified immediately, so make sure to connect to it before toggling the
revealer.

https://bugzilla.gnome.org/show_bug.cgi?id=719510
2013-12-01 23:17:28 +01:00
Aaron Hamilton
142d3f1d59 Correct the deprecation annotation for gtk_widget_modify_bg
It was pointing to a nonexisting function.

https://bugzilla.gnome.org/show_bug.cgi?id=719469
2013-12-01 17:03:48 -05:00
Matthias Clasen
56719c6363 Don't use depeprecated api
GtkPrintUnixDialog and testtitlebar were still using
gtk_widget_set_margin_left/right. Switch them over to
gtk_widget_set_margin_start/end.
2013-12-01 16:55:57 -05:00
Matthias Clasen
b53b5578f3 message dialog: Make labels wrap at a reasonable length
Several labels in GtkMessageDialog were set to wrap, but
did not set max-width-chars. Fix that.
2013-12-01 16:19:17 -05:00
Matthias Clasen
e036028402 about dialog: Make labels wrap at reasonable length
Several labels in GtkAboutDialog are set to wrap, but
don't set a value for max-width-chars. Fix that.
2013-12-01 16:18:07 -05:00
Matthias Clasen
8eeebda1e5 places sidebar: Use a symbolic desktop icon
This was pointed out in

https://bugzilla.gnome.org/show_bug.cgi?id=719505
2013-12-01 13:58:39 -05:00
Juan Pablo Ugarte
bbd0035625 GtkAboutDialog: fixed calling gtk_about_dialog_set_logo_icon_name()
with a NULL icon_name. Now it will actually use the default
window icon set as mention in the docs
2013-11-28 17:01:18 -03:00
Juan Pablo Ugarte
b5dff5e417 GtkIconCache: find_image_offset() return 0 if icon_name is NULL.
This avoid a crash calling gtk_about_dialog_set_logo_icon_name() with a NULL icon_name.
2013-11-28 16:56:11 -03:00
Manuel Bachmann
e45ea70936 Fix CSD check for Win32
Win32 does not have alpha channel currently ; fix the check
for this, so trying to enable CSDs on this platform will
not "succeed" and crash the app anymore.

Partially fixes gtk3-widget-factory.
2013-11-27 11:24:12 +01:00
Matthias Clasen
7c2a50728d Don't distribute gdbus-generated sources
These are supposed to be regenerated at build time,
to avoid dependencies on the dist-systems glib version.
2013-11-26 18:26:36 -05:00
Matthias Clasen
21114071ec Change the default for "show-desktop" back to TRUE
Change the GtkSettings default for "shell-shows-desktop" back to TRUE
and also change the default value of the "show-desktop" property on
GtkPlacesSidebar so that the defaultvalue test passes.

https://bugzilla.gnome.org/show_bug.cgi?id=712302
2013-11-26 14:21:01 -05:00
Michael Wood
89f78a718b bindings: Fix stray semicolons in CSS example for bindings
Semicolon shouldn't be at the end of binding set
2013-11-26 12:26:46 +00:00
Benjamin Otte
4e9356f339 menu: Do a proper min height request
The minimum height is the size of one menu item plus the arrows, not the
minimum size of all menu items.

https://bugzilla.gnome.org/show_bug.cgi?id=691974
https://bugzilla.gnome.org/show_bug.cgi?id=694859
2013-11-25 03:54:05 +01:00
Benjamin Otte
f18655c641 window: Don't assume 640x480 max default size
Instead, use the monitor's work area.

This might have unforseen side effects that warrant a later revert, such
as:
- Apparently some WMs assume maximizing when a window is maximum screen
  size.
- WMs might not shrink the window by the decorations' size when it tries
  to be fullscreen.
- Applications might have buggy size request code that causes weirdly
  sized windows.
2013-11-25 03:49:35 +01:00
Benjamin Otte
8308f4c1e9 stack: Fix crash on g_object_get("visible-child")
priv->visible_child is not a GtkWidget but a custom struct holding the
widget. So use the getter instead.
2013-11-25 03:49:35 +01:00
Benjamin Otte
46ed450a29 treemenu: Implement height-for-width properly 2013-11-25 03:49:35 +01:00
Philip Withnall
ada766025f gtktreeviewaccessible: Fix a potential division by zero
Found with scan-build.

https://bugzilla.gnome.org/show_bug.cgi?id=712760
2013-11-24 21:21:02 +00:00
Carlos Garnacho
da86918c32 combobox: Set GDK_SCROLL_MASK on the eventbox in appears-as-list mode
This is so the scroll wheel works in both modes, and there's no behavioral
change depending on a style property.

https://bugzilla.gnome.org/show_bug.cgi?id=702663
2013-11-20 13:18:37 +01:00
Jasper St. Pierre
da0ebcb7da Revert "stack: respect gtk-enable-animations setting"
It already respected enable-animations.

This reverts commit fb9ff44299.
2013-11-19 18:38:56 -05:00
Jasper St. Pierre
6f9b2ac805 wayland: Set DBus properties after we've constructed the xdg_surface 2013-11-19 16:37:25 -05:00
Jonh Wendell
7b85d1df50 treeview: Use CSS property "border-top-color" to draw grid lines
This allows themes to customize the grid line colors in treeviews.

https://bugzilla.gnome.org/show_bug.cgi?id=415415
2013-11-19 10:24:28 -02:00
Matthias Clasen
fb9ff44299 stack: respect gtk-enable-animations setting
https://bugzilla.gnome.org/show_bug.cgi?id=712632
2013-11-18 23:19:27 -05:00
Christian Persch
bf9ed44aa6 revealer: Respect gtk-enable-animations setting
https://bugzilla.gnome.org/show_bug.cgi?id=712632
2013-11-18 23:01:11 -05:00
Matthias Clasen
df455db2e3 GtkBuilder: Make IDs optional
One requirement of .ui files is that each object must have an ID,
even if it is never referred to or directly loaded from the code.
This makes editing .ui files much more onerous than it has to be,
due to the frequent need to invent new IDs, while avoiding
clashes.

This commit makes IDs optional in the XML. They only need to
be provided for objects which are referred to or explictly loaded
from the code. Since GtkBuilder needs IDs for its own internal
accounting, we create IDs of the form ___object_N___ if not
specified in the XML.

https://bugzilla.gnome.org/show_bug.cgi?id=712553
2013-11-18 06:00:02 -05:00
Jasper St. Pierre
55605fe685 gtkwindow: Fix cast warning 2013-11-17 18:50:53 -05:00
Jasper St. Pierre
1941f3ff17 gtkwidget: Fix up some deprecation warnings 2013-11-17 18:50:53 -05:00
Matthias Clasen
d297500976 Use window icons for fallback
When the window has an icon, use it for the fallback menu
button.
2013-11-16 17:04:30 -05:00
Matthias Clasen
07d71cf945 Small doc improvements 2013-11-16 15:00:16 -05:00
Matthias Clasen
9e18a52156 Fix fallback menubar size allocation
When the menubar inserted by GtkApplicationWindow is the widest
widget in a csd window, its allocation gets cut short. Fix this
by taking the decoration size into account while calculating
the size request (it is implicitly taken into account in the
size allocation phase by _gtk_window_set_allocation).
2013-11-16 14:52:26 -05:00
Matthias Clasen
73b02933d0 GtkWindow: better app menu fallback for CSD
Do the menubutton for app menu fallback ourselves in GtkWindow
for the csd, non-custom titlebar case. This fits better with
the way we handle other title buttons. Themes have control
over the placement of this button by placing menu in the
decoration-button-layout style property.
2013-11-16 14:52:21 -05:00
Matthias Clasen
cb24305f1b Trivial cleanup 2013-11-16 14:52:21 -05:00
Matthias Clasen
805bf49be9 Trivial whitespace fix 2013-11-16 14:52:21 -05:00
Matthias Clasen
3ee5404772 GtkApplicationWindow: Avoid double fallback for the app menu
If we have a header bar which has the app menu fallback
enabled, don't add the app menu to the fallback menubar.
2013-11-16 01:52:04 -05:00
Matthias Clasen
2863bb287c GtkHeaderBar: Add a fallback app menu implementation
Allow showing the fallback app menu with a menu button
in the header bar. Applications have to explicitly enable
this by calling gtk_header_bar_set_show_fallback_app_menu.
2013-11-16 01:50:39 -05:00
Matthias Clasen
cadef51b3d GtkWindow: Make titlebar widget available privately
This will be used in GtkApplicationWindow in the
following commits.
2013-11-16 01:39:41 -05:00
Matthias Clasen
9a04a27ba6 GtkButton: don't propagate double-clicks
It is basically always unexpected to have a container handle
double-clicks on a widget that handles single-clicks itself.
2013-11-15 23:43:05 -05:00
Matthias Clasen
00be62546f GtkAboutDialog: Fix a corner case of link highlighting
GtkAboutDialog highlights emails written as <...> and
urls written as http://... . gnome-terminal manages to
put <http://...> into its license text, which sadly
confuses the parser into running evolution on http://...

Fix things up far enough that <http://...> is now
recognized as url, and only the part inside the <> is
underlined (for email addresses, we include the <> in
the underline).
2013-11-15 14:42:34 -05:00
Matthias Clasen
df2b534042 GtkSettings: make show-desktop default to FALSE
This broke tests.
2013-11-15 07:49:50 -05:00
Benjamin Otte
06a64ccfcf stylecontext: Revert part of previous commit
Commit 719dd636a9 replaces
margin-left/right with margin-start/end. CSS does not have
margin-start/margin-end properties, the sed script was a bit overeager.

Fwiw, CSS implements RTL margin styling via :dir(rtl) selectors.
2013-11-15 04:33:38 +01:00
Cosimo Cecchi
f4f82e736c GtkPlacesSidebar: don't unref an object we don't own
gtk_settings_get_default() doesn't return a reference, so don't unref it
during dispose.
2013-11-14 18:30:47 -08:00
Yosef Or Boczko
719dd636a9 Replace all margin-left and margin-right with margin-start and margin-end
https://bugzilla.gnome.org/show_bug.cgi?id=710238
2013-11-15 02:54:35 +01:00
Yosef Or Boczko
9921bec63a GtkWidget: Add margin-start and margin-end properties
Add margin-{start,end} and gtk_widget_{get,set}_margin_{start,end}
and drop margin-{left,right} and gtk_widget_{get,set}_margin_{left,right}.

margin-{start,end} handle right also in RTL.

https://bugzilla.gnome.org/show_bug.cgi?id=710238
2013-11-14 21:55:50 +01:00
Ryan Lortie
c4141a2115 GtkPlacesSidebar: use shell-shows-desktop setting
Use the just-added shell-shows-desktop GtkSetting to determine if we
should also show the "Desktop" folder in the places sidebar.

https://bugzilla.gnome.org/show_bug.cgi?id=712302
2013-11-14 15:03:04 -05:00
Ryan Lortie
a90bb7de0e Add a GtkSetting for 'shell-shows-desktop'
Add a GtkSetting for whether the desktop shell is showing the desktop
folder icons.

This is on by default because most desktop shells do show the icons on
the desktop.  We already have a patch in gnome-settings-daemon to bind
this to the org.gnome.desktop.background show-desktop-icons GSettings
key which is off by default on GNOME.

https://bugzilla.gnome.org/show_bug.cgi?id=712302
2013-11-14 15:03:04 -05:00
Bastien Nocera
3f5af532f7 GtkPlacesSidebar: Show unmounted bookmarks
The GtkFileInfo is only used if there's no bookmark name,
or to get the icon for the remote share or local folder.

https://bugzilla.gnome.org/show_bug.cgi?id=711548
2013-11-13 23:23:50 -05:00
Colin Walters
3c6c90086f gtktextattributes: Only use transparent union for g-ir-scanner
https://bugzilla.gnome.org/show_bug.cgi?id=711158
2013-11-13 12:59:57 -05:00
Alexander Larsson
4226f97d54 broadway: Support ipad on-screen keyboard
We add a custom im module for broadway that calls some broadway
specific APIs to show/hide the keyboard on focus in/out. We then forward this
to the browser, and on the ipad we focus an input field to activate
the keyboard.
2013-11-13 12:23:06 +01:00
Matthias Clasen
99fb39460a GtkApplicationWindow: avoid mis-allocation
In the fallback case, we were adding the border width of the
window twice, causing the content to be mis-positioned and
cut off in some cases.

https://bugzilla.gnome.org/show_bug.cgi?id=710909
2013-11-12 21:01:29 -05:00
Lars Uebernickel
255c3a081e GtkMenuTracker: set action namespace correctly
gtk_menu_tracker_add_items() fetched the action-namespace from the menu
item, but didn't pass it into gtk_menu_tracker_section_new() when its
internal namespace was still NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=712164
2013-11-12 15:42:23 -05:00
Xavier Claessens
9223e3c25a GtkStack: add transition-running property
This is useful to know when the transition is done we can
remove the child from the stack.

https://bugzilla.gnome.org/show_bug.cgi?id=711494
2013-11-12 10:27:45 -05:00
Matthias Clasen
0db8aeaad9 treeview: fix dragging of columns in mutter
Don't recurse the mainloop in _gtk_tree_view_column_start_drag().
It doesn't serve any discernible purpose, and recursing the
mainloop from the flush-events phas of the frame clock breaks
frame synchronization with mutter.

https://bugzilla.gnome.org/show_bug.cgi?id=705176
2013-11-11 23:17:14 -05:00
Olivier Brunel
fc8be96163 gtkpixelcache: Fix possibly ignoring queued redraw
If a queue_redraw() (invalidating a region, or the whole widget) was
called from the draw() call, it could get ignored if surface_dirty
existed, as it would then be updated, but destroyed right at the end of
the _gtk_pixel_cache_repaint(), leading the next call to
_gtk_pixel_cache_draw() have its call to repaint() be a no-op
(since there's no surface_dirty) and then simply draw from (non
updated) surface.

Signed-off-by: Olivier Brunel <jjk@jjacky.com>

https://bugzilla.gnome.org/show_bug.cgi?id=711545
2013-11-11 23:17:14 -05:00
Matthias Clasen
10cd226dfe Progress bar: Handle 'no more pulse'
Before smooth animation, stopping the pulse would abruptly stop
the bouncy bar. This change makes it so that we slow down for
a bit, and then stop.
2013-11-11 07:24:35 -05:00
Matthias Clasen
eae9513cbd Make activity mode progress bars animate better
Use a tick callback and move the block each frame, instead
of making it jump only when gtk_progress_bar_pulse() is called.
2013-11-10 01:20:27 -05:00
Matthias Clasen
2b177587e6 Move a function around
_Gtk_file_chooser_label_for_file is not actually
used in gtkfilechooserdefault.c anymore, so move
it to a better place.
2013-11-09 19:27:53 -05:00
Matthias Clasen
8b7940c0b1 Silence a compiler warning 2013-11-09 19:26:22 -05:00
Matthias Clasen
2a6039e47f Filter out duplicate application shortcuts
The file chooser used to do this, the places sidebar
still needs to learn it.

https://bugzilla.gnome.org/show_bug.cgi?id=711636
2013-11-09 19:01:27 -05:00
Matthias Clasen
90c4515678 GtkFileChooser: propagate local-only to sidebar
This fixes a regression from the sidebar merge.
2013-11-09 18:32:51 -05:00
Matthias Clasen
9e5a8b7ae1 GtkPlacesSidebar: Add local-only
This is necessary to implement the filechooser property
of the same name.

https://bugzilla.gnome.org/show_bug.cgi?id=711574
2013-11-09 18:32:51 -05:00
Matthias Clasen
bce6185494 Update coding style
gtkplacessidebar.c was looking foreign.
2013-11-09 18:32:51 -05:00
Matthias Clasen
3abae96740 Properly set drop targets
Pointed out in by Nelson Benitez in bug 707679.
2013-11-09 15:20:02 -05:00
Matthias Clasen
9dac49798e GtkFileChooserDefault: Drop some unused struct members 2013-11-09 14:55:11 -05:00
Matthias Clasen
b2ebebe954 Cosmetic cleanups
Simplify and rename some callbacks.
2013-11-09 14:27:08 -05:00
Lionel Landwerlin
be5b6460e7 menushell/toolbar/window: implement toggle maximize on double click
https://bugzilla.gnome.org/show_bug.cgi?id=700419
2013-11-09 14:19:47 -05:00
Matthias Clasen
9def8c20b8 Slow down about dialog animation a bit 2013-11-09 13:43:54 -05:00
Jonh Wendell
c292401162 toolbar: implement minimum and natural sizes in _get_preferred family
currently it's using the same sizes for natural and minimum, but it
happens that, when it's allowed to use the arrow, the minimum size
can be smaller than natural.

https://bugzilla.gnome.org/show_bug.cgi?id=693227
2013-11-09 13:26:35 -05:00
Timm Bäder
dd6f4fb785 GtkListBox: Expand the placeholder
https://bugzilla.gnome.org/show_bug.cgi?id=711255
2013-11-09 10:50:02 -05:00
David King
468fd38531 stack: Use g_object_notify_by_pspec()
https://bugzilla.gnome.org/show_bug.cgi?id=711611
2013-11-09 10:45:06 -05:00
David King
2454522b26 stack: Use g_object_class_install_properties()
https://bugzilla.gnome.org/show_bug.cgi?id=711611
2013-11-09 10:45:06 -05:00
Alexander Larsson
bbfe7e0e69 broadway: Always use client side decorations 2013-11-07 14:09:53 +01:00
Chenthill Palanisamy
1fd74de214 Do not reset the waiting_for_printer on status change
* gtk/gtkprintunixdialog.c (printer_status_cb): Do not reset the
waiting_for_printer on status change as the default printer might
get added later.

https://bugzilla.gnome.org/show_bug.cgi?id=577642
2013-11-05 13:33:40 +01:00
Timm Bäder
dcc9800bc2 GtkAboutDialog: Use :link and :visited for link colors
https://bugzilla.gnome.org/show_bug.cgi?id=709629
2013-11-04 16:36:11 +01:00
Timm Bäder
2ba33adf96 GtkLinkButton: Use :link and :visited for the label's color
https://bugzilla.gnome.org/show_bug.cgi?id=709629
2013-11-04 16:36:11 +01:00
Timm Bäder
5201c876d5 GtkLabel: Use :visited and :link for link colors
https://bugzilla.gnome.org/show_bug.cgi?id=709629
2013-11-04 16:36:11 +01:00
Timm Bäder
9b1c943190 css parser: Add :link and :visited
... which are both to be used for links instead of the current
-GtkWidget-link-color and -GtkWidget-visited-link-color

https://bugzilla.gnome.org/show_bug.cgi?id=709629
2013-11-04 16:36:11 +01:00
Lars Uebernickel
2f0c610c35 GtkEntryCompletion: fix warning 2013-11-03 19:08:41 +01:00
Lars Uebernickel
a9a6fb045a gtk_entry_completion_get_cells: revert returning NULL
Too many applications and libraries depend on accessing the internally
created cell renderer. Allow that again, but print a warning.
2013-11-03 19:02:01 +01:00
Colin Walters
c9892df362 gtktextattributes: Use an anonymous union instead of arch-testing #ifdef
This avoids having Gtk-3.0.gir differ on 32 vs 64 bit, which causes
issues for "multilib" in Fedora/OpenSUSE type systems.

See https://bugzilla.gnome.org/show_bug.cgi?id=711153 for more
information.

https://bugzilla.gnome.org/show_bug.cgi?id=711158
2013-11-03 11:15:43 -05:00
Paolo Borelli
e077660e1e eventbox: also draw css borders if specified
https://bugzilla.gnome.org/show_bug.cgi?id=711324
2013-11-03 14:13:16 +01:00
Paolo Borelli
144a92ef11 grid: draw css background and borders
https://bugzilla.gnome.org/show_bug.cgi?id=711324
2013-11-03 14:13:16 +01:00
Paolo Borelli
ba6128f8af fixed: draw css background and borders
https://bugzilla.gnome.org/show_bug.cgi?id=711324
2013-11-03 14:13:16 +01:00
Lars Uebernickel
3c28297134 GtkEntryCompletion: call cell_area()->clear()
Call gtk_cell_layout_clear() on the area instead of the completion in
gtk_entry_completion_clear_text_column_renderer(), because it is also
called from within gtk_entry_completion_clear().
2013-11-03 14:05:44 +01:00
Lars Uebernickel
f6a0debdd9 gtk_entry_completion_set_text_column: reuse old renderer
gtk_entry_completion_set_text_column() always added a cell renderer,
regardless of whether there was an existing one already installed.  This
patch reuses an old renderer if it exists, but only if it was added by a
previous call to this function.

To avoid conflicts, all renderers that were added manually are removed
when calling this function. Also, the renderer added by this function is
removed when manually adding new renderers. This effectively gives
GtkEntryCompletion two modes (managed and manual cell renderers) and
allows seamless switching between the two.

This is a minor API break. However, this shouldn't be an issue in
practice as applications couldn't call set_text_column() more than once
because of this bug. Also, it is unlikely that many applications mix
set_text_column() and custom cell renderers. The interaction between the
two modes was erratic and not documented well.

https://bugzilla.gnome.org/show_bug.cgi?id=635499
2013-11-02 20:14:22 +01:00
Jasper St. Pierre
1e70ad1cd1 gtksettings: Allow setting the GTK+ theme with an envvar
To test with Raleigh much easier.
2013-11-01 16:04:02 -04:00
Jasper St. Pierre
08053cbbb8 frame: Remove a couple strange casts... 2013-11-01 14:16:18 -04:00
Lars Uebernickel
9761a966d8 GtkEntryCompletion: call setter for "text-column"
Call gtk_entry_completion_set_text_column() when setting the
"text-column" property directly.

The completion appeared empty when setting "text-column" directly (for
example from a GtkBuilder file), because the setter creates and adds the
GtkCellRendererText.

https://bugzilla.gnome.org/show_bug.cgi?id=710533
2013-11-01 08:24:16 -07:00
Jasper St. Pierre
4f7170fd56 stack: Fix the slide animation if the child has a non-zero allocation position
This can happen if the child has a margin, for instance.
2013-11-01 01:53:20 -04:00
Jasper St. Pierre
3e836dd9fc stack: Scope some variables so that the code is clearer
... that the allocation magic here is for the transition of the
last visible child that's sliding out.
2013-11-01 01:53:20 -04:00
Jasper St. Pierre
499b4bb60f gtkoverlay: Remove get_preferred_width / get_preferred_height implementation
GtkBin now handles this for us.
2013-11-01 01:15:25 -04:00
Jasper St. Pierre
698488ddc4 gtkbox: Draw backgrounds and borders 2013-10-31 12:21:08 -04:00
Matthias Clasen
14e3340647 Make treeview cursor handling a bit more robust
Clearing the model in a GtkTreeSelection::changed handler was
crashing. While it is not a 100% kosher thing to do, lets be
more robust here.
2013-10-30 14:08:28 -04:00
Jasper St. Pierre
ad59827ec8 Revert "wayland: Support always-on-top / sticky windows"
This reverts commit b3cffb85f3.

Pushed by accident.
2013-10-29 17:13:03 -04:00
Daniel Svensson
4d41903548 Use g_return_val_if_fail where return value needed.
https://bugzilla.gnome.org/show_bug.cgi?id=710987
2013-10-29 17:12:23 -04:00
Jasper St. Pierre
b3cffb85f3 wayland: Support always-on-top / sticky windows
Use the new gtk-shell APIs available in mutter to add support for this.

https://bugzilla.gnome.org/show_bug.cgi?id=710056
2013-10-28 18:03:26 -04:00
Jasper St. Pierre
baa471ec13 gtkdialog: Allow specifying response IDs by nick in <action-widgets>
This makes it a lot more convenient for developers, as they don't
have to look up the numeric value of response IDs.
2013-10-28 18:03:25 -04:00
Matthias Clasen
0cda29be88 Remove debug spew 2013-10-28 07:17:25 -04:00
Alexander Larsson
864f7f7ebc GtkWidget: Fix clipping to large subwindows
_gtk_widget_draw_internal() was clipping by passing the subwindow
sizes as a path to cairo_clip(). This was breaking for windows
larger than 23 bits in width/height, due to cairo using fixed point
(24.8) for the path coordinates.

We fix this by pre-clipping the subwindow region to the existing
cairo clip region in the full 32bit gdkwindow precision. This fixes
the GooCanvas Large Items test.

https://bugzilla.gnome.org/show_bug.cgi?id=710958
2013-10-28 11:56:52 +01:00
Matthias Clasen
0b726a409e Revert "dialog: Fix docs for GtkDialog"
This reverts commit e4bb02f8ae.

Responses don't have to be negative.
2013-10-28 06:39:30 -04:00
Matthias Clasen
c46aca463a Respect deprecated button images setting
I have been convinced that it is a bad idea to change the behaviour
at the same time as deprecating it, so go back to respecting the
Gtk/ButtonImages xsetting in buttons created with
gtk_button_new_from_stock() when it is set.

The setting as well as the function are still deprecated, and the
default value of the setting will remain FALSE.
2013-10-24 20:35:55 -04:00
Matthias Clasen
627a03683f Respect deprecated menu images setting
I have been convinced that it is a bad idea to change the behaviour
at the same time as deprecating it, so go back to respecting the
Gtk/MenuImages xsetting in GtkImageMenuItem when it is set.

The setting as well as the widget are still deprecated, and the
default value of the setting will remain FALSE.
2013-10-24 20:03:02 -04:00
Matthias Clasen
cf00c43154 Revert "GtkPlacesSidebar: support switching locations for XDS drag types"
This reverts commit 588ffa8c32.
2013-10-23 15:55:14 -04:00
Matthias Clasen
c9f8d22094 Revert "GtkPlacesSidebar: support open locations when dragging text"
This reverts commit 1b839d4b72.
2013-10-23 15:54:52 -04:00
Matthias Clasen
aa7bb22685 Revert "GtkPlacesSidebar: use gtk api to add dnd uri targets"
This reverts commit 7fa27dff25.
2013-10-23 15:54:44 -04:00
Nelson Benítez León
7fa27dff25 GtkPlacesSidebar: use gtk api to add dnd uri targets
Instead of hardcoding it in the dnd drop targets list.

Part of bug 707679
2013-10-23 20:20:33 +02:00
Nelson Benítez León
1b839d4b72 GtkPlacesSidebar: support open locations when dragging text
Make GtkPlacesSidebar also open locations when hovered by
text dnd targets.

Part of bug 707679
2013-10-23 20:20:33 +02:00
Nelson Benítez León
588ffa8c32 GtkPlacesSidebar: support switching locations for XDS drag types
Make GtkPlacesSidebar also change locations when hovered
by XDS dnd targets (eg. dragging a file from file-roller).

Part of bug 707679
2013-10-23 20:20:33 +02:00
Jasper St. Pierre
e4bb02f8ae dialog: Fix docs for GtkDialog
Responses need to be negative
2013-10-23 12:04:13 -04:00