Matthias Clasen
5b2be2f6f1
GdkTouchCluster Clarify doc language
...
'Transient' is what was meant here, not 'transitive'.
2012-02-18 18:05:00 +01:00
Matthias Clasen
b51662cafa
GdkCrossingMode: Remove duplicated doc entry
2012-02-18 18:05:00 +01:00
Carlos Garnacho
a328313885
gtk: Release captured events down the hierarchy
...
Instead of releasing directly onto the target widget,
release down the hierarchy as if uncaptured.
2012-02-18 18:05:00 +01:00
Carlos Garnacho
8528385c80
touchcluster: use an array to store touch IDs
...
A GList doesn't make much sense for storing guints, so
now a GArray is used internally.
gdk_touch_cluster_get_touches() has changed to return an
allocated guint*, and gdk_touch_cluster_get_n_touches()
has been added too.
2012-02-18 18:05:00 +01:00
Carlos Garnacho
c7eba11400
scrolledwindow: store whether the last button press was valid independently
...
Use a separate boolean instead of coding it up in the last button press
coordinates. This incidentally fixes 0-threshold on kinetic scrolling,
allowing the child widget to get button releases before it prematurely
gets ::grab-broken.
2012-02-18 17:48:54 +01:00
Carlos Garnacho
2cb50c9af2
scrolledwindow: Do not handle dnd-threshold=0
...
There's no need for it as the GtkSettings property has a lower
limit of 1.
2012-02-18 17:48:54 +01:00
Carlos Garnacho
bc5e401de4
docs: Add section about multitouch and other interaction patterns
...
This is a ripoff of http://live.gnome.org/GTK%2B/DeviceInteractionPatterns ,
with better phrasing in general, some more factual points, and multitouch
explained.
2012-02-18 17:48:54 +01:00
Carlos Garnacho
fb99b5eeb4
improve docs for multitouch features
2012-02-18 17:48:53 +01:00
Carlos Garnacho
d6e23b0924
gtk,gestures: Only match 0-length strokes with homologous stock ones
...
Avoids spurious stroke matching with fleeting touches.
2012-02-18 17:48:53 +01:00
Carlos Garnacho
42c0d95791
gtk,gestures: Handle multitouch gestures
...
Gestures are only compared with stock gestures with the same number
of strokes. If a gesture consists of several strokes, the first stroke
is compared (and any possible angle skew is gotten from it), and then
the other strokes are correlated and also compared.
If there's no feasible correlation of strokes, or the gestures yield
an accumulated confidence that's below the threshold, the gesture is
not considered to match.
testgestures has been also added a simple 2-finger gesture for testing.
2012-02-18 17:48:53 +01:00
Carlos Garnacho
6d7ac9e87e
textview: Set background on the widget's window
...
The widget window is usually covered by the bin_window,
this is just necessary so the parent scrolled window
picks the right color for drawing the overshoot area.
2012-02-18 17:48:53 +01:00
Carlos Garnacho
607a1e8fc5
iconview: Set background on the widget's window
...
The widget window is usually covered by the bin_window,
this is just necessary so the parent scrolled window
picks the right color for drawing the overshoot area.
2012-02-18 17:48:53 +01:00
Carlos Garnacho
02eeed70bd
treeview: Set background on the widget's window
...
The widget window is usually covered by the bin_window,
this is just necessary so the parent scrolled window
picks the right color for drawing the overshoot area.
2012-02-18 17:48:53 +01:00
Carlos Garnacho
849661a573
scrolledwindow: Use the child widget's window bg color for the overshoot area
...
This makes the overshoot area seamless, if the child plays along.
2012-02-18 17:48:53 +01:00
Carlos Garnacho
ca84ac7a6a
tests: only handle gestures on testgestures after the last stroke is lifted
2012-02-18 17:48:53 +01:00
Carlos Garnacho
8d421b2af2
gtkwidget: only emit ::gesture when the last stroke is lifted
2012-02-18 17:48:53 +01:00
Carlos Garnacho
b2776581da
gtk,gestures: Add gtk_gestures_interpreter_get_n_active_strokes
...
This call gets the number of currently active strokes, finished
strokes (i.e. those that already had a GDK_BUTTON/TOUCH_RELEASE
processed) don't count.
2012-02-18 17:48:53 +01:00
Carlos Garnacho
f7eb9edb9b
entry: Only allow press-and-hold on the text_area window
...
This avoids oddities in spinbuttons, press-and-hold shouldn't
be triggered on the buttons.
2012-02-18 17:48:53 +01:00
Carlos Garnacho
fe87311f51
gtk,pah: Don't cancel a ::press-and-hold that's scheduled to be activated
...
There was a slight window where the operation could be cancelled, causing
an assert as the p-a-h data is NULL.
2012-02-18 17:48:52 +01:00
Carlos Garnacho
c38159d4d7
gdkwindow: Add device parameter to gdk_window_create_touch_cluster()
...
gdk_touch_cluster_set_device() had to be called right after anyway,
so set the device directly within this call, and favor the most common
scenario where there's just 1 single multitouch device behind 1 master
device.
2012-02-18 17:48:52 +01:00
Carlos Garnacho
075911ccfd
demos: Demonstrate further features in the multitouch demo
...
Now that GtkButton and GtkScale are multitouch approved, it's
sufficient to enable GDK_TOUCH_MASK on them to have them deal
with multitouch devices.
The scales set rgba of the currently selected rectangle, and
the button adds more rectangles, those can be manipulated
simultaneously together with the rectangles, the only limit
is the number of touches the touchscreen hw is able to detect.
2012-02-18 17:48:52 +01:00
Carlos Garnacho
20a5364a5f
gdk: Listen to touch events by default on the native window
...
GDK will only receive touch events when dealing with a multitouch
device, so these must be transformed to pointer events if the
client-side window receiving the event doesn't listen to touch
events, and the touch sequence the event is from does emulate
the pointer.
If a sequence emulates pointer events, it will result in a
button-press, N motions with GDK_BUTTON1_MASK set and a
button-release event, and it will deliver crossing events
as specified by the current device grab.
2012-02-18 17:48:52 +01:00
Carlos Garnacho
4a3037574d
gdk,devicemanager: Mark touch events emulating the pointer as such
2012-02-18 17:48:52 +01:00
Carlos Garnacho
fee9840d52
gdk: Only trigger motion hints machinery on motion events
...
Touch events have no need for it, plus the concept behind
gdk_event_request_motions() doesn't wrap around multiple
touches within a device.
2012-02-18 17:48:52 +01:00
Carlos Garnacho
10bd4f8a72
gdk: Have touch grabs behave like the implicit grab wrt crossing events
...
These are equivalent to an implicit grab (with !owner_events), so
if the touch leaves or enters the grab window, the other window
won't receive the corresponding counter-event.
2012-02-18 17:48:52 +01:00
Carlos Garnacho
1d986aa8a4
gtk,button: Handle touch events
...
Touch events don't generate crossing events themselves, so
do not rely on these to determine whether the button release
happened within the event window.
2012-02-18 17:48:52 +01:00
Carlos Garnacho
33790437ce
gtk,range: Don't perform a GTK+ grab
...
The implicit grab on priv->event_window already warrants that this
widget is the only one getting events while the button is pressed,
so don't spare the GTK+ grab here.
2012-02-18 17:48:52 +01:00
Carlos Garnacho
239f52d543
gtk: rewrite touch events wrt the window group too
...
Likewise to pointer events, have touch events during a device
grab with owner_events=TRUE be delivered normally as long as
the widget pertains to the same window group.
2012-02-18 17:48:52 +01:00
Carlos Garnacho
f2d71d3da5
gdk,csw: handle implicit touch grabs
...
If the touch sequence happens on a window with GDK_TOUCH_MASK set,
a GdkTouchGrabInfo is created to back it up. Else a device grab is
only created if the sequence emulates the pointer.
If both a device and a touch grab are present on a window, the later
of them both is obeyed, Any grab on the device happening after a
touch grab generates grab broken on all the windows an implicit
touch grab was going on, and all touches would be automatically
removed from every touch cluster.
2012-02-18 17:48:52 +01:00
Carlos Garnacho
61e625d9a6
gdk,display: Add internal API to deal with touch implicit grabs
...
The necessary information about a touch implicit grab is stored in
GdkTouchGrabInfo structs, these are meant to be transient to the
touch sequence
2012-02-18 17:48:52 +01:00
Carlos Garnacho
9e3330c90b
gdk,csw: Don't change window_under_pointer for pure touch events
...
Only touch events that emulate the pointer do change it.
2012-02-18 17:48:52 +01:00
Carlos Garnacho
108c831e23
gdk,xi2: set pointer emulated flags on events with XIPointerEmulated
2012-02-18 17:48:51 +01:00
Carlos Garnacho
77f071b5ff
gdk: Add internal API to set "pointer emulated" flag on events
...
This flag will be used for non-pointer events that are emulated
from eg. touch events, or pointer events being emulated.
2012-02-18 17:48:51 +01:00
Carlos Garnacho
fb35e29a19
gdk,xi2: Set GDK_BUTTON1_MASK on touch events
...
GTK+ handles both touch and pointer events through the same
event handlers, so enable this modifier on touch events to
avoid much special casing.
2012-02-18 17:48:51 +01:00
Carlos Garnacho
b1f4497697
gdk,xi2: Only enable multitouch if the server reports XI2.2
...
This enables multitouch-enabled GTK+ to run on older X servers.
2012-02-18 17:48:51 +01:00
Carlos Garnacho
29569e6049
gdk,xi2: Update to latest XInput2.2 spec
2012-02-18 17:48:51 +01:00
Carlos Garnacho
c201145d02
gtk,pah: Handle press-and-hold on touch devices
2012-02-18 17:48:51 +01:00
Carlos Garnacho
eb214aae74
gdk: Add gdk_event_get_touch_area()
...
If given an event coming from a touch devices,
this functions will read the MT major/minor/orientation
axes and return a cairo_region_t with the touch shape.
2012-02-18 17:48:51 +01:00
Carlos Garnacho
fbef4384aa
gestures: Add some unit tests
2012-02-18 17:48:51 +01:00
Carlos Garnacho
88909ac9b2
gtk: Document helper GtkWidget gestures API
2012-02-18 17:48:51 +01:00
Carlos Garnacho
84d9872a26
gestures: Add API documentation
2012-02-18 17:48:51 +01:00
Carlos Garnacho
576ba1a03d
gtk: Add helper API to handle gestures
...
Although GtkGesturesInterpreter can be used standalone, GtkWidget
deserves helper API to enable support for gestures. gestures can
be enabled/disabled, and the ::gesture signal can be used to get
the gesture ID.
The internal GtkWidget gestures interpreter is only handled by
touch events, if gestures are needed for other devices, a
standalone gestures interpreter must be used.
2012-02-18 17:48:51 +01:00
Carlos Garnacho
bb448f619c
tests: Add testgestures
...
This testcase handles all gestures offered by GtkGestureType,
and also creates and registers a custom M-shaped GtkGesture.
2012-02-18 17:48:51 +01:00
Carlos Garnacho
9827003e06
gestures: Implement gestures interpretation
...
The algorithm works on 2 GtkGestures, it finds out the similarity
of these by bending the user provided gesture so it equals a stock
one, the differences in areas are used to determine the level of
confidence on both gestures being similar.
2012-02-18 17:48:51 +01:00
Carlos Garnacho
14100b867c
Add a gestures interpreter base implementation
...
This object is currently shallow, the API is defined but no gesture
interpretation is performed. Additional API is declared to create
and define gestures, which may consist of several strokes with an
offset.
2012-02-18 17:48:51 +01:00
Carlos Garnacho
5926e3cfec
xi2: Use GDK_SOURCE_TOUCH for multitouch devices
...
Any device with XITouchValuatorClassInfo classes qualify as
multitouch now.
2012-02-18 17:48:50 +01:00
Carlos Garnacho
e09d7b5456
gdk: Update touch events to latest spec
2012-02-18 17:48:50 +01:00
Carlos Garnacho
c9b8f866df
gtk-demo: Add multitouch demo
...
Pretty much ignores pointer events currently, so you're out
of luck to see anything happening at all if you don't have
a multitouch device...
2012-02-18 17:48:50 +01:00
Carlos Garnacho
eea525ac89
Add multitouch-event signal and vfunc to GtkWidget
2012-02-18 17:48:50 +01:00
Carlos Garnacho
76e7a9e5b7
Add machinery to emit GdkEventMultiTouch events
...
These events are created from GDK_TOUCH_MOTION/PRESS/RELEASE
events, if the touch ID generating the event is within a
touch cluster, that event is stored and not pushed to the queue,
so a touch ID can only emit GDK_TOUCH_* or GDK_MULTITOUCH_* events
at the same time.
2012-02-18 17:48:50 +01:00
Carlos Garnacho
5a523e500b
Define GdkEventMultiTouch and its related event types.
...
This event will gather all touches within a GdkTouchCluster,
including an array of the latest GDK_TOUCH_MOTION events for
the touch IDs contained in there.
2012-02-18 17:48:50 +01:00
Carlos Garnacho
33ea7850c9
Add gdk_window_[create|remove]_touch_cluster()
...
These are the functions to create/destroy a GdkTouchCluster,
as they are associated to GdkWindows.
2012-02-18 17:48:50 +01:00
Carlos Garnacho
9856a2faeb
Introduce GdkTouchCluster
...
This is a per-window/device object to gather a group of touch IDs
as a single entity.
2012-02-18 17:48:50 +01:00
Carlos Garnacho
a19c4b207c
Add gdk_event_get_touch_id()
...
Just a helper function to get the touch ID from touch events, it
returns FALSE in any other case.
2012-02-18 17:48:50 +01:00
Carlos Garnacho
264739e6ad
Make touch events go through csw/widget event handling.
...
In GtkWidget, touch events go through the same handler
than motion events, with the difference that touch_id
will have something meaningful there.
Touch events need to be explicitly selected, so if this
is enabled, the possibility of different motion streams
with different touch IDs must be handled in some way.
2012-02-18 17:48:50 +01:00
Carlos Garnacho
10b4eaa10b
Handle TouchBegin/End events
...
These are translated into GDK_TOUCH_PRESS/RELEASE GdkEvents,
which use the GdkEventButton struct, a touch_id parameter
has been added there to cope with touches.
2012-02-18 17:48:50 +01:00
Carlos Garnacho
be21cc53bc
Add initial handling of TouchMotion events.
...
GdkDeviceManagerXI2 now handles TouchMotion and TouchMotionUnowned
events, which are translated to GDK_TOUCH_MOTION events.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
cda35f142f
Add touch motion event type and mask.
...
These events' struct is the same than GdkEventMotion, which has been
added a touch_id parameter. The gdk_event_* functions have been modified
to also handle this event type.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
5c98ea081e
configure: Detect XInput 2.1
2012-02-18 17:48:49 +01:00
Carlos Garnacho
78866ca13d
gdk,xi2: Add major/minor properties to XI2 device manager
...
This may be used to turn on/off the features that are added to
new XInput2 revisions.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
d4382300b4
gtk,range: Have slider jump to the pointer coordinates on touch devices
...
This widget is too narrow to make touch interaction tricky enough, so
don't add the penalty of having the slider run farther from the touch
coordinates if it happens to miss the slider.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
7ef01e70f7
gtk,scrolledwindow: Ensure the view snaps back when overshooting
...
Instead of just stopping the acceleration source ID, check whether
it's overshooting, and let it snap back if needed after ::grab-notify
and ::button-release-event
2012-02-18 17:48:49 +01:00
Carlos Garnacho
10316b6ab2
gtk,scrolledwindow: set slower inverse acceleration on the overshoot area
...
This is so snapping back is more fluid and noticeable.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
e11d9904bc
gtk,scrolledwindow: Improve initial velocity calculation
...
Velocity calculation has been refactored out of the captured motion events
handler, and also has more tolerance defore determining that a drag is actually
still.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
f1d33f76c7
gtk,menu: Don't popdown submenus on button release for touch devices
...
This is so submenus stay open as the parent menu item is pressed/released,
as the user would typically lift the finger in order to select a submenu
item.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
fe72a8192d
gtk,settings: Deprecate gtk-touchscreen-mode
...
It's not used anywhere in GTK+ anymore.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
bf543ac8f4
gtk,range: Remove gtk-touchscreen-mode usage
...
Emulated crossing events with mode GDK_CROSSING_TOUCH_PRESS/RELEASE
already catter dinamically for the "don't prelight on touch devices"
usecase.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
93f7a97f01
gtk,togglebutton: Remove gtk-touchcreen-mode usage
...
Emulated crossing events with mode GDK_CROSSING_TOUCH_PRESS/RELEASE
already catter dinamically for the "don't prelight on touch devices"
usecase.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
cc188dffa9
gtk,menushell: Remove gtk-touchscreen-mode usage
...
This usage in a keybinding signal is hardly related to touchscreens,
so just remove it.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
33e3b9ddbb
gtk,menu: Remove gtk-touchscreen-mode from scrolling code
...
scrolling is handled via ::captured-event dynamically, so remove
this now unused code.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
8c4b0b66b8
gtk,menu: Select the first item for touch devices
...
This was done through gtk-touchscreen-mode, now is handled
dynamically on the current event source device.
2012-02-18 17:48:49 +01:00
Carlos Garnacho
2781c9544b
gtk,menu: Implement scrolling through ::captured-event for touch devices
...
This makes overflown menus scrollable via direct manipulation. Once past
the threshold, the item below the pointer is unselected and scrolling
starts.
2012-02-18 17:48:48 +01:00
Carlos Garnacho
4765dde5cf
gtk,menu: handle item selection for touch devices dynamically
...
Instead of using gtk-touchscreen-mode, the behavior changes depending
on the source device in use.
2012-02-18 17:48:48 +01:00
Carlos Garnacho
658b0e8092
gtk,textview: Pop up context menu on press-and-hold
2012-02-18 17:48:48 +01:00
Carlos Garnacho
0e5d05f8e0
gtk,textview: Also cancel DnD on ::grab-notify
...
If is about to start when the drag device is grabbed
somewhere else, unset drag start x/y so DnD doesn't
happen anyway.
2012-02-18 17:48:48 +01:00
Carlos Garnacho
f1570c5c92
gtk,entry: Pop up menu on press-and-hold
2012-02-18 17:48:48 +01:00
Carlos Garnacho
e042c53caa
gtk,label: Pop up menu on press-and-hold
2012-02-18 17:48:48 +01:00
Carlos Garnacho
a7b6859561
xi2: Get the effective group state by ORing the XIGroupState values
2012-02-18 17:48:48 +01:00
Carlos Garnacho
14235c9c17
gdk: Ensure that GdkPointerWindowInfo is only generated for pointers
2012-02-18 17:48:48 +01:00
Carlos Garnacho
6a6bed8e04
gtk: Only set widget under device on non-virtual crossing events
...
_gtk_widget_set_device_window() is suppose to make accounting of
the topmost widget under the device at each time, so avoid setting
it on virtual crossing events as the device is already in another
window.
2012-02-18 17:48:48 +01:00
Carlos Garnacho
7a07995944
gtk,scrolledwindow: remove scrollbars auto-hide
...
This is in a really sorry state, and scrollbars need to be
thought out for the new design anyway.
2012-02-18 17:48:48 +01:00
Carlos Garnacho
62afe5cda6
gtk,scrolledwindow: capture crossing events when dragging
...
Also, instead of connecting 2 more times to ::captured-event,
have it all go through a single handler.
2012-02-18 17:48:48 +01:00
Carlos Garnacho
95f6b7fa82
gtk,scrolledwindow: Add GtkKineticScrollingFlags
...
gtk_scrolled_window_set_kinetic_scrolling() now takes a set of flags,
GTK_KINETIC_SCROLLING_CAPTURE_BUTTON_PRESS makes the "capture button
press and maybe replay later" vs "let button press go through, but
trust in ::grab-broken to undo things" an opt-in, by default that
flag is set, which is the most conservative approach.
2012-02-18 17:48:48 +01:00
Carlos Garnacho
ae2438df90
gtk,scrolledwindow: Grab only after starting drag
...
This is so the grab doesn't break the implicit grab on the
child widget's window, which avoids that the button press and
release are possibly sent to different windows, and after the
grab was actually broken.
2012-02-18 17:48:47 +01:00
Carlos Garnacho
fafb78e38e
gdk: Generate crossing events around touch devices' press/release
...
Anytime a touch device interacts, the crossing events generation
will change to a touch mode where only events with mode
GDK_CROSSING_TOUCH_PRESS/RELEASE are handled, and those are sent
around button press/release. Those are virtual as the master
device may still stay on the window.
Whenever there is a switch of slave device (the user starts
using another non-touch device), a crossing event with mode
GDK_CROSSING_DEVICE_SWITCH may generated if needed, and the normal
crossing event handling is resumed.
2012-02-18 17:48:47 +01:00
Carlos Garnacho
4068758bb8
gdk: Keep track of the last slave device used
...
This last slave device (stored per master) is used to fill
in the missing slave device in synthesized crossing events
not directly caused by a device event (ie. due to configure
events or grabs)
2012-02-18 17:48:47 +01:00
Carlos Garnacho
bb87595220
gtk,tooltips: Use the source device instead of gtk-touchscreen-mode
...
This makes tooltips behavior dynamic based on the interacting device.
2012-02-18 17:48:47 +01:00
Carlos Garnacho
001a1517da
gtk,scrolledwindow: Clamp early overshooting when snapping back
...
Fixes the situation where overshooting in scrolled windows with a
small viewport could end up overshooting right to the opposite
side, and then back again indefinitely.
2012-02-18 17:48:47 +01:00
Carlos Garnacho
76b285f475
gtk: Handle motion hints for ::captured-event
...
Request automatically more motion events in behalf of
the original widget if it listens to motion hints. So
the capturing widget doesn't need to handle such
implementation details.
2012-02-18 17:48:47 +01:00
Carlos Garnacho
0b796299c1
gtk,scrolledwindow: capture motions until the kinetic scrolling cancellation
...
If the widget which events are captured listens to motion hints, there
are situations where neither the scrolled window or the child widget
request more motions.
2012-02-18 17:48:47 +01:00
Carlos Garnacho
5d2af3e13d
gtk,pah: Show a bigger press-and-hold indicator on touchscreens
...
On touch devices it uses a 2.5cm diameter via gdk_screen_get_width_mm()
in the hope that it'll pop out of the finger area.
2012-02-18 17:48:47 +01:00
Carlos Garnacho
15d2f1697d
gtk,scrolledwindow: Unset dragging device on ::grab-notify
...
The child widget may still call gtk_(device_)grab_add, which left
the scrolled window in an inconsistent state.
2012-02-18 17:48:47 +01:00
Carlos Garnacho
460a54ce15
gtk,scrolledwindow: Rework physics behind kinetic scrolling
...
The maths being used didn't resemble much about velocities or
friction/deceleration, so reimplement it in terms of velocity
vectors and decelerations, measured in pixels/ms^2.
Overshooting is also handled within the deceleration effect,
turning into a constant acceleration vector in the opposite
direction so it returns elastically within the boundaries.
2012-02-18 17:48:47 +01:00
Carlos Garnacho
3ab0ccf643
gtk,scrolledwindow: Implement overshooting
...
An extra GdkWindow has been added, this window is the parent
of the child widget, and is the one getting resized/moved when
overshooting.
The unclamped adjustments' values are also stored in
GtkScrolledWindowPrivate as a separate value, overshooting is
pretty specific to GtkScrolledWindow and it isn't worth to
expose API in GtkAlignment for this single purpose.
This method allows GtkScrollable children to be blissfully
unaware of overshooting, as otherwise they'd have to handle
rather odd adjustment values themselves.
2012-02-18 17:48:47 +01:00
Carlos Garnacho
cebd79e7eb
gtk,scrolledwindow: Add window for overshooting
...
This window is the child widget's parent window, and will
be the one that's moved when overshooting.
2012-02-18 17:48:47 +01:00
Carlos Garnacho
4e321365cf
scrolledwindow: Handle nested scrolled windows in kinetic scrolling
...
The innermost scrolled window always gets to capture the events, all
scrolled windows above it just let the event go through. Ideally
reaching a limit on the innermost scrolled window would propagate
the dragging up the hierarchy in order to keep following the touch
coords, although that'd involve rather evil hacks just to cater
for broken UIs.
2012-02-18 17:48:47 +01:00
Carlos Garnacho
1b088606f7
gtk: Add event storing/replaying to GtkWidget::captured-event
...
It now returns a GtkCapturedEventFlags which tells whether the
widget captured the event, and additionally whether the event
should be stored for later replay.
gtk_widget_release_captured_events() has been added too so
all stored events are released onto the widget that was initially
to receive the events.
2012-02-18 17:48:46 +01:00
Carlos Garnacho
7bf410f927
scrolledwindow: Use event times when calculating deceleration
...
Using g_get_current_time() isn't going to be realistic on lagging
events.
2012-02-18 17:48:46 +01:00
Carlos Garnacho
5476f09d35
scrolledwindow: bypass kinetic scrolling if no scrollbars are shown
2012-02-18 17:48:46 +01:00
Carlos Garnacho
a49c9a27fb
scrolledwindow: Remove priv->event_window
...
It looks like a leftover from pre-captured-event iterations of
the patch, it is completely unnecessary now.
2012-02-18 17:48:46 +01:00
Carlos Garnacho
e5a3cf5a36
scrolledwindow: Don't use p-a-h for the "let event go through" timeout
...
Just use a timeout there, the press-and-hold feedback is undesirable
here.
2012-02-18 17:48:46 +01:00
Carlos Garnacho
59a0f62079
gtk,pah: Hook directly into gtk_main_do_event()
...
Press and hold couldn't reasonably work if nested widgets
handle ::captured-event, once the widget inits press-and-hold,
it'd better also handle possible cancellation on motion and
button release, which isn't guaranteed with ::capture-event.
Also, tentatively start press-and-hold by default on the
grab_widget, and before event capturing happens, this avoids
awkward situations like the scrolled window preventing/delaying
press-and-hold to happen on the child textview for example.
2012-02-18 17:48:46 +01:00
Carlos Garnacho
fbbd6b2c2e
scrolledwindow: Enable kinetic scrolling by default
2012-02-18 17:48:46 +01:00
Carlos Garnacho
d77977aa62
scrolledwindow: add another shortcut to bypass event capture
...
When clicked again close to the previous button press location
(assuming it had ~0 movement), the scrolled window wil allow
the child to handle the events immediately.
This is so the user doesn't have to wait to the p-a-h timeout
in order to operate on the scrolledwindow child.
2012-02-18 17:48:46 +01:00
Carlos Garnacho
da35350ee3
scrolledwindow: Only do kinetic scrolling on touch devices
...
This is sort of meaningless on pointer devices, besides it implies
a different input event handling on child widgets that's unnecessary
there.
2012-02-18 17:48:46 +01:00
Carlos Garnacho
40996af9c1
scrolledwindow: Don't crash on 0-sized motion buffer
2012-02-18 17:48:46 +01:00
Carlos Garnacho
7e29b38bd4
scrolledwindow: Set also a GTK+ grab on p-a-h scrolling
...
This is so the widget is ensured to receive the events
regardless of the pointer position.
2012-02-18 17:48:46 +01:00
Carlos Garnacho
c1b86a5eab
scrolledwindow: Add GdkDevice parameter to ::press-and-hold handler
2012-02-18 17:48:46 +01:00
Carlos Garnacho
68587c203c
gtk: Handle press-and-hold for touch devices
...
Also, only react to the first button
2012-02-18 17:48:46 +01:00
Carlos Garnacho
80e08d1b1b
gtk: Add a GdkDevice parameter to ::press-and-hold
...
This would be useful when popping up menus, just so we
know what device to trigger it for.
2012-02-18 17:48:46 +01:00
Carlos Garnacho
0a05318277
gtk: Clean up press-and-hold code
...
The press and hold animation now fully relies on style context
transitions, finishing the p-a-h operation right after it
finishes. There's also no need to connect to ::drag-begin as
::grab-notify will also tell when a grab begins.
2012-02-18 17:48:45 +01:00
Carlos Garnacho
5c187245a4
tests: Add an entry to testpressandhold
...
Useful for checking behavior while selecting,
starting drags, subwindows...
2012-02-18 17:48:45 +01:00
Carlos Garnacho
739059cc91
entry: Handle ::grab-notify
...
Store the device, and unset private fields whenever the device
is shadowed by another GTK+ grab, so popping up menus while
selecting (i.e. press-and-hold) doesn't leave it in a confused
state.
2012-02-18 17:48:45 +01:00
Carlos Garnacho
86e966b944
gtk: Do not use deprecated APIs on press-and-hold
2012-02-18 17:48:45 +01:00
Carlos Garnacho
ef08d3975c
tests: Update testkineticscrolling to use GtkGrid
2012-02-18 17:48:45 +01:00
Carlos Garnacho
c50007b33a
gtk: connect to grab-notify for press and hold
...
This is so press and hold is cancelled if a click actually
causes an inner widget to do a GTK+ grab.
2012-02-18 17:48:45 +01:00
Carlos Garnacho
9f20e16683
gtk: Propagate ::captured-event up the hierarchy for crossing events
2012-02-18 17:48:45 +01:00
Carlos Garnacho
4f2ce2f7b6
gtk: emit ::captured-event starting from the GTK grab widget
2012-02-18 17:48:45 +01:00
Carlos Garcia Campos
a404a56254
scrolledwindow: Allow selections and drag-and-drop when kinetic scrolling is enabled
...
If the scrolling doesn't start after a long press, the scrolling is
cancelled and events are handled by child widget normally.
2012-02-18 17:48:45 +01:00
Carlos Garcia Campos
7a59b443ee
Add GtkWidget::press-and-hold signal
...
Press-and-hold signal is emitted when the mouse button is pressed for a
given amount of time, specified in the new "press-and-hold-timeout"
GtkSetting. It's commonly used in mobile platforms to emulate a right
click to show a context menu. This patch is based on previous patches by
Kristian Rietveld and Danielle Madeley.
https://bugzilla.gnome.org/show_bug.cgi?id=315645
2012-02-18 17:48:45 +01:00
Carlos Garnacho
127bfd71d7
gtksettings: Set animation for press-and-hold through GtkStyleProvider
...
The "gtk-press-and-hold-timeout" setting has also been added, to control
its duration.
2012-02-18 17:48:45 +01:00
Carlos Garnacho
35341511b9
themingengine: Implement press-and-hold notification renderer
...
gtk_render_activity() uses it for the GTK_STYLE_CLASS_PRESS_AND_HOLD
style class.
2012-02-18 17:48:45 +01:00
Carlos Garcia Campos
65888ac515
scrolledwindow: Add auto-hide-scrollbars style property
...
To hide the scrollbars in kinetic mode when not scrolling.
2012-02-18 17:48:45 +01:00
Carlos Garcia Campos
313f51d1f8
tests: Add new test for kinetic scrolling
2012-02-18 17:48:44 +01:00
Carlos Garcia Campos
5ddf0f4e5f
test: Add checkbox to enable/disable kinetic scrolling in scrolled window test
2012-02-18 17:48:44 +01:00
Carlos Garcia Campos
5e726db14e
scrolledwindow: Initial kinetic scrolling support
2012-02-18 17:48:44 +01:00
Carlos Garcia Campos
705dde471f
timeline: Add _gtk_timeline_get_elapsed_time()
...
To get the time in milliseconds since the last frame
2012-02-18 17:48:44 +01:00
Carlos Garcia Campos
d83640dc34
Add GtkWidget::captured-event signal
...
https://bugzilla.gnome.org/show_bug.cgi?id=641836
2012-02-18 17:48:44 +01:00
Carlos Garnacho
ed20c3255b
gdk: Add GDK_SOURCE_TOUCH
...
This device source applies to touch capable devices, most
notably touchscreens.
2012-02-18 17:48:44 +01:00
Yaron Shahrabani
0a189935ad
Updated Hebrew translation
2012-02-18 14:59:12 +02:00
Yaron Shahrabani
1f5681e419
Updated Hebrew translation.
2012-02-18 14:42:42 +02:00
Cosimo Cecchi
8dd4a0adf1
color-swatch: don't render our active badge if background-image is set
...
If the color active swatch has been set a background image from the
theme, use it as an asset, and do not draw our custom thing.
2012-02-18 09:55:45 +01:00
Cosimo Cecchi
dcec8dfdde
color-swatch: render a background if the swatch doesn't have a color
...
We still want to call into the background rendering code, to draw the
default background.
2012-02-18 09:55:45 +01:00
Cosimo Cecchi
8e85702dca
color-swatch: derive directly from GtkWidget
...
Instead of GtkDrawingArea, since that calls in realize
gtk_style_context_set_background(). We don't want that to happen, given
that we do all the painting ourselves in _draw().
2012-02-18 09:55:45 +01:00
Chao-Hsiung Liao
b58d50a0da
Updated Traditional Chinese translation(Hong Kong and Taiwan)
2012-02-18 08:49:57 +08:00
Daniel Mustieles
1578585c08
Updated Spanish translation
2012-02-17 18:02:22 +01:00
Daniel Mustieles
a18b3f2ed4
Updated Spanish translation
2012-02-17 17:50:13 +01:00
Cosimo Cecchi
039eb8dc04
color-editor: mark the GtkColorSwatch as not selectable
2012-02-17 17:03:15 +01:00
Cosimo Cecchi
5f0c4fc20f
color-swatch: add a "selectable" property to GtkColorSwatch
...
We don't want e.g. the swatch in GtkColorEditor to get the select badge
when it's clicked, so make this a property (on by default).
2012-02-17 17:03:15 +01:00
Fran Diéguez
04b36dabd0
Updated Galician translations
2012-02-16 15:00:06 +01:00
Claudio Saavedra
cfe65a0d6c
GtkNotebook: and another fix
...
https://bugzilla.gnome.org/show_bug.cgi?id=669116
2012-02-16 12:33:26 +02:00
Claudio Saavedra
ccf7867c35
GtkNotebook: fix one child-notify emission
...
Forgot to increase the counter in the for loop, doing it now.
https://bugzilla.gnome.org/show_bug.cgi?id=669116
2012-02-16 12:28:46 +02:00
Benjamin Otte
bf89bc624b
widget-factory: Don't crash when showing about dialog
2012-02-15 15:14:31 +01:00
Javier Jardón
392fdff8e5
docs: GtkWidget's "state-flags-changed" is a signal not a property
2012-02-15 13:43:58 +00:00
Daniel Mustieles
444f562955
Updated Spanish translation
2012-02-15 13:11:35 +01:00
Daniel Mustieles
db8555ed31
Updated Spanish translation
2012-02-15 13:05:43 +01:00
Daniel Mustieles
cc1b29cd67
Updated Spanish translation
2012-02-15 13:01:13 +01:00
Murray Cumming
a0b4ab109d
Documentation: Correct references to properties.
...
These should use :, not ::, though signals would use ::.
See
http://developer.gnome.org/gtk-doc-manual/unstable/documenting_syntax.html.en
and
http://developer.gnome.org/gtk-doc-manual/unstable/documenting_symbols.html.en
2012-02-15 11:43:33 +01:00
Rico Tzschichholz
87d979f498
Remove obsolete reference to gtk.css.raleigh
2012-02-15 08:03:05 +01:00
Matthias Clasen
f9be52cb2f
Add color and font chooser to the widget gallery
2012-02-14 23:48:36 -05:00
Matthias Clasen
fae1be06cd
Docs: Reorder a sections
2012-02-14 23:36:02 -05:00
Matthias Clasen
e1a625aa78
GtkColorSwatch: Add accessible actions
2012-02-14 21:16:52 -05:00
Claudio Saavedra
347328adb0
GtkNotebook: emit child-notify::position on drag 'n drop reorder
...
https://bugzilla.gnome.org/show_bug.cgi?id=669116
2012-02-15 01:05:12 +02:00
Claudio Saavedra
cb775a6a6d
GtkNotebook: emit child-notify::position on page add/removal
...
For each page added/removed, notify all the other children changing
position.
https://bugzilla.gnome.org/show_bug.cgi?id=669116
2012-02-15 01:05:12 +02:00
Matthias Clasen
6c2b7a9441
Revert "Add a button to back to the palette"
...
This reverts commit 32f1a5ad83 .
2012-02-14 16:39:05 -05:00
Cosimo Cecchi
bef12c003c
color-scale: remove Adwaita GtkColorScale trough hack
...
Instead of special-casing Adwaita, apply the half-width logic for themes
that have a scale slider with vertical proportions.
Also, simplify the rendering code a bit by factoring out the trough
sizing logic.
2012-02-14 16:37:05 -05:00
Cosimo Cecchi
19da38b811
colorchooser: factor out a private method to get the checkboard pattern
...
And use it in the color widgets.
2012-02-14 16:37:04 -05:00
Matthias Clasen
453aecd346
Improve a11y names for colors
...
Only read alpha if it is != 1, and read percentages also for
'unnamed' palette colors.
2012-02-14 16:37:04 -05:00
Matthias Clasen
2d57c5c374
Update TODO
2012-02-14 16:37:04 -05:00
Matthias Clasen
c2426516c4
Update POTFILES
2012-02-14 16:37:04 -05:00
Matthias Clasen
18ea4825cf
Mark color names as translatable
2012-02-14 16:37:04 -05:00
Matthias Clasen
1f698e4f62
GtkColorScale: fix an RTL issue
...
When using a horizontal scale in RTL, we need to flip the
background image to go along with the flipped scale.
2012-02-14 16:37:04 -05:00
Cosimo Cecchi
49a23acd89
test-toplevelembed: use new GtkColorChooserDialog
2012-02-14 16:37:03 -05:00
Cosimo Cecchi
80f0feda98
testgtk: use GtkColorChooserDialog instead of GtkColorSelectionDialog
2012-02-14 16:37:03 -05:00
Cosimo Cecchi
06b34b3fc1
prop-editor: don't use GtkColorButton deprecated API
2012-02-14 16:37:02 -05:00
Cosimo Cecchi
92322a63f5
gtk-demo: use the new GtkColorChooserDialog in the color demo
2012-02-14 16:37:02 -05:00
Cosimo Cecchi
5e77e1c117
colorsel: include gtkcolorutils.h
...
Fix the build
2012-02-14 16:37:02 -05:00
Cosimo Cecchi
6dbb4d6384
color-widget: don't use a GtkAlignment to center the color editor
...
We can just use a GtkBox, and set hexpand=TRUE/halign=CENTER to allocate
the editor in the middle of the box.
2012-02-14 16:37:01 -05:00
Cosimo Cecchi
988cbb6300
color-editor: don't use a GtkAlignment to layout popups
...
Set a margin on the contents and use a box instead.
2012-02-14 16:37:01 -05:00
Cosimo Cecchi
1cbaca6c60
color-editor: don't use an alignment to give the popup extra space
2012-02-14 16:37:01 -05:00
Cosimo Cecchi
2abe72283e
color-editor: also set a row spacing in the popup tooltip
2012-02-14 16:37:01 -05:00
Cosimo Cecchi
126e941466
color-button: simplify internal children
...
Instead of going GtkAlignment->GtkFrame->GtkAlignment, just pack a
GtkDrawingArea inside the button, and use halign/margin properties to
get the desired layout.
2012-02-14 16:37:01 -05:00
Cosimo Cecchi
51c6e8329d
color-swatch: cleanup unused property enum value
2012-02-14 16:37:01 -05:00
Matthias Clasen
91b4781ae9
Revert an accidental commit
2012-02-14 16:37:00 -05:00
Matthias Clasen
92618eb8e2
GtkColorSwatch: Use widget state instead of a custom 'selected'
2012-02-14 16:37:00 -05:00
Matthias Clasen
9cc827fcd1
A11y improvements
2012-02-14 16:37:00 -05:00
Matthias Clasen
40974b1463
GtkColorSwatch: Drop an unnecessary field
2012-02-14 16:37:00 -05:00
Matthias Clasen
dc1929a9de
Avoid a 10th custom color
2012-02-14 16:37:00 -05:00
Matthias Clasen
57e057df60
Fill the custom palette up some more
2012-02-14 16:37:00 -05:00
Matthias Clasen
32f1a5ad83
Add a button to back to the palette
...
This is just for trying this out; if it is considered good,
it will be moved into GtkColorChooserDialog
2012-02-14 16:36:59 -05:00
Matthias Clasen
1f05f94885
GtkColorChooserDialog: propagate notification for ::show-editor
2012-02-14 16:36:59 -05:00
Matthias Clasen
05e2124f24
GtkColorChooserWidget: emit notification for ::show-editor
2012-02-14 16:36:59 -05:00
Matthias Clasen
1fd311803a
Document gtk_color_chooser_add_palette
2012-02-14 16:36:59 -05:00
Matthias Clasen
7f44feab19
Fix use_alpha initialization and propagation
...
We must set use_alpha to TRUE initially, and when passing it
down to the swatches, we must iterate over the custom box, too.
2012-02-14 16:36:59 -05:00
Matthias Clasen
3a7ed2e7bd
Remove unused variables
2012-02-14 16:36:59 -05:00
Matthias Clasen
bad24bc119
Consistently private headers
...
Add a 'private' suffix to all newly introduced private
headers.
2012-02-14 16:36:58 -05:00
Matthias Clasen
5aaeaa7b81
Fix the build
...
A G_BEGIN_DECLS went missing here.
2012-02-14 16:36:58 -05:00
Cosimo Cecchi
bcc4186388
color-swatch: remove gtk_color_swatch_set_corner_radii()
...
It's unused now.
2012-02-14 16:36:58 -05:00
Cosimo Cecchi
74a53b542b
color-widget: use a GtkBox for the custom section
...
Since we only allow a single row there, it's better to just use a
GtkBox, and use :first-child, :last-child and :only-child to style
swatches in there.
2012-02-14 16:36:58 -05:00
Cosimo Cecchi
9da3d8b7b9
color-widget: add LEFT/RIGHT/TOP/BOTTOM style classes to the swatches
...
As we add them to the grid, for setting theming properties.
2012-02-14 16:36:58 -05:00
Cosimo Cecchi
73944c6e81
color-editor: don't call gtk_color_swatch_set_corner_radii()
...
It's going away.
2012-02-14 16:36:58 -05:00
Cosimo Cecchi
a9c2a586b1
color-swatch: don't hardcode list-add-symbolic as swatch icon
...
We have that as a property, we should use it.
2012-02-14 16:36:57 -05:00
Cosimo Cecchi
83de34882b
color-swatch: allow styling the "active badge"
...
Instead of calling gtk_render_check() there, just render a symbolic
icon, falling back to a built-in one if the icon is not available.
Also, add a style class for the active badge on the swatch:
"color-active-badge".
2012-02-14 16:36:57 -05:00
Cosimo Cecchi
1ccedc5fa4
color-swatch: use GtkThemingBackground to draw the background
...
This allows e.g. for the corner radii to be styled directly from the
theme.
2012-02-14 16:36:57 -05:00
Cosimo Cecchi
33e54e45be
color-swatch: add a color-light/color-dark style class for intensity
...
Themes might want to set different colors on the badge if the displayed
color is light or dark. Use a style class for this when we set a color
on the swatch.
2012-02-14 16:36:57 -05:00
Cosimo Cecchi
46187037a3
themingbackground: make it based on GtkStyleContext
...
Instead of GtkThemingEngine. This will allow for the object to be also
used from inside e.g. a _draw() method.
2012-02-14 16:36:57 -05:00
Cosimo Cecchi
ae132c0a1a
roundedbox: add _apply_border_radius() variations for engine/context
...
And make the base function just use the raw corner radii struct.
2012-02-14 16:36:56 -05:00
Cosimo Cecchi
4c61f1f663
themingengine: add a private _gtk_theming_engine_get_context()
...
We'll need this later.
2012-02-14 16:36:56 -05:00
Cosimo Cecchi
4e37d56d51
themingengine: move _gtk_theming_engine_set_context to private header
...
Where it belongs.
2012-02-14 16:36:56 -05:00
Matthias Clasen
8f201d62d9
Add API to set palettes
...
I'm not really convinced by this; the API is a little complicated.
May need more thought.
2012-02-14 16:36:56 -05:00
Matthias Clasen
d7cff0797e
Misc cleanups
2012-02-14 16:36:56 -05:00
Matthias Clasen
ed5aa953d5
testcolorchooser: Add more options
...
Add a --edit option that brings the color chooser up in
single-color edit mode right away.
2012-02-14 16:36:56 -05:00
Matthias Clasen
cb128cc6e9
Deprecate old color selection widgets
...
GtkColorSelectionDialog, GtkColorSelection and GtkHSV have
been superseded by the GtkColorChooser* family of widgets.
2012-02-14 16:36:55 -05:00
Matthias Clasen
23a5f7a22c
Add docs
2012-02-14 16:36:55 -05:00
Matthias Clasen
03a2b338ee
Small documentation tweaks in font choosers
2012-02-14 16:36:55 -05:00
Matthias Clasen
c5cfb6e02b
Rework the API a bit
...
Rename get/set_color to get/set_rgba and show_alpha to use_alpha,
to match existing GtkColorButton API and let GtkColorButton implement
GtkColorChooser.
2012-02-14 16:36:55 -05:00
Matthias Clasen
1f68d7d827
Simplify GtkColorScale private api a bit
2012-02-14 16:36:55 -05:00
Matthias Clasen
6ed16b5b41
Fix up exported symbols
...
Only GtkColorChooser* is public for now.
2012-02-14 16:36:54 -05:00
Matthias Clasen
43ffb8521d
Add a small comments
2012-02-14 16:36:54 -05:00
Matthias Clasen
1f7cc92219
Dismiss popups on show
...
This ensures that the editor always comes up without popups,
even when it is reused.
2012-02-14 16:36:54 -05:00
Matthias Clasen
3f92e24cb7
Add more todos
2012-02-14 16:36:54 -05:00
Matthias Clasen
cc127c64a9
Add some accessible labels
2012-02-14 16:36:54 -05:00
Matthias Clasen
327e36e360
Mark strings for translation
2012-02-14 16:36:53 -05:00
Matthias Clasen
f2aaffaf07
Finishing touches
...
Implement popups in the editor, fix window sizing, fix RTL flipping.
GtkColorPlane is now using adjustments, and GtkColorEditor is using
adjustments as its model as well.
2012-02-14 16:36:53 -05:00
Matthias Clasen
cd300835d7
Allow context menus on scale sliders
...
This will be used for a popup in the color chooser.
2012-02-14 16:36:53 -05:00
Matthias Clasen
e56adaebea
Only activate on double-click
2012-02-14 16:36:53 -05:00
Matthias Clasen
dbbe4c12fa
Remove an erraneous g_free call
2012-02-14 16:36:53 -05:00
Matthias Clasen
296cd814e5
Add an Adwaita hack
...
When the theme is Adwaita, let the thumb extend out over the
colored trough.
2012-02-14 16:36:53 -05:00
Matthias Clasen
5bd4c234fb
Draw no trough for color scales
2012-02-14 16:36:52 -05:00
Matthias Clasen
4226551fff
Move color scales into separate widget
2012-02-14 16:36:52 -05:00
Matthias Clasen
bdb8931bda
Fix a few problems with custom color replacement
...
We were allowing one too many custom colors in, and when one
of them was dropped, we did not update the shape of the penultimate
one.
2012-02-14 16:36:52 -05:00
Matthias Clasen
3a35895a00
Make color chooser always come up with palette
2012-02-14 16:36:52 -05:00
Matthias Clasen
d3b30bff0c
Show new color chooser from color button
2012-02-14 16:36:52 -05:00
Matthias Clasen
2a8d3f78e9
Use a swatch in the editor
...
For now, we simply make it insensitive to turn off unwanted
interactivity.
2012-02-14 16:36:51 -05:00
Matthias Clasen
ff1f5de62f
Don't waste memory
2012-02-14 16:36:51 -05:00
Matthias Clasen
1720e8ebf3
Preliminary color sliders
2012-02-14 16:36:51 -05:00
Matthias Clasen
8178578359
Make alpha optional
2012-02-14 16:36:51 -05:00
Matthias Clasen
8d1565df94
Show alpha in the palette as well
2012-02-14 16:36:51 -05:00
Matthias Clasen
9161119329
No popup menu on the button
2012-02-14 16:36:50 -05:00
Matthias Clasen
9b81322409
Make saving custom colors work as intended
...
The custom colors are now pushed over to the right as new ones
are added, and everything beyond the 9th row gets dropped.
Customized colors are added to the custom colors array.
2012-02-14 16:36:50 -05:00
Matthias Clasen
e1bf3b6650
Choose a different initial color when adding custom colors
...
Going for pure red 'hides' the hairline at the edge of the
plane. This color makes it nicely visible.
2012-02-14 16:36:50 -05:00
Jon McCann
efccf87961
Show editor when clicking custom button
2012-02-14 16:36:50 -05:00
Jon McCann
2c24e3cb6a
Align label with swatches
2012-02-14 16:36:50 -05:00
Jon McCann
ce8212c5a8
Add Tangoish grayscales
2012-02-14 16:36:50 -05:00
Jon McCann
ea6ac7131e
Use the Tango palette by default
2012-02-14 16:36:49 -05:00
Matthias Clasen
e06ccb0fbb
Move the plane into a separate widget
2012-02-14 16:36:49 -05:00
Matthias Clasen
021f5e0365
Initial work on a color editor
...
This replaces GtkHSV with a compound widget featuring
a hue slider and an sv-plane, amongst others.
2012-02-14 16:36:49 -05:00
Matthias Clasen
759765114f
Add a simple color chooser test
2012-02-14 16:36:49 -05:00
Matthias Clasen
3b6e316e74
Initial cut at implementing a new color chooser
...
This is a partial implementation of
https://live.gnome.org/GnomeOS/Design/Whiteboards/ColorSelection
The new color editor has not been implemented yet.
2012-02-14 16:36:49 -05:00
Matthias Clasen
e2bde55277
Remove leftover debug spew
2012-02-14 13:08:27 -05:00
Cosimo Cecchi
abdbe207fe
about-dialog: set proper spacing between columnns in credits section
...
Spacing ended up being really tight; add another 6px.
https://bugzilla.gnome.org/show_bug.cgi?id=668114
2012-02-14 11:26:16 -05:00
Cosimo Cecchi
a04fa5300a
about-dialog: don't set a margin around the license area
...
Make it consistent with the credits page.
https://bugzilla.gnome.org/show_bug.cgi?id=670077
2012-02-14 11:21:52 -05:00
Cosimo Cecchi
8dc9866e2a
about-dialog: add a stroke around the credits area
...
Makes it consistent with e.g. the license page.
https://bugzilla.gnome.org/show_bug.cgi?id=670078
2012-02-14 11:19:04 -05:00
Alexander Larsson
4b200a0429
Set a bg on GtkViewport to ensure we get fast scrolling
...
Otherwise it will use the default alpha transparency and
not scroll efficiently.
2012-02-14 15:18:30 +01:00
Cosimo Cecchi
713c532940
treeview: don't use gtk_render_focus() for dnd indicator
...
There's no reason this should be a focus ring rather than an actual
frame. In the past this was probably used to get a dashed effect, but
now we even support that natively for borders.
2012-02-13 22:43:07 -05:00
Cosimo Cecchi
a3b097639f
treeview: set "dnd" style class when drawing drag and drop indicators
...
This is useful to theme the rings that appear around rows on drag and
drop.
2012-02-13 22:19:53 -05:00
Alexander Larsson
42c2d51ad9
Always make offscreen window rgba
...
This fixes issues where the new default bg of transparent
didn't work, making offscreen windows black.
I don't think this is a practical performance problem.
Offscreen windows are rarely used and generally used for
graphics tricks like alpha anyway.
2012-02-13 15:06:09 +01:00
Alexander Larsson
2d972058ab
Fix up win32 CSS
...
Now that we removed the default css a lot of stuff needed fixing
2012-02-13 12:24:06 +01:00
Murray Cumming
842d3ac53d
GtkButton: Small documentation improvements
2012-02-13 09:18:07 +01:00
Benjamin Otte
90e65f30ab
a11y: Mark cells as defunct when deleting them
...
Just unreffing isn't enough, atk-bridge might have a reference to the
object still.
2012-02-12 16:45:14 +01:00
Matthias Clasen
a96c122fa4
Plug a small memory leak
2012-02-11 13:06:12 -05:00
Benjamin Otte
194a48bd4a
a11y: Redo ref_accessible_at_point()
...
use direct access to the RBTree instead of fiddling with the path.
Removes the lat caller of get_index() and with it count_rows(), so those
are gone now.
2012-02-11 05:11:00 +01:00
Benjamin Otte
01193bcae2
tests: Reenable a11y tree-relationships test
...
It passes now.
2012-02-11 04:46:43 +01:00
Benjamin Otte
3827d75f64
a11y: create focus cell accessibles when they get focused
2012-02-11 04:44:27 +01:00
Benjamin Otte
bf8d9ceb2f
a11y: Split out cell creation function
2012-02-11 04:41:45 +01:00
Benjamin Otte
315ac9413b
a11y: Set relations without tree path
...
We can directly use at the rbtree's parent.
2012-02-11 04:13:04 +01:00
Benjamin Otte
6130c65470
a11y: Remove unused variable
2012-02-11 03:42:14 +01:00
Benjamin Otte
da30c8253b
a11y: Keep treeview accessibles around
...
Refcounting behavior kinda requires that we track of accessibles until
the row goes away. This is necessary for reference handling and for some
assumptions that atk-bridge does.
2012-02-11 03:37:25 +01:00
Benjamin Otte
5e587229c8
a11y: Remove old treeview focus tracking code
2012-02-11 03:14:22 +01:00
Benjamin Otte
24db6d7a6f
a11y: Emit focus change events when focus cell changes
2012-02-11 03:02:20 +01:00
Benjamin Otte
5fe947640c
treeview: Add internal get_cursor_node() API
2012-02-11 03:02:20 +01:00
Benjamin Otte
07f8336dbd
a11y: Update treeview focused status
...
... when the cursor row changes. Also emit active-descendant-changed.
2012-02-11 02:50:26 +01:00
Benjamin Otte
00a810ae04
treeview: Add private get_focus_column() API
2012-02-11 02:49:12 +01:00
Benjamin Otte
f90ff5d50b
treeview: Notify accessible about focus changes
2012-02-11 02:38:48 +01:00
Benjamin Otte
a4559f1e19
treeview: Tell accessible about focus column changes
2012-02-11 01:59:19 +01:00
Sebastian Keller
f33fe5b677
docs: Add documentation for alpha() in CSS
2012-02-11 01:48:03 +01:00
Claudio Saavedra
e2339f5ebd
GtkNotebook: emit child-notify::position a few more times
...
When moving a page around, all children changing their position
need to be notified.
There are still other places where proper notification is missing
(drag 'n drop, etc.)
https://bugzilla.gnome.org/show_bug.cgi?id=669116
2012-02-10 16:39:44 +02:00
Benjamin Otte
3b1d8beab0
accessible: Unset widget on dispose, not finalize
...
Unsetting the widget causes events to get emitted and we want to
(a) really emit that event to our signal handlers
(b) still be recognized as a real GObject while doing that
https://bugzilla.gnome.org/show_bug.cgi?id=669794
2012-02-10 13:21:06 +01:00
Benjamin Otte
5e3c2524f8
reftests: Add a test for misrendering of transparent windows
...
If a widget with a GDK window is set to be transparent in the CSS, it
gets drawn as black instead. This test checks that the fix works.
2012-02-10 11:46:19 +01:00
Ryan Lortie
6d430ad713
widget factory: link against gdkpixbuf
...
Otherwise we fail to link, seeing this:
/usr/bin/ld: gtk3_widget_factory-widget-factory.o: undefined reference
to symbol 'gdk_pixbuf_new_from_resource'
2012-02-09 17:54:22 -05:00
Rui Matos
db2eb85e4a
x11: Cancel _NET_WM_MOVERESIZE if we get a matching ButtonRelease
...
This implements the following part of the EWMH spec:
"The special value _NET_WM_MOVERESIZE_CANCEL also allows clients to cancel the
operation by sending such message if they detect the release themselves
(clients should send it if they get the button release after sending the move
resize message, indicating that the WM did not get a grab in time to get the
release)."
In particular, it fixes the case of clicking widgets that use
gdk_window_begin_[resize|move]_drag*() and the click "sticking", i.e. the
mouse button getting released but the resize or move operation remaining in
effect.
https://bugzilla.gnome.org/show_bug.cgi?id=669208
2012-02-09 23:44:09 +01:00
Alexander Larsson
cdc6e82720
Remove all default css and make Raleigh a pure fallback theme
...
It was problematic to maintain Raleigh going forward, as any
changes in it affected all themes. Also, its more robust if
each theme is a full standalone css rather than relying on
an inherited css base.
So, this changes Raleigh to a standalone theme that we can tweak
without accidentally breaking other themes, and makes the
default theme empty. In fact, we don't even add the default
provider anymore as its always empty.
2012-02-09 23:19:17 +01:00
Piotr Drąg
7de0672650
Updated POTFILES.skip
2012-02-09 21:32:56 +01:00
Alexander Larsson
251cffb638
Fix transparency handling with non-double-buffered drawing
...
Sometimes we need to read back the window content into our double
buffer due to rendering a window with alpha when there is
no implicit paint or it has been flushed due to non-db drawing
before.
However, in this case we can't use gdk_cairo_set_source_window as
it might trigger an implicit paint flush as we detect what we
think is a direct non-double buffered window draw operation, which
will flush the implicit paint operation that we're just setting up.
To fix this we use the raw gdk_window_ref_impl_surface operation
to get the source surface.
2012-02-09 21:14:07 +01:00
Alexander Larsson
5d9736fe13
Fix non-double-buffered drawing
...
There was a sign issue in a coordinate transform that made us
flush the wrong region when flushing an implicit paint.
The non-double buffered drawing would then be drawn over the
right area, but then at the end of the implicit paint this
would be overdrawn with the area we didn't properly remove
from the implicit paint.
Also, the translation from window coords to impl window
coords is now done before removing any active double
buffered paints, as these are also in impl window coords.
2012-02-09 21:14:07 +01:00
Kalev Lember
b21dd67d60
win32: Don't crash when installed in a top-level directory
...
Avoid NULL-pointer dereference when package installation directory
doesn't contain any slashes.
Reported by Paweł Forysiuk.
2012-02-09 17:58:21 +02:00
Alexander Larsson
fed1cfb122
Make the default background for GdkWindows transparent
...
With the changes in default CSS to make the default background transparent
we ran into issues where intermediate GdkWindow (for instance the
view_window in GtkViewport) where we didn't set an explicit background
(because before they were always covered). So instead of showing throught
the transparent windows were showing the default backgroind of the intermediate
window (i.e. black).
With this change we also needed to fix GtkViewport, as it was previously
relying on the bin and view windows to cover widget->window so that the
border was not visible if shadow_type was NONE.
2012-02-09 16:39:23 +01:00
Alexander Larsson
6723feae8a
viewport: Set frame styleclass when getting border size during size allocation
...
Without this you don't get the right border/padding for widget->window
and the border shows up under the scrolled contents.
2012-02-09 16:39:23 +01:00
Matthias Clasen
c525fe27f3
Set BUILT_SOURCES
2012-02-09 09:10:50 -05:00
Matthias Clasen
56f8cf91e0
widget-factory: add the logo
2012-02-09 09:06:32 -05:00
Matthias Clasen
71efe31f16
Move widget-factory to demos/
...
Lets install this, for the benefit of artists everywhere.
2012-02-09 08:45:40 -05:00
Matthias Clasen
41e98b14d3
gtk-demo: Use preprocessing for resources
...
Strip blanks from ui files, and convert pngs into pixdata.
This is useful and serves as a test of these preprocessing
options at the same time.
2012-02-09 08:08:23 -05:00
Matthias Clasen
72ede43928
gtk-demo: Use gdk-pixbuf resource api
...
This is nicer than manual stream manipulation.
2012-02-09 08:08:23 -05:00
Matthias Clasen
b4c31b070f
widget-factory: add an about dialog
...
This is a first step towards making widget-factory an installed
demo.
2012-02-09 08:08:23 -05:00
Baurzhan Muftakhidinov
bc95f03f37
[l10n] Updated Kazakh translation
2012-02-09 15:09:30 +06:00
Matthias Clasen
c2512d1c03
Avoid a C99ism
...
Move variable declarations to the beginning of the block.
https://bugzilla.gnome.org/show_bug.cgi?id=669511
2012-02-08 07:26:25 -05:00
Diego Escalante Urrelo
63865720b7
gtkbuilder-menus: translation-domain can be NULL
...
GtkBuilder defaults its translation-domain to NULL, which is a perfectly
fine value for d_gettext() and friends.
https://bugzilla.gnome.org/show_bug.cgi?id=669638
2012-02-08 04:36:26 -05:00
Diego Escalante Urrelo
a0f6fc137b
gtkactiongroup: clarify set_translation_domain docs
...
NULL is an actual useful value for
gtk_action_group_set_translation_domain, but this information is buried
in g_dgettext() documentation.
Be extra redundant, to make it obvious that NULL is ok.
https://bugzilla.gnome.org/show_bug.cgi?id=669636
2012-02-08 04:36:26 -05:00
Mattias Põldaru
afcd3c9f70
[l10n] Updated Estonian translation
2012-02-08 10:59:07 +02:00
Matthias Clasen
9a2ea96a1b
Bump version
2012-02-06 17:32:46 -05:00
Matthias Clasen
de1b5e67b6
3.3.14
2012-02-06 16:38:47 -05:00
Matthias Clasen
20c3f95e7b
Adapt expected output
...
A recent string change in GtkAboutDialog needs to be reflected
here.
2012-02-06 16:11:27 -05:00
Benjamin Otte
33864064f4
tests: Remove untrue assertion
...
Even if something is not at the top, things might still not be scrolled.
For example in the case where things are exactly at the center.
2012-02-06 21:53:36 +01:00
Benjamin Otte
75eddfffbb
tests: Don't test something we can't test
...
When using GtkTreeStore, don't compute row positions assuming
everything's a list store, which is how get_row_start_for_index() works.
So instead, do a laxer check and don't insist on proper alignment.
2012-02-06 21:53:35 +01:00
Benjamin Otte
6a381b0c1d
tests: Remove unused argument from treeview-scrolling test
2012-02-06 21:53:35 +01:00
Matthias Clasen
9e14789b63
Work around a drawing problem with small notebooks
2012-02-06 15:50:40 -05:00
Matthias Clasen
137bab8710
More resetting
2012-02-06 15:43:47 -05:00
Matthias Clasen
9ec7d6b68e
Use larger screen for tests
...
We used to run Xvfb with 800x600, which turns out to be too small
for some of our reftests. Bump it to 1024x768.
2012-02-06 15:09:24 -05:00
Matthias Clasen
ac9a94b7af
Fix declarations-valid-15 css parser test
2012-02-06 14:44:21 -05:00
Benjamin Otte
40a89fccb5
reftests: Fix background-origin reftest for all themes
...
We want to @import reset-to-defaults.css here.
2012-02-06 20:43:05 +01:00
Benjamin Otte
33961154b6
tests: Fix height checks in treeview scrolling test
...
If things get centered in the scrolling area depens on the height of the
row, too.
2012-02-06 20:43:05 +01:00
Benjamin Otte
c2a6dcc73c
tests: Fix assertion emission
...
We want to assert() when doing the actual check, not do some
g_assert (testing_failed());
2012-02-06 20:43:05 +01:00
Matthias Clasen
b5d5e6427a
Fix declarations-valid-14 css parser test
2012-02-06 14:06:20 -05:00
Matthias Clasen
81465d2d97
Updates
2012-02-06 11:51:34 -05:00
Alexander Larsson
cb625d21b4
Fix leak when parsing image urls
2012-02-06 15:06:29 +01:00
Swecha Localization Team
af200feb0e
Updated Telugu Translations
2012-02-06 17:30:09 +05:30
Piotr Drąg
bd05c1f959
Add bloatpad to POTFILES.skip
...
It doesn't break the build yet, but it will once intltool is fixed to accept translatable='yes'
2012-02-06 02:38:25 +01:00
Matthias Clasen
c064bdb00c
Mark strings as translable in bloatpad
...
We don't have any intention of actually translating bloatpad,
but this ends up as example in the docs.
2012-02-05 19:12:41 -05:00
Matthias Clasen
a45b3df9d0
Bump requirements of glib and gdk-pixbuf
2012-02-05 17:56:22 -05:00
Fran Diéguez
68f51ee980
Updated Galician translations
2012-02-05 23:45:17 +01:00
Kjartan Maraas
aa390b5e57
Updated Norwegian bokmål translation
2012-02-04 12:31:58 +01:00
Daniel Mustieles
8971d5ed74
Updated Spanish translation
2012-02-03 18:06:49 +01:00
Ignacio Casal Quinteiro
022e17afbc
aboutdialog: add a \n in the copyright text
2012-02-03 17:13:38 +01:00
Alexander Larsson
fb0c53a0ed
Fix crash with theme resource file
...
The freeing the GResource in gtk_css_provider_reset caused problems
because it was called from gtk_css_provider_load_from_path() inside
gtk_css_provider_get_named(). We fix this by delaying the
setting of priv->resource until we successfully loaded the file.
2012-02-03 16:37:54 +01:00
Alexander Larsson
6b2f10321f
Remove accidental leftover spew
2012-02-03 16:27:32 +01:00
Alexander Larsson
b5b9965283
css: Remove any loaded resource in gtk_css_provider_reset
2012-02-03 16:01:51 +01:00
Alexander Larsson
610ea728b2
Special case resource pixbuf files loading
...
This means we can share the pixbuf data when using GdkPixdata
images in the resource.
2012-02-03 15:51:55 +01:00
Alexander Larsson
57386285fa
Support a gtk.gresource file in themes
...
This lets themes install a .gresource for efficient loading
of resources. This resource file will (if it exists) be automatically
loaded (mmaped) when the theme is used and unloaded when not used.
2012-02-03 15:50:49 +01:00
Piotr Drąg
35db0819ff
Updated POTFILES.skip
2012-02-02 17:25:40 +01:00
Daniel Mustieles
fa3544e744
Updated Spanish translation
2012-02-02 12:13:29 +01:00
Benjamin Otte
f855238cc7
reftests: Improve 'unresolvable' test
...
Include reset-to-defaults here, too
2012-02-02 03:14:02 +01:00
Benjamin Otte
8cdbebae71
reftests: Fix css-match-exact
...
Ensure that background-colors are always set. And import
reset-to-defaults so that there's no background image or so.
2012-02-02 03:14:02 +01:00
Benjamin Otte
1484208b4c
reftests: Fix entry-progress-coloring test
...
Use reset-to-defaults here.
2012-02-02 03:14:02 +01:00
Benjamin Otte
bc1a689e55
reftests: Add another background-size test
...
This one tests the keywords for the background-size property
2012-02-02 03:14:02 +01:00
Benjamin Otte
e84af235ee
css: Implement padding as numbers
...
Also remove the now unused border parsing function for shorthands.
2012-02-02 03:14:02 +01:00
Benjamin Otte
f2352a5f35
reftests: Fix border-image-url reftest
...
"border-style: none;" sets border widths to 0. So no border was drawn.
Use "border-style: groove" instead. (If the border was drawn that way,
it'd look noticably different.)
Also include reset-to-defaults.css so we really get default CSS.
2012-02-02 03:14:02 +01:00
Benjamin Otte
2fdadb053c
tests: Add 'px' to css tests
2012-02-02 03:14:02 +01:00
Benjamin Otte
f1c73fcc0c
reftests: Add 'px' to all properties
2012-02-02 03:14:02 +01:00
Benjamin Otte
cc83986eb8
reftests: Make test runner always use image surfaces
...
See comment in code for why.
2012-02-02 03:14:01 +01:00
Benjamin Otte
3c4b8a676f
css: Port margin properties to GtkCssNumber
2012-02-02 03:14:01 +01:00
Benjamin Otte
cfebd1ec06
reftests: Add reftest for background-size
2012-02-02 03:14:01 +01:00
Benjamin Otte
1eeafcf569
reftests: Put border-image-repeat test back
...
This reverts commit 001d42f369 .
Because now that we have background-size support, we can use it to make
stuff work!
2012-02-02 03:14:01 +01:00
Benjamin Otte
ceed732d65
reftests: set style properties to 0 in reset-to-defaults
...
GtkButton doesn't conform to CSS with these properties.
Bad GtkButton!
2012-02-02 03:14:01 +01:00
Benjamin Otte
2434dbc10a
themingbackground: Implement background-size support
2012-02-02 03:14:01 +01:00
Benjamin Otte
82b739c490
tests: Add parsing test for background-size
2012-02-02 03:14:01 +01:00
Benjamin Otte
1979d048d3
css: Implement parsing for 'background-size'
2012-02-02 03:14:01 +01:00
Benjamin Otte
d56ac0d4df
reftests: Add a bunch of linear gradient tests
2012-02-02 03:14:01 +01:00
Benjamin Otte
2e901752b1
tests: Add parsing tests for linear gradients
2012-02-02 03:14:01 +01:00
Benjamin Otte
811e848832
css: Implement repeating linear gradients
2012-02-02 03:14:00 +01:00
Benjamin Otte
5df9b0188a
css: Implement CSS 3 linear-gradient() syntax
2012-02-02 03:14:00 +01:00
Benjamin Otte
f22c986102
tests: Update CSS tests for borders
...
Borders now expect 'px'.
2012-02-02 03:14:00 +01:00
Benjamin Otte
0c140daff2
css: Implement support for angles
2012-02-02 03:14:00 +01:00
Benjamin Otte
a63ff72406
css: Convert border-radius to GtkCssNumber
...
We can do % now, wohoo!
2012-02-02 03:14:00 +01:00
Benjamin Otte
82c2dad178
themingengine: Add a private function to query lengths
2012-02-02 03:14:00 +01:00
Benjamin Otte
762ea4793f
css: Make border-width a length property
2012-02-02 03:14:00 +01:00
Benjamin Otte
a81ac3d5cd
css: Add a check function for specified types
...
... and use it.
It seems kinda necessary for the refactoring I'm about to do...
2012-02-02 03:14:00 +01:00
Benjamin Otte
9551f542bd
css: Ensure proper type for parsing custom properties
2012-02-02 03:14:00 +01:00
Benjamin Otte
893807bee0
css: Add GtkCssNumber
2012-02-02 03:14:00 +01:00
Benjamin Otte
bd8fefb20e
styleproperties: Add a warning
...
GtkStyleProperties stores computed values. Make sure it does.
2012-02-02 03:14:00 +01:00
Benjamin Otte
032e8f9f9b
styleproperty: Simplifiy registering function
...
... and rename it to conform to the actual type.
We don't need 2 registering functions anymore now that we can use the
specified type.
2012-02-02 03:13:58 +01:00
Benjamin Otte
6ba33e7af5
css: Allow bypassing the compute_value() stage
...
This is useful when overriding values.
2012-02-02 03:13:38 +01:00
Benjamin Otte
e4c2d9b259
csslookup: Query the bitmask
...
Checking if the value is NULL is the wrong thing to do - the bitmask is
usd to keep track of that.
The reason for that will become apparent in the next patch.
2012-02-02 03:13:38 +01:00
Benjamin Otte
4c8e9ee6b6
css: Remove two unused declarations
2012-02-02 03:13:38 +01:00
Benjamin Otte
c8786c3b97
css: color_compute no longer needs to check type
...
The input is always a symbolic color.
2012-02-02 03:13:38 +01:00
Benjamin Otte
5e5e8367ce
css: Initialize value before calling compute function
2012-02-02 03:13:38 +01:00
Benjamin Otte
f7e0ce3b28
css: Initialize values to their specified type
...
.. when parsing.
2012-02-02 03:13:38 +01:00
Benjamin Otte
25affd4766
css: Create SymbolicColor fallback properties for colors
2012-02-02 03:13:38 +01:00
Benjamin Otte
c2fb315878
css: parse 'currentColor' for symbolic colors
2012-02-02 03:13:38 +01:00
Benjamin Otte
9fa764abec
styleproperty: Introduce "specified type" and "computed type"
...
Make the types explicit. This way, we can actually do useful stuff with
them (like sanity checks, d'oh).
2012-02-02 03:13:34 +01:00
Benjamin Otte
05f14af24c
css: Make the 'currentColor' keyword a symbolic color
...
This is the first step on a quest to ensure that there is only ever one
GType in use for GValues in every stage of the CSS resolving process.
2012-02-02 00:40:33 +01:00
Benjamin Otte
6b04c0f828
raleigh: remove general 'padding' declaration
...
Fixes reftests that were broken after images and labels applied padding.
Things look much more cramped now. On the plus side, treeview headers
and comboboxes have better spacing. Menubars look like crap now though.
Needs someone with artistical talent to figure out.
2012-02-02 00:14:01 +01:00
Benjamin Otte
21e20b0d5b
raleigh: Remove unnecessary border-width declaration
2012-02-02 00:09:05 +01:00
Benjamin Otte
4dd9a73c8a
raleigh: Don't set bg-color for all widgets
...
Just set oit for things that need it.
(FIXME: Buttons should probably not need it, but spinbuttons and
treeview headers don't have a proper background without it.)
2012-02-02 00:05:51 +01:00
Cosimo Cecchi
95f5ca062b
reftests: set border-image: none in border-image-url's reference CSS
...
Fix border-image-url reftest
2012-02-01 17:59:28 -05:00
Cosimo Cecchi
d61a84bb3a
reftests: add a bunch of missing reset-to-defaults
...
Fix the css-match-* reftests.
2012-02-01 17:59:27 -05:00
Cosimo Cecchi
2ae2c443d0
app-chooser-dialog: cancel the PK operation when the dialog is dismissed
...
This doesn't really seem to have any effect; probably PK doesn't listen
for changes on the passed-in cancellable, but it's correct.
Related to: https://bugzilla.gnome.org/show_bug.cgi?id=649121
2012-02-01 13:21:43 -05:00
Cosimo Cecchi
623b5192cc
app-chooser-dialog: make sure to hold a ref when doing async ops
...
Hold a ref to the GtkDialog while doing async operations with the
GtkAppChooserOnline object.
This is needed, since somebody could call gtk_widget_destroy() on us
while an async operation is in progress. We don't want to be finalized
in that case, but mark the fact that we were dismissed and just return
from the callback in that case.
This avoids crashing if the dialog is destroyed in the middle of a PK
operation.
https://bugzilla.gnome.org/show_bug.cgi?id=649121
2012-02-01 13:21:43 -05:00
Benjamin Otte
c0ee68b7fe
gtkmain: Invoke keysnoopers unconditionally
...
Now that ATK no longer uses a key snooper but is invoked directly,
checking in advance for existing snoopers is wrong and stops ATK from
working.
Also: code reduction without performance loss == good thing.
https://bugzilla.gnome.org/show_bug.cgi?id=669176
2012-02-01 15:45:49 +01:00
Cosimo Cecchi
26ff536069
combobox: fix cell area allocation in menu mode for RTL
...
We were missing a padding to subtract from the child widget here.
2012-01-31 20:30:43 -05:00
Cosimo Cecchi
aa16f469bc
combobox: fix dropdown menu alignment for RTL languages
...
We need to add in the left padding, instead of subtracting it in that
case.
2012-01-31 20:30:43 -05:00
Cosimo Cecchi
65e6248542
combobox: use gtk_container_class_handle_border_width()
...
Avoids us fiddling with the border width manually in our size request
and allocation cycles.
2012-01-31 20:30:43 -05:00
Cosimo Cecchi
cf7f0cb27a
combobox: always trim the allocated area by padding and border for child
...
When we're size allocating the children widgets, always trim the
allocation for padding and border of GtkComboBox, as that's all the area
they have available.
2012-01-31 20:30:42 -05:00
Cosimo Cecchi
ec6b36add5
combobox: cleanup allocation of children in list mode
...
Instead of setting the same values for child allocation in different
places, just do it once.
2012-01-31 20:30:42 -05:00
Cosimo Cecchi
a8211b75b2
combobox: cleanup and comment the allocation code somewhat
2012-01-31 20:30:42 -05:00
Cosimo Cecchi
00325e992b
combobox: make sure to respect the GtkComboBox padding in menu mode
...
When the combobox is in menu mode, we still shouldn't discard the
GtkComboBox padding value; it's wrong to allocate it to the button.
2012-01-31 20:30:42 -05:00
Cosimo Cecchi
c598a9501f
combobox: cleanup GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON
...
It was using the wrong padding values for RTL, and generally, using the
same variables in a distant macro makes this method even more
complicated than it already is...
2012-01-31 20:30:41 -05:00
Cosimo Cecchi
1bbd2c48c5
combobox: simplify size request code by using the button content box
...
Similar to what we did for size_allocate.
2012-01-31 20:30:41 -05:00
Cosimo Cecchi
821365af15
combobox: move the allocation of the button contents box directly
...
If we're in menu mode with no children, instead of tweaking the
allocation of the arrow and the separator separately, tweak the
allocation of the box that contain both.
2012-01-31 20:30:41 -05:00
Cosimo Cecchi
93523e70a0
combobox: allocate the CSS borders to GtkComboBox
...
Consider borders in the allocation/size-request machinery, like every
widget should do.
2012-01-31 20:30:40 -05:00
Cosimo Cecchi
4675ed27fd
combobox: remove handling of focus-padding and focus-line-width
...
GtkComboBox always handles focus through its children, so there's no
need to request and allocate them again.
In fact, Adwaita was forcing these style properties to zero for
GtkComboBox.
2012-01-31 20:30:40 -05:00
Javier Jardón
9d7a722b38
gtkentry: Fix compilation warnings
2012-01-31 20:46:14 +00:00
Javier Jardón
44135ba2eb
gtkspinbutton: Fix compilation warning
2012-01-31 20:46:13 +00:00
Ryan Lortie
8abc74680d
Bring back the GMenu separators
...
4240bfb74a contained a likely copy/paste
mishap that accidentally disabled all separators for GtkMenus created
from GMenuModels.
Bring them back.
2012-01-31 13:23:34 -05:00
Cosimo Cecchi
0e395ea5a2
entry: deprecate the progress-border style property
...
Since we don't use it anymore.
2012-01-31 10:04:27 -05:00
Cosimo Cecchi
8dab59e5c9
entry: use the CSS margin for the progress margin offset
...
The progressbar inside GtkEntry has a progress-border style property,
which is actually the margin of the progressbar inside the GtkEntry
allocation.
Use a CSS margin instead of reading the progress-border property.
2012-01-31 10:04:27 -05:00
Cosimo Cecchi
5ec36a015c
entry: use padding on the image area to position the image
...
Don't assume the padding of the icons is the same padding of the rest of
the entry.
This also allows to set different paddings for left and right icons.
2012-01-31 10:04:27 -05:00
Cosimo Cecchi
2cbe088674
entry: deprecate inner-border and gtk_entry_get/set_inner_border()
...
They're unused in GTK now and have suitable replacements in the CSS
properties.
2012-01-31 10:04:27 -05:00
Cosimo Cecchi
dd2bbd1b85
cell-renderer-text: don't use gtk_entry_set_inner_border()
...
There's no need to, since now the theme can just tweak the padding like:
.cell.entry {
padding: 12;
}
2012-01-31 10:04:26 -05:00
Cosimo Cecchi
a5b189093b
cell-renderer: add the CELL style class to the editing widget
...
When we create an editing widget, add the CELL style class to it, for
identification by the themes.
2012-01-31 10:04:26 -05:00
Cosimo Cecchi
4b90ba2701
entry: always add padding to the allocation
...
Even when we don't have a frame. We just ignore the borders in this
case.
2012-01-31 10:04:26 -05:00
Cosimo Cecchi
d140411698
entry: don't consider inner-border for allocation and layout
...
We want to deprecate the inner-border property and use the standard CSS
border/padding properties. Start with replacing its uses in GtkEntry.
2012-01-31 10:04:26 -05:00
Cosimo Cecchi
3ca795d447
entry: don't blindly center the text area in the allocated height
...
Since top/bottom borders might be different.
2012-01-31 10:04:25 -05:00
Cosimo Cecchi
8275a20026
entry: change _gtk_entry_get_borders() to return a GtkBorder
2012-01-31 10:04:25 -05:00
Cosimo Cecchi
5b2c1ee828
entry: allocate the CSS borders to GtkEntry
...
Every widget should allocate its borders. Make this true for GtkEntry.
2012-01-31 10:04:25 -05:00
Marek Kasik
9afe13bf91
printing: Don't crash when printing
...
This commit fixes crash which occurs in Firefox, Thunderbird and Inkscape
during printing. This crash was caused because of wrong handling of Custom
CUPS options. (#543520 )
2012-01-31 12:15:43 +01:00
Michael Meeks
0481fbf7ce
broadway: terminate v7 input to avoid parsing uninit memory.
2012-01-31 10:39:01 +00:00
Ryan Lortie
4041accda3
GtkBuilder menus: reject all attributes on <item>
...
These were just being silently ignored before. That's bad, since it
used to be valid to have these.
2012-01-31 00:09:11 -05:00
Matthias Clasen
36242f8035
Bump version
2012-01-30 23:16:43 -05:00
Matthias Clasen
25231e36a2
3.3.12
2012-01-30 23:15:55 -05:00
Matthias Clasen
26da21f352
Drop some unintentional exports
2012-01-30 22:14:05 -05:00
Matthias Clasen
f663d4c82e
Fix menu xml syntax in tests
2012-01-30 22:14:05 -05:00
Benjamin Otte
50c5bf97ea
shorthand: Only unset values that are set
...
Otherwise g_value_unset() complains. And that breaks the testsuite.
2012-01-31 03:59:32 +01:00
Benjamin Otte
f01cef05c8
window: Avoid unnecessary attach-widget resets
2012-01-31 03:43:43 +01:00
Matthias Clasen
9b6ae2e9d5
Fix make check
...
Several unwanted symbols have sneaked in.
2012-01-30 20:46:44 -05:00
Matthias Clasen
4497ac6b58
Document the gtkbuilder xml file better
...
Replace the (invalid) DTD in the GtkBuilder docs by a
RELAX NG schema. Also install the schema in /usr/share/gtk-3.0,
so it can be used to validate GtkBuilder ui files.
2012-01-30 20:32:22 -05:00
Matthias Clasen
585a6652d5
Use G_SOURCE_CONTINUE/REMOVE
...
Now that GLib provides these macros, we should use them
to make the code more readable.
2012-01-30 19:12:27 -05:00
Matthias Clasen
7a080413ad
Typo fix
2012-01-30 18:38:04 -05:00
Kristian Høgsberg
12e661c801
wayland: Fix return type from gdk_wayland_window_configure()
...
Should be void. Copy and paste error.
2012-01-30 09:07:24 -05:00
Chao-Hsiung Liao
b2eadbc723
Updated Traditional Chinese translation(Hong Kong and Taiwan)
2012-01-29 23:03:31 +08:00
Kristian Høgsberg
aae9a71986
wayland: Also synthesize a configure event from gdk_window_wayland_move_resize
2012-01-29 07:32:44 -05:00
Matej Urbančič
1cf1fbdbbf
Updated Slovenian translation
2012-01-28 20:42:10 +01:00
Kjartan Maraas
c32fedc264
Updated Norwegian bokmål translation
2012-01-28 15:44:51 +01:00
Carlos Garcia Campos
3c486ee96d
testgtk: Use symbolic names for button numbers
2012-01-27 09:47:44 +01:00
Carlos Garcia Campos
80b414efc2
examples: Use symbolic names for button numbers
2012-01-27 09:47:44 +01:00
Carlos Garcia Campos
f7c6c97710
gtk-demo: Use symbolic names for button numbers
2012-01-27 09:47:44 +01:00
Carlos Garcia Campos
67c3bf7b02
gtktreeviewcolumn: Use symbolic names for button numbers
2012-01-27 09:47:44 +01:00
Carlos Garcia Campos
349b1eff03
gtktreeview: Use symbolic names for button numbers
2012-01-27 09:47:44 +01:00
Carlos Garcia Campos
4e41b5c5fd
gtktextview: Use symbolic names for button numbers
2012-01-27 09:47:44 +01:00
Carlos Garcia Campos
f20551e2ed
gtkstatusicon: Use symbolic names for button numbers
2012-01-27 09:47:44 +01:00
Carlos Garcia Campos
f84ec775d8
gtkspinbutton: Use symbolic names for button numbers
2012-01-27 09:47:44 +01:00
Carlos Garcia Campos
99c903ec04
gtkrange: Use symbolic names for button numbers
2012-01-27 09:47:44 +01:00
Carlos Garcia Campos
15711a3bf7
gtkpathbar: Use symbolic names for button numbers
2012-01-27 09:47:44 +01:00
Carlos Garcia Campos
0453f91f02
gtkpaned: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
594903ecde
gtknotebook: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
59a1434557
gtkmenutoolbutton: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
73449a4e28
gtkmenu: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
38d869cb8e
gtklabel: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
c7756f0410
gtkiconview: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
203f600373
gtkhsv: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
76420c4793
gtkexpander: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
d088e729e5
gtkentry: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
6e9b06028c
gtkdnd: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
7f2b08c04d
gtkcombobox: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
2dbfa88459
gtkcolorsel: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
f8e9d264da
gtkcellarea: Use symbolic names for button numbers
2012-01-27 09:47:43 +01:00
Carlos Garcia Campos
c5d9c6f27c
gtkcalendar: Use symbolic names for button numbers
2012-01-27 09:47:42 +01:00
Carlos Garcia Campos
e796f3a4e7
gtkbutton: Use symbolic names for button numbers
2012-01-27 09:47:42 +01:00
Carlos Garcia Campos
ffd6dab8aa
gtkappchooserwidget: Use symbolic names for button numbers
2012-01-27 09:47:42 +01:00
Carlos Garcia Campos
f11e5a3f4d
gtkaboutdialog: Use symbolic names for button numbers
2012-01-27 09:47:42 +01:00
Carlos Garcia Campos
bc5d8da0c6
gdkevents: Use symbolic names for button numbers
2012-01-27 09:47:42 +01:00
Carlos Garcia Campos
2890ac842f
gdk: Add macros for left, middle and right buttons
...
https://bugzilla.gnome.org/show_bug.cgi?id=668688
2012-01-27 09:47:42 +01:00
Daniel Mustieles
7a39912cae
Updated Spanish translation
2012-01-26 17:14:25 +01:00
Piotr Drąg
0fb61e883e
Updated POTFILES.in
2012-01-26 15:22:19 +01:00
Piotr Drąg
78d2ac2cb6
Updated POTFILES.in
2012-01-26 15:22:01 +01:00
Marek Kasik
e0d32d9456
printing: Fix a typo
...
Fix a typo which crashes on my printer.
2012-01-26 10:52:47 +01:00
Michael Natterer
90b991dd13
quartz: s/gdk_cursor_ref/g_object_ref/
2012-01-26 10:37:12 +01:00
Michael Natterer
3ca7ec693f
Bug 667691 - implement gdk_window_restack() for Quartz
...
Apply patch from Paul Davis which implements this missing function.
(cherry picked from commit e1c107a094 )
2012-01-26 10:25:47 +01:00
Will Newton
96cfd3f8c7
iconcache: Always check return value of find_image_offset.
...
find_image_offset returns 0 if it failed to find a matching image.
Check this return value in _gtk_icon_cache_get_icon to avoid
making bad memory accesses later.
Signed-off-by: Will Newton <will.newton@imgtec.com >
https://bugzilla.gnome.org/show_bug.cgi?id=667745
2012-01-25 22:57:52 -05:00
Matthias Clasen
dbd66a8f02
GtkMenu: Improve annotations
...
Add a 'Rename to' annotation so gtk_menu_popup_for_device
appears in bindings as gtk_menu_popup (which we skip anyway).
https://bugzilla.gnome.org/show_bug.cgi?id=657385
2012-01-25 21:14:52 -05:00
Matthias Clasen
4c1a45f9ab
Add some menu markup documentation
2012-01-25 20:59:22 -05:00
Ryan Lortie
7c1717886a
Remove one last user of gmenumarkup
2012-01-25 20:56:06 -05:00
Ryan Lortie
e2750a4f5e
GtkTimeline: protect the timeline from unref
...
The timeline frame function emits several signals, assuming that the
timeline will exist after these signals return. This assumption can be
invalid if signal handlers unref the timeline.
https://bugzilla.gnome.org/show_bug.cgi?id=668675
2012-01-25 20:29:31 -05:00
Ryan Lortie
eed307713b
GtkBuilder: change format of menus
...
Change the format of GtkBuilder <menu> to be more in-line with the style
of the rest of GtkBuilder so that we can do translation in a consistent
way.
The format is now substantially more difficult to hand-write, but tools
should be along soon.
There is an xslt program attached to the bug to help you convert your
existing .ui files from the old format to the new one.
https://bugzilla.gnome.org/show_bug.cgi?id=668696
2012-01-25 19:42:19 -05:00
Cosimo Cecchi
c76cccd437
application: sync clipboard and recent manager on shutdown
...
This mimics the code for gtk_main(), since GApplication iterates the
main context directly.
2012-01-25 18:31:25 -05:00
Matthias Clasen
d00368cac9
GtkAboutDialog: Make credits section extensible
...
This commit adds API that allows to add new named sections
to the Credits part of GtkAboutDialog, in addition to the
hardcoded sections for authors, documenters, artists and
translators.
https://bugzilla.gnome.org/show_bug.cgi?id=484693
2012-01-25 18:25:43 -05:00
Dieter Verfaillie
fe1907708c
win32: fix gdk_win32_window_raise
...
When calling gtk_window_present(), gdk_win32_window_raise did not
actually raise the window anymore. Replacing BringWindowToTop() with
SetForegroundWindow() fixes this.
During testing, we also discovered that sometimes SetForeGroundWindow()
will (correctly) refuse to raise the window and fail(for example: sometimes
when dragging a different application at the time of a gtk_window_present()
call). To prevent a GdkWarning from being produced, usage of the API_CALL
macro has been removed for this case.
Additional goodies of SetForeGroundWindow:
- it brings the window to the front when the process owning the
window to raise is the foreground process (for example when
gtk_window_present is called from a GtkStatusIcon's activate
signal handler)
- it limits itself to flashing the task bar button associated
with the window if the process owning the window to raise
is *not* the foreground process (for example when gtk_window_present
is called from a g_timeout_add callback function)
https://bugzilla.gnome.org/show_bug.cgi?id=665760
2012-01-25 20:32:50 +01:00
Benjamin Otte
8da4c2affa
css: Return GArrays from shorthand parsing
...
GValueArray is deprecated now.
2012-01-25 19:05:33 +01:00
Benjamin Otte
fd4f701c50
css: Use GArray in GtkCssComputedValues
...
GValueArray is deprecated in glib. Also, bump the required glib version
for g_array_set_clear_func().
2012-01-25 19:05:33 +01:00
Javier Jardón
104d9cab37
gdkapplaunchcontext: Add tags to code example
2012-01-25 17:36:57 +00:00
Alexander Larsson
fa6ad2ca04
broadway: Properly handle masked websocket messages
...
Thanks to Rafal Luzynski for pointing this out.
https://bugzilla.gnome.org/show_bug.cgi?id=656521
2012-01-25 11:47:16 +01:00
Matthias Clasen
1e869311c1
GtkApplicationWindow: Some more docs
2012-01-24 22:51:05 -05:00
Matthias Clasen
38f395481c
Doc tweaks
2012-01-24 22:41:36 -05:00
Matthias Clasen
7d56c052d4
Fix a doc typo
2012-01-24 22:28:34 -05:00
Matthias Clasen
d818bdc297
gtk3-demo-application: add an example for the new api
...
Turn the menutoolbutton menu into one that is gmenu/gaction backed.
2012-01-24 22:27:28 -05:00
Matthias Clasen
4240bfb74a
Add API to create menus from models
...
This is needed to bring context menus, etc into the GAction world.
2012-01-24 22:25:35 -05:00
Matthias Clasen
e7d6400149
GtkApplication: documentation additions
...
Document that startup() needs to chain up first.
2012-01-24 22:22:08 -05:00
Matthias Clasen
1819543e1e
GtkModelMenu: Plug a memleak
2012-01-24 21:30:33 -05:00
Siegfried-Angel Gevatter Pujals
1ae4b1ecc1
g_content_type_guess expects a path, not an URI
2012-01-24 19:22:54 +01:00
Siegfried-Angel Gevatter Pujals
0d9d3025c6
Fix mem leak introduced with my previous commit
2012-01-24 19:05:29 +01:00
Kjartan Maraas
8599c98780
Updated Norwegian bokmål translation
2012-01-24 18:17:05 +01:00
Benjamin Otte
2f3ffd5fde
treeview: Fix comparison to catch all cases
...
Otherwise, we could sometimes fail to update the cursor node when the
right row was deleted.
Also, I'd like to file a formal complaint that this node/tree
differentiation makes writing comparisons too complicated.
https://bugzilla.gnome.org/show_bug.cgi?id=668169
2012-01-24 17:55:14 +01:00
Siegfried-Angel Gevatter Pujals
080f8740f2
GtkRecentManager: guess mime-type from filename when file doesn't exist
2012-01-24 13:59:12 +01:00
Andre Klapper
d0393d7376
Typofix in documentation
2012-01-24 13:52:53 +01:00
Matthias Clasen
4c2e53a468
Silence a compiler warning
2012-01-24 00:41:26 -05:00
Matthias Clasen
3104e5d2c1
Add an example for settings<>action integration
...
Turn the 'color' action in gtk3-demo-application into an
action that is backed by a setting.
2012-01-24 00:07:03 -05:00
Matthias Clasen
0363a7a2e3
Bloatpad: propertly escape <> in markup
2012-01-23 22:14:28 -05:00
Matthias Clasen
5c10f8ce8c
Pedantic spelling fix
...
Its 'theming', not 'themeing'.
2012-01-23 16:48:02 -05:00
Paolo Borelli
1326466309
Render background of a GtkImage
...
Useful to e.g. style the bg color of a symbolic icon
2012-01-23 21:03:05 +01:00
Paolo Borelli
31e89b44da
Fix gtkmisc padding calculation
...
Actually sum css padding and gtkmisc padding as intended in the previous
patch.
2012-01-23 21:03:05 +01:00
Ryan Lortie
880daf8bb2
GtkApplication: change the accel prefix we use
...
GtkApplication adds to the global accel map using the prefix <Actions>
which is also used by GtkAction. This causes GtkApplicationWindow to
try to parse GtkAction-added accels as if they were its own (which
fails).
Switch to a different namespace -- <GAction>/.
https://bugzilla.gnome.org/show_bug.cgi?id=668367
2012-01-23 11:17:07 -05:00
Paolo Borelli
e34589ddea
Factor out _gtk_misc_get_padding_and_border
...
The new semi-private function will allow to implement support for css
padding and border in widgets inheriting from GtkMisc.
Use the new function for GtkLabel, GtkArrow and GtkImage.
2012-01-22 13:36:47 +01:00
Matej Urbančič
bf7779bfb7
Updated Slovenian translation
2012-01-21 21:04:20 +01:00
Colin Walters
a9614a39a4
gtkmenuitem: Silence a compiler warning
2012-01-21 10:29:07 -05:00
Philip Withnall
5df87d06d4
progressbar: Tidy up the gtk-doc comments a little
2012-01-21 10:05:10 +00:00
Matthias Clasen
835e37f08f
GtkApplicationWindow: Improve app menu label
...
When we are showing the app menu in process, use the application
name, if it has been set. Otherwise, we still fall back to
"Application".
2012-01-20 20:06:25 -05:00
Matthias Clasen
c06887c9f0
Bloatpad: Set the application name
...
This will be picked up for the app menu label in fallback mode
in the near future.
2012-01-20 20:05:43 -05:00
Matthias Clasen
0c514dc7dd
Correct an introspection annotation
...
Mistake pointed out in bug 668265.
2012-01-20 19:46:53 -05:00
Matthias Clasen
d5656b6139
bump rev
2012-01-20 16:13:37 -05:00
Matthias Clasen
d9f1ac1c9c
3.3.10
2012-01-20 16:12:25 -05:00
Matthias Clasen
15b4198a80
Bump GLib dep
...
This is needed for the app menu moves.
2012-01-20 15:30:46 -05:00
Matthias Clasen
391cd36a5b
Updates
2012-01-20 15:29:09 -05:00
Matthias Clasen
691a94214a
Fix doc syntax
2012-01-20 08:17:39 -05:00
Matthias Clasen
284ff06ef6
GtkApplication: fix !x11 build
...
Since we moved the menu models to GTK+, we need to deal with
them on all platforms, even if we don't do anything special
with them on win32.
2012-01-20 08:16:35 -05:00
Alexander Larsson
d80bad037f
Fix builddir != srcdir build issue
2012-01-20 13:48:33 +01:00
Alexander Larsson
7ec927a386
Fix visibility notification event reporting
...
We were checking the event mask for GDK_VISIBILITY_NOTIFY,
not GDK_VISIBILITY_NOTIFY_MASK, which was clearly a typo.
2012-01-20 11:01:49 +01:00
Matthias Clasen
681871dd9e
GtkApplicationWindow: Fix resize grip positioning
...
Based on a patch by Carlos Garcia Campos, bug 668248
2012-01-20 01:01:08 -05:00
Cosimo Cecchi
4b7ec2be82
main: fix a compilation warning
2012-01-19 13:51:32 -05:00
Michael Natterer
0ea1924494
quartz: add virtual modifiers already in GDK, just as X11 does it
...
Key event states will now always contain GDK_META_MASK in addition
to GDK_MOD2_MASK.
(cherry picked from commit d915d17ff6 )
2012-01-19 16:29:41 +01:00
Kristian Høgsberg
b9190c7fe9
wayland: Destroy shell surface as we destroy the surface
2012-01-19 09:57:43 -05:00
Daniel Mustieles
fa17e23ce7
Updated Spanish translation
2012-01-19 11:01:28 +01:00
Benjamin Otte
dbabff0846
a11y: Invoke key snooper directly
...
Gets around the deprecated function warnings.
2012-01-19 10:32:21 +01:00
Cosimo Cecchi
637e6688da
notebook: fixup previous commit
...
Oops, I hit push too early.
2012-01-18 16:14:31 -05:00
Cosimo Cecchi
70cf23a729
notebook: don't force ACTIVE state flag on the label for active tab
...
This is just wrong, since it's not the tab label being active, but the
tab itself.
2012-01-18 16:13:25 -05:00
Ryan Lortie
ba9546ff32
Don't call set_application() in gtk_window_realize
...
This call has no effect and with the newly-added restrictions it's
violating the set-application-after-realized rule.
https://bugzilla.gnome.org/show_bug.cgi?id=668203
2012-01-18 14:53:08 -05:00
Ryan Lortie
60317cbf1a
move menus over from GLib
...
App menu and menubar are now properties of GtkApplication and their bus
location is exported using X window properties.
https://bugzilla.gnome.org/show_bug.cgi?id=668118
2012-01-18 13:40:05 -05:00
Benjamin Otte
ed8e7d1793
Revert "a11y: Remove keysnooping support"
...
This reverts commit 0c8ecba7dc .
The change broke Orca completely, and we need a proper fix first.
So we have to live with the bugs intorduced by this until then.
2012-01-18 18:33:11 +01:00
Kristian Høgsberg
4c79e25915
wayland: Report middle and right buttons correctly
...
The linux evdev button codes have right as 274 and left as 273.
2012-01-18 12:04:18 -05:00
Rob Bradford
29641ecd07
wayland: Update modifiers handling to match new semantics
...
Due to changes in the behaviour of the virtual modifiers around MOD1 the
implementation of the map_virtual_modifiers vfunc was mangling the modifiers
and making keybindings not work correctly.
This change updates the implementation to match the X11 implementation's
behaviour.
2012-01-18 16:32:44 +00:00
Matthias Clasen
1839caa7b7
GtkScale Remove an unused variable
2012-01-18 11:06:33 -05:00
Benjamin Otte
9770184643
css: Fix memleak in shadow parsing
2012-01-18 10:46:46 +01:00
Matthias Clasen
345d865ac6
GtkScale: Fix late setting of marks
2012-01-18 00:58:38 -05:00
Matthias Clasen
d6f9eb1ff8
Add more GtkScale mark tests
...
This code tests adding scale marks 'late', and how this interact
with inversion.
2012-01-18 00:58:38 -05:00
Benjamin Berg
27f3c3c031
Strip "Custom." prefix when getting default options from cups.
2012-01-17 20:33:32 +01:00
Kristian Høgsberg
b9509ec15d
wayland: Handle request for selection atoms when there's no selection
2012-01-17 11:10:59 -05:00
Ryan Lortie
85fcd50b3f
Revert "set the G_PARAM_CONSTRUCT flag on the GtkWindow:application property"
...
This reverts commit d4fe912879 .
This patch caused some unanticipated compatibility issues.
2012-01-17 10:56:30 -05:00
Colin Walters
626c08a847
tests/visuals: Squash a compiler warning
2012-01-17 10:24:39 -05:00
Rob Bradford
dba9c2e5a7
wayland: Adapt move_resize vfunc implementation to match semantics
...
Callers of this function were passing in -1, -1 for the width and height if
they just wanted the window moving - rather than the size changing. We need to
respect that behaviour and don't try and set the width/height to those
dimensions.
Now pop-up windows (ala combo-boxes) work!
2012-01-17 15:05:03 +00:00
Matthias Clasen
299a4eca28
Back to odd
2012-01-16 23:14:07 -05:00
Matthias Clasen
4d76860697
3.3.8
2012-01-16 23:13:27 -05:00
Matthias Clasen
0bf41f38ee
Remove appchooser tests from the Makefile as well
2012-01-16 22:37:26 -05:00
Matthias Clasen
173740a2f6
Remove the appchooser a11y dump test as well
...
This test is also affected by treeview a11y fallout.
2012-01-16 21:55:43 -05:00
Matthias Clasen
1aff20b93e
Remove tree.ui a11y dump test
...
This is just broken currently; it needs fixing before it can come
back.
2012-01-16 21:07:36 -05:00
Matthias Clasen
d8b86bcb2b
Disable broken tree-relationships tests for now
...
Needs to be fixed up before it can come back.
2012-01-16 21:06:11 -05:00
Matthias Clasen
3e6b37726a
Remove a check that broke the color chooser a11y dump
...
With the visible check, the opacity slider ended up without
a labeled-by, which is sad.
2012-01-16 21:05:01 -05:00
Matthias Clasen
f29195e741
Adapt to focus changes in the treeview
2012-01-16 21:04:24 -05:00
Matthias Clasen
001d42f369
Remove broken border-image-repeat test
...
It will come back when it works
2012-01-16 19:14:20 -05:00
Alexandre Rostovtsev
e2053a582a
Add Since: to gdk_x11_device_get_id(), gdk_x11_device_manager_lookup(), gdk_x11_window_set_utf8_property() docs
...
https://bugzilla.gnome.org/show_bug.cgi?id=667730
2012-01-16 18:08:16 -05:00
Matthias Clasen
57126ae56b
GtkScale: Always chain up in notify
...
Pointed out by Stefan Sauer.
2012-01-16 18:05:44 -05:00
Matthias Clasen
edd888f92b
Updates
2012-01-16 17:36:31 -05:00
Matthias Clasen
f802b7e0a8
Bump GLib dep to 2.31.10
...
Needed for GResource
2012-01-16 17:24:27 -05:00
Ryan Lortie
a55ef45515
gtk3-demo-application: fix sections
...
<section> doesn't need to be given in a menubar but it does need to be
given for submenus, so add those ones back.
2012-01-16 17:19:26 -05:00
Matthias Clasen
7a3e1bbc41
configure: Set GLIB_COMPILE_RESOURCES
2012-01-16 17:07:46 -05:00
Matthias Clasen
2a6a354aa8
gtk-demo: Improve the GtkApplication demo
...
Following suggestions in bug 667968
2012-01-16 17:07:12 -05:00
Kristian Høgsberg
7328cc73aa
wayland: Set GdkWindow focused state based on keyboard focus
2012-01-16 15:36:28 -05:00
Kristian Høgsberg
5f07e937c8
wayland: Implement client side keyboard repeat
2012-01-16 15:36:27 -05:00
Rico Tzschichholz
85da4ca5bd
gtk.symbols: updated
2012-01-16 19:45:27 +01:00
Rico Tzschichholz
8b183af57f
build: Add missing files to EXTRA_DIST
2012-01-16 19:27:23 +01:00
Benjamin Otte
6f9cc94fae
cssprovider: Improve error handling for import errors
...
We don't want to include the whitespace after an import statement.
Because people tend to add newlines after @import, we report the wrong
lines for failed imports. And that's bad.
2012-01-16 18:44:43 +01:00
Benjamin Otte
a213b0b33e
image: Fix gcc warnings
2012-01-16 18:39:52 +01:00
Benjamin Otte
f04c12bd2c
tests: Add a deprecation warning
...
This should probably have been added a while ago...
2012-01-16 18:34:41 +01:00
Benjamin Otte
1b0231b743
css: Don't import CSS too early
...
First, finish parsing the import rule including the semicolon. Then try
to actually import.
test: css/parser/at-invalid-01.css
2012-01-16 18:34:41 +01:00
Benjamin Otte
4653c7017f
css: Fix memleak
...
https://bugzilla.gnome.org/show_bug.cgi?id=667910
2012-01-16 18:34:41 +01:00
Kjartan Maraas
8411088c54
Updated Norwegian bokmål translation
2012-01-16 17:04:31 +01:00
Rui Matos
f0a80fa308
x11: Fix the _NET_SUPPORTING_WM_CHECK window fetch to be spec compliant
...
"The child window MUST also have the _NET_SUPPORTING_WM_CHECK property set to
the ID of the child window. […] If the _NET_SUPPORTING_WM_CHECK window on the
client window is missing or not properly set, clients SHOULD assume that no
conforming Window Manager is present."
This commit implements that, which allows us to not have to do a
XGetWindowProperty() every N seconds when running under a compliant WM.
This is also a more correct fix for the bug handled in commit
daf29bffed .
https://bugzilla.gnome.org/show_bug.cgi?id=666921
2012-01-16 15:38:33 +00:00
Javier Jardón
608637b562
Trivial doc fix
...
Use GLib consistently capitalized in the docs.
2012-01-16 14:49:38 +00:00
Alexander Larsson
c6e253564c
Add missing cursors
2012-01-16 14:36:18 +01:00
Alexander Larsson
e46971306a
Ensure we can load images via resource:// uris from CSS
2012-01-16 14:19:19 +01:00
Alexander Larsson
6afeb8d355
Move fallback dnd cursors to resources
2012-01-16 14:19:19 +01:00
Alexander Larsson
622b78c000
Add GtkImage constructors from resources
...
Atm you can't read back the resource path like
you can with filenames. Maybe we should add that.
2012-01-16 14:19:18 +01:00
Alexander Larsson
1a36414da7
Access win32 css as resource, not custom generated C code
2012-01-16 14:19:18 +01:00
Alexander Larsson
4f0cc6572b
Add Gtk resource file with the default CSS file
2012-01-16 14:19:16 +01:00
Alexander Larsson
739ab8548d
Add gtk_ui_manager_add_ui_from_resource
...
This is a helper function to easily add ui from resource files.
2012-01-16 13:59:58 +01:00
Alexander Larsson
c72a76c754
Add resource support for GtkBuilder
...
There are new calls to load ui files from resources, and
you can now read pixbufs by using relative paths in a ui
file read from a resource, or by using absolute resource:/// uris.
2012-01-16 13:59:58 +01:00
Alexander Larsson
84883ccf7c
Fix build
...
Was getting this error:
main.c:785:13: error: ‘gtk_demos’ undeclared (first use in this function)
main.c:785:13: note: each undeclared identifier is reported only once for each function it appears in
main.c: In function ‘main’:
2012-01-16 13:58:23 +01:00
Matthias Clasen
cf172a5873
Revert "GtkNotebook: fix crash when DnD tabs between windows"
...
This reverts commit eeb9de80e1 .
2012-01-15 18:54:05 -05:00
Matthias Clasen
261abe55c4
Forgotten file
2012-01-15 14:46:31 -05:00
Matthias Clasen
eb4a685691
GtkScale: Fix marks for inverted scales
...
Problem pointed out by Stefan Sauer in bug 667598. The solution
here is different from his patch. We always draw marks in increasing
direction, and flip the marks and stop positions to match.
2012-01-15 14:13:10 -05:00
Matthias Clasen
fa7207dcdd
Add an non-symmetric mark example
...
This makes it easier to spot problems with inverting.
2012-01-15 14:13:10 -05:00
Matthias Clasen
800e605cb3
GtkScale: remove an unused argument
...
All callers were passing 1 for 'match', so just get rid of it.
Patch provided by Stefan Sauer, in bug 667590.
2012-01-15 14:13:10 -05:00
Matthias Clasen
eda949c5f3
Make testscale more versatile
2012-01-15 14:13:10 -05:00
Stefan Sauer
9bedf0128f
scale: use a GList instead of a GSList
...
The range widget can be inverted, this will help us to handle that case.
2012-01-15 14:13:10 -05:00
Daniel Mustieles
aaf7a0ac28
Updated Spanish translation
2012-01-15 19:29:58 +01:00
Matthias Clasen
b9b23f4f18
GtkRange: fix resize-grip overlap handling
...
We only want to shrink the scrollbar allocation by the actual
overlap, not always by the full size of the resize grip.
2012-01-14 20:35:19 -05:00
Matthias Clasen
b0936a12d9
GtkStatusbar: Fix resize-grip overlap calculation
...
The allocation is relative to the window, so the way the statusbar
was doing the overlap calculation was wrong.
2012-01-14 20:35:19 -05:00
Matthias Clasen
9ef2fdf956
GtkApplicationWindow: another size allocation fix
...
Set the window allocation before giving allocations to children,
in case the children want to refer to the window allocation.
2012-01-14 20:35:19 -05:00
Matthias Clasen
45d9b912d9
Add a GtkApplication example to gtk3-demo
2012-01-14 20:35:18 -05:00
Fran Diéguez
3b6665aad2
Updated Galician translations
2012-01-15 00:43:07 +01:00
Matthias Clasen
eced73c441
GtkApplicationWindow: Fix size-request logic
...
When finding the width for a given height, we can pass the full
height to both the menubar and the content. Instead, give the
menubar its minimum height, and give the rest to the content.
2012-01-14 13:26:09 -05:00
Matthias Clasen
7234a2617e
GtkApplicationWindow: Fix size-allocation logic
...
The code was not properly removing the menubar height from the
height given to the content, causing the statusbar to drop off
the bottom of the window in some examples.
2012-01-14 13:24:39 -05:00
Paolo Borelli
208bfbd053
Do not leak tree path when setting the model.
2012-01-14 14:33:23 +01:00
Paolo Borelli
9ad78370eb
Destroy cairo context after painting css image url
2012-01-14 11:52:48 +01:00
Cosimo Cecchi
e0efeba27e
parser: remove unused _gtk_css_parser_read_uri()
...
It's not used anymore now.
2012-01-13 18:09:30 -05:00
Cosimo Cecchi
ddd164c230
provider: use _gtk_css_parse_read_url() in parse_import()
...
Instead of _gtk_css_parser_read_uri(), which is going away.
2012-01-13 18:08:12 -05:00
Cosimo Cecchi
d1f3fe4342
parser: remove a duplicate copy of gtk_css_parse_url()
...
Move the function to gtkcssparser.c and use it in both places.
2012-01-13 17:55:53 -05:00
Piotr Drąg
4f4e42239a
Updated POTFILES.in
2012-01-13 21:07:26 +01:00
Rob Bradford
2d837769a0
wayland: Add basic implementation of GtkClipboard for Wayland
...
This follows the approach used by the Quartz port - that of a separate
implementation matching GtkClipboard.
The simple clipboard tests in gtk3-demo function correctly but there are
almost certainly leaks and bugs.
2012-01-13 16:50:47 +00:00
Rob Bradford
08f5483fb7
wayland: Free the internal selection data when the selection is cleared
2012-01-13 16:50:47 +00:00
Rob Bradford
1e0b22c176
wayland: Fix memory handling for the selection callbacks
2012-01-13 16:50:47 +00:00
Rob Bradford
368d6c50b7
wayland: Add basic API for setting and clearing the selection on the device
2012-01-13 16:50:47 +00:00
Rob Bradford
cd795de6bf
wayland: Expose basic mechanism for getting selection content by callback
...
This version has a couple of TODOs/FIXMEs:
* We should do something better than g_io_channel_read_to_end
* Need to check the mime type is valid
2012-01-13 16:50:47 +00:00
Rob Bradford
9d90a17a7c
wayland: Add call to get types available for the selection as atoms
2012-01-13 16:50:47 +00:00
Rob Bradford
fe3f275945
wayland: Remove unused variables to silence compiler warning
2012-01-13 16:50:47 +00:00
Kristian Høgsberg
0e10fae36c
wayland: Set surface type based on GdkWindow hint
2012-01-13 09:50:38 -05:00
Daniel Mustieles
e77ed49f84
Updated Spanish translation
2012-01-13 14:42:21 +01:00
Rob Bradford
9e29ef5f3b
wayland: Update to new SHM buffer format type
2012-01-13 11:36:36 +00:00
Yaron Shahrabani
96e729d500
Updated Hebrew translation.
2012-01-13 09:37:09 +02:00
Yaron Shahrabani
09f56c3272
Updated Hebrew translation.
2012-01-13 09:35:54 +02:00
Matthias Clasen
05acb492b6
Updates
2012-01-12 22:56:17 -05:00
Matthias Clasen
46ee761c0d
Expand the docs for GtkWindow::attached-to
2012-01-12 20:39:48 -05:00
Cosimo Cecchi
27f6441bb2
visuals: remove copy paste leftover
2012-01-12 17:31:00 -05:00
Piotr Drąg
14d66b5d0a
Updated POTFILES.skip
2012-01-12 23:23:29 +01:00
Cosimo Cecchi
9283ca93c5
visuals: add a runner for visual GtkBuilder files
...
This is useful to sketch out in GtkBuilder widgets in different states
all at once, so that we can check theming is right for them.
Add some initial UI files for primary-toolbar and inline-toolbar widgets.
2012-01-12 17:05:36 -05:00
Dan Winship
dc100a8e7b
gtk.symbols: fix a symbol name
2012-01-12 15:06:59 -05:00
Khaled Hosny
94f9e365b4
Update Arabic translation
2012-01-12 21:56:58 +02:00
Cosimo Cecchi
c4a13b5287
window: improve docs for gtk_window_set_attached_to()
2012-01-12 14:03:00 -05:00
Andrea Cimitan
4a18fe7ef2
Introduce gtk_window_get/set_attached_to()
...
gtk_window_get/set_attached_to() is a new API that allows for windows to
be attached to a GtkWidget.
The attachment is a logical binding between the toplevel window and the
widget that generated it; this kind of information is currently used to
propagate style information from the widget to the window, but is also
useful e.g. for accessibility.
https://bugzilla.gnome.org/show_bug.cgi?id=666103
2012-01-12 14:03:00 -05:00
Benjamin Otte
133179fd25
treeview: Do not focus a path on model change
...
Instead, focus nothing and wait until we get focus before doing so. This
restores previous behaviour but still emits proper cursor-changed
events.
Fixes a bunch of bugs in the filechooser which populates the treeview
asynchronously.
https://bugzilla.gnome.org/show_bug.cgi?id=613728
2012-01-12 19:37:15 +01:00
Benjamin Otte
feb1f8de1c
filechooser: Use SELECTION_SINGLE
...
We want to allow people to unselect the item.
2012-01-12 19:37:15 +01:00
Rob Bradford
e7e86ba5f4
wayland: Remove unused variable from grab implementation
2012-01-12 13:48:57 +00:00
Rob Bradford
0aa210866c
wayland: Fix compilation warning for destroy function implementation
2012-01-12 13:48:57 +00:00
Rob Bradford
f791687d3b
wayland: Fix implementation of gdk_atom_name
2012-01-12 13:48:57 +00:00
Rob Bradford
7f404a1fee
wayland: Remove unused variable
2012-01-12 13:48:46 +00:00
Javier Jardón
c958667a92
gtkapplication.c: Add missing "Since" tag
2012-01-12 12:58:56 +00:00
Daniel Mustieles
f70267f1ae
Updated Spanish translation
2012-01-12 10:30:11 +01:00
Benjamin Otte
ff1e1e1f91
a11y: Disconnect from buffer signals
...
This way, we don't get crashes when the buffer is still in use after a
TextView gets finalized.
https://bugzilla.gnome.org/show_bug.cgi?id=667632
2012-01-12 04:45:34 +01:00
Benjamin Otte
cac47f45b7
accessible: Remove stray semicolon
...
Note to self: Use -Wempty-body more
2012-01-12 04:45:34 +01:00
Benjamin Otte
4a33eb1aae
styleproperty: Fix 'currentColor'
...
It was always looking at the 'color' keyword for the parent context
instead of only doing that when used with the 'color' property.
Tested by border-color-default.ui reftest.
2012-01-12 04:38:33 +01:00
Benjamin Otte
581cc59945
stylecontext: Don't unref animation description
...
We get it without a ref since 6962b49a99
2012-01-12 01:10:26 +01:00
Cosimo Cecchi
d994ace41e
tests: add a CSS test for currentColor in border-color
2012-01-11 17:37:21 -05:00
Cosimo Cecchi
09b4658c06
shorthand: fix parsing of currentColor for border-color shorthand
...
Code for border-color was missing the currentColor parsing.
2012-01-11 17:35:59 -05:00
Cosimo Cecchi
984834ea57
reftests: fix background-area reftest
...
background-clip: content-box broke when I made GtkButton allocate its
border-width, as for the CSS box model.
2012-01-11 16:13:09 -05:00
Dan Winship
9c7d795d5a
testlogout: actually quit if told to
...
https://bugzilla.gnome.org/show_bug.cgi?id=667705
2012-01-11 12:00:06 -05:00
Dan Winship
05c484dcb0
GtkApplication: add inhibitor dialog under OS X
...
Since OS X doesn't have an inhibitors API, we need to display the
inhibit reason ourselves.
https://bugzilla.gnome.org/show_bug.cgi?id=667705
2012-01-11 12:00:06 -05:00
Dan Winship
7afc7081c1
GtkApplication: fix/simplify OS X implementation
...
Make the OS X implementation compile, and remove the code that was
only needed to support user interaction during the quit request.
https://bugzilla.gnome.org/show_bug.cgi?id=667705
2012-01-11 12:00:06 -05:00
Cosimo Cecchi
b02591bfae
widget-factory: make the combobox entry focusable
2012-01-11 11:46:56 -05:00
Cosimo Cecchi
d286a1ff4c
widget-factory: add items to the entry dropdown
2012-01-11 11:22:45 -05:00
Benjamin Otte
945b9ff9e2
reftests: Add reftest for empty area fix
2012-01-11 15:48:54 +01:00
Benjamin Otte
6100900e1a
themingengine: Don't draw background image if no area
...
If the background positioning area is empty (width/height <=0), don't
attempt to draw the background image.
2012-01-11 15:48:54 +01:00
Benjamin Otte
a815f10299
API: Add gtk_style_context_get_section()
...
This API allows querying the location where style properties were
defined. An example implementation will be committed soon.
2012-01-11 15:48:54 +01:00
Benjamin Otte
6962b49a99
css: Introduce GtkCssComputedValues
...
To be used for storing computed values. Is the replacement for
GtkStyleProperties, which is now legacy code.
2012-01-11 15:48:54 +01:00
Benjamin Otte
694a9114af
stylecontext: Simplify even more code
2012-01-11 15:48:54 +01:00
Benjamin Otte
f27f8db2d8
stylecontext: Use our own color resolve function
...
... instead of using the StyleProperties.
2012-01-11 15:48:54 +01:00
Benjamin Otte
abcae0cea4
stylecontext: Simplify function
...
Also, make it easier to port to what I want to do next. ;)
2012-01-11 15:48:54 +01:00
Benjamin Otte
5939baa556
styleproperty: Make query function take a vfunc
...
This way we can use different methods to query properties and aren't
bound to a GtkStyleProperties object.
2012-01-11 15:48:54 +01:00
Benjamin Otte
738f96252e
shorthand: Get rid of GParameter dance
...
Instead assign properties directly.
2012-01-11 15:48:54 +01:00
Benjamin Otte
53b2f05a64
shorthand: Unify unpack_border()
...
Just use the property names.
2012-01-11 15:48:54 +01:00
Benjamin Otte
df88700230
shorthand: Do an unpack function to assign to everything
...
It's basically the opposite to pack_first_element() - it takes the given
value and stores it in all subproperties.
2012-01-11 15:48:54 +01:00
Benjamin Otte
73fac24a3a
shorthand: Add a "pack_first_element" pack function
...
And use it where appropriate.
See the docs in the function for what it does.
2012-01-11 15:48:53 +01:00
Benjamin Otte
6ebb85a69e
shorthand: Unify border parsing code
...
Parse border.{top,right,bottom,left} into subproperties {1,2,3,4}.
2012-01-11 15:48:53 +01:00
Benjamin Otte
78fee2f54b
shorthand: Remove hack
...
This hack was used for parsing back before the refactoring.
2012-01-11 15:48:53 +01:00
Benjamin Otte
e603992ac7
shorthand: Move pack funcs from base class
...
Also make the vfuncs take the shorthand as an argument.
2012-01-11 15:48:53 +01:00
Benjamin Otte
aa98aca45f
styleproperties: Remove color set function
...
Now that we do resolvage with the style context directly, this is no
longer needed.
2012-01-11 15:48:53 +01:00
Matthias Clasen
5f8c77f6d5
Don't leak plugin actions
...
Pointed out by Guillaume Desmottes in bug 667695.
2012-01-11 09:44:30 -05:00
Carlos Garcia Campos
b9c7f057f1
printing: gtk_print_settings_load_key_file() ignores group_name
2012-01-11 15:38:51 +01:00
Ryan Lortie
7fdf2e0bde
document GtkActionable
...
This should have been done before it was merged...
2012-01-11 13:39:19 +01:00
Christophe Fergeau
ba2d3d1469
Remove duplicate definition of GtkStylePrintFunc
2012-01-11 13:10:28 +01:00
Rico Tzschichholz
f24dd8f067
Fix some missing renames of GtkApplicationEndStyle
2012-01-11 08:49:34 +01:00
Ryan Lortie
b7a28de755
GtkButton: don't do string compare on property set
...
Just set the property unconditionally.
https://bugzilla.gnome.org/show_bug.cgi?id=667394
2012-01-11 00:26:56 -05:00
Ryan Lortie
ab91527032
Rename gtk_application_window_get_observer
...
This should have been called _create_observer
https://bugzilla.gnome.org/show_bug.cgi?id=667394
Fixup switch
2012-01-11 00:26:47 -05:00
Matthias Clasen
bec43213da
Add a switch
...
Add a switch. This demonstrates:
- that switches can be placed in toolbars
- that GtkSwitch is actionable
- that actions can be shared between multiple actionables
2012-01-11 00:10:51 -05:00
Matthias Clasen
fdc2e29d69
GtkSwitch: Implement GtkActionable
2012-01-11 00:10:34 -05:00
Matthias Clasen
7c0c65ec8d
Rename GtkApplicationEndStyle
...
Call it EndSession to make it clearer what this is about.
2012-01-10 22:16:01 -05:00
Matthias Clasen
bb80081620
Bloatpad: Register with the session
2012-01-10 21:46:51 -05:00
Matthias Clasen
1c486fb8b8
Simplify logout notification api
...
We don't expose ::quit-requested as API anymore. Instead, we expect
users to register inhibitors when needed. Without quit-requested,
there is no need for ::quit-cancelled and gtk_application_quit_response
anymore.
We still emit ::quit when the application is about to quit.
2012-01-10 21:45:30 -05:00
Javier Jardón
c1f44c0f83
migrating-unique-GtkApplication: Update to new GApplication api
2012-01-10 16:23:53 +00:00
Rico Tzschichholz
71f6b2d40a
tests: Fix typo in Makefile.am
2012-01-10 17:00:57 +01:00
Guillaume Desmottes
d4fe912879
set the G_PARAM_CONSTRUCT flag on the GtkWindow:application property
...
This allows subclass to get the value of this property in their constructed
method.
https://bugzilla.gnome.org/show_bug.cgi?id=667628
2012-01-10 16:03:57 +01:00
Patrick Welche
2ceb092afc
Non-XInput2 build fix
...
The part in gdkwindow-x11.c which uses XIEvent and friends is "protected"
by HAVE_XGENERICEVENTS, i.e., XGetEventData() has been found. (Xlib.h)
XIEvent and friends are defined in <X11/extension/XInput2.h> which is
included by gdkdisplay-x11.h if XINPUT_2 is defined.
The patch makes sure XIEvent is only used if XINPUT_2 is defined.
https://bugzilla.gnome.org/show_bug.cgi?id=667534
2012-01-10 13:54:22 +00:00
Daniel Mustieles
d05db5f5ff
Updated Spanish translation
2012-01-10 10:43:22 +01:00
Timo Jyrinki
938cd0a746
Updated Finnish translations by Jiri Grönroos.
2012-01-10 09:54:13 +01:00
Matthias Clasen
9cb4518a24
Fix wrong refencences in the docs
...
Replace all references to g_application_set_app_menu and
g_application_set_menubar by their gtk variants, which
actually exist. Pointed out in bug 667546
2012-01-09 17:30:09 -05:00
Matthias Clasen
64f3347cd7
Fall back to the builtin icons for spinbutton +/-
...
We do have list-add/-remove icons in the builtin icon theme,
so why not use them ?
2012-01-09 17:15:17 -05:00
Matthias Clasen
8ca309bd37
Add missing symbols
2012-01-09 16:19:50 -05:00
Benjamin Otte
c4566da282
styleproperty: Call style properties init function in more places
...
In particular, call it when querying properties by id. This is necessary
for make check to not die.
2012-01-09 22:08:48 +01:00
Matthias Clasen
2dc10600ea
Fix doc markup
2012-01-09 14:13:44 -05:00
Piotr Drąg
d9ffc6e40c
Updated POTFILES.in and POTFILES.skip
2012-01-09 19:51:50 +01:00
Rui Matos
e9adaabc5e
Rename 'window-unfocused' to 'backdrop'
...
'window-unfocused' is too long and mentions "focus" which is historically
loaded with the meaning "input focus".
'backdrop' isn't generally used in GUI speak and still conveys the state the
widgets in an unfocused or background toplevel window are in.
2012-01-09 18:38:00 +01:00
Benjamin Otte
7a00a95508
themingengine: Move border-image handling into render_frame_internal()
...
This fixes 2 bugs:
1) extensions didn't get border images
2) border-images caused outlines to not be drawn
2012-01-09 18:38:00 +01:00
Benjamin Otte
0c483cab0c
roundedbox: close path
...
Just because we do it everywhere else, too.
2012-01-09 18:38:00 +01:00
Benjamin Otte
c15839f4be
themingengine: Implement outline support
2012-01-09 18:38:00 +01:00
Benjamin Otte
68cfb80631
themingengine: Split out the border drawing function
2012-01-09 18:38:00 +01:00
Benjamin Otte
e9cd339573
css: Add outline CSS properties
2012-01-09 18:38:00 +01:00
Benjamin Otte
1b9e15485e
themingengine: Implement 'dotted' and 'dashed'
2012-01-09 18:38:00 +01:00
Benjamin Otte
34a62d779b
css: Introduce a corner order enum
...
Same order as CSS again.
The nice thing about this is that now edge i in a rounded box follows
corner i and is followed by corner (i + 1) % 4.
2012-01-09 18:38:00 +01:00
Benjamin Otte
998055c835
css: Introduce GtkCssSide
...
... and use it.
This is basically an encoding of the order of sides in CSS. So when
parsing things, this is the way we parse things in.
2012-01-09 18:37:59 +01:00
Benjamin Otte
9e8e9a77b7
themingengine: Implement ridge and groove
2012-01-09 18:37:59 +01:00
Benjamin Otte
4ce34a8e13
themingengine: Redo color handling
...
Don't work on malloc()ed colors. Instead, use an array on the heap. This
makes it easier to copy the array.
2012-01-09 18:37:59 +01:00
Benjamin Otte
d21e7506e7
themingengine: Refactor drawing code
...
... and implement 'double' border-style as proof-of-concept.
2012-01-09 18:37:59 +01:00
Benjamin Otte
fbde62d8e7
css: border-style: hidden computes a 0 border
2012-01-09 18:37:59 +01:00
Benjamin Otte
de3111f1ff
API: Add all border styles from CSS 3
2012-01-09 18:37:59 +01:00
Benjamin Otte
fd3afa3606
styleproperty: Simplify code
...
Merge 1-line function into only caller
2012-01-09 18:37:59 +01:00
Benjamin Otte
3d6a76a866
tests: Add a test for all the border shorthands
...
Too much fun with random test generation, so I did a big one.
2012-01-09 18:37:59 +01:00
Paolo Borelli
c167b4129e
Also add border-{top|right|bottom|left} shorthands
2012-01-09 18:37:59 +01:00
Paolo Borelli
0120aaace5
Add the border css shorthand
2012-01-09 18:37:59 +01:00
Benjamin Otte
f021291423
tests: Fix for changes in this branch
...
The expected results are now more correct, but still not perfect.
2012-01-09 18:37:59 +01:00
Paolo Borelli
6525ed76e0
Rename parse_border
...
For consistency we will use this name for the boder shorthand.
2012-01-09 18:37:59 +01:00
Paolo Borelli
04ea69ab38
Add reftets for border-style property
2012-01-09 18:37:59 +01:00
Benjamin Otte
cc2446d29b
reftests: Add a CSS file to reset properties to default values
...
We can use this to be independant of themes. See the comment at the top
of the file
2012-01-09 18:37:59 +01:00
Paolo Borelli
b8aea82743
Use the border-style subproperties for drawing
...
Use the newly introduced per-side property to draw frames.
2012-01-09 18:37:59 +01:00
Benjamin Otte
2c5a8420b5
Set border-width to 0 in compute function
...
This reverts commit c276f53796 and
implements the same feature using the compute function.
A nice side effect is that gtk_style_property_get_border() and
gtk_style_property_get("border") to the same thing now.
2012-01-09 18:37:58 +01:00
Paolo Borelli
e69f14cf2b
Add border-{top|left|bottom|right}-style properties
...
Add all the border-style subproperties and turn border-style itself in a
shorthand.
2012-01-09 18:37:58 +01:00
Benjamin Otte
066f3be659
themingengine: Remove an optimization
...
We optimize the case later on, so no need to do it here.
2012-01-09 18:37:58 +01:00
Benjamin Otte
0e48cc6dae
spinbutton: Pass the right size
...
We need a better diffrentiation between icon sizes - ie GtkIconSize vs
pixel size. Or more CSS.
2012-01-09 18:37:58 +01:00
Benjamin Otte
bbf5fe179d
background: Implement all options of background-repeat
2012-01-09 18:37:58 +01:00
Benjamin Otte
af8c7ebecd
tests: Add test for background-repeat
2012-01-09 18:37:58 +01:00
Benjamin Otte
bc9373fb43
styleproperty: Parse all values for background-repeat
...
... and its component in the background property.
2012-01-09 18:37:58 +01:00
Benjamin Otte
77af93bad9
reftests: Add a test for 'background'
...
It just tests all the permutations to make sure my idea for implementing
random ordering actually works.
It does (at least currently).
2012-01-09 18:37:58 +01:00
Benjamin Otte
181ac0280d
shorthand: Implement the 'background' shorthand
...
Weee, shorthands are now really trivial \o/
2012-01-09 18:37:58 +01:00
Benjamin Otte
a43553ab86
cssimage: Add _gtk_css_image_can_parse()
...
Looks at the first token of the stream to see if this looks like an
image declaration. If it does: return %TRUE.
2012-01-09 18:37:58 +01:00
Benjamin Otte
4b7ca9602d
background: Simplify background-repeat
...
It used to be a struct, now it's just an enum
2012-01-09 18:37:58 +01:00
Benjamin Otte
07aa7f6b20
css: Remove GtkCssBorderRadius
...
It's not used anymore.
2012-01-09 18:37:58 +01:00
Paolo Borelli
fee09e726f
Introduce _gtk_css_parser_try_length
...
This starts to introduce the proper API abstraction for when we will
support different units
2012-01-09 18:37:58 +01:00
Benjamin Otte
fce45757cb
borderimage: Change memory management
...
Making it a on-stack object simplifies things a lot.
2012-01-09 18:37:58 +01:00
Benjamin Otte
9b47a6a4e3
border-image: Remove pack/unpack functions
...
They are not used anymore. Also, it's no longer necessary to register
GtkBorderImage as a custom GType.
2012-01-09 18:37:58 +01:00
Benjamin Otte
96abf8c725
shorthand: Make border-image unget/settable
2012-01-09 18:37:57 +01:00
Benjamin Otte
f014d4f02e
shorthand: Don't require pack/unpack functions
...
When using G_TYPE_NONE as the shorthand's type, the property is not
gettable/settable using regular APIs, so it essentially doesn't exist.
As it should be.
2012-01-09 18:37:57 +01:00
Benjamin Otte
84bc280440
borderimage: Add _gtk_border_image_new_for_context()
...
and use it.
2012-01-09 18:37:57 +01:00
Benjamin Otte
cee05fbeb8
borderimage: Remove unused enums
2012-01-09 18:37:57 +01:00
Benjamin Otte
cc3e4c4eec
reftests: Ensure no explicit colors are set on labels
2012-01-09 18:37:57 +01:00
Benjamin Otte
af8dd87867
styleproperty: Use a custom resolve function for colors
...
We want to make sure to fall back to the initial value of the property
if resolving fails.
This is kinda tricky, because the initial value itself might need
resolving, too.
2012-01-09 18:37:57 +01:00
Benjamin Otte
d10f851201
reftests: Fix a bunch of invalid CSS cases
...
use 'transparent' instead of 'none' for colors.
2012-01-09 18:37:57 +01:00
Benjamin Otte
839b0f5317
css: Handle 'currentColor' special value
...
Computes to the value of the 'color' property, or when used on that
property, is treated as 'inherit'.
2012-01-09 18:37:57 +01:00
Benjamin Otte
84d294ee7f
stylecontext: NMake safe to call into during lookup
...
When resolving a lookup, we may want to query the current style context,
as in the next patch. This works now.
2012-01-09 18:37:57 +01:00
Benjamin Otte
6dfab12e1b
styleproperty: Change order for property registration
...
Some properties depend on other properties, handle those first.
2012-01-09 18:37:57 +01:00
Benjamin Otte
d021ed7c5e
win32: Remove GtkWin32ThemePart
...
Its job is done by GtkCssImage now.
2012-01-09 18:37:57 +01:00
Benjamin Otte
37b11b6c8a
borderimage: Convert to using GtkCssImage
2012-01-09 18:37:57 +01:00
Benjamin Otte
52af00686b
themingbackground: Convert to GtkCssImage
...
The conversion is incomplete and requires some work to account for
all the CSS crazies, like repeat modes and background-size.
2012-01-09 18:37:57 +01:00
Benjamin Otte
60b8b7a398
csslookup: Use the new gtk_style_context_peek_property()
2012-01-09 18:37:57 +01:00
Benjamin Otte
53b4fd69db
themingengine: Add _gtk_theming_engine_peek_property()
...
This is useful for getting at computed values and allows accessing
images before the code autoconverts them to a cairo pattern.
2012-01-09 18:37:57 +01:00
Benjamin Otte
2c8ef919ae
stylecontext: Add _gtk_style_context_peek_property()
...
This allows peeking at the computed value for a property. This is useful
for looking at GtkCssImage.
2012-01-09 18:37:56 +01:00
Benjamin Otte
a35df38443
theme: Apply background merging code
...
It was unused and untested and did not do at all what the CSS spec says.
2012-01-09 18:37:56 +01:00
Benjamin Otte
0bc170cd84
styleproperty: Convert background-image from pattern to GtkCssImage
2012-01-09 18:37:56 +01:00
Benjamin Otte
2bb899b5c0
cssimage: Add a few convenience functions
2012-01-09 18:37:56 +01:00
Benjamin Otte
cdd4ed6600
styleproperty: Use factored-out gradient parser
2012-01-09 18:37:56 +01:00
Benjamin Otte
2a6c168235
win32: Add a CssImage implementation
2012-01-09 18:37:56 +01:00
Benjamin Otte
f7eea0b86e
cssimage: Add GtkCssImageGradient
2012-01-09 18:37:56 +01:00
Benjamin Otte
8f42f8c554
win32: Export _gtk_win32_theme_part_create_surface()
2012-01-09 18:37:56 +01:00
Benjamin Otte
590b125ffc
win32: Export _gtk_win32_lookup_htheme_by_classname()
2012-01-09 18:37:56 +01:00
Benjamin Otte
950b95af40
cssimage: Improve new_parse() to select right image type
2012-01-09 18:37:56 +01:00
Benjamin Otte
38be9fe879
css: Add _gtk_css_parser_has_prefix()
2012-01-09 18:37:56 +01:00
Benjamin Otte
11ec705133
css: Add image implementation for urls
2012-01-09 18:37:56 +01:00
Benjamin Otte
b3389a017a
css: Add GtkCssImage class
...
Doesn't do anything yet, just exists.
2012-01-09 18:37:56 +01:00
Benjamin Otte
9181282d88
style: Remove GtkStylePropertyContext again
...
We need to solve this differently. I have no idea yet how, but I'll
invent something later.
This only affects win32 theming and that's broken anyway.
2012-01-09 18:37:56 +01:00
Benjamin Otte
32c8bbb575
styleproperty: Remove context arg from _gtk_style_context_query()
2012-01-09 18:37:56 +01:00
Benjamin Otte
a9d1be0bef
stylecontext: Remove GtkStylePropertyContext from pack funcs
2012-01-09 18:37:56 +01:00
Benjamin Otte
e8cb6f3165
styleproperty: Add compute_value vfunc
2012-01-09 18:37:55 +01:00
Benjamin Otte
c3d337312a
styleproperty: Move parse/print vfuncs to GtkCssStyleProperty
2012-01-09 18:37:55 +01:00
Benjamin Otte
22a65bcd82
styleproperty: Add a compute vfunc
2012-01-09 18:37:55 +01:00
Benjamin Otte
232d9226f9
tests: Add test for 'initial' and 'inherit' on shorthands
2012-01-09 18:37:55 +01:00
Benjamin Otte
e87cf5d789
css: Redo value resolving
...
Instead of on-demand resolvage, we now resolve during lookup. The step
is done via
_gtk_css_style_property_compute_value()
which currently calls into
_gtk_css_style_compute_value()
That function has all the old resolving machinery.
The only part missing for now is the handling of win32 code. It will be
added back later.
2012-01-09 18:37:55 +01:00
Benjamin Otte
29382c1305
gradient: Allow resolving with contexts
2012-01-09 18:37:55 +01:00
Benjamin Otte
4576653006
stylecontext: Export _gtk_style_context_resolve_color()
...
We'll need it soon.
2012-01-09 18:37:55 +01:00
Benjamin Otte
f2dc63cc6a
css: Pass the real context to the CSS lookup
...
This will be necessary soon.
2012-01-09 18:37:55 +01:00
Benjamin Otte
91202ef497
styleproperty: Move pspec to GtkCssCustomProperty
...
It's only used there.
2012-01-09 18:37:55 +01:00
Benjamin Otte
3375dd2a5f
styleproperty: Move property_parse_func member
...
It belongs in GtkCssCustomProperty
2012-01-09 18:37:55 +01:00
Benjamin Otte
61042d155c
styleproperty: Add custom parser for custom properties
...
In particular, move the property_parse_func handling to
GtkCssCustomProperty exclusively.
2012-01-09 18:37:55 +01:00
Benjamin Otte
22e9588dad
styleproperty: Stop using pspecs
...
The pspec type is wrong most of the time anyway.
2012-01-09 18:37:55 +01:00
Benjamin Otte
799110b011
styleproperties: Don't validate values anymore
...
Pspecs are on their way out, so validation is, too.
2012-01-09 18:37:55 +01:00
Benjamin Otte
65f6925dd1
styleproperty: Don't use gtk_style_properties_register_property()
...
This would make the internal properties custom properties. And they are
not.
Also get rid of default initial values, we now specify the correct one
at all times.
2012-01-09 18:37:55 +01:00
Benjamin Otte
4b4792f65d
styleproperty: Make the register functin take varargs
...
.. for the initial value.
2012-01-09 18:37:55 +01:00
Benjamin Otte
09b25facb0
styleproperty: Don't register a property parse func
...
Nobody does that anymore.
2012-01-09 18:37:54 +01:00
Benjamin Otte
8bcfa6ef78
styleproperty: Move implementations to separate file
2012-01-09 18:37:54 +01:00
Benjamin Otte
2d46618e08
styleproperty: Let parse_value() initialize the value
...
... and document that behavior.
2012-01-09 18:37:54 +01:00
Benjamin Otte
70af2cb2e3
styleproperty: Move parse func
...
It's specific to GtKCssStyleProperty after all.
2012-01-09 18:37:54 +01:00
Benjamin Otte
47a27a00f5
shorthand: Remove old parse func support
...
It's not used anymore
2012-01-09 18:37:54 +01:00
Benjamin Otte
069cb74691
shorthand: Do font parsing the new way
2012-01-09 18:37:54 +01:00
Benjamin Otte
f6422513b1
shorthand: Update border-image parsing
...
Also update tests. None is not a valid value...
2012-01-09 18:37:54 +01:00
Benjamin Otte
a0606d513c
shorthand: Initialize unparsed values
...
All values that the parse funcs didn't parse are initialized to
'initial'.
2012-01-09 18:37:54 +01:00
Benjamin Otte
442040876a
shorthand: Move border-color to new parsing code
2012-01-09 18:37:54 +01:00
Benjamin Otte
cd4470cfd3
shorthand: Move border radius parsing to new parsing code
...
We also now properly allow assigning an integer value to the
border-radius property.
2012-01-09 18:37:54 +01:00
Benjamin Otte
8ab426e6d5
themingengine: Don't use GtkBorderRadius struct
...
use GtkBorderCornerRadius instead. Also, don't do NULL checks anymore,
the property is guaranteed to never return NULL.
2012-01-09 18:37:54 +01:00
Benjamin Otte
ea6a898344
styleproperty: Set a default value for border-*-radius
...
That way, we don't have to check if it is indeed set.
2012-01-09 18:37:54 +01:00
Benjamin Otte
fdb3abefc3
roundedbox: Use GtkCssBorderCornerRadius type
...
GtkCssBorderRadius is going away.
2012-01-09 18:37:54 +01:00
Benjamin Otte
13aac54d19
shorthand: Implement border parsing with new parse func
2012-01-09 18:37:54 +01:00
Benjamin Otte
148d8fbca8
shorthand: Allow registering a new parse func
2012-01-09 18:37:54 +01:00
Benjamin Otte
14994e3fc9
styleproperty: Remove _gtk_style_property_unpack()
...
The function is no longer needed in public API
2012-01-09 18:37:54 +01:00
Benjamin Otte
01548bfcbe
shorthand: Redo shorthand value parsing
...
The new approach does not need unpack functions anymore.
2012-01-09 18:37:53 +01:00
Benjamin Otte
e876d9fed5
styleproperty: Make parse_value() a vfunc
2012-01-09 18:37:53 +01:00
Benjamin Otte
4821e52cf2
styleproperty: Move pspec to GtkCssStyleProperty
...
shorthands don't use pspecs anymore.
2012-01-09 18:37:53 +01:00
Benjamin Otte
5ae00c3755
css: Use _gtk_style_property_get_value_type() where appropriate
2012-01-09 18:37:53 +01:00
Benjamin Otte
389531d15d
styleproperty: require property in _gtk_style_property_parse_value()
...
Other code uses _gtk_css_style_parse_value() instead now.
2012-01-09 18:37:53 +01:00
Benjamin Otte
30eb26087c
css: Feed sections to CSS lookup code
2012-01-09 18:37:53 +01:00
Benjamin Otte
79a171de0a
styleproperty: Make query() and assign() vfuncs
...
... and implement them in the 2 known subclasses.
2012-01-09 18:37:53 +01:00
Benjamin Otte
b904679a11
styleproperty: Move value printing to real properties
...
We can't print shorthands, so don't try.
In particular, I want to get away from shorthands being representable
using GValue, and this function kinda requires that.
2012-01-09 18:37:53 +01:00
Benjamin Otte
078fc725e0
css: Split generic parse/print functions out
...
It seems to be some sort of sport for me to split them out and merge
them back in...
2012-01-09 18:37:53 +01:00
Benjamin Otte
f5fafb18c9
css: 'transparent' is a valid color everywhere
2012-01-09 18:37:53 +01:00
Benjamin Otte
36e1bcac3c
css: No longer expose internal properties
...
... in gtk_style_properties_lookup_property(). Those properties will
soon stop having pspecs or even being gettable and settable, so better
not tell anyone about it.
2012-01-09 18:37:53 +01:00
Benjamin Otte
73a632a4ae
css: Handle custom properties in a custom object
...
This way we can also get rid of the hack where we required modifying the
pspec after creation, as the name is now a separate property.
2012-01-09 18:37:53 +01:00
Benjamin Otte
55a38f4746
shorthand: Remove a bunch of unused functionality
...
- The unset func is no longer used
- Shorthands can't be printed
- property_parse funcs and initial values aren't used
2012-01-09 18:37:53 +01:00
Benjamin Otte
674485a138
styleproperties: Implement unsetting directly
...
With subproperties, there's no need anymore for custom unset functions.
2012-01-09 18:37:53 +01:00
Benjamin Otte
341a738dc6
styleproperty: Move member variables
...
These variables are only relevant for style properties, but not for
shorthands, so put them there.
2012-01-09 18:37:53 +01:00
Benjamin Otte
d9c5d37e56
shorthand: shorthands can't be inherited
...
... so remove the flag handling.
2012-01-09 18:37:52 +01:00
Benjamin Otte
544d210a61
css: Move a bunch of functions
...
... from GtkStyleProperty to GtkCssStyleProperty.
2012-01-09 18:37:52 +01:00
Benjamin Otte
0a3ac5efbc
styleproperty: Move id handling
...
only real style properties can have an id, so let
GtkCssStylePropertyClass handle it.
2012-01-09 18:37:52 +01:00
Benjamin Otte
edb8bf4b1d
styleproperty: Add gtk_style_property_assign()
2012-01-09 18:37:52 +01:00
Benjamin Otte
c9dc9d5a88
styleproperties: Use _gtk_style_property_get_value_type()
...
... and check the case where the property is not get/settable.
2012-01-09 18:37:52 +01:00
Benjamin Otte
7a4bbc8f35
styleproperty: Add GtkStyleProperty::value-type
2012-01-09 18:37:52 +01:00
Benjamin Otte
7a76694780
styleproperty: Use _gtk_style_property_get_name()
2012-01-09 18:37:52 +01:00
Benjamin Otte
2128b356b2
shorthand: Add a property for all subproperties
2012-01-09 18:37:52 +01:00
Benjamin Otte
4383701e25
styleproperty: unconstify
...
GtkStyleProperty is a real GObject now, so treat it like one and don't
use const.
2012-01-09 18:37:52 +01:00
Benjamin Otte
a3a580d53e
styleproperty: Remove unuse args from register()
...
Those arguments are only relevant for shorthands.
2012-01-09 18:37:52 +01:00
Benjamin Otte
927b922208
styleproperty: Add custom registration func for shorthands
2012-01-09 18:37:52 +01:00
Benjamin Otte
d4344164ac
styleproperty: Move shorthand declarations to new file
2012-01-09 18:37:52 +01:00
Benjamin Otte
6b386dc574
styleproperty: border image is not a generic conversion thingy
2012-01-09 18:37:52 +01:00
Benjamin Otte
4e79ed7f4f
styleproperty: Add a name property
...
And move the properties array to GtkStylePropertyClass.
Also add some docs.
2012-01-09 18:37:52 +01:00
Benjamin Otte
81b2bb0ade
styleproperty: Get rid of _gtk_style_property_is_shorthand()
...
Use GTK_IS_CSS_SHORTHAND_PROPERTY() instead now that we have it.
2012-01-09 18:37:51 +01:00
Benjamin Otte
f9485241b1
styleproperty: Split into shorthand and real style properties
2012-01-09 18:37:51 +01:00
Benjamin Otte
f62c79b41c
tests: Quit widget-factory when someone presses quit
2012-01-09 18:37:51 +01:00
Benjamin Otte
78dc75a350
styleproperty: Make this an object
2012-01-09 18:37:51 +01:00
Benjamin Otte
3e24b5dbbe
styleproperty: Add _gtk_style_property_query()
...
This way, we only need to export one function, not 3.
2012-01-09 18:37:51 +01:00
Benjamin Otte
2573e72f49
styleproperties: Add _gtk_style_properties_peek_property()
2012-01-09 18:37:51 +01:00
Benjamin Otte
38e1c0a2d6
styleproperties: Remove unused function from private header
...
_gtk_style_properties_resolve_property() was added erroneously in
c09148ca09 but was never implemented.
2012-01-09 18:37:51 +01:00
Benjamin Otte
06960bb9d6
tests: Add a test for 'none'
2012-01-09 18:37:51 +01:00
Benjamin Otte
4da493402d
css: 'none' is not a value background-repeat
2012-01-09 18:37:51 +01:00
Benjamin Otte
6fdf6ba68f
css: Remove generic 'none' handling
...
Includes updated tests.
Who could have thought that our tests were broken. Ooops.
2012-01-09 18:37:51 +01:00
Benjamin Otte
7d353fbccf
win32: Fix CSS for 'none' value going away
...
We want colors to be 'transparent' and not 'none'.
2012-01-09 18:37:51 +01:00
Benjamin Otte
c77dba2767
styleproperty: Add custom 'none' handling
...
The generic 'none' handling needs to go, because 'none' is not a valid
value most of the time.
2012-01-09 18:37:51 +01:00
Benjamin Otte
78024504aa
reftests: Add a test comparing inherit and initial
...
One test has all properties set to 'inherit', the other to 'initial'.
This should result in the same result, as inherit will ensure every
widget inherits the same value, and for the toplevel 'inherit' is
defined as being identical to 'initial'.
2012-01-09 18:37:51 +01:00
Benjamin Otte
53bb230e12
reftests: Add a test for a parent in a different state
...
inherit in those cases should inherit from that different state, not
from this state.
2012-01-09 18:37:51 +01:00
Benjamin Otte
e9dfb8d5b8
tests: Add tests for 'inherit' and 'initial'
2012-01-09 18:37:51 +01:00
Benjamin Otte
57379adb3c
css: Add generic support for 'inherit' and 'initial'
...
CSS3 says they work for every property, so here we go.
2012-01-09 18:37:51 +01:00
Benjamin Otte
a6ac53e2a9
css: Change prototype of _gtk_css_selector_matches()
...
Passing the length of the widget path that is relevant is not necessary
anymore, it was only useful for inheritance. Instead, we now pass the
state flags and let the selector do the state matching for us.
2012-01-09 18:37:50 +01:00
Benjamin Otte
a3225fdd42
cssprovider: Remove has_inherit flag from rulesets
...
It's not used anymore
2012-01-09 18:37:50 +01:00
Benjamin Otte
40a7618d2a
cssprovider: Don't do inheritance anymore
...
Its' done in GtkCssLookup with the help of GtkStyleContext::parent now.
2012-01-09 18:37:50 +01:00
Benjamin Otte
fbedcdaf7d
css: Make CSS resolving work according to spec
...
See inline code comments taken from
http://dev.w3.org/csswg/css3-cascade/#cascade
This now respects the special values "inherit" and "initial" properly.
Note that those values cannot be parsed yet. This will be added in a
future commit.
2012-01-09 18:37:50 +01:00
Benjamin Otte
5a815e2159
styleproperty: Add _gtk_style_property_get_initial_value()
2012-01-09 18:37:50 +01:00
Benjamin Otte
242893a031
css: Pass the parent context to _gtk_css_lookup_resolve()
...
This way, we can resolve inherit properties.
2012-01-09 18:37:50 +01:00
Benjamin Otte
0ac519e8a1
widget: Set parent style context
2012-01-09 18:37:50 +01:00
Benjamin Otte
b50d2b74d7
API: Add GtkStyleContext::parent
...
We need this for proper support of CSS inherit.
2012-01-09 18:37:50 +01:00
Benjamin Otte
aa4925480d
styleproperty: Pass initial value explicitly
2012-01-09 18:37:50 +01:00
Benjamin Otte
4d15186e67
css: Add GtkCssSpecialValue
2012-01-09 18:37:50 +01:00
Benjamin Otte
6dd50c6cca
css: Add some docs to GtkCssLookup
...
In particular, document which parts of the CSS value querying we're
doing here.
2012-01-09 18:37:50 +01:00
Benjamin Otte
821f9b478f
reftests: Add test for pseudo-class matching
...
Previous GTK matched pseudoclasses not based on CSS rules, but based on
their value in the enumeration. This is now fixed.
2012-01-09 18:37:50 +01:00
Benjamin Otte
ba5e7012b1
css: Redo StyleProvider interface
...
We now use the GtkStleProviderPrivate interface, which hopefully is
faster and more conformant to CSS. Long term, it definitely should be
both.
I would have liked to split this up into multiple commits, but couldn't
find a way.
2012-01-09 18:37:50 +01:00
Benjamin Otte
38a9b28a0e
styleproperties: Add a hacky function to redirect color lookups
...
This will soon be necessary.
FIXME: Make sure this gets removed again.
2012-01-09 18:37:49 +01:00
Benjamin Otte
c048aac1d9
symboliccolor: Add _gtk_symbolic_color_resolve_full()
2012-01-09 18:37:49 +01:00
Benjamin Otte
899a381d31
stylecontext: Separate properties by states
...
We don't want to mix states the wrong way. And the current approach does
that.
2012-01-09 18:37:49 +01:00
Benjamin Otte
a488d2184a
stylecontext: Pass state to style data lookup function
2012-01-09 18:37:49 +01:00
Benjamin Otte
cdb3f05bf1
css: Add _gtk_style_property_get_count()
2012-01-09 18:37:49 +01:00
Benjamin Otte
54d2b9dbc2
cssprovider: Keep a bitmask for the properties
...
That way we can easily tell wich properties are in use.
2012-01-09 18:37:49 +01:00
Benjamin Otte
eb38591c91
css: Add _gtk_style_property_get_id()
2012-01-09 18:37:49 +01:00
Benjamin Otte
f6cf447cad
styleproperty: Assign a unique id to every styleproperty
2012-01-09 18:37:49 +01:00
Benjamin Otte
eddd36d1d9
tests: Add tests for GtkBitmask
2012-01-09 18:37:49 +01:00
Benjamin Otte
45b9193290
gtk: Add GtkBitmask
...
The CSS code likes to have that very much.
2012-01-09 18:37:49 +01:00
Stefan Sauer
f7d3ca46f7
gtkscale: fix bogus compare func
...
The GtkScaleMark values are gdouble, a simple a-b compare func would fail for
values with the same integer value. This breaks the sorting and causes random
marker label placement.
2012-01-09 18:33:11 +01:00
Rob Bradford
1f023cd2b1
wayland: Constrain the window configure requests to the window's geometry
...
When we receive a configure event from Wayland telling us to resize our
surface we check against the geometry constraints for the window to ensure we
do not resize below the minimum and maximum limits.
2012-01-09 17:19:34 +00:00
Rob Bradford
4107ef0b93
wayland: Implement set_geometry_hints vfunc
...
Our trivial implementation simply saves the passed in parameters into the
Wayland private data structure.
2012-01-09 17:19:34 +00:00
Rui Matos
052c6e0681
scrolledwindow: Render the background so that it can be styled
2012-01-09 16:45:44 +00:00
Rui Matos
09979513b2
window: Stop setting state flags on the style context for drawing
...
This also removes setting the FOCUSED state flag when
gtk_window_has_toplevel_focus() since this effect can now be done with the new
WINDOW_UNFOCUSED flag instead which actually works better regarding X grabs
and modal windows.
2012-01-09 16:45:44 +00:00
Rui Matos
440663f3fe
treeview: Use the widget state flags as a base for drawing expanders
2012-01-09 16:45:44 +00:00
Rui Matos
2972236fdb
treeview: Stop setting state flags on the style context for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
76485b8670
trayicon-x11: Stop setting state flags on the style context for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
8bb0773535
toolitemgroup: Use the widget state flags as a base for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
4011326388
toolbar: Stop setting state flags on the style context for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
a1f72eb06c
Revert "button: Stop setting state flags on the style context for drawing"
...
Setting state flags is actually needed here since this function is called by
GtkButton subclasses which add their specific state flags as a parameter.
This reverts commit e868b8d6ea .
2012-01-09 16:45:44 +00:00
Rui Matos
2efa658a41
textdisplay: Use the widget state flags as a base for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
b203ea2f93
spinner: Stop setting state flags on the style context for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
e9549a7514
spinbutton: Use the widget state flags as a base for drawing
2012-01-09 16:45:43 +00:00
Rui Matos
9118ccb02d
separator: Stop setting state flags on the style context for drawing
2012-01-09 16:31:11 +00:00
Rui Matos
95caabac03
scale: Stop setting state flags on the style context for drawing
2012-01-09 16:31:11 +00:00
Rui Matos
b2f5959147
range: Use the widget state flags as a base for drawing
2012-01-09 16:31:11 +00:00
Rui Matos
6dd0bd5536
radiobutton: Use the widget state flags as a base for drawing
2012-01-09 16:31:11 +00:00
Rui Matos
c98e9c94e7
widget-factory: Make the second spin button insensitive
2012-01-09 16:31:11 +00:00
Rob Bradford
eedd1ec92f
wayland: Make the resize and move functions use gdk_device_ungrab
...
Now that grab and ungrab vfuncs are implemented on GdkDevice then we can use
gdk_device_ungrab to break the implicit grab created by the button press that
triggered the resize and move.
2012-01-09 16:00:14 +00:00
Kristian Høgsberg
e5283122fd
wayland: Add implementations for the device_grab / device_ungrab vfuncs
...
This allows the correct implementation of breaking the grab in pointer driven
resize and move.
Signed-off-by: Rob Bradford <rob@linux.intel.com >
2012-01-09 15:59:02 +00:00
Rob Bradford
4007449a58
application: Correct the fallback definition for gtk_application_end_session
...
The function definition used a pointer to the enum value rather than the enum
itself.
This broke the build on platforms that don't have an implmentation of these
functions.
2012-01-09 15:09:27 +00:00
Ryan Lortie
cf2590d673
GtkButton: do not allow both types of actions
...
Only allow one of 'action-name' or 'related-action' to be set.
https://bugzilla.gnome.org/show_bug.cgi?id=667394
2012-01-09 15:02:10 +01:00
Ryan Lortie
4dbd12b1d8
bloatpad: add left/centre/right toolbar buttons
...
https://bugzilla.gnome.org/show_bug.cgi?id=667394
2012-01-09 15:02:08 +01:00
Ryan Lortie
88ec007b98
Add new GtkActionable interface
...
This is the interface for GtkWidgets that can be associated with an
action on a GtkAppicationWindow or associated GtkApplication.
It essentially features 'action-name' and 'action-target' properties
with some associated convenience API.
This interface is implemented by GtkButton and GtkToolButton.
https://bugzilla.gnome.org/show_bug.cgi?id=667394
2012-01-09 15:02:06 +01:00
Ryan Lortie
a3629592d3
drop debian/ directory
2012-01-09 14:29:11 +01:00
Murray Cumming
395bf54b8e
gtkmain.h: Used GDK_DEPRECATED
...
If we use just G_GNUC_DEPRECATED then it cannot be disabled by
an ifdef.
2012-01-09 14:20:49 +01:00
Matthias Clasen
69a529572d
Revert "GtkWindow: new API to store state in GSettings"
...
This reverts commit 730765de91 .
This needs more thought, committing it on the same day as filing
the bug was premature.
2012-01-09 00:53:53 -05:00
Matthias Clasen
2ef4621e05
Fix up symbol lists
2012-01-09 00:31:20 -05:00
Matthias Clasen
ef1bc2923e
Add more tests for GdkRGBA parsing
...
These examples are taken from bug 667485.
2012-01-09 00:31:20 -05:00
Matthias Clasen
e5e6d25a50
Tighten up GdkRGBA parsing
...
gdk_rgba_parse was accepting too much nonsense, as pointed out
in bug 667485.
2012-01-09 00:31:20 -05:00
Daniel Mustieles
7ac975bb48
Updated Spanish translation
2012-01-08 20:17:36 +01:00
Alexander Shopov
6d22bfe19c
Updated Bulgarian translation
2012-01-08 17:21:05 +02:00
Matthias Clasen
f3533e4fc2
Fix the gtk_application_end_session implementation
...
We were passing the wrong flags, causing the meaning of
the request_confirmation parameter to be inverted.
2012-01-08 02:16:26 -05:00
Matthias Clasen
0191f11a7a
Add a test for the new session api
2012-01-08 02:15:49 -05:00
Matthias Clasen
d2ed87fbdc
Fix doc build
2012-01-07 21:47:42 -05:00
Matthias Clasen
27c21249b7
Add session management migration chapter
...
Add some preliminary information about migration from EggSMClient
to GtkApplication.
2012-01-07 21:44:52 -05:00
Matthias Clasen
983b7be5ab
Rearrange migration chapter a bit
...
The 'checklist' is really just the 'extra credits', so put it
at the end, rather than the beginning.
2012-01-07 20:44:37 -05:00
Matthias Clasen
f78696f3d0
GtkApplication: only allow quit_response when it make sense
...
This check was present in the OS X implementation, but it
makes sense in the D-Bus implementation as well.
2012-01-07 20:01:23 -05:00
Matthias Clasen
00d5214695
Remove some debug spew
2012-01-07 19:55:20 -05:00
Matthias Clasen
bb957e5389
GtkApplication: Add OS X implementation from EggSMClient
2012-01-07 19:52:14 -05:00
Matthias Clasen
b3f2b41567
Rename rgba test file
...
Not testing GdkColor here, anymore.
2012-01-07 19:02:48 -05:00
Matthias Clasen
1e867a94a2
Use g_slice_dup
...
This saves some manual copying.
Pointed out in bug 667473.
2012-01-07 19:00:47 -05:00
Matthias Clasen
2b16ec9f14
Add a test for gdk_rgba_copy
2012-01-07 19:00:32 -05:00
Daniel Mustieles
166a3a1cf1
Missing file in POTFILEs.in
2012-01-07 18:53:26 +01:00
Paolo Borelli
7c8130dada
Change param name to make gtk-doc happy.
2012-01-07 18:06:59 +01:00
Benjamin Otte
2359f03b6b
tests: Fix deprecation warnings in prop-editor
2012-01-07 16:14:31 +01:00
Benjamin Otte
f6d2f4fa8d
application: return a value
2012-01-07 15:56:26 +01:00
Martin Pitt
700a334d87
gtkapplication.c: Fix syntax error
...
Previous commit accidentally removed the closing } from
gtk_application_end_session(). Add it back to unbreak the build.
2012-01-07 10:04:18 +01:00
Matthias Clasen
916009b5d6
Add a trivial implementation of the new apis
...
For non-X11, this is just a placeholder until we get around
to moving the EggSMClient implementations over.
2012-01-07 03:20:56 -05:00
Matthias Clasen
48872705f0
Document the new apis
2012-01-07 03:20:56 -05:00
Matthias Clasen
3142d13972
Add gtk_application_end_session
...
This function allows applications to request that
the user session be ended by logout/shutdown/reboot.
2012-01-07 03:20:56 -05:00
Matthias Clasen
bdd7e15c84
GtkApplication: Add an inhibit api
...
This lets applications block logout and similar actions ahead
of time. Currently only implemented for D-Bus, but Windows has
very similar API since Vista.
2012-01-07 03:20:56 -05:00
Matthias Clasen
3133791302
GtkApplication: Add logout notification
...
This is fairly basic, allowing applications to learn when
the session manager is about to end the session, and possibly
block this. The only implementation at this point is using the
org.gnome.SessionManager D-Bus interface of gnome-session. It should
be straightforward to port the EggSMClient implementations for
Windows and OS X.
2012-01-07 03:20:56 -05:00
Chun-wei Fan
b40d16972f
Update Visual C++ property sheets
...
"Install" (and hence compile with glib-compile-schemas.exe) the new
org.gtk.WindowState.gschema.xml gschema file.
2012-01-07 11:21:46 +08:00
Ryan Lortie
730765de91
GtkWindow: new API to store state in GSettings
...
https://bugzilla.gnome.org/show_bug.cgi?id=667438
2012-01-06 16:18:48 -05:00
Ryan Lortie
d47c3ac9e4
GtkBuilder: support parsing GVariant properties
...
https://bugzilla.gnome.org/show_bug.cgi?id=667394
2012-01-06 16:18:48 -05:00
Piotr Drąg
5ec521aad0
Updated POTFILES.skip
2012-01-06 21:18:28 +01:00
Rob Bradford
47146dacff
wayland: Break an implicit grab when asking to be resized
...
An implicit grab is created inside GTK+ when the button is pressed down on a
window. The semantics of wl_shell_surface_resize means that you don't get a
corresponding release event that would ordinarily break the implicit grab. So
we must do it as part of the resize request.
2012-01-06 16:58:06 +00:00
Rob Bradford
675b2fddcb
wayland: Make the event source use _gdk_display_get_next_serial
2012-01-06 16:58:05 +00:00
Rob Bradford
e13cca00cc
wayland: Implement the get_next_serial vfunc on GdkDisplay
2012-01-06 16:58:05 +00:00
Zeeshan Ali (Khattak)
1996618569
gtkspinbutton: Don't hilight buttons when !editable
...
Don't hilight the buttons on mouse over when 'editable' property is set to
'FALSE.
https://bugzilla.gnome.org/show_bug.cgi?id=667229
2012-01-06 18:35:37 +02:00
Kristian Høgsberg
e2dd95aced
wayland: The shared cursors are now installed in the weston directory
...
Signed-off-by: Rob Bradford <rob@linux.intel.com >
2012-01-06 15:12:14 +00:00
Matthias Clasen
7df5cf2a3a
GtkApplication: Rename a member for clarity
...
'session' is a bit ambiguous (and GtkApplication may grow session
management support at some point), so rename the bus connection
to 'session_bus'.
2012-01-05 23:53:40 -05:00
Matthias Clasen
c74ac08143
Another attempt at fixing menu positioning corner cases
...
The code for moving the menu into monitor / workarea was duplicated,
once for the push-in scenario and once for without. The problem with
the second case is that we've stored the menu position before adjusting
it. That made us remember an out-of-monitor position that then later
triggered _another_ copy of this code in the size-request implementation.
Unify this to only have one copy of code, and only store the menu
position after adjusting it to be inside the monitor. This fixes both
statusicon menus that get popped up from the panel, outside the workarea,
to not have scroll arrows, and the gedit language menu which was not
placed in the monitor at all after the initial workarea commit.
As a side-effect of this change, we now make large scrolling menus
occupy the full height of the workarea. Before this change, we were
keeping either the top or bottom edge put while shrinking the menu
to fit in the monitor.
https://bugzilla.gnome.org/show_bug.cgi?id=667249
2012-01-05 23:30:41 -05:00
Benjamin Otte
00e84f1cdb
label: Avoid deprecation warning
2012-01-06 05:23:43 +01:00
Benjamin Otte
42d0a6de23
label: Actually mark visited labels as visited
...
A recalculate will clear the labels and compute them again, which will
clear the information if something was visited...
2012-01-06 05:23:43 +01:00
Benjamin Otte
b73ede690d
reftests: Add a test for latest commit
...
We want to make sure we notice when we mess up label attribute ordering
again...
2012-01-06 05:23:43 +01:00
Benjamin Otte
d6bb8a63aa
label: Make attr_list_merge() use sane merging rules
...
Instead of "attribute with later start index wins, make sure the
attribute list that is merged from takes precedence. This now gives the
multiple attribute lists we use in the label an order:
1) gtk_label_set_attributes()
These attributes override everything. It's what the function's there
for after all.
2) markup of label
Other user-specified attributes come next.
3) attributes for links
When we apply custom attributes on parts of the text, we put them
last. We don't want to mess with what the user does. Also, we change
color and underline, so we usually have something to show.
2012-01-06 05:23:42 +01:00
Benjamin Otte
e78e4d8dd8
label: Rename variable
...
The effective attributes aren't that anymore. They're now just the
attributes from the parsed markup.
2012-01-06 05:23:42 +01:00
Benjamin Otte
f1c9a3e633
label: Don't excessively recalculate
...
We don't merge attributes anymore, so no need to call the function that
used to do this job.
2012-01-06 05:23:42 +01:00
Benjamin Otte
396b177e3b
label: Redo attribute application
...
- Don't compute link color attributes until layout creation
This is useful as a performance enhancement, because we don't have to
lookup the property after setting the text, so multiple markup sets
don't cost style lookups.
- Don't merge attrs into effective_attrs
We do this when applying link colors now. Keeping them separate allows
invalidating them separately.
2012-01-06 05:23:42 +01:00
Benjamin Otte
15ac572822
ilabel: Redo gtk_label_get_link_colors()
...
Don't pass out an allocated color, assign it instead. Gets rid of having
to call gdk_color_free() all the time.
2012-01-06 05:23:42 +01:00
Benjamin Otte
dd4df24382
label: Split out function that merges attr lists
2012-01-06 05:23:42 +01:00
Benjamin Otte
5783d3b68c
gtk-demo: Prove that links work fine now
...
Also, doodling is fun.
2012-01-06 05:23:42 +01:00
Benjamin Otte
712d577531
label: Redo links parsing
...
Instead of getting confused by applied underline or color tags in the
regular markup, we store the link start/end when we actually parse the
text. As a bonus, we can avoid rescanning links when creating the
markup.
2012-01-06 05:23:42 +01:00
Benjamin Otte
18ce0b21a0
label: Move function into only caller
2012-01-06 05:23:42 +01:00
Benjamin Otte
fc37e2749c
API: Deprecate key snooping
...
You really shouldn't be doing this. If you have to, you can use
gdk_window_add_filter() or listen to raw events on XI2.
2012-01-06 05:23:42 +01:00
Benjamin Otte
0c8ecba7dc
a11y: Remove keysnooping support
...
As previously announced, key snooping is something that we should not
support in GTK. In particular because AT-SPI made every key press a
synchronous DBUS call / spawned a nested main loop with the key
snoopers. This breaks responsiveness, order of key presses and internal
consistency when the AT decides to remove key events.
2012-01-06 05:23:42 +01:00
Zeeshan Ali (Khattak)
43e29f7cbf
gtkspinbutton: Ignore keynav when !editable
...
Don't allow changing of value through keyboard when 'editable' property is
set to 'FALSE.
https://bugzilla.gnome.org/show_bug.cgi?id=667229
2012-01-06 05:45:46 +02:00
Benjamin Berg
b3e352f489
Improve PICKONE_* handling in GtkPrinterOptionWidget (bug #543520 )
...
This patch modifies GtkPrinterOptionWidget to support loading them
again. It also allows the user to enter values from the dropdown list
to select the item.
2012-01-06 00:20:42 +01:00
Benjamin Berg
6fa6576dda
Set cups Custom print options correctly (bug #543520 , patch by Marek Kašík)
...
This patch fixes the cups print backend to pass Custom options with
the "Custom." prefix to cups if neccessary.
2012-01-06 00:20:42 +01:00
Matthias Clasen
f7fb2fbebd
Use the right icon-name for missing images
...
Patch by Erik van Pienbroek, bug 629878.
2012-01-05 14:07:04 -05:00
Rob Bradford
ff016a7857
wayland: Set a default cursor when the window cursor is set to NULL
...
This change follows on from a change in semantics in Wayland where calling
wl_input_device_attach with nil would make the compositor set the pointer
sprite to it's default cursor sprite.
2012-01-05 17:39:14 +00:00
Marek Kasik
f1995f80e7
GtkPrintUnixDialog: Hide unused tabs
...
Don't show tabs which are empty. This is related to
the recent GtkTable -> GtkGrid conversion. (#663479 )
2012-01-05 13:17:46 +01:00
Xan Lopez
5f53045707
Revert "gtksettings.c: Do not use GdkColor API"
...
This reverts commit baef3e5f24 .
This broke the Adwaita theme pretty severely, so I don't think it can
be right. See: http://i.imgur.com/Rq7wc.png
2012-01-05 12:22:05 +01:00
Javier Jardón
baef3e5f24
gtksettings.c: Do not use GdkColor API
2012-01-05 04:38:22 +01:00
Javier Jardón
e77ffa6f87
gtkcolorsel.c: Do not use GdkColor API
2012-01-05 04:38:22 +01:00
Javier Jardón
d005b01319
gtk/*: Use g_list_free_full() convenience function
2012-01-05 04:22:43 +01:00
Javier Jardón
6ad6f719c6
modules/*: Use g_list_free_full() convenience function
2012-01-05 04:22:43 +01:00
Javier Jardón
24360a8076
gdk/*: Use g_list_free_full convenience function
2012-01-05 04:22:42 +01:00
Javier Jardón
08a2b910e5
tests: Use g_list_free_full() convenience function
2012-01-05 04:22:42 +01:00
Ryan Lortie
0ea48c4139
GtkComboBoxText: allow id='' tag in builder markup
...
Presently, GtkComboBoxText lets you list the items for it in the
GtkBuilder markup like so:
<items>
<item translatable='yes'>Red</item>
<item translatable='yes'>Blue</item>
</items>
but has no way to set the "id" column for added items. Add an id='' tag
for that purpose so that you can do:
<item id='red' translatable='yes'>Red</item>
https://bugzilla.gnome.org/show_bug.cgi?id=667319
2012-01-04 17:00:35 -05:00
Xan Lopez
eeb9de80e1
GtkNotebook: fix crash when DnD tabs between windows
...
When doing DnD between windows the tab label is set as the child of
the DnD info window. If this is happening the remove method of
GtkNotebook should not unparent the tab label, since it's been already
unparented, belongs to the DnD window and will be properly destroyed
when the DnD is over.
https://bugzilla.gnome.org/show_bug.cgi?id=639875
2012-01-04 08:48:46 +01:00
Javier Jardón
912375ff38
gtk/gtkcolorbutton.c: Do not use deprecated GdkColor api
2012-01-04 01:55:16 +01:00
Zeeshan Ali (Khattak)
3caa370bb5
gtkspinbutton: Respect value of inherited 'editable' property
...
When this property is set to 'FALSE', user's click on the buttons
should not actually update the value but rather result in error bell.
https://bugzilla.gnome.org/show_bug.cgi?id=667229
2012-01-04 00:49:35 +02:00
Federico Mena Quintero
022c576bd2
treeview: bgo#666685 - Crash when toggling the selected status of a row
...
The refactoring from e01af5c5c seems to have caused this inadvertently.
Signed-off-by: Federico Mena Quintero <federico@gnome.org >
2012-01-03 15:08:34 -06:00
Javier Jardón
abb7f40fb8
gtkcolorsel: Do not use deprecated GdkColor api
2012-01-03 18:00:57 +01:00
Javier Jardón
49d232d3a0
gtkcellview: Do not use deprecated GdkColor api
2012-01-03 18:00:57 +01:00
Chun-wei Fan
9f6e7d214c
gtk/gtkprivate.c: Include stdlib.h
...
Include stdlib.h for getenv to avoid C4013/implicit declaration of ...
warnings
2012-01-04 00:52:44 +08:00
Javier Jardón
1796e2f6ba
test/testgtk.c: Fix compilation warning
2012-01-03 16:58:42 +01:00
Matthias Clasen
266866e82c
Fix problems with DND on some X servers
...
When the X server does not support the shape extension (as some
vnc implementations seem to), our DND code was always seeing
an empty input shape, so drops always missed their target.
http://bugzilla.gnome.org/show_bug.cgi?id=620240
2012-01-03 10:57:53 -05:00
Emmanuele Bassi
c62a1fd522
Add symbolic constants for event emission control
...
Similar to https://bugzilla.gnome.org/show_bug.cgi?id=631413 in GLib,
GTK+ should have symbolic constants for controlling the event handling
instead of a mere boolean value.
The GDK_EVENT_PROPAGATE and GDK_EVENT_STOP constants map to FALSE and
TRUE respectively.
https://bugzilla.gnome.org/show_bug.cgi?id=631414
2012-01-03 12:58:43 +00:00
Ignacio Casal Quinteiro
f0b8fc69e8
textdisplay: use g_list_free_full
2012-01-01 22:38:30 +01:00
Kjell Ahlstedt
6aeab7b7cc
comboboxtext: Set entry-text-column and id-column props in the constructor
...
This is cleaner than setting the value in the _new() functions and
makes binding and GtkBuilder instantiation easier. Bug #612396 , comment 65.
2011-12-30 11:10:26 +01:00
Chun-wei Fan
d273b817e8
Bug 667018-gtk/gtkwindow.c: Include deprecated/gtkstyle.h
...
This is needed for the prototype of gtk_widget_reset_rc_styles, to avoid
C4013/implicit declaration of ... warnings of that function
2011-12-30 17:25:48 +08:00
Chun-wei Fan
1a122a4367
gtk/gtkspinbutton.c: Remove lingering ';'
...
...so that C89 compilers will not complain
2011-12-30 17:25:47 +08:00
Yaron Shahrabani
42bf233d59
Updated Hebrew translation.
2011-12-30 11:12:58 +02:00
Chun-wei Fan
24e476caab
gtk/Makefile.am: Update VS projects completion
...
Take the sources in gtk/deprecated/ into account-VS does not like '/'
in file paths.
2011-12-30 16:44:55 +08:00
Chun-wei Fan
f166cddeb4
Update Visual C++ projects
...
-Update include paths for the GTK+ main projects to be consistent across
the board
-Update demo projects to add a new demo source file, transparent.c
2011-12-30 16:40:06 +08:00
Chun-wei Fan
bdb98fdfcc
Update gdk/gdkconfig.h.win32
...
Apparently the deprecation warning macros are placed into gdkconfig.h
during the configure stage, so put these in the pre-configured
gdkconfig.h.win32 as well, as their definitions are needed for all builds.
2011-12-30 16:21:38 +08:00
Matthias Clasen
2637240abe
Remove an unnecessary warning
...
Don't warn if there's more than one mnemonic label for a widget,
and skip invisible labels.
Bug 665015
2011-12-30 02:01:15 -05:00
Matthias Clasen
d7e8388e9d
Add a Since tag
...
gtk_css_provider_to_string is a post-3.0 addition.
Fixes bug 659516
2011-12-30 00:38:06 -05:00
Matthias Clasen
08c89c11d1
Drop -uninstalled.pc files
...
This has already been done in GLib, so follow suit here.
2011-12-30 00:28:15 -05:00
Matthias Clasen
ebd28de588
XIM: gracefully deal with non-X backends
...
Patch by Young-Ho Cha, bug 660309.
2011-12-29 23:43:51 -05:00
Matthias Clasen
3c70a12785
GtkImContextSimple: fix tentative match handling
...
When switching to the compact table format, we inadvertedly lost
the 'tentative match' handling which allows to complete longer
compose sequences even if a prefix is a complete sequence.
This was pointed out in bug 666710.
2011-12-29 23:42:03 -05:00
Matthias Clasen
694bbf4ac0
Cosmetic changes to comments
2011-12-29 23:42:03 -05:00
Piotr Drąg
849770ac54
Updated POTFILES.skip
2011-12-29 17:49:58 +01:00
Benjamin Otte
45161fbb55
settings: Cache style properties
...
This way we don't need to compute them every lookup. (That's not the
real reason though - the real reason is that I want to add new APIs that
require the caching because they return consts).
2011-12-29 10:10:32 +01:00
Benjamin Otte
524938aa53
modifierstyle: Move Private typedef to public header
2011-12-29 10:10:22 +01:00
Benjamin Otte
84c061b861
reftests: Add test for empty grid with spacing
...
This used to crash.
https://bugzilla.gnome.org/show_bug.cgi?id=660139
2011-12-29 10:03:59 +01:00
Matthias Clasen
01320e5773
Fix problems with sticky handling
...
Reading a card32 property into a long may lead to undefined high
bits, so mask them off. Also, make the conditions for setting and
unsetting the stick flag opposites, to avoid unintended changes.
Patch by John Lindgren, bug 666842
2011-12-28 11:20:47 -05:00
Matthias Clasen
19b47b931e
Update various EWMH interactions
...
The current EWMH has added 'source indication' fields to a number
of client messages. Set these to 1 to indicate a regular client.
Also fill the button field of _NET_WM_MOVERESIZE.
2011-12-28 11:16:54 -05:00
Javier Jardón
465301c64f
tests/testgtk: Do not use GdkColor-based api
2011-12-26 17:12:20 +01:00
Daniel Mustieles
deeac44abb
Updated Spanish translation
2011-12-26 11:10:17 +01:00
Ignacio Casal Quinteiro
1abf7618c0
gtktextlayout: use g_slice for GtkTextLineDisplay
2011-12-25 18:13:51 +01:00
Ignacio Casal Quinteiro
359d8c9856
gtktextbtree: use g_slice
2011-12-25 17:49:03 +01:00
Benjamin Otte
ab1699510e
themingbackground: Avoid erroring cairo context
2011-12-23 22:30:45 +01:00
Benjamin Otte
396ae8f1de
tests: Make widget-factory close when window is closed
2011-12-23 22:30:45 +01:00
Benjamin Otte
58d553c604
cssprovider: Fix leak
...
Thanks to the heroic valgrinding efforts of Olivier Sessnik, another
leak could be plugged.
2011-12-23 22:30:45 +01:00
Matthias Clasen
fbc3db8ba9
Fix scroll_offset handling
...
scroll_offset can be negative here, so replace a > 0 test
by != 0.
2011-12-23 00:36:20 -05:00
Matthias Clasen
f1bfdda3fd
Only push the menu in if the position function said so
2011-12-23 00:36:20 -05:00
Matthias Clasen
a553cb50ab
Use gtk_widget_get_allocated_width/height where it makes sense
2011-12-23 00:36:20 -05:00
Matthias Clasen
53ce519b1f
Remove an unneeded variable
2011-12-23 00:36:20 -05:00
Matthias Clasen
547baf0e5f
Remove an unused struct
2011-12-23 00:36:19 -05:00
Benjamin Otte
9707d964f7
combobox: Don't allow an individual cell to cheat
...
Make sure we only set sensitive when the cell is sensitive and visible.
Also avoid invalid memory accesses if no cells existed.
2011-12-23 00:15:59 +01:00
Benjamin Otte
8a83f0c2d1
widget: Print a g_warning() when a cairo_t is invalid
...
Only print the warning on internal code, so we aren't too verbose.
2011-12-23 00:15:59 +01:00
Benjamin Otte
d1c92c38df
styleproperties: Move private struct declaration into public header
2011-12-23 00:15:59 +01:00
Benjamin Otte
a61ba41167
x11: Don't handle focus events for NULL windows
...
The check was accidentally removed in the refactoring of
2ea328dfbc .
2011-12-23 00:15:59 +01:00
Matthias Clasen
18406b7b04
Revert "x11: Avoid spurious focus events on grabs"
...
This reverts commit db4a6040af .
This is causing bad focus confusion e.g. in gnome-terminal.
2011-12-22 16:03:56 +00:00
Javier Jardón
a3abc18858
Deprecate all the public API that is using GdkColor struct
2011-12-22 02:59:39 +00:00
Javier Jardón
115d92aa11
gtkappchooserwidget: Use g_object_clear()
2011-12-22 02:57:35 +00:00
Ryan Lortie
182fbba2bf
GtkModelMenu: drop extra & added by mistake
2011-12-21 17:15:16 -05:00
Cosimo Cecchi
157d9271fa
application: don't unconditionally unref the GMenuModel in getters
...
Both the app-menu and menubar models can be NULL, so we shouldn't
blindly unref them, since g_object_unref() doesn't cope with NULL
pointers.
2011-12-21 12:20:15 +01:00
Cosimo Cecchi
72c04c064a
application: mark menu/menubar getters as (transfer none)
...
Since they do not return a reference to the underlying GMenuModel.
2011-12-21 12:19:31 +01:00
Cosimo Cecchi
9ae0ffb9cb
application: use the same variable names in definitions and declarations
...
gobject-introspection will be confused and mark the methods as not
introspectable otherwise.
2011-12-21 11:29:39 +01:00
Colin Walters
06307dd774
GtkAction: Hold a reference to proxy widgets
...
Previously we expect that a proxy widget holds a reference to the
action via gtk_activatable_do_set_related_action(). However, it
is possible for the widget to still be in a floating state when
it adds itself to the the action.
This is a problem when gtk_action_get_proxies() gets called, because
we return floating objects back to the user. And language bindings
aren't going to be expecting that.
Fix this by calling ref_sink() and unref().
https://bugzilla.gnome.org/show_bug.cgi?id=657367
2011-12-20 15:36:48 -05:00
Matthias Clasen
b5577781d1
GtkApplicationWindow: fix a typo
...
And add a link to the screenshots.
2011-12-20 14:10:39 -05:00
Javier Jardón
325142fba7
tests/testcombo.c: Use GdkRGBA instead GdkColor
2011-12-20 18:32:15 +00:00
Javier Jardón
f84c124e53
gtk/gtkcellview.c: Use new GdkRGBA api instead GdkColor one
2011-12-20 18:32:15 +00:00
Javier Jardón
e24634537e
gtk/gtktrayicon-x11.c: Use new GdkRGBA api instead GDKColor one
2011-12-20 18:32:15 +00:00
Cosimo Cecchi
2827cd4518
button: deprecate the inner-border style property
...
Since we allocate the standard CSS border to the button now, and center
the child accordingly, there's no need for an additional inner-border
style property. Deprecate it and ignore its values.
https://bugzilla.gnome.org/show_bug.cgi?id=666600
2011-12-20 19:01:38 +01:00
Cosimo Cecchi
0021ef19fa
button: add CSS borders to the size request
...
And allocate the button children according to it as well.
https://bugzilla.gnome.org/show_bug.cgi?id=666600
2011-12-20 19:01:38 +01:00
Cosimo Cecchi
fe59c5f954
button: add a border param to gtk_button_get_props()
...
We'll use it later to compute the child offsets.
https://bugzilla.gnome.org/show_bug.cgi?id=666600
2011-12-20 19:01:38 +01:00
Javier Jardón
9635759548
tests/testgtk.c: Remove death code
2011-12-20 17:51:59 +00:00
Ryan Lortie
bac58abec3
gtkmodelmenuitem: don't crash on missing action
2011-12-20 10:51:58 -05:00
Daniel Mustieles
8f5e8b2d0b
Updated Spanish translation
2011-12-20 14:45:14 +01:00
Cosimo Cecchi
13f5706488
treeview: fix an uninitialised variable warning
2011-12-20 11:41:46 +01:00
Matthias Clasen
e65a8d0d40
Bump version
2011-12-19 18:41:10 -05:00
Matthias Clasen
be689e8307
3.3.6
2011-12-19 18:37:44 -05:00
Matthias Clasen
d7652d2c06
Fix dist
2011-12-19 18:37:28 -05:00
Matthias Clasen
23ca2a953c
Fix symbol lists
2011-12-19 18:07:42 -05:00
Matthias Clasen
e09b2107b6
Updates
2011-12-19 17:47:13 -05:00
Rui Matos
f4c698ef93
Revert "progressbar: Set state flags on draw"
...
This reverts commit 6ed5918718 which is no
longer needed as the style context now has the state flags updated when going
into draw.
2011-12-19 20:59:06 +00:00
Matthias Clasen
5d8641dd92
Add another bloatpad screenshot
2011-12-19 15:16:11 -05:00
Xan Lopez
2d70d8fa36
gdkwindow: plug memory leak
...
==23282== 64 bytes in 2 blocks are definitely lost in loss record 8,069 of 13,389
==23282== at 0x4A074CD: malloc (vg_replace_malloc.c:236)
==23282== by 0x39A1C3E2EA: cairo_region_create (cairo-region.c:196)
==23282== by 0x6D9AF3D: recompute_visible_regions_internal (gdkwindow.c:964)
==23282== by 0x6D9B4B8: recompute_visible_regions (gdkwindow.c:1126)
==23282== by 0x6DA3450: gdk_window_hide (gdkwindow.c:5689)
==23282== by 0x6D9CED9: _gdk_window_destroy_hierarchy (gdkwindow.c:2042)
==23282== by 0x6D9D040: gdk_window_destroy (gdkwindow.c:2109)
==23282== by 0x655B5E4: gtk_entry_unrealize (gtkentry.c:3012)
==23282== by 0x7068BF3: g_cclosure_marshal_VOID__VOID (gmarshal.c:85)
==23282== by 0x706710B: g_type_class_meta_marshal (gclosure.c:885)
==23282== by 0x7066DF9: g_closure_invoke (gclosure.c:774)
==23282== by 0x7080585: signal_emit_unlocked_R (gsignal.c:3340)
==23282== by 0x707F619: g_signal_emit_valist (gsignal.c:3033)
==23282== by 0x707FB71: g_signal_emit (gsignal.c:3090)
==23282== by 0x679E243: gtk_widget_unrealize (gtkwidget.c:4458)
==23282== by 0x64E83C7: gtk_bin_forall (gtkbin.c:172)
==23282== by 0x6548BBD: gtk_container_forall (gtkcontainer.c:2014)
==23282== by 0x67A966D: gtk_widget_real_unrealize (gtkwidget.c:10253)
==23282== by 0x672D002: gtk_tool_item_unrealize (gtktoolitem.c:474)
==23282== by 0x7068BF3: g_cclosure_marshal_VOID__VOID (gmarshal.c:85)
https://bugzilla.gnome.org/show_bug.cgi?id=666552
2011-12-19 15:06:22 -05:00
Matthias Clasen
8eb58a6567
Updates
...
https://bugzilla.gnome.org/show_bug.cgi?id=666552
2011-12-19 15:06:22 -05:00
Rui Matos
8b444d1c03
notebook: Use the widget state flags as a base for drawing
2011-12-19 19:21:16 +00:00
Rui Matos
9a4edf7a5a
menuitem: Stop setting state flags on the style context for drawing
2011-12-19 19:21:16 +00:00
Rui Matos
6b624a5a18
menubar: Stop setting state flags on the style context for drawing
2011-12-19 19:21:16 +00:00
Rui Matos
5b4cc2f0b6
label: Use the widget state flags as a base for drawing
2011-12-19 19:21:16 +00:00
Rui Matos
02dd7df653
label: Stop setting state flags on the style context for drawing
2011-12-19 19:21:16 +00:00
Rui Matos
e3d38708ab
image: Stop setting state flags on the style context for drawing
2011-12-19 19:21:16 +00:00
Rui Matos
f4b9562f46
iconview: Use the widget state flags as a base for drawing items
2011-12-19 19:21:16 +00:00
Rui Matos
ffd5126a42
iconview: Stop setting state flags on the style context for drawing
2011-12-19 19:21:16 +00:00
Rui Matos
e9a8938b21
hsv: Stop setting state flags on the style context for drawing
2011-12-19 19:21:16 +00:00
Rui Matos
1facea2a8d
expander: Use the widget state flags as a base for drawing
2011-12-19 19:21:16 +00:00
Rui Matos
3e0b2f7262
eventbox: Stop setting state flags on the style context for drawing
2011-12-19 19:21:16 +00:00
Rui Matos
754eabeb19
entry: Use the widget state flags as a base for drawing icons and text
2011-12-19 19:21:16 +00:00
Rui Matos
a0fd344217
entry: Stop setting state flags on the style context for drawing
2011-12-19 19:21:16 +00:00
Rui Matos
721920e9e9
combobox: Stop setting state flags on the style context for drawing
2011-12-19 19:21:15 +00:00
Rui Matos
ee669a1b51
cellview: Stop checking for sensitivity on draw
...
This is needless since GtkCellRenderer does it consistently before rendering.
2011-12-19 19:21:15 +00:00
Rui Matos
70970146ca
cellrenderertoggle: Use the cell renderer's state flags as a base for rendering
...
This allows us to pick the underlying widget's state flags that we don't
explicitly set here.
2011-12-19 19:21:15 +00:00
Rui Matos
42d2a1984c
cellrenderer: Use the widget state flags as a base for cell renderers' state
2011-12-19 19:21:15 +00:00
Rui Matos
8baf65b595
checkmenuitem: Clean up state flags handling on drawing
2011-12-19 19:21:15 +00:00
Rui Matos
c9bbfb5e9b
checkbutton: Use the widget state flags as a base for drawing the indicator
...
Instead of building a set of state flags specifically for drawing the
indicator, base it on the underlying widget state flags.
2011-12-19 19:21:15 +00:00
Rui Matos
dae2675441
checkbutton: Stop setting state flags on the style context for drawing
2011-12-19 19:21:15 +00:00
Rui Matos
5f5d4db034
calendar: Use the widget state flags as a base for drawing arrows
...
This allows drawing calendar arrows in all possible states the main widget may
be in.
The arrow_state array is converted into a bit field since it only really needs
to store boolean information about prelight for each arrow.
2011-12-19 19:21:15 +00:00
Rui Matos
d84021a870
calendar: Use the widget state flags as a base for drawing days
...
Instead of building a set of state flags specifically for drawing days, base
it on the underlying widget state flags.
2011-12-19 19:21:15 +00:00
Rui Matos
e868b8d6ea
button: Stop setting state flags on the style context for drawing
2011-12-19 19:21:15 +00:00
Rui Matos
cf469eeb61
arrow: Stop setting state flags on the style context for drawing
2011-12-19 19:21:15 +00:00
Rui Matos
221442aa2a
accellabel: Stop setting state flags on the style context for drawing
2011-12-19 19:21:15 +00:00
Rui Matos
cc8012eb32
widget: Set style flags on the style context when the flags are set
...
This will allow us to simplify most draw methods by not having to explicitly
set the style flags on the context.
2011-12-19 19:21:15 +00:00
Rui Matos
eecbdb6f57
widget: Always propagate state flags to all children
...
https://bugzilla.gnome.org/show_bug.cgi?id=666126
2011-12-19 19:21:15 +00:00
Piotr Drąg
951af792e6
Updated POTFILES.in
2011-12-19 20:20:28 +01:00
Ryan Lortie
aeaed2ab15
bump glib depend to 2.31.6
2011-12-19 14:03:32 -05:00
Ryan Lortie
8578fefaa5
GtkApplication: add menu API
...
We add the app-menu and menubar public APIs to GtkApplication while
leaving the implementation in GApplication.
The actual implementation will be moved soon.
2011-12-19 12:51:12 -05:00
Ryan Lortie
4e5e47931d
missing file
2011-12-19 12:51:12 -05:00
Ryan Lortie
06c8921975
GtkApplication: document relationship to gdkthreads
2011-12-19 12:51:12 -05:00
Ryan Lortie
6a246a85f2
GtkApplicationWindow: deal with remote actions
...
Deal with remote action invocations correctly by implementing
GRemoteActionGroup in the same way that GApplication does and pushing
remote activations through the before/after_emit functions of the
GApplication associated with the window.
This is the last part of getting the threading situation right.
https://bugzilla.gnome.org/show_bug.cgi?id=665737
2011-12-19 12:51:12 -05:00
Ryan Lortie
363c2d684c
GtkApplication: lock gdk on incoming messages
...
When we have incoming activations or action invocations we should
acquire the GDK lock, just in case the program in question is using gdk
threads.
https://bugzilla.gnome.org/show_bug.cgi?id=665737
2011-12-19 12:51:12 -05:00
Ryan Lortie
76d671d6a2
Move X property handling to GtkApplicationWindow
...
Don't try to deal with this using a qdata and signal connections in
GtkApplication.
2011-12-19 12:51:12 -05:00
Matthias Clasen
cff5ba1bc2
Document that gtk_init is called without argv
...
This answers a question in bug 661823.
2011-12-19 12:51:12 -05:00
Matthias Clasen
316e0ea542
Fix a typo
2011-12-19 12:51:12 -05:00
Matthias Clasen
5562d0a57a
Forgotten file
2011-12-19 12:51:12 -05:00
Matthias Clasen
080007d7cb
Show off some menus
2011-12-19 12:51:12 -05:00
Matthias Clasen
06a75b7e1f
Some more menu-related docs
2011-12-19 12:51:12 -05:00
Matthias Clasen
aeb550ffd7
Plugman: Find the plugins menu in a better way
...
Now that GtkBuilder finds named submenus, there's no need for
the clumsy menumodel navigation anymore.
2011-12-19 12:51:12 -05:00
Matthias Clasen
a991bb9927
GtkBuilder: pick up named submenus
...
When parsing GMenu xml, use the facility for pick up named submenus.
Note that <section id='foo'>...</section> is _not_ a named submenu.
It is a named item with an unnamed submenu :-(
2011-12-19 12:51:12 -05:00
William Hua
c1f9ccce5b
Handle menu changes.
2011-12-19 12:51:12 -05:00
William Hua
4846f3619a
Add accelerators to bloatpad.
2011-12-19 12:51:12 -05:00
William Hua
1a02fc036d
Refactor GMenuModel rendering for Mac OS.
2011-12-19 12:51:12 -05:00
William Hua
ec72f8fd81
gtkquartz-menu: fix some leaks
2011-12-19 12:51:12 -05:00
William Hua
460ac291b2
begin adding menu accelerators
...
Show accelerators in menus.
2011-12-19 12:51:12 -05:00
Matthias Clasen
3103ae2685
Two small fixes
...
Don't leak a session bus reference, and don't assume a display
is X11 just because we've built the X11 backend.
2011-12-19 12:51:12 -05:00
Matthias Clasen
d91c9f9859
Fix up includes
2011-12-19 12:51:12 -05:00
Ryan Lortie
9e3c4c6b03
bloatpad: add 'New Window' menu item
2011-12-19 12:51:11 -05:00
William Hua
8bc7513a7b
begin GtkApplication menu support for Mac OS
2011-12-19 12:51:11 -05:00
Matthias Clasen
8a21201e2c
Another plugin, for good measure
2011-12-19 12:51:11 -05:00
Matthias Clasen
c30e2b88c3
Something for the eye
2011-12-19 12:51:11 -05:00
Matthias Clasen
744f87fc12
Add an action too
2011-12-19 12:51:11 -05:00
Matthias Clasen
cc14811ec0
wip example for plugin/gmenu interaction
2011-12-19 12:51:11 -05:00
Matthias Clasen
4877799145
Update testgmenu to latest api changes
2011-12-19 12:51:11 -05:00
Ryan Lortie
21f4562d10
GtkApplicationWindow: share one GActionMuxer
...
Use the same GActionMuxer for menubars and accels instead of recreating
a new one each time.
2011-12-19 12:51:11 -05:00
Matthias Clasen
f485dd3f08
Documentation additions
2011-12-19 12:51:11 -05:00
Matthias Clasen
0baa663182
GtkApplicationWindow: Always install accelerators
...
We want accelerators to work, even if the menus are not shown
locally, so we can't rely on the GtkMenu code to set them up
for us. Currently, this code only installs accelerators when the
window is realized.
2011-12-19 12:51:11 -05:00
Matthias Clasen
073a924481
Bloatpad: Add an accelerator in the menu
2011-12-19 12:51:11 -05:00
Matthias Clasen
f7244431a9
GtkApplication: Extract accelerators from menus
...
This allows to specify accelerators in a convenient way, by
adding accel="..." attributes to the menu items in the
XML for the menu.
Currently, the accelerators are extracted only once, when the
menu property is changed on the application.
2011-12-19 12:51:11 -05:00
Matthias Clasen
2398d7e900
Introduce gtkaccelmapprivate.h
...
Move internal accel map API there and update all users.
Also, add an internal function to create an accel path for
an action and parameter, and use it in gtkapplication.c and
gtkmodelmenuitem.c instead of duplicating that code.
2011-12-19 12:51:11 -05:00
Matthias Clasen
f05cfd55f0
Bloatpad: Add an accelerator
2011-12-19 12:51:11 -05:00
Matthias Clasen
153cc818db
GtkApplication: Add API to install accelerators for actions
2011-12-19 12:51:11 -05:00
Matthias Clasen
1c6d0c3e27
GtkApplicationWindow: Set the accel group on constructed windows
...
This will make the menuitems pick up matching accel map entries
automatically. Currently, nothing creates such accel map entries,
though.
2011-12-19 12:51:11 -05:00
Matthias Clasen
9d62d24d65
GtkApplicationWindow: Add a GtkAccelGroup
...
This will be used in the following patches.
2011-12-19 12:51:11 -05:00
Matthias Clasen
d5d896f812
Fix a gtk-doc warning
2011-12-19 12:51:11 -05:00
Ryan Lortie
90fcf994d5
GtkApplication: export windows on the bus
...
And advertise their location on the bus using X11 properties.
2011-12-19 12:51:11 -05:00
Ryan Lortie
03db3e1ca1
(trivially) implement 'shutdown' in GtkApplication
2011-12-19 12:51:11 -05:00
Matthias Clasen
aa1faa7c70
Add an example
2011-12-19 12:51:10 -05:00
Matthias Clasen
898bc98d3b
Update GtkApplicationWindow docs
2011-12-19 12:51:10 -05:00
Matthias Clasen
3205a40b84
Whitespace fix
2011-12-19 12:51:10 -05:00
Matthias Clasen
f119c834c1
Make accelmap initialization more forgiving
2011-12-19 12:51:10 -05:00
Matthias Clasen
7ef340fb87
Clean up includes
2011-12-19 12:51:10 -05:00
Ryan Lortie
43bf430f21
bloatpad: add proper sections to the menus
2011-12-19 12:51:10 -05:00
Ryan Lortie
cd7ce867a7
Split off GMenuModel -> GtkMenuBar code
...
Put this in a separate file and substantially refactor it.
Move handling of submenu creation into gtkmodelmenuitem where it
belongs.
Improve our handling of when to show separators or not.
2011-12-19 12:51:10 -05:00
Ryan Lortie
afb0c098cb
Watch "shell shows menu" settings for changes
...
Correctly monitor the GtkSettings for changes to the
"gtk-shell-shows-app-menu" and "gtk-shell-shows-menubar" properties.
2011-12-19 12:51:10 -05:00
Ryan Lortie
88f16b13f3
GtkSettings: quartz: shell always shows menus
2011-12-19 12:51:10 -05:00
Matthias Clasen
f7ce4d7740
Whitespace fixes
2011-12-19 12:51:10 -05:00
Matthias Clasen
b7de477611
Never add separators to menubars
2011-12-19 12:51:10 -05:00
Ryan Lortie
2f78238872
gmenu testcase: update to glib API changes
2011-12-19 12:51:10 -05:00
Ryan Lortie
2ce6a27fa3
bloatpad: move action/menu setup to ::startup
...
No need to waste time doing this in init() if we are not going to become
the primary instance.
2011-12-19 12:51:10 -05:00
Ryan Lortie
59092e1c00
bloatpad: port to GActionMap for application
...
g_application_set_action_group() is now deprecated.
2011-12-19 12:51:10 -05:00
Ryan Lortie
2e64177e3f
GtkModelMenuItem: don't leak a GVariant
2011-12-19 12:51:10 -05:00
Ryan Lortie
9cc98f9d9b
bloatpad: use GtkBuilder for constructing menus
...
This is closer to what a real application would want to do.
2011-12-19 12:51:10 -05:00
Ryan Lortie
f83530ae3a
GtkModelMenuItem: omit indicator if not required
...
GtkModelMenuItem, being based on GtkCheckMenuItem, was always reserving
space for a check/radio indicator. This ends up looking pretty strange
in a GtkMenuBar.
Don't reserve space for the indicator unless it's appropriate.
2011-12-19 12:51:10 -05:00
Ryan Lortie
de53b5226d
GtkApplicationWindow: nuke some g_print spew
2011-12-19 12:51:10 -05:00
Ryan Lortie
f0c2ff39fc
GtkApplcationWindow: plug two obvious leaks
2011-12-19 12:51:10 -05:00
Colin Walters
c7e7237559
GtkApplicationWindow: Consistently unparent menubar
...
We create it floating, and don't hold an extra ref, so we should
just unparent it.
2011-12-19 12:51:10 -05:00
Ryan Lortie
c299963428
GtkApplicationWindow: clean up menubar logic
2011-12-19 12:51:10 -05:00
Matthias Clasen
e7b6fa4449
Only add a separator when a section ends
2011-12-19 12:51:10 -05:00
Ryan Lortie
612e24dfc6
introduce GtkModelMenuItem
...
This GtkMenuItem subclass (and GActionObserver implementation) contains
all the knowledge necessary for converting a GMenuModel item description
into a GtkMenuItem.
Remove much of the code that used to do this from
gtkapplicationwindow.c.
2011-12-19 12:51:09 -05:00
Ryan Lortie
ecfdb834c9
GtkSettings: add shell-shows-menubar property
...
Unity will set this to tell us that it is going to handle displaying the
menubar.
2011-12-19 12:51:09 -05:00
Matthias Clasen
45e9d09eab
Only add separators when a section actually ends
2011-12-19 12:51:09 -05:00
Matthias Clasen
064999cb2a
Bloatpad: Add a View menu for fullscreen
2011-12-19 12:51:09 -05:00
Matthias Clasen
396876969a
Bloatpad: Don't leak a menu model
2011-12-19 12:51:09 -05:00
Colin Walters
7ad83b6827
bloatpad: Be 640x480 by default
...
Because otherwise we're just a few pixels, and this is the least lame
solution I know of in GTK+.
2011-12-19 12:51:09 -05:00
Colin Walters
2c6b7eff17
GtkApplicationWindow: Further sanitize handling of merging app menu and menubar
...
The _set_show_app_menu should really be _set_show_menubar().
Also, correctly display just the window menu in the window when run
under GNOME 3.
2011-12-19 12:51:09 -05:00
Colin Walters
b041d33465
bloatpad: Fix Edit to be a submenu
2011-12-19 12:51:09 -05:00
Colin Walters
65a2962733
GtkApplication: Merge app menu and menubar
...
Change bloatpad to have both an app menu and a menubar.
2011-12-19 12:51:09 -05:00
Matthias Clasen
aae52d4580
GtkApplicationWindow: Make mnemonics work for stateful actions
2011-12-19 12:51:09 -05:00
Matthias Clasen
dd360d725c
Bloatpad: Add mnemonics to the menu
2011-12-19 12:51:09 -05:00
Colin Walters
3a088d9ac2
GtkApplicationWindow: Don't unref a NULL object
2011-12-19 12:51:09 -05:00
Ryan Lortie
b42308f8e3
Adapt to changes in GLib API
...
g_application_get_menu() -> get_app_menu().
2011-12-19 12:51:09 -05:00
Matthias Clasen
33aaf26dd5
Drop GtkApplicationMenuButton for now
...
This feels premature; we do have the fallback situation covered
adaequately with the menubar, and people can do their own creative
solutions with gtk_application_window_get_menu(), so we don't have
to offer a widget for this right now.
2011-12-19 12:51:09 -05:00
Matthias Clasen
acbda82199
Remove a redundant test
2011-12-19 12:51:09 -05:00
Matthias Clasen
b893247eeb
GtkApplicationMenuButton: add docs
2011-12-19 12:51:09 -05:00
Matthias Clasen
bd30a1c556
Undoccommentify action muxer files
2011-12-19 12:51:09 -05:00
Matthias Clasen
0683f086bb
Whitespace fixes
2011-12-19 12:51:09 -05:00
Matthias Clasen
cedc3cb6e1
Hook up docs
2011-12-19 12:51:09 -05:00
Matthias Clasen
6d0475df4f
Remove no-longer existing function
2011-12-19 12:51:09 -05:00
Matthias Clasen
f10f3bc7e4
GtkApplicationWindow: more docs
2011-12-19 12:51:09 -05:00
Matthias Clasen
762616dd75
Include gtkapplicationmenubutton.h in gtk.h
2011-12-19 12:51:08 -05:00
Matthias Clasen
65f5a65336
GtkApplicationWindow: mark a string for translation
2011-12-19 12:51:08 -05:00
Matthias Clasen
792c719478
Some coding style fixes
2011-12-19 12:51:08 -05:00
Matthias Clasen
d9c3714fcb
GtkApplication: doc improvement
2011-12-19 12:51:08 -05:00
Matthias Clasen
a6794133aa
Some initial docs
2011-12-19 12:51:08 -05:00
Matthias Clasen
32508ee825
Drop an unused variable
2011-12-19 12:51:08 -05:00
Matthias Clasen
8ae7921708
Don't call g_object_unref on a variant
...
Tsk, tsk...
2011-12-19 12:51:08 -05:00
Colin Walters
1eee7fb103
GtkApplicationWindow: Use dispose for GObjects
...
This ensures we break cyclic references.
2011-12-19 12:51:08 -05:00
Colin Walters
9e9e1a9fbf
gtkapplicationwindow: Pick up gtk-shell-shows-app-menu XSetting
...
Calling gtk_application_window_set_show_app_menu() is now an override
for that setting. If you don't call it, we pick up the default.
2011-12-19 12:51:08 -05:00
Colin Walters
a003eef9d4
gdk: Fix prototype for gdk_x11_window_set_utf8_property
2011-12-19 12:51:08 -05:00
Ryan Lortie
618bca1333
bloatpad: use GtkApplicationMenuButton
2011-12-19 12:51:08 -05:00
Ryan Lortie
ddfbe19b23
add GtkApplicationMenuButton
2011-12-19 12:51:08 -05:00
Ryan Lortie
3076ba9c62
bloatpad: add 'win.fullscreen' action
2011-12-19 12:51:08 -05:00
Ryan Lortie
906475860f
bloatpad: make "about" a window action
...
By making "about" a per-window action, we can pop the about dialog up on
top of the correct window instead of trying to guess from the
application list of windows.
2011-12-19 12:51:08 -05:00
Ryan Lortie
1a97f4b9ef
GtkApplicationWindow: wire up action activations
...
Wire the 'activate_action' and 'change_action_state' vfuncs through to
the GSimpleActionGroup.
2011-12-19 12:51:08 -05:00
Ryan Lortie
af0c1e66ab
gtk.symbols fixes
2011-12-19 12:51:08 -05:00
Ryan Lortie
7e34342899
GtkApplicationWindow: implement GActionMap
2011-12-19 12:51:08 -05:00
Ryan Lortie
ebd7450f02
port bloatpad to the new APIs
2011-12-19 12:51:08 -05:00
Ryan Lortie
a93b9dd1cb
add GtkApplicationWindow
...
This is a GtkWindow subclass that "application windows" will use. Each
is associated with a GtkApplication, has the ability to show menus and
will have its own associated set of actions.
2011-12-19 12:51:08 -05:00
Ryan Lortie
e7ad2f97c8
add GActionMuxer and observer interfaces
...
These were destined for GLib, but they don't really make sense as a
public API. Instead, we'll copy/paste them around between the various
codebases that need to render menus.
2011-12-19 12:51:08 -05:00
Ryan Lortie
f826dd5481
GtkSettings: add shell-shows-app-menu property
...
This is a boolean property that will be set to TRUE if the current
desktop environment is capable of displaying the application menu as
part of the desktop shell.
If it is FALSE then the application will need to display the menu for
itself.
2011-12-19 12:51:08 -05:00
Matthias Clasen
7ee18bd74a
Make it build against the current wip/menus-rebase3 branch
2011-12-19 12:51:07 -05:00
Colin Walters
0455a9596f
testgmenu: #ifdef out non-compiling code for now
2011-12-19 12:51:07 -05:00
Matthias Clasen
6b7be4a3a2
Add a very bad fallback check
...
...maybe committing this inspires some better solution.
2011-12-19 12:51:07 -05:00
Colin Walters
9c52a73c21
window: Set a _DBUS_APPLICATION_ID X11 window property
...
This will allow gnome-shell to reference it.
2011-12-19 12:51:07 -05:00
Colin Walters
ff38dda9a8
x11: Add gdk_x11_window_set_utf8_property
...
A convenience function to manipulate UTF-8 X11 properties; no point
in wrapping each one in individual setters.
2011-12-19 12:51:07 -05:00
Matthias Clasen
5705a330c2
GtkApplication: Insert separators after sections
...
The previous code was only inserting a separator when a new
section was starting right away, which may not always be the
case.
2011-12-19 12:45:51 -05:00
Matthias Clasen
9131849eec
testgmenu: Insert separators after sections
...
The previous code was only inserting a separator when a new
section was starting right away.
2011-12-19 12:45:51 -05:00
Matthias Clasen
5aee67793f
GtkApplication: Initial attempt at section headings
...
This should be redone to show the label together with the
separator line, somehow. For now, just put the label below
the separator, as a separate item.
2011-12-19 12:45:51 -05:00
Matthias Clasen
7de8660187
testgmenu: Initial attempt at section headings
...
This should be redone to show the label together with the
separator line, somehow. For now, just put the label below
the separator, as a separate item.
2011-12-19 12:45:51 -05:00
Matthias Clasen
92af3d04b8
GtkApplication: use activate for actions here, too
2011-12-19 12:45:51 -05:00
Matthias Clasen
bf03adcdeb
testgmenu: Use activate with parameter for radio actions
...
This is how stateful actions are supposed to be activated, using
change_state for this was not right at all.
2011-12-19 12:45:51 -05:00
Matthias Clasen
15afbf846d
testgmenu: Use activate for toggle actions
...
This is how stateful actions are supposed to be activated, using
change_state for this was not right at all.
2011-12-19 12:45:51 -05:00
Colin Walters
e0c235255b
testgmenu: Quit on delete-event
2011-12-19 12:45:51 -05:00
Matthias Clasen
95d9a5e368
Adapt to api changes in GMenuModel
2011-12-19 12:45:51 -05:00
Matthias Clasen
5d0020cbd3
Adapt to object path conventions
...
Seems common to expect 'path == bus name with slashes'.
2011-12-19 12:45:51 -05:00
Matthias Clasen
8ee68a7bf1
bloatpad: Add an example app menu
...
The bloatpad example shows simple GtkApplication usage,
so it makes sense to test app menu api here as well.
2011-12-19 12:45:51 -05:00
Matthias Clasen
cc24dbe9c7
GtkApplication: add a way to get the appmenu
...
This function either returns a GtkMenu or NULL.
Still to do: detect if the app menu is externally handled.
2011-12-19 12:45:51 -05:00
Matthias Clasen
601b3fca60
Drop an unused variable
2011-12-19 12:45:51 -05:00
Matthias Clasen
3b2f77e2c6
Remove an unneeded include
2011-12-19 12:45:51 -05:00
Matthias Clasen
1996a5edff
testgmenu: Demonstrate how translatable labels work
2011-12-19 12:45:51 -05:00
Matthias Clasen
f13083bf0d
Pass domain to the menu parser
...
This is necessary to make translations in markup work.
2011-12-19 12:45:51 -05:00
Matthias Clasen
b36198dbc2
More dynamic changes
2011-12-19 12:45:51 -05:00
Matthias Clasen
1aec8e22b6
Cleanups
...
Separate the menu generation code and all callbacks in a
MenuHolder struct.
2011-12-19 12:45:50 -05:00
Matthias Clasen
1ddaf01aed
Quick-and-dirty GtkBuilder integration
...
This makes GtkBuilder accept a GMenuMarkup tree at the toplevel
(ie with <menu id='foo'> being a child of <interface>) and the resulting
GMenu object can be obtained via gtk_builder_get_object (builder, "foo").
2011-12-19 12:45:50 -05:00
Matthias Clasen
fd9df1864b
Brute-force dynamic change propagation
...
We need to make sure that we connect to ::items-changed on every
single model, as they appear and disappear. Ugly business.
2011-12-19 12:45:50 -05:00
Matthias Clasen
519c75a606
First attempt at handling dynamic changes
...
We need to connect to items-changed on _every_ menu
model, which is somewhat icky. For some reason, this
works fine with a local model, but not with D-Bus in
between. Debugging needed.
2011-12-19 12:45:50 -05:00
Matthias Clasen
c62ed7e3a3
Add code for dynamic changes
...
Add and remove items and actions - we don't update
the menus properly yet.
2011-12-19 12:45:50 -05:00
Matthias Clasen
bfa53a9df5
Add some todos
2011-12-19 12:45:50 -05:00
Matthias Clasen
8841c04e22
Some GMenu test code
...
This is some test code for constructing GtkMenus from GMenus.
2011-12-19 12:45:50 -05:00
Daniel Mustieles
0192955bd8
Updated Spanish translation
2011-12-19 17:14:35 +01:00
Benjamin Otte
902c5c6979
a11y: emit entry signals immediately
...
We want to emit signals when stuff happens, not sometime later. That way
we can also catch the correct text that was deleted.
https://bugzilla.gnome.org/show_bug.cgi?id=659445
2011-12-19 16:17:14 +01:00
Benjamin Otte
db4a6040af
x11: Avoid spurious focus events on grabs
...
We want to avoid handling focus events for the private focus window,
otherwise the keyboard grab taken by for example buttons will cause a
spurious FOCUS_OUT/FOCUS_IN on the toplevel.
The code that did this seems to have been lost in the XI2 transition for
GTK3.
https://bugzilla.gnome.org/show_bug.cgi?id=657578
2011-12-19 16:17:14 +01:00
Benjamin Otte
2ea328dfbc
x11: Unify focus handling code
...
This code was essentially copy-pasted in two locations, so unify them in
the same place.
https://bugzilla.gnome.org/show_bug.cgi?id=657578
2011-12-19 16:17:13 +01:00
Benjamin Otte
3d4a8dabb2
a11y: implement widget_(un)set in ContainerCell
2011-12-19 16:17:13 +01:00
Benjamin Otte
d2a58446ea
a11y: Make GtkCellAccessible a GtkAccessible
2011-12-19 16:17:13 +01:00
Benjamin Otte
e937d0613d
tests: Avoid deprecation warning
2011-12-19 16:17:13 +01:00
Benjamin Otte
073b4d8bea
accessible: Deprecate gtk_accessible_connect_widget_destroyed()
...
That was an abomination. Also, if people called it twice, you got even
mor signal handlers!
2011-12-19 16:17:13 +01:00
Benjamin Otte
0c1f2f2fc1
widget: Set widget in accessible's constructor
...
No need to add t manually later.
2011-12-19 16:17:13 +01:00
Benjamin Otte
d801b28365
a11y: Don't connect_destroyed anymore
...
It's not used now that set_widget() does the right thing.
2011-12-19 16:17:13 +01:00
Benjamin Otte
1961be9ee9
iconview: Simplify adjustment monitoring for accessible
2011-12-19 16:17:13 +01:00
Benjamin Otte
4652d4c399
a11y: Remove widget_destroyed call
...
GtkAccessible does all of that for us now.
2011-12-19 16:17:13 +01:00
Benjamin Otte
80a0413d40
a11y: Use widget_unset vfunc in treeview
2011-12-19 16:17:13 +01:00
Benjamin Otte
dbc1581376
accessible: Ensure we unset the widget when finalizing
2011-12-19 16:17:13 +01:00
Benjamin Otte
03a63def24
widget: Unref accessible
2011-12-19 16:17:13 +01:00
Benjamin Otte
7b5b678e2e
a11y: Fix crash in notebook
...
When the accessible was disposed before the notebook it referenced, the
weak ref could still trigger. This works around it.
2011-12-19 16:17:13 +01:00
Benjamin Otte
e042462674
widget: Unset self from accessible
2011-12-19 16:17:13 +01:00
Benjamin Otte
23b5f9c066
widget: Unset widget on accessibles
2011-12-19 16:17:13 +01:00
Benjamin Otte
075cc5dd36
accesible: Manage the DEFUNCT state
...
A GtkAccessible with a NULL widget is defunct, there's no way around it.
2011-12-19 16:17:12 +01:00
Benjamin Otte
1305815bde
iconview: Split out iconview accessible
2011-12-19 16:17:12 +01:00
Benjamin Otte
eb27c61878
accessible: Use set_widget() in destroy notify
...
We don't want to bypass the unset_widget call.
2011-12-19 16:17:12 +01:00
Benjamin Otte
bac73e48db
API: accessible: Add widget_set and widget_unset vfuncs
...
I expect them to be used a lot, so this approach seems better than
requiring signals that connect to "notify::widget". Also, we can't use
regular functions (like dispose or constructed), becaiuse those assume
that (un)setting of the widget only happens once and with the current
design (a puble set_widget() function) we can't really guarantee that.
Also, I split them into two separate functions as one function is part
of construction and the other part of destruction of the object. And it
doesn't sound like a good idea to have that both be part of one
function.
2011-12-19 16:17:12 +01:00
Benjamin Otte
50431be274
accessible: At an important note to the docs
...
I wanted to use weak refs to ensure this instead, but it's a performance
problem when used in the treeview and each and every cell adds a weak
ref to the treeview.
2011-12-19 16:17:12 +01:00
Benjamin Otte
5789fd983b
accessible: Check the widgeyt actually changed when setting
2011-12-19 16:17:12 +01:00
Benjamin Otte
1998a63917
accessible: Make widget a property
2011-12-19 16:17:12 +01:00
Benjamin Otte
eed9cc94e1
treeview: Only set focus column in setter function
...
Single point of entry. It's actually going to become more complicated
with a11y now.
2011-12-19 16:17:12 +01:00
Benjamin Otte
e4f6a7124b
a11y: Simplify code
...
Use peek_cell() instead of a custom find_cell() function that duplicates
loads of functionality.
2011-12-19 16:17:12 +01:00
Matthias Clasen
19c5b5c9d6
Tell gtk-doc about G_GNUC_WARN_UNUSED_RESULT
2011-12-19 07:32:32 -05:00
Matthias Clasen
5913e88feb
Reduce gtk-doc warnings
2011-12-19 07:32:15 -05:00
Matthias Clasen
910e50994c
Fix parameter name mismatch
2011-12-18 16:04:51 -05:00
Matthias Clasen
020c1846b7
Use the workarea when placing popups
...
This uses the new workarea API to avoid placing popups underneath
panels, docks, etc.
2011-12-18 14:29:16 -05:00
Matthias Clasen
c6df2828b7
Add gdk_screen_get_monitor_workarea
...
The function returns the part of a monitors area that should be
used for positioning popups, menus, etc. The only non-trivial
implementation atm is in the X backend, all the other backends
just return the full monitor area. The X implementation is
currently suboptimal, since it requires roundtrips to collect
the necessary information. It should be changed to monitor
the properties for changes, when XFixes allows to monitor
individual properties.
https://bugzilla.gnome.org/show_bug.cgi?id=641999
2011-12-18 14:29:16 -05:00
Daniel Mustieles
74cff292d5
Updated Spanish translation
2011-12-18 20:11:34 +01:00
Carlos Garnacho
358ecad501
gdk,xi2: Make more resilient about not yet known devices
...
Dealing with disabled devices may turn into hierarchy/device
changed events on device IDs with no backing GdkDevice yet,
so protect against that. The device attachment will be handled
correctly when the device is enabled later.
2011-12-18 18:57:57 +01:00
Ignacio Casal Quinteiro
69fba5d3ed
textlayout: cleanup
...
Use g_clear_object, move unrefs to dispose and reorganize code
2011-12-18 18:46:36 +01:00
Paolo Borelli
397cbbef32
Use gtk_text_layout_get_iter_at_line
...
We already have a gtk_text_layout_get_iter_at_line wrapper that takes
care of getting the btree from the layout, we may as well use it.
2011-12-18 17:44:23 +01:00
Paolo Borelli
7f301cf822
Remove useless get_iter_at_line calls.
...
No need to call _gtk_text_btree_get_iter_at_line right before calling
totally_invisible_line, since it is the first thing it does itself.
2011-12-18 17:35:08 +01:00
Baurzhan Muftakhidinov
bbf96b9ea7
[l10n] Updated Kazakh translation
2011-12-17 21:11:15 +01:00
Piotr Drąg
9b02b6c7c0
Updated POTFILES.in
2011-12-17 19:50:27 +01:00
Rui Matos
4a113394da
tests: Add a test for latest commit
...
https://bugzilla.gnome.org/show_bug.cgi?id=666392
2011-12-17 11:59:08 +00:00
Rui Matos
9d6da33ff5
widget: Flip the sensitive flag even if the state doesn't change
...
Even if we can't change our sensitivity because the parent is insensitive we
should still flip the sensitive flag. Otherwise, with and insensitive parent,
child.set_sensitive(True)
...
parent.set_sensitive(True)
would result in child still being insensitive.
https://bugzilla.gnome.org/show_bug.cgi?id=666392
2011-12-17 11:48:01 +00:00
Benjamin Otte
b9fad15ee6
filechooserentry: Catch tab key earlier
...
Instead of in the key_press handler, use a signal handler. The signal
handler runs before the default handler, and before other signal
handlers. In particular it runs before the signal handler installed via
gtk_entry_set_completion() which pops down the entry completion, and we
don't want that to happen.
The code does not change the code of the handler in any significant way,
it just refacotrs it to not call the parent anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=663573
2011-12-16 20:09:14 +01:00
Benjamin Otte
640754e98b
filechooserentry: Do inline completion only when opening files
...
When saving files, using <tab> is required. We don't want the UI
randomly changing filenames from below us.
https://bugzilla.gnome.org/show_bug.cgi?id=663573
2011-12-16 20:09:14 +01:00
Benjamin Otte
351dd206bc
filechooserentry: Remove unused enum
2011-12-16 20:09:14 +01:00
Benjamin Otte
4fb6961c6a
filechooserentry: Allow NULL as base folder again
...
This was removed previously, but is necessary to support the case where
no base folder is in use, which should cause an error. This can be
experienced in save mode in the recent files list.
https://bugzilla.gnome.org/show_bug.cgi?id=663573
2011-12-16 20:09:14 +01:00
Benjamin Otte
523a45d927
filechooserentry: Don't show files when selecting directory
...
We don't want to complete on files when they're not supposed to be
selectable.
2011-12-16 20:09:14 +01:00
Benjamin Otte
57766f1948
filechooserentry: Remove beep function
...
There's only 2 places left where we potentially beep. We can call
gtk_widget_error_bell() directly there.
2011-12-16 20:09:14 +01:00
Benjamin Otte
0d10583695
filechooserentry: Simplify load completion
...
Most importantly, consistently trigger a beep when we abort a pending
completion.
2011-12-16 20:09:14 +01:00
Benjamin Otte
c4a331f934
filechooserentry: Use a GtkFileFilter for filtering
...
That way, we can use the regular filtering features of the
filesystemmodel instead of having our own filtering function that
duplicates much of the matching code.
This also removes the broken-on-windows feature where files strting with
a dot were not autocompleted.
2011-12-16 20:09:14 +01:00
Benjamin Otte
98fb16e307
filesystemmodel: Add a toggle for whether directories are filtered
2011-12-16 20:09:14 +01:00
Benjamin Otte
b47b6d307e
filechooserentry: Remove the file column
...
It is not needed anymore.
2011-12-16 20:09:14 +01:00
Benjamin Otte
5607cd9170
filechooserentry: Simplify code
...
Use all the clever functions we invented in recent refactorings to
compute the file and dir part and the current folder.
This also fixes the bug where "./" was not taken as the current
directory but interpreted as a file named "./".
2011-12-16 20:09:13 +01:00
Benjamin Otte
d27d73f885
filechooserentry: Refactor function
...
Name the function set_completion_folder() and make it accept NULL, so it
behaves like a regular setter function.
2011-12-16 20:09:13 +01:00
Benjamin Otte
ea8f5f15c1
filechooserentry: Set minimum key length to 0
...
We want the empty chooser to show possible completions, too.
2011-12-16 20:09:13 +01:00
Benjamin Otte
af9e385616
filechooserentry: Simplify refresh_current_folder_and_file_part()
...
The function can get the text it's refreshing from itself, as there is
only one possible value. And it doesn't need to return a value anymore.
2011-12-16 20:09:13 +01:00
Benjamin Otte
357ae09b54
filechooserentry: Get rid of unused member variable
...
in_change isn't set anymore.
2011-12-16 20:09:13 +01:00
Benjamin Otte
6ab681c094
filechooserentry: Remove _gtk_file_chooser_entry_set_file_part()
...
gtk_entry_set_text() is fine.
2011-12-16 20:09:13 +01:00
Benjamin Otte
c9b220275a
filechooserentry: Use completion for completion
...
Reduce the amount of code even more by using the entry completion to
query the prefix.
2011-12-16 20:09:13 +01:00
Benjamin Otte
d3fd759f77
filechooserentry: Add gtk_file_chooser_entry_get_completion_text()
...
This returns the text that should be completed on. As this is somewhat
tricky to compute (and in fact one place did it wrong), let's make it a
function.
2011-12-16 20:09:13 +01:00
Benjamin Otte
f6f2a78d3e
filechooserentry: Don't update the folder when completing
...
The folder is always up to date, there's no need to update it. (If the
folder is not up to date, that is a bug and needs to be fixed
elsewhere.)
2011-12-16 20:09:13 +01:00
Benjamin Otte
ad1672c194
filechooserentry: Don't override activate
...
The code is no longer necessary, because the relevant parts for inline
completion are now handled by GtkEntry.
2011-12-16 20:09:13 +01:00
Benjamin Otte
6e7b2de21e
filechooserentry: Simplify append_common_prefix()
...
Now that we don't need to know anymore why insertion failed, we can
simplify the append function quite a lot.
A simple rule now: If we did not insert anything, beep.
2011-12-16 20:09:13 +01:00
Benjamin Otte
f7e5a773ff
filechooserentry: Remove completion feedback
...
Too much special code for no gain.
I did a totally unscientific questionnaire on GNOME IRC (assuming
autocompletion is for advanced users) and nobody even knew what this is.
So I suspect it's useless. Also, it's positioned completely wrong anyway
and nobody noticed so far. Last but not least, I'm trying to imitate
bash here and bash doesn't show feedback.
2011-12-16 20:09:13 +01:00
Benjamin Otte
93263dcd33
filechooserentry: Redo completion popup trigger
...
Use dispatch_properties_changed() instead of GtkEditable to watch for
changes to the to-be-completed text. This is necessary because various
functions in GtkEntry don't use the interface vfuncs and one only
becomes aware of them via notifications. I'm not sure this is intended
behavior, but it's how it works today.
Also, use the same code for triggering in all situations.
What the code does is this: It looks at the part of the text in front of
the cursor (or selection) and completes for it. Once the directory has
been enumerated, inline completion is activated. Note that popping up of
the completion popup is completely handled by GtkEntry.
2011-12-16 20:09:13 +01:00
Benjamin Otte
132c42ccbd
filechooserentry: Get rid of RefreshMode
...
Instead, pass the text to use to refresh_current_folder_and_file_part().
This also gets rid of the problem introduced earlier that the position
is not properly updated in do_insert_text() and therefor the completion
is wrong.
2011-12-16 20:09:13 +01:00
Benjamin Otte
45d54fcba6
filechooserentry: Use inline completion
...
... from GtkEntryCompletion instead of implementing a poor copy
ourselves. This also makes the file chooser entry behave a lot closer to
normal entries.
2011-12-16 20:09:13 +01:00
Benjamin Otte
cdd236ddd4
filechooserentry: Merge function
2011-12-16 20:09:13 +01:00
Benjamin Otte
c585471baf
filechooserentry: Set the text column of the entry completion
...
I want to use it in the next commits, but am doing this in a separate
commit so we can find side effects causing bugs easier when bisecting.
2011-12-16 20:09:12 +01:00
Benjamin Otte
e3ef8a568e
filechooserentry: Simplify match_selected function
2011-12-16 20:09:12 +01:00
Benjamin Otte
cde8ae7b1e
filechooserentry: Keep an extra column for the full path
...
This is identical to the display name when not having a path that
changes the folder. Otherwise it will have the full path that was
entered in the entry. Say when from your home dir, you type
"../../usr/li", the full path for "lib" and "lib64" will be
"../../usr/lib" and "../../usr/lib64" respectively. This value isn't
used yet, but will be soon.
2011-12-16 20:09:12 +01:00
Benjamin Otte
fc775dfa5b
entrycompletion: Export gtk_entry_completion_compute_prefix()
...
I want to use it in the file chooser entry autocomplete code.
2011-12-16 20:09:12 +01:00
Benjamin Otte
1ac6ace87d
filechooserentry: Redo _gtk_file_chooser_entry_get_file_part()
...
The new version does not need to update any text, it just strips the
last part of the existing entry.
2011-12-16 20:09:12 +01:00
Benjamin Otte
e2105c2bef
filechooserentry: Modify _gtk_file_chooser_entry_get_current_folder()
...
The new version does not need to muck with the entry, it just extracts
the required information. It returns a reference to the folder though,
as we extract the information now instead of returning something stored.
2011-12-16 20:09:12 +01:00
Benjamin Otte
5c42972735
filechooserentry: Split out function
...
I want to use that function elsewhere, so split it out.
2011-12-16 20:09:12 +01:00
Benjamin Otte
2186c28263
filechooserentry: Simplify code
...
Now that the base folder is always != NULL, we can remove the parts of
the code that check for NULL.
2011-12-16 20:09:12 +01:00
Benjamin Otte
35198e142d
filechooserentry: Ensure the base folder is always valid
...
If the base folder is set to NULL, then we just assume the home dir.
FIXME: Should we disallow a NULL folder?
2011-12-16 20:09:12 +01:00
Benjamin Otte
e0859004f6
filechooserentry: Don't complain about incomplete hostnames
...
First of all, those hostnames may very well be complete, second of all,
smb:// is a valid uri to enter.
2011-12-16 20:09:12 +01:00
Benjamin Otte
242afcfeff
filechooserentry: Start autocomplete immediately
...
Don't do idle handlers for this.
2011-12-16 20:09:12 +01:00
Benjamin Otte
9ee577d5ee
filechooserentry: Remove file_system argument
...
It's not needed anymore.
2011-12-16 20:09:12 +01:00
Benjamin Otte
c3da748cb2
filechooserentry: Simplify code
...
Now that we've imported the function in the last commit, rename it and
omit useless arguments by instead passing in the entry directly.
2011-12-16 20:09:12 +01:00
Benjamin Otte
9d09028970
filechooserentry: Move _gtk_file_system_parse()
...
It's very specific to the file chooser entry, so it's better kept there.
It's also not used anywhere else in the code.
2011-12-16 20:09:12 +01:00
Benjamin Otte
036195e7a8
gtkfolder: Remove
...
It's not used anymore. And new code should of course use gio.
2011-12-16 20:09:12 +01:00
Benjamin Otte
a1e0c1e042
filechooserentry: Use a GtkFileSystemModel
...
Replace the usage of a list store and a GtkFolder with a
GtkFileSystemModel. This improves performance and reduces code size.
2011-12-16 20:09:11 +01:00
Benjamin Otte
06a64daefc
filechooserentry: Store the liststore as a treemodel
...
Just changes the type of the member variable. This way we can avoid a
lot of casts.
2011-12-16 20:09:11 +01:00
Benjamin Otte
5ebc69066a
filechooserentry: Make appending / to directories simpler
2011-12-16 20:09:11 +01:00
Benjamin Otte
2b9ecd9706
filechooserentry: Only append / to directory names once
...
Since 069d78ed31 the / is appended to
directories upon constructing the display name, so there is no need to
do it later.
2011-12-16 20:09:11 +01:00
Benjamin Otte
8389922de9
filechooserentry: Don't trim away the slash after directories
...
It's not necessary as the code appending the slashes checks for a slash
these days.
2011-12-16 20:09:11 +01:00
Benjamin Otte
2ead847f7d
filechooserentry: Fold in start_loading_current_folder()
...
The function just did one thing, we can just fold it into the only
caller.
2011-12-16 20:09:11 +01:00
Benjamin Otte
a04b70e51f
filechooserentry: The file system cannot be NULL
...
Remove code that checked this.
2011-12-16 20:09:11 +01:00
Benjamin Otte
05398b8f1a
filechooserentry: Make the filesystem a construct-only argument
...
This allows simplifications in the code.
2011-12-16 20:09:11 +01:00
Benjamin Otte
5aeac0bccb
filechooserentry: Keep finished_loading variable ourselves
...
This will be useful in the next commits when the GtkFolder code
previously keeping that variable gets repalced.
2011-12-16 20:09:11 +01:00
Benjamin Otte
b6f6e33801
filechooserentry: force_reload is never TRUE
...
.. so remove it.
2011-12-16 20:09:11 +01:00
Benjamin Otte
f0cf1117e1
filechooserentry: Fold function into other
...
There's no need to discard the current folder's file without also
discarding the folder object.
2011-12-16 20:09:11 +01:00
Benjamin Otte
d5e5ca3e2a
filechooserentry: Reorganize function
...
Setter functions the way I code it look like this (in order):
1) Figure out if the value changed. If not, exit early.
2) Clear the old value (ie unref stuff, disconnect signals
3) Copy the new value
4) Set up things about the new value
This reorganization does that.
And by doing that, it even reduces the amount of code and the amount of
branches (and with it, nesting) needed.
2011-12-16 20:09:11 +01:00
Benjamin Otte
7b51ca9a47
filechooserentry: Use the actual discarding function to discard a folder
2011-12-16 20:09:11 +01:00
Benjamin Otte
edddb666a7
filechooserentry: Don't use a magic number
...
... when we have a proper enum value for a column.
2011-12-16 20:09:11 +01:00
Benjamin Otte
92a72ce3e5
entry: Move freeze/thaw into begin/end_change
2011-12-16 20:09:11 +01:00
Benjamin Otte
cf8f3c07f2
entry: Don't try to handle Tab in entry completions
...
Instead, fall through to the default handler after closing the
completion. This has the advantage of letting the file chooser entry
capture the tab key properly, so one can't accidentally move out of the
entry by pressing tab while the completion is popped up.
I also suspect it fixes bugs with weird tab keys and shift/ctrl
oddities. But who knows...
2011-12-16 20:09:11 +01:00
Daniel Mustieles
88da2e81ab
Updated Spanish translation
2011-12-16 14:22:49 +01:00
Benjamin Otte
e104219ab1
tests: Relax a refcount comparison check
...
We now test for real_refcount >= expected_refcount, because various
parts of the code (a11y, selection, cursor, ...) can and do add
references.
2011-12-16 13:39:43 +01:00
Benjamin Otte
113aff673f
a11y: Don't emit children-changed when nothing changed
...
When we have 0 columns, no children ever get added or removed.
2011-12-16 13:39:43 +01:00
Benjamin Otte
d78971b31d
treeview: Run unref helper for all rows
...
Don't do shortcuts. Because all rows need to be unreffed.
Introduced in 92929b968b .
2011-12-16 13:39:43 +01:00
Matthias Clasen
afa945f480
Updates
2011-12-15 23:59:36 -05:00
Matthias Clasen
7f5a665b95
Fix more linking fallout
...
We are using xinput and gmodule API in a few places in libgtk.
https://bugzilla.gnome.org/show_bug.cgi?id=665326
2011-12-15 23:35:06 -05:00
Matthias Clasen
cea35016db
Add missing symbols to the docs
2011-12-15 23:09:23 -05:00
Matthias Clasen
89c8c1f8a8
Doc format fixes
2011-12-15 23:09:10 -05:00
Matthias Clasen
9cdeaaab30
Remove some accidental additions
...
These functions were never actually implemented
2011-12-15 23:03:12 -05:00
Matthias Clasen
8b60bc9d24
Cosmetic change
2011-12-15 23:03:12 -05:00
Matthias Clasen
2f25ab2b22
Doc typo fix
2011-12-15 23:03:12 -05:00
Matthias Clasen
a26afb6aab
Add new symbols
2011-12-15 23:03:12 -05:00
Matthias Clasen
55f1799b96
Doc typo fix
2011-12-15 23:03:12 -05:00
Matthias Clasen
ba59b9c4f9
Cosmetic changes
2011-12-15 23:03:12 -05:00
Benjamin Otte
f8426cd706
gtk-demo: Fix warnings in changedisplay
...
Use the brute force fix. I'm not really interested in fixing this
properly.
2011-12-16 04:53:17 +01:00
Benjamin Otte
c0fdcbf513
a11y: Remove unused gtk_cell_accessible_set_cell_data()
2011-12-16 04:53:17 +01:00
Benjamin Otte
b8b8ba8ed9
a11y: Make boolean cell render report its states the new way
2011-12-16 04:53:17 +01:00
Benjamin Otte
64aa203773
a11y: Refactor treeview code even more
...
- Split out set_cell_data()
- Use it
- Get rid of update_cell_value() function, it's now just 2 calls
2011-12-16 04:53:16 +01:00
Benjamin Otte
eb6465167e
a11y: Redo function signature
...
With the recent changes to gtk_cell_accessible_update_cache(), the
update_cell_value() function now needs less code, too.
2011-12-16 04:53:16 +01:00
Benjamin Otte
4ac501736e
a11y: Implement GtkContainerCellAccessible.update_cache
2011-12-16 04:53:16 +01:00
Benjamin Otte
118bc610f6
a11y: Move update_cache to GtkCellAccesible
...
This way, we can call it for container renderers, too.
2011-12-16 04:53:16 +01:00
Benjamin Otte
2e7fcc24ac
a11y: Redo cell update function
...
1) always emit signals
Previously, newly constructed cells would be told to not emit events.
However, we can ensure that nothing is connected to the signals, so
they will not actually emit anything.
2) don't return anything
The return value is unused anyway.
2011-12-16 04:53:16 +01:00
Benjamin Otte
5cca6b2dc2
a11y: Remove unused function
2011-12-16 04:53:16 +01:00
Benjamin Otte
d2a9220006
a11y: remove now unused property lists
2011-12-16 04:53:16 +01:00
Benjamin Otte
a3f60349ed
a11y: Don't copy data between renderers
...
Now that we don't use custom renderers anymore, we don't need to copy
data between them anymore.
2011-12-16 04:53:16 +01:00
Benjamin Otte
8ac579602c
a11y: Use cell renderer creation funcs unconditionally
...
Also delete the previous "new" functions and actually set the real cell
renderer here.
2011-12-16 04:53:16 +01:00
Benjamin Otte
c5433e852b
gtk: Add accessible types for cell renderers
2011-12-16 04:53:16 +01:00
Benjamin Otte
e5d5863a3f
a11y: Use the accessible type
2011-12-16 04:53:16 +01:00
Benjamin Otte
0470b91add
cellrenderer: Add API to keep the accessible type
...
It's private for now, because we require a GType that isn't exported in
the API yet.
2011-12-16 04:53:16 +01:00
Benjamin Otte
acb73f99bb
API: cellrenderer: Add a private struct
2011-12-16 04:53:15 +01:00
Benjamin Otte
c28f641921
a11y: Add GtkRendererCellAcessible::renderer
2011-12-16 04:53:15 +01:00
Benjamin Otte
dfb82333a3
a11y: Remove unused variable
2011-12-16 04:53:15 +01:00
Benjamin Otte
ccabccc42f
treeview: Send changed signal directly to a11y code
...
No more signal handler is needed, therefore the code can also get rid of
tracking the treemodel. And we use a faster approach for iterating the
changed cellrenderers: We just iterate all columns instead of over all
cell accessibles, as that number is likely quite a bit smaller.
2011-12-16 04:53:15 +01:00
Benjamin Otte
070124b0a5
tests: Add test resetting the model
...
We first set a NULL model and then reset the old model, just to get the
effect of clearing and then resetting.
We reset the cursor and selection afterwards, so the reset doesn't
destroy all the work we did.
2011-12-16 04:53:15 +01:00
Benjamin Otte
f5621a3a8e
treeview: Emit cursor-changed signal when new model is set
2011-12-16 04:53:15 +01:00
Benjamin Otte
c9c7e91db9
a11y: Improve treeview's add/remove_selection()
2011-12-16 04:53:15 +01:00
Benjamin Otte
dc8f5effd4
a11y: Improve get_selected_rows()
2011-12-16 04:53:15 +01:00
Benjamin Otte
20b56689c5
a11y: Improve table_is_row_selected()
2011-12-16 04:53:15 +01:00
Benjamin Otte
3112679a5e
treeview: Signal selection changes to the accessible
...
And another signal gone.
2011-12-16 04:53:15 +01:00
Benjamin Otte
1a3226e2f7
a11y: Emit children-changed properly for treeviews
...
Fixes the patch reverted in b7e74ef95f1d9cd851fb81a124beca0ca11dad00
properly.
https://bugzilla.gnome.org/show_bug.cgi?id=548782
2011-12-16 04:53:15 +01:00
Benjamin Otte
0005d820c7
treeview: Remove unnecessary accessible_expanded()
...
Instead, just call remove_state().
2011-12-16 04:53:15 +01:00
Benjamin Otte
c7b82c2cea
treeview: Add add() function to accessible
...
... and use that to emit the insertion signals.
2011-12-16 04:53:14 +01:00
Benjamin Otte
82a9f6faa0
treeview: Set expandable flag from treeview
...
... instead of trying to update it manually.
2011-12-16 04:53:14 +01:00
Benjamin Otte
9e9533fc88
a11y: Redo cell accessible action handling
...
Multiple changes:
- actions are now available unconditionally, but only work in the right
state. This mirrors other actions.
- instead of adding actions manually, they invoke the action on the
GtkCellAccessibleParent interface.
Tests have been updated to reflect the changes
2011-12-16 04:53:14 +01:00
Benjamin Otte
f840efae96
a11y: Remove "toggle" action from cell renderers
...
This is identical to "edit" (even though that name is kinda confusing).
2011-12-16 04:53:14 +01:00
Benjamin Otte
adf183b71f
treeview: Set EXPANDED state directly on a11y elements
2011-12-16 04:53:14 +01:00
Benjamin Otte
6fa72300be
treeview: Deprecate gtk_tree_view_set_destroy_count_func()
...
The accessibility code doesn't need it anymore.
2011-12-16 04:53:14 +01:00
Benjamin Otte
ab9c2c2de2
a11y: Remove destroy_count_func usage
...
It's not needed anymore.
2011-12-16 04:53:14 +01:00
Benjamin Otte
8ca5192d6d
a11y: Emit row-deleted signal when rows get deleted
...
Instead of in the old callbacks.
2011-12-16 04:53:14 +01:00
Benjamin Otte
25445837ca
a11y: Revert 22a47c3dbd
...
The fix is wrong on multiple levels. I'll add a proper fix soon.
https://bugzilla.gnome.org/show_bug.cgi?id=548782
2011-12-16 04:53:14 +01:00
Benjamin Otte
95dc248790
treeview: Don't use signals in a11y row expansion
...
Instead, add a function and call it directly.
2011-12-16 04:53:14 +01:00
Benjamin Otte
d9b71702dc
a11y: Add _gtk_tree_view_accessible_add_state()
...
... and _gtk_tree_view_accessible_remove_state(). They should be called
by gtktreeview.c to notify about changes of state for a row.
2011-12-16 04:53:13 +01:00
Benjamin Otte
3badf48d2e
a11y: Split out function
...
I want to use that function when sending notifications. See next
commits.
2011-12-16 04:53:13 +01:00
Benjamin Otte
ff80ae16d9
a11y: Readd FOCUSABLE state
...
The state was lost in commit 08d86fabc4 .
Also order the states that are always set alphabetically.
2011-12-16 04:53:13 +01:00
Benjamin Otte
0ef6771bcc
a11y: Remove old notify about showing/visible
...
As cells are always visible and showing, there is no need to do complex
notification mechanisms anymore.
2011-12-16 04:53:13 +01:00
Benjamin Otte
7f42a9465a
a11y: Add _gtk_cell_accessible_state_changed()
...
It's supposed to replace the old state_set calls.
2011-12-16 04:53:13 +01:00
Benjamin Otte
90f04b56a7
a11y: Split out renderer<->atk state matching
...
We now keep a state map. This makes adding new states easier, and
doesn't introduce bugs with state change emissions.
2011-12-16 04:53:13 +01:00
Benjamin Otte
acfb3b3d88
a11y: Don't duplicate information anymore
...
We do provide the expandable and expanded information via
GtkCellRendererState now so there is no need to use extra flags.
2011-12-16 04:53:13 +01:00
Benjamin Otte
bb029420fd
a11y: Set new treeview flags
2011-12-16 04:53:13 +01:00
Benjamin Otte
175043bd8d
treeview: Set the new flags when rendering the cell
2011-12-16 04:53:13 +01:00
Benjamin Otte
b6aa011c43
cellrenderer: Add EXPANDED and EXPANDABLE states
...
These make more sense as flags than they do as properties of the cell
renderer.
2011-12-16 04:53:13 +01:00
Benjamin Otte
953b4aedf1
tests: Add a test for latest commit
2011-12-16 04:53:05 +01:00
Benjamin Otte
94f00eb04d
widget: Don't change sensitive state with insensitve parent
...
This way child.set_sensitive(True) with an insensitive parent doesn't
cause child to become sensitive.
2011-12-16 04:50:11 +01:00
Benjamin Otte
1377ff08c0
fontchooserwidget: Handle dpi < 0
...
Just use 96.0
2011-12-16 04:50:11 +01:00
Matthias Clasen
14f1811158
Add new symbols
2011-12-15 22:40:01 -05:00
Cosimo Cecchi
f0714338b3
iconhelper: treat the empty string as a NULL icon name
...
Treat the empty string as if it was a NULL icon name instead of
rendering GTK_STOCK_MISSING_IMAGE.
This used to be the previous behavior of GtkCellRendererPixbuf and
applications might still rely on it.
2011-12-15 20:01:35 +01:00
Cosimo Cecchi
798413151f
cellrendererpix: save the icon size locally instead of in the helper
...
We need to save the icon size locally for GtkCellRendererPixbuf, since
its properties are set again every time it's drawn (resetting the icon
size on the helper by means of _gtk_icon_helper_clear() each time).
2011-12-15 19:59:24 +01:00
Cosimo Cecchi
69a5b3af94
menuitem: cleanup arrow-spacing fetch code
...
Refactor get_arrow_size() to return the spacing as well, since basically
we always need both.
2011-12-15 18:52:30 +01:00
Cosimo Cecchi
05e62e0251
menuitem: share code between HFW and non-HFW height requests
...
The code is very similar; having two slightly different code paths is
bad and can lead to bugs. Refactor the code to use the same height
request function.
2011-12-15 18:52:30 +01:00
Cosimo Cecchi
4d76b10ce5
menuitem: properly respect padding when drawing the separators
...
Use the padding when calculating the draw coordinates of the separator.
https://bugzilla.gnome.org/show_bug.cgi?id=666242
2011-12-15 18:52:30 +01:00
Cosimo Cecchi
713df0c72b
menuitem: force odd height if we're not using wide separators
...
So that the 1px line can receive the same amount of space above and
below.
https://bugzilla.gnome.org/show_bug.cgi?id=666242
2011-12-15 18:52:30 +01:00
Cosimo Cecchi
20e94c1275
menuitem: don't request twice the padding for separator menu items
...
Padding was requested twice for separator menu items.
https://bugzilla.gnome.org/show_bug.cgi?id=666242
2011-12-15 18:52:30 +01:00
Florian Müllner
3b0a9c59cc
demo: Add test for hide-titlebar-when-maximized
...
Add an additional option to the appwindow demo to test the new
gtk-hide-titlebar-when-maximized setting.
https://bugzilla.gnome.org/show_bug.cgi?id=665616
2011-12-15 16:31:57 +01:00
Florian Müllner
4f8f8fe828
window: Add hide-titlebar-when-maximized property
...
For maximized windows, titlebars cannot be used to reposition or
scale the window, so if an application does not use it to convey
useful information (other than the application name), the screen
space occupied by titlebars could be put to better use.
Add a new window property which requests from the window manager
to hide titlebars when windows are maximized to account for this.
https://bugzilla.gnome.org/show_bug.cgi?id=665616
2011-12-15 16:31:56 +01:00
Cosimo Cecchi
cfa0339559
scale: remove unused variable
2011-12-15 12:16:09 +01:00
Rui Matos
1235dc320b
widget: Synthesize crossing only if sensitivity changed while propagating state
2011-12-14 17:03:44 +00:00
Andrea Cimitan
40423df234
Add has-origin property for GtkScale
...
If the scale has an origin (it will have one by default), GtkRange will
render the two sides before/after the current value with different style
classes, making it possible for themes to use different colors and
properties for the two areas.
This was possible in GTK 2 with style details, but got lost during the
road to 3.0.
https://bugzilla.gnome.org/show_bug.cgi?id=665140
2011-12-14 17:16:09 +01:00
Rob Bradford
8c1f8c0668
wayland: Add dummy implementation of the wl_data_device functionality
...
Setup listener functions for the drag and drop events as well as the selection
events. Then create and save a data structure representing the data offer from
the other client.
2011-12-14 14:47:27 +00:00
Rob Bradford
55b2286c3e
wayland: Add an implementation for GdkAtom
...
This implementation is based on a hash table. The hard coded GtkSelection
atoms are preloaded into the hash table at the correct values. User generated
atoms start after the last preloaded atom.
2011-12-14 14:45:44 +00:00
Rob Bradford
b165c1bac8
wayland: Get the data device during input device setup
...
The data device is a associated with the input device - fetch the data device
from the data manager for the current input device.
2011-12-14 14:44:44 +00:00
Rob Bradford
aea95c8efc
wayland: Retrieve the data device manager object
...
The data device manager is a global object that provides the support
infrastructure around data devices. These data device objects are the basis
for handling drag and drop as well as selections in Wayland.
2011-12-14 14:43:35 +00:00
Rob Bradford
32c9251b1e
wayland: Don't use deprecated function: gdk_window_get_pointer
...
Replace it with gdk_window_get_device_position.
2011-12-14 14:43:29 +00:00
Pavol Šimo
c66fd84523
Updated Slovak translation
2011-12-14 14:19:06 +01:00
Jan Rękorajski
f807f7834f
print dialog: Fix authentication logic
...
Reset state of CUPS requests correctly during authentization and
check CUPS requests for errors.
Don't initialize variables holding password and username with empty
string (#664640 ).
2011-12-14 14:09:48 +01:00
Matthias Clasen
ffb56ecc15
Fix nicks for the window class enum
...
As pointed out in bug 665999, these were just not right.
Before this commit, the nicks were 'output' and 'only'.
After this commit, they are 'input-output' and 'input-only'.
2011-12-13 21:15:14 -05:00
Alexander Larsson
10b5ec20f2
Fix set_focus_child handling during focus changes
...
In many cases we used to set focus_child to NULL all the way up
to the top and then to the right value, even if there was
a common ancestor, meaning these see a temporary NULL value for
focus_child. Only when the new focus widgets direct parent was
in the previous ancestor list did we stop early.
This fixes that by always stopping propagation when reaching
the common ancestor.
2011-12-14 00:26:40 +01:00
Claudio Saavedra
064204da9b
GtkFrame: Fix a casting in the compute_child_allocation() method
...
The casting used to calculate the child allocation is confusing MAX().
As a result, width and height end up with negative values, which makes no sense.
https://bugzilla.gnome.org/show_bug.cgi?id=666109
2011-12-13 20:26:30 +02:00
Cosimo Cecchi
a7f3a9ff74
themingengine: split a GtkThemingBackground object
...
Allows easier modification and general sanity of the CSS background
rendering code.
2011-12-12 12:46:52 +01:00
Cosimo Cecchi
1e23a74a95
image: take misc padding into account when calculating x/y draw coords
...
This fixes the misc-alignment.ui reftest.
2011-12-12 12:30:27 +01:00
Cosimo Cecchi
b215aeacc8
image: add gtk_image_get_preferred_size()
...
Add a function to query the preferred size of the GtkImage, and use it
in the get_preferred_width/height implementations.
2011-12-12 12:29:21 +01:00
Benjamin Otte
92929b968b
treeview: Ensure selection's changed signal
...
There was a corner case where the changed signal was not emitted.
If rows were built like this:
1 (not selected)
+ 2 (selected)
+ 3 (not selected)
And row 1 was removed, no signal would be emitted.
I like it when writing tests actually finds bugs that have been around
since 2003 - introduced by 4a03ea2334
actually. :)
2011-12-10 08:00:26 +01:00
Benjamin Otte
d4d2cc14d2
treeview: Don't try to optimize away selection_changed signal
...
We get certain cases, in particular with SELECTION_MULTIPLE, where we
cannot figure out in advance of real_set_cursor() if the selection will
actually change.
2011-12-10 08:00:26 +01:00
Benjamin Otte
ef4c4b7836
tests: Add select/unselect calls
2011-12-10 08:00:26 +01:00
Benjamin Otte
559c3c7da1
treeview: Add a CURSOR_INVALID flag to set_cursor_row()
...
This is necessary so the code doesn't attempt to do things with the
previous cursor, which currently cause crashes.
2011-12-10 08:00:26 +01:00
Benjamin Otte
d3bccfbb6d
treeview: Replace lots of boolean args with flags
...
I want to add more and 3 boolean args is essentially unreadable code.
2011-12-10 08:00:26 +01:00
Benjamin Otte
bf47d8d499
tests: Add sanity checks for selection
...
We want to know that the selection emits "changed" when it changes.
2011-12-10 08:00:26 +01:00
Benjamin Otte
4dbedb7481
docs: Update code demo for newer glib
2011-12-10 08:00:26 +01:00
Benjamin Otte
4d3986e709
tests: Dump the operation that is performed to stderr
2011-12-10 08:00:26 +01:00
Benjamin Otte
6e099a11ae
tests: Make treechanging test run as fast as possible
2011-12-10 08:00:26 +01:00
Benjamin Otte
1a2932ba29
treeview: Handle the case where the cursor row gets deleted
...
Previously, the cursor would just become invalid, which used to
reselect the first row in the treeview later on (without a
cursor-changed signal). This leads to a crash now with the recent
refactorings.
The patch is longer than I'd like it to be, but the situation is kinda
complicated, because we want to make sure to move the cursor to a good
row. It works like this:
1) From the deleted row, search forward for the first row that is not
going to be deleted and is not a separator.
2) If no such row exists, search backwards for a row that is not a
separator.
3) If no such node exists, clear the cursor.
2011-12-10 08:00:26 +01:00
Benjamin Otte
e01af5c5c9
treeview: Replace cursor handling by keeping the node
...
Previously the code used a GtkTreeRowReference, which was (a) less
performant and more importantly (b) hiding errors.
The errors being hidden were the referenced row becoming invalid or
collapsed, because such rows would not be valid cursor rows and it would
be necesary to select a new row and emit a "cursor-changed" signal.
So if a crash bisects down to this commit, it is very likely that the
cursor has not correctly been updated and the cursor row is invalid.
2011-12-10 08:00:26 +01:00
Benjamin Otte
2a59265df1
tests: Put random number into local variable
...
This way, we can see what function had previously been called when the
checks fail.
2011-12-10 08:00:25 +01:00
Benjamin Otte
78aad2d35c
treeview: Use _gtk_rbtree_contains() in a11y code
2011-12-10 08:00:25 +01:00
Benjamin Otte
710a8435cc
rbtree: Add _gtk_rbtree_contains()
...
It's useful in a bunch of places, so split it out
2011-12-10 08:00:25 +01:00
Matthias Clasen
89c90ed193
Fix move-resize emulation with XI2
...
https://bugzilla.gnome.org/show_bug.cgi?id=650943
2011-12-09 21:28:12 -05:00
Rob Bradford
83054baa16
wayland: Load cursors from wayland directory under XDG_DATA_DIRS
...
This means we don't have to have hardcoded "/usr/share/wayland" to find the
cursors.
This change also fixes up the warning messages for when loading fails.
2011-12-09 18:22:01 +00:00
Denis Arnaud
fba5ca3330
Updated Breton translation
2011-12-09 04:31:33 +01:00
Denis Arnaud
517be09cda
Updated Breton translation
2011-12-09 04:20:51 +01:00
Matthias Clasen
9bf17a95e5
Revert 3fd7dbc940
...
Calling gdk_keymap_add_virtual_modifiers causes _all_ virtual
modifiers to be added, which causes problem when they are co-located
on the same real modifier (as Super and Hyper often are). Effectively,
this made it impossible to enter key combinations involving Super,
since they all turn into Super+Hyper.
2011-12-08 12:44:19 -05:00
Matthias Clasen
e43080a0c2
Test some virtual modifiers
...
This adds some accelerators involving Super and Hyper to testmerge.
This helps in testing our accel matching for those.
2011-12-08 08:02:18 -05:00
Timothy Arceri
36effbb307
print to file: fixed lost filename in gui
...
Stop widget creating an event before updating both directory and
filename values.
https://bugzilla.gnome.org/show_bug.cgi?id=603823
2011-12-07 20:04:38 -05:00
Benjamin Otte
6454c718dd
overlay: Properly allocate the child upon addition
...
This ensures that after addition the child gets assigned the proper
allocation and the child window is properly shown/hidden.
2011-12-08 00:24:28 +01:00
Benjamin Otte
003d80dbea
overlay: Move code
...
Move code for child allocation into the child allocation function. Don't
keep it in the overlay allocation code.
See the next commit for why this is useful.
2011-12-08 00:24:28 +01:00
Benjamin Otte
f34d0d6f7b
overlay: Create child window before setting parent
...
Otherwise, the window will not be used when set_parent() maps the child.
2011-12-08 00:24:28 +01:00
Rui Matos
6ed5918718
progressbar: Set state flags on draw
...
We were missing setting state flags on the style context before drawing.
2011-12-07 22:42:56 +00:00
Rui Matos
7a6babfd02
widget: Unset window-unfocused in gtk_widget_unparent()
...
Widgets without a parent aren't inside a toplevel window so we must remove
window-unfocused as it doesn't make sense outside a toplevel.
https://bugzilla.gnome.org/show_bug.cgi?id=661428
2011-12-07 22:41:58 +00:00
Benjamin Otte
807a449f29
treeview: Fix crash when scrolling to end
...
This broke in a4630d0e7b
https://bugzilla.gnome.org/show_bug.cgi?id=665741
2011-12-07 20:12:12 +01:00
Cosimo Cecchi
8f4f7faa11
window: copy back window surface data when the implicit paint is flushed
...
When an implicit paint is flushed during expose, e.g. because a
non-double buffered widget is painting, make sure to copy the existing
data from the window surface we rendered before flushing back to the
paint surface, instead of using an empty base.
Code was already handling that (and said so in the comment), but only
when no implicit paint was used at all, and not in the case when it's
flushed mid-expose.
2011-12-07 08:54:09 +01:00
Cosimo Cecchi
2fad8eb0c3
window: trivial cleanup
2011-12-06 18:27:59 -05:00
Cosimo Cecchi
e3744bbd70
window: remove unused arguments and variables
...
Trivial cleanup, no functional change.
2011-12-06 17:49:35 -05:00
Benjamin Otte
c24742e789
modifierstyle: Fix compile errors
...
Introduced in 7bd2446801
2011-12-06 18:01:57 +01:00
Alexander Larsson
288b1539d1
Fix demo to use a "normal" transparent value now that it works.
...
The last commit fixed this, so lets have a sane value in the demo code.
2011-12-06 14:12:24 +01:00
Alexander Larsson
7bd2446801
Remove broken optimization in style modifier overrides
...
We used to only set the override color or font if it was different
than the existing value. However, that means you can't change it to
an override that is the same as the default value for the property.
With this fixed you can e.g. override with a color of 0,0,0,0 which
you couldn't before.
2011-12-06 14:12:23 +01:00
Matthias Clasen
b558885221
Try to fix linking
...
We need to link against gdk against pangoft2 on X11.
Also add Requires.private to gdk-3.0.pc, and try to clean
things up some.
https://bugzilla.gnome.org/show_bug.cgi?id=665326
2011-12-05 20:58:21 -05:00
Alexander Larsson
4962167864
gtk-demo: Add test of transparent GdkWindows
...
This shows a semi-transparent shadow from a GtkOverlay window
2011-12-06 00:23:58 +01:00
Matthias Clasen
d978ed85ae
Remove an unused variable
2011-12-05 18:07:41 -05:00
Carlos Garnacho
029a884d9e
gtk,notebook: Invalidate the gap side when reordering tabs
...
This narrow area is invalidated so the gap follows the tab
being reordered.
2011-12-05 21:23:23 +01:00
Alexander Larsson
fd06890354
notebook: Make the tab reordering dnd window transparent
2011-12-05 21:15:06 +01:00
Cosimo Cecchi
392cdff697
statusicon: fix the build on !X11
...
Uninevitable fallout from my last patch to GtkStatusIcon. Thanks to Rob
Bradford for testing this.
2011-12-05 13:22:20 -05:00
Benjamin Otte
4259a27cf5
widget: Update Pango context on state change
...
The layout depends on the state flags, so it must be updated when they
change.
2011-12-05 18:27:05 +01:00
Benjamin Otte
c3cccf586c
label: Clear layout on state change
...
Selected or active text might be rendered differently.
2011-12-05 18:27:05 +01:00
Benjamin Otte
5ac6950dd6
label: Move callback to new stuff
...
We want to react to state flags changing, not to the (deprecated) state
type changing.
2011-12-05 18:27:05 +01:00
Rob Bradford
b917c2f027
wayland: Port from wl_shell to wl_surface_shell
...
Previously all the commands that acted on the shell took the surface that was
to be acted on as parameter. Now we retrieve an object from the shell that
represents its state for the surface. With that wl_shell_surface object we can
then call methods on that.
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net >
2011-12-05 16:20:39 +00:00
Cosimo Cecchi
d80ff7b5f1
stylecontext: always add the ARROW style class when rendering an arrow
...
When gtk_render_arrow() is called, always add an ARROW style class to
the GtkStyleContext before rendering, so themes can specify a different
color for it.
https://bugzilla.gnome.org/show_bug.cgi?id=665420
2011-12-05 09:37:21 -05:00
Cosimo Cecchi
c538fb8f64
stylecontext: add GTK_STYLE_CLASS_ARROW
...
For e.g. submenu items arrow in GtkMenuItems.
https://bugzilla.gnome.org/show_bug.cgi?id=665420
2011-12-05 09:30:57 -05:00
Cosimo Cecchi
2e01dc1b7a
statusicon: port to GtkIconHelper
...
Just always render the pixbuf ourselves and set it on the GtkImage in
the X11 case.
Code for other backends was already rendering the pixbuf manually before
translating it into a native type, so this greatly simplifies the code.
https://bugzilla.gnome.org/show_bug.cgi?id=665409
2011-12-05 09:09:43 -05:00
Alexander Larsson
c47ef89aca
Merge branch 'transparent-windows'
2011-12-05 14:24:28 +01:00
Alexander Larsson
93c086ec80
Make window handle transparent
...
Instead of painting the window background on the grip_window we now
only paint it on the GtkWindow->window, and we make the grip_window
have a transparent background.
We can't really make transparent window handle background optional
via css atm, because the handle color is actually based on the
background color, so if that is set to transparent we won't draw
anything.
2011-12-05 12:51:55 +01:00
Alexander Larsson
4597f1ea6a
gdk: gdk_window_get_update_area don't remove alpha covered areas
...
gdk_window_get_update_area is supposed to get the area where things
need painting, and remove them from the update areas. However, if
some area is covered by other windows with an alpha background we
can't just expect whatever the app choses to render in the update
area as correct, so we don't actually remove these areas, meaning
they will get correctly rendered when we get to the expose handlers.
2011-12-05 12:18:22 +01:00
Alexander Larsson
65ef15812b
gdk: gdk_window_move_region
...
gdk_window_move_region doesn't move children, so we can't copy
transparent child window regions with copyarea, so we remove these
from the copy region.
2011-12-05 12:16:55 +01:00
Alexander Larsson
76ea768316
gdk: Fix alpha window background paintings on non-implicit paints
2011-12-05 11:40:30 +01:00
Alexander Larsson
68843a3e93
gdk: Remove unused _gdk_window_calculate_full_clip_region
2011-12-05 10:59:07 +01:00
Alexander Larsson
f00cfe1fac
Handle has_alpha_background for parent-relative backgrounds
2011-12-05 10:55:55 +01:00
Cosimo Cecchi
2bf765ab49
entry: avoid a mismatched cairo_save/restore
...
Leftover from GtkIconHelper migration.
2011-12-04 19:58:28 -05:00
Paolo Borelli
5a471fefdb
Remove unused alignment from GtkTooltip.
2011-12-04 19:20:23 +01:00
Paolo Borelli
7c779a0bee
Plug tiny leak in the css parser
2011-12-03 17:52:24 +01:00
Kristian Høgsberg
0dd1f7edbc
wayland: Update to recent API changes
2011-12-02 05:41:43 -05:00
Claudio Saavedra
f9c24e8f03
GtkIconView: fix a memory corruption in the drag-n-drop code
...
You shall free with g_slice_free() what you allocate with
g_slice_new().
https://bugzilla.gnome.org/show_bug.cgi?id=665338
2011-12-01 22:56:43 +01:00
Alexander Larsson
7a263c68a0
gdk: Fix repaint of layered region during move_region
2011-12-01 22:08:00 +01:00
Alexander Larsson
8e28f53a1d
gdk: Fix repaint of layered region during scroll
2011-12-01 22:08:00 +01:00
Alexander Larsson
f0c8c4a94b
gdk: Fix repaint of layered region during raise
2011-12-01 22:07:59 +01:00
Alexander Larsson
0f6784a919
gdk: Make sure we don't copy to/from layered regions when moving a window
2011-12-01 22:07:59 +01:00
Alexander Larsson
46d5b89830
gdk: Track the layered area
...
We track the areas that have alpha coverage so that we can
avoid using these as sources when copying window contents.
We also don't remove such areas from the clipping regions so
that they are painted both by parent and child.
2011-12-01 22:06:44 +01:00
Alexander Larsson
f51482e283
gdk: Track wether windows have alpha in the background
...
This will let us handle such windows differently in the
drawing machinery
2011-12-01 22:03:51 +01:00
Alexander Larsson
30ad4e676f
testwindows: Add a button to cause a repaint
...
This makes it easy to find various kinds of repaint bugs
2011-12-01 22:03:51 +01:00
Alexander Larsson
9613e6ae19
testwindows: Test transparent backgrounds
2011-12-01 22:03:51 +01:00
Alexander Larsson
7fd225c766
gdk: Expose bottommost windows first
...
This cleans up the expose handling a bit by using the existing
clip regions, and it allows us later to use painters algorithm
to do transparent windows.
2011-12-01 13:42:09 +01:00
Alexander Larsson
45df163e9d
gdk: Remove now unused region tags completely
2011-12-01 13:38:04 +01:00
Cosimo Cecchi
58b1f24d6d
image: use the default icon size if no icon size is provided
...
If no icon size is provided (e.g. when setting icon-name or stock-id
using the GObject property directly), use the default icon size. This
matches the previous GtkImage behavior.
2011-11-30 19:47:52 -05:00
Cosimo Cecchi
0c68227270
image: minor cleanup
2011-11-30 19:47:52 -05:00
Paolo Borelli
2ef5844bac
Introduce gtk_render_insertion_cursor
...
The new function provides an API that takes the PangoLayout and index
as input params, this way it handles strong and weak cursors internally
factoring out all code duplicated in the widgets that need to render
cursors.
https://bugzilla.gnome.org/show_bug.cgi?id=640317
2011-12-01 01:22:39 +01:00
Paolo Borelli
3c6842222a
Use the split-cursor setting for textview cursors
...
Explicitely check the split-cursor setting when drawing the textview
insertion cursor instead of relying on the cursor_direction set in the
textlayout. This makes the cursor drawin code more uniform with other
widgets in preparation to refactoring the cursor drawing code in a
shared function.
https://bugzilla.gnome.org/show_bug.cgi?id=640317
2011-12-01 01:22:39 +01:00
Paolo Borelli
0bff1af7a2
Rework GtkTextView cursor code.
...
Move the handling of primary/secondary cursors to gtktextdisplay, which
makes code simpler and more consistent to how GtkLabel and GtkEntry
draw cursors, which is useful in preparation to further refactoring.
https://bugzilla.gnome.org/show_bug.cgi?id=640317
2011-12-01 01:22:39 +01:00
Paolo Borelli
b3f850e6b9
Tiny cleanup.
...
https://bugzilla.gnome.org/show_bug.cgi?id=640317
2011-12-01 01:22:38 +01:00
Paolo Borelli
f18bbdff53
Remove draw_insertion_cursor in label and entry
...
Remove the the draw_insertion_cursor wrapper which just converts from
GtkTextDir to PangoDirection
https://bugzilla.gnome.org/show_bug.cgi?id=640317
2011-12-01 01:22:38 +01:00
Cosimo Cecchi
772459979f
image: simplify code
...
We can unconditionally call into the icon helper methods now that we
removed the g_return_val_if_fail() checks.
2011-11-30 19:06:38 -05:00
Cosimo Cecchi
d47e82ffdd
entry: simplify code
...
We can unconditionally call into the icon helper methods now that we
removed the g_return_val_if_fail() checks.
2011-11-30 19:05:34 -05:00
Cosimo Cecchi
864c5610f8
icon-helper: remove useless checks
...
When we change storage type, we always clear the rest of the object, so
these checks do not add any safety.
2011-11-30 19:04:17 -05:00
Cosimo Cecchi
d300ddc5e4
icon-helper: don't warn out when the icon size is GTK_ICON_SIZE_INVALID
...
We can call ensure_icon_size() for an empty image; don't warn out in
that case, but just return a zero width.
2011-11-30 18:32:01 -05:00
Cosimo Cecchi
e37c55aa3e
icon-helper: don't reset pixel_size when clearing the helper
...
Don't reset the pixel size when clearing the helper; pixel-size is e.g a
property of GtkImage, which is stable unless explicitly set.
2011-11-30 18:15:05 -05:00
Cosimo Cecchi
5224302a30
entry: always prepare the style context when using it for entry icons
...
Make sure to always prepare the entry's style context for the entry icon
style when passing it to GtkIconHelper.
2011-11-30 16:39:59 -05:00
Cosimo Cecchi
126651f889
cellrendererpix: make sure to select the default helper as a fallback
...
If we don't have expander pixbufs, select the default helper to render
the icon, even if the cell is an expander. This mimics what the old code
did.
2011-11-30 16:39:59 -05:00
Cosimo Cecchi
0304cc04d3
cellrendererpix: port to GtkIconHelper
2011-11-30 16:39:59 -05:00
Cosimo Cecchi
a4d6505cb3
entry: port to GtkIconHelper
2011-11-30 16:39:59 -05:00
Cosimo Cecchi
adbfbb7278
dnd: port to GtkIconHelper
2011-11-30 16:39:59 -05:00
Cosimo Cecchi
f085dde830
image: port to GtkIconHelper
...
Use newly introduced GtkIconHelper to render pixbufs in GtkImage.
2011-11-30 16:39:59 -05:00
Cosimo Cecchi
b5d8d2c4a8
icon-helper: add GtkIconHelper private object
...
GtkIconHelper is a helper object to easily obtain a pixbuf from
different icon sources (e.g. a GIcon, an icon name, a stock id, ...).
Code is ported from GtkImage, which will be adapted in the next commit.
2011-11-30 16:39:59 -05:00
Stef Walter
d462f86aad
GtkCssProvider: don't segfault when CSS file is not found
...
* Fix null dereference in gtk_css_provider_take_error()
* And another in gtk_css_provider_emit_error()
https://bugzilla.gnome.org/show_bug.cgi?id=664537
2011-11-30 00:23:07 -05:00
Matthias Clasen
9b967ab8af
XI2: Push error traps around XIQueryDevice calls
...
This may help against the crashes at resume time that some
people have been hitting when input devices mysteriously
disappear.
2011-11-30 00:16:43 -05:00
Federico Mena Quintero
830bc4304c
[GtkFileChooserDefault] Don't destroy and re-create the filename entry
...
This is a leftover from the big rework to remove the expanded/collapsed mode
in Save mode.
Signed-off-by: Federico Mena Quintero <federico@gnome.org >
2011-11-29 15:11:56 -06:00
Federico Mena Quintero
463c98a9d7
[GtkPathBar] Remove unused error argument
...
It used to be that _gtk_path_bar_set_file() would return an error if
it wasn't able to switch to the specified file, but that hasn't been
the case for a long while now, since the file chooser became async.
Signed-off-by: Federico Mena Quintero <federico@gnome.org >
2011-11-29 15:11:54 -06:00
Paolo Borelli
58d247d7ae
Avoid shadowing a variable
...
Move bg_color variable to an inner scope.
2011-11-29 21:28:30 +01:00
Federico Mena Quintero
7fb00c919e
[path-bar] Add some comments to explain the async recursion on an I/O callback
...
Signed-off-by: Federico Mena Quintero <federico@gnome.org >
2011-11-29 14:17:04 -06:00
Federico Mena Quintero
6ce48345ce
[path-bar] Only reset the children's styles if the children actually changed
...
Signed-off-by: Federico Mena Quintero <federico@gnome.org >
2011-11-29 14:17:02 -06:00
Federico Mena Quintero
07eb8d6952
Remove unused argument
...
Signed-off-by: Federico Mena Quintero <federico@gnome.org >
2011-11-29 14:17:00 -06:00
Benjamin Otte
5317cb1263
filechooserdefault: Don't unref value twice
...
Double unref was introduced in eb02dacb37
https://bugzilla.gnome.org/show_bug.cgi?id=646461
https://bugzilla.gnome.org/show_bug.cgi?id=664137
2011-11-29 20:44:57 +01:00
Benjamin Otte
7d3109a855
treeview: Properly change cursor when row is collapsed
...
Previously, when the cursor was a descendant of the collapsed row,
the cursor path was set to the collapsed row, but this was not
communicated via cursor-changed events.
2011-11-29 20:44:57 +01:00
Benjamin Otte
bbf00265fc
treeview: Reorder code a bit
...
This is mainly in preparation for the next commit, but also to reorder
the code to
1) prepare modification of tree
2) modify tree
3) emit signals
2011-11-29 20:44:57 +01:00
Mike Gorse
160e1c085c
tests: Add new test that is currently failing
2011-11-29 20:44:57 +01:00
Benjamin Otte
c070e7acf5
treeview: Simplify code
...
Since the changes in commit 2b3de3dd this simplification is possible.
2011-11-29 20:44:57 +01:00
Benjamin Otte
806dca0677
treeview: Rename function
...
_gtk_tree_view_find_path() was not a name that not really described what
the function does. And I kept forgetting it. Also, it took the tree view
as an argument and that was completely unnecessary.
2011-11-29 20:44:57 +01:00
Benjamin Otte
b843aa14c4
tests: Add automatic expanding/collapsing
...
Makes the test test even more stuff.
2011-11-29 20:44:57 +01:00
Benjamin Otte
caa9ca94cc
tests: Fix the iter stepping code
...
The old code actually was wrong and could cause assertions and crashes,
in particular when stepping out of a deep tree back onto the highest
layer.
2011-11-29 20:44:57 +01:00
Benjamin Otte
64ff56e718
tests: Check that the cursor keeps up to date
...
This actually demonstrates a bug where the treeview doesn't emit a
cursor-changed signal when the cursor row is deleted.
2011-11-29 20:44:57 +01:00
Benjamin Otte
763e4b9f45
reftests: Fix test for border-image addition
2011-11-29 20:44:57 +01:00
Cosimo Cecchi
924efd40e8
widget-factory: make one of the two spinbuttons active
2011-11-29 10:52:03 -05:00
Cosimo Cecchi
ae60f00ba4
themingengine: fix a typo
2011-11-29 10:52:03 -05:00
Cosimo Cecchi
41b56d87e7
themingengine: move code to make switch-case more clear
...
Code is more readable with the default case as the last one in the
switch block.
2011-11-29 10:52:02 -05:00
Yuri Myasoedov
03217c2019
Updated Russian translation
2011-11-29 00:08:56 +04:00
Cosimo Cecchi
f7d95b5fe3
pathbar: add the linked style class to GtkPathBar
2011-11-28 14:41:48 -05:00
Cosimo Cecchi
6740121fab
stylecontext: add GTK_STYLE_CLASS_LINKED
...
"linked" is a style class for linked areas, such as a box containing
buttons belonging to the same control.
2011-11-28 14:41:48 -05:00
Javier Jardón
f920d968f6
gtk/gtkeditable: Some docs fixes
2011-11-28 15:23:00 +00:00
Cosimo Cecchi
10cfa90817
spinbutton: redesign to use an horizontal layout
...
Rewrite GtkSpinButton to use a touchscreen friendly horizontal layout.
Other features include:
- support for theming buttons with nth-child
- full support for RTL
- use + and - symbolic icons instead of arrows
- general streamlining and cleanup of a lot of related code
https://bugzilla.gnome.org/show_bug.cgi?id=663359
2011-11-28 09:40:23 -05:00
Alexander Larsson
03b7bb6e29
win32-theme: Make tabs look better
2011-11-28 10:06:38 +01:00
Alexander Larsson
eb44036346
Support border-image in theme_engine_render_frame_gap
...
This is similar to the normal frame rendering, but has a clip
region applied for the gap.
2011-11-28 10:05:29 +01:00
Alexander Larsson
267b51ec98
win32-theme: Add some margins on GtkScale trought to look like win32
2011-11-28 09:14:13 +01:00
Alexander Larsson
21c7e8cf47
win32-theme: Support custom margins in win32 theme parts
2011-11-28 09:13:54 +01:00
Alexander Larsson
7756f49995
Fix up makefile rules for parallel builds
...
The gtkwin32css.h generation code used a temporary filename that was also
used by some other files, which is racy. Use a unique one.
2011-11-28 09:12:28 +01:00
Alexander Larsson
7c092be0ce
win32-theme: Make syntax for mixing theme parts more regular
...
This lets us extend the argument list better
2011-11-28 08:58:41 +01:00
Alexander Larsson
6898ba4f76
win32-theme: Make notebook tabs slightly better
2011-11-25 16:43:51 +01:00
Alexander Larsson
3f206dcd83
win32-theme: Fix background colors for new bg drawing
2011-11-25 16:40:25 +01:00
Alexander Larsson
db5e3872f5
Fix up background-origin now that we correctly handle the background color
2011-11-25 16:14:20 +01:00
Alexander Larsson
75642d3af2
css: Always draw the bg color under the bg image
2011-11-25 16:14:20 +01:00
Alexander Larsson
9fd4e954b5
Reftest background-origin with various background-clip values
2011-11-25 16:14:20 +01:00
Alexander Larsson
d8d7c7c171
Update background-area reftest for background-clip
2011-11-25 16:14:20 +01:00
Alexander Larsson
8411f1a279
Implement background-clip and background-origin
2011-11-25 16:14:19 +01:00
Alexander Larsson
330fd3b614
Add GtkCssArea enum
...
This will be used for background-clip and background-origin css properties.
2011-11-25 16:14:19 +01:00
Alexander Larsson
34e15566e3
Add reftest to test border-style: none
...
From the css docs at http://www.w3.org/TR/CSS2/box.html :
8.5.1 Border width: 'border-top-width', 'border-right-width', 'border-bottom-width',
'border-left-width', and 'border-width'
Computed value: absolute length; '0' if the border style is 'none' or 'hidden'
So, if i specify border-style none and a border-width > 0 that should give the
same result as border-width 0.
2011-11-25 16:14:10 +01:00
Alexander Larsson
c276f53796
Make computed value of border-width 0 if border-style none
...
From the css docs at http://www.w3.org/TR/CSS2/box.html :
8.5.1 Border width: 'border-top-width', 'border-right-width', 'border-bottom-width',
'border-left-width', and 'border-width'
Computed value: absolute length; '0' if the border style is 'none' or 'hidden'
2011-11-25 15:36:08 +01:00
Alexander Larsson
91dcf4000b
css: Convert border style parsing to use enums
2011-11-25 15:36:08 +01:00
Alexander Larsson
d85aabe1e3
Rename GTK_CSS_REPEAT_STYLE_NONE to GTK_CSS_REPEAT_STYLE_STRETCH
...
This is a private type, and the CSS default value is "stretch", which
is how we were parsing and printing NONE anyway.
With this fix we can use the enum stuff for printing/parsing
2011-11-25 15:36:08 +01:00
Alexander Larsson
2a42fad145
css: Use enum parsing for background repeat style
2011-11-25 15:36:08 +01:00
Alexander Larsson
8fb4b13730
css: Break out enum parse/print helper
...
We need this to parse non-GValue enums
2011-11-25 15:36:08 +01:00
Alexander Larsson
3e24029415
css: Parse enums with new case-insensitive helper
2011-11-25 15:36:08 +01:00
Alexander Larsson
1a68afffaf
css: Add _gtk_css_parser_try_enum
...
This helps parsing GType enums in CSS, properly handling
CSS being case insensitive.
2011-11-25 15:36:08 +01:00
Alexander Larsson
c9a3332ede
Add generation of private g-types for private headers
...
This starts with just the gtkcsstypesprivate.h header
2011-11-25 15:36:08 +01:00
Benjamin Otte
f412293a2d
reftests: Make sure border-image-gradient keeps working
...
.. even with more advanced themes.
2011-11-25 15:12:45 +01:00
Benjamin Otte
9da7cc776c
tests: Add testtreechanging
...
It's just a treestore going crazy while the treeview has to keep up.
2011-11-25 15:12:45 +01:00
Alexander Larsson
62b505174f
win32: Make all GDK_WINDOW_TEMP always on top
...
This makes menus, popups and tooltips show above the windows
task bar.
2011-11-25 11:22:59 +01:00
Benjamin Otte
a63b6cc7f1
tests: Add prop editors to testtreeview
...
It tests treeviews, so we'd better be able to edit them :)
2011-11-24 18:29:45 +01:00
Benjamin Otte
9011bf9e3b
reftests: Mark windows as popups
...
Improves performance, gets rid of resize grip.
2011-11-24 18:29:45 +01:00
Benjamin Otte
08d86fabc4
a11y: Implement ref_state_set using the new APIs
...
Various tiny semantic changes in here.
The big fix is that we consider every cell as visible and as showing if
the treeview is mapped.
This was also fixed in the tree dump test.
2011-11-24 18:29:45 +01:00
Benjamin Otte
178686ba11
a11y: Add get_renderer_state() to cell accessibles
...
Accessibles can use this function to query the state that their row
would be rendered with.
2011-11-24 18:29:45 +01:00
Benjamin Otte
bcafd9ba3c
a11y: Add _gtk_cell_accessible_set_cell_data()
...
See the function documentation for details.
Also included is the implementation for the treeview, but no users yet.
2011-11-24 18:29:45 +01:00
Benjamin Otte
416b3ed204
treeview: Notify a11y about reordered rows
...
That way, no more signal handler is needed in the a11y code. Plus, we
avoid needless signal emissions for rows we don't care about.
2011-11-24 18:29:44 +01:00
Benjamin Otte
fbfbaa3d50
a11y: Don't create fake cell renderers
2011-11-24 18:29:44 +01:00
Florian Müllner
b72b4e79cf
build: Add gmodule-2.0 dependency for gtk-query-immodules-3.0
2011-11-24 16:33:02 +01:00
Alexander Larsson
35ffd4cfea
win32-theme: Fix up radio and menus in various states
...
This makes all states in widget-factory look ok
2011-11-24 11:50:02 +01:00
Alexander Larsson
c066136c3a
win32-theme: Theme column headers
2011-11-24 11:50:01 +01:00
Christian Persch
af0537bce1
prop-editor: Implement property editing for GdkRGBA properties
...
Bug #664467 .
2011-11-23 18:25:29 -05:00
Christian Persch
2831151405
Revert "tests: use GdkRGBA instead GdkColor"
...
This reverts commit 85747da972 .
Conflicts:
tests/prop-editor.c
Bug #664467 .
2011-11-23 18:25:27 -05:00
Christian Persch
3abc31a2d1
color-button: Notify "color" and "alpha" properties when changing the rgba
...
Bug #664469 .
2011-11-23 18:19:48 -05:00
Matthias Clasen
b84d37af4d
GtkIconView: Fix a segfault
...
Keynav on an empty iconview was causing segfaults. This
was reported in https://bugzilla.gnome.org/show_bug.cgi?id=664456
2011-11-23 17:51:58 -05:00
Federico Mena Quintero
e8be9ec01f
bgo#662814 - Don't print a g_warning() when GtkRecentManager can't find a file
...
Also, *do* add the file to the recently-used list, even if the file does not
exist yet. This is used from the Save dialog, so even shitty apps which don't
add the file to GtkRecentManager, will get the file added from the Save dialog.
Signed-off-by: Federico Mena Quintero <federico@gnome.org >
2011-11-23 09:44:26 -06:00
Cosimo Cecchi
92e6444163
widgetpath: correctly print the siblings index
...
In gtk_widget_path_to_string() we were counting siblings from zero
instead of one, resulting in confusing output.
2011-11-23 11:22:30 -05:00
Cosimo Cecchi
0d71f62388
frame: don't access padding before it's initialized
...
Move padding initialization before its first access.
2011-11-23 11:21:29 -05:00
Benjamin Otte
6a6af8464b
gtk-demo: Fix segfault in editable cells demo
...
The strings can be freed when edting the description column. This does
not work with constant strings.
2011-11-22 23:29:04 +01:00
Benjamin Otte
6d0499a500
rbtree: Rewrite to not lose node order
...
_gtk_rbtree_reorder() was moving the node's data while reordering. As we
use the node pointer in the a11y code as a hash key, this didn't work.
So this rewrite changes that. As a bonus, it is less code and faster.
Woohoo!
2011-11-22 23:29:04 +01:00
Benjamin Otte
3166457802
tests: Add test for _gtk_rbtree_reorder()
2011-11-22 23:29:04 +01:00
Benjamin Otte
c1124df1f2
tests: Speed up rbtree test
...
We don't need so many tree consistency checks while creating when the
test is about something else.
2011-11-22 23:29:04 +01:00
Matthias Clasen
2b6f639bfa
Fix a typo
2011-11-22 14:55:46 -05:00
Matthias Clasen
251ee41d8d
Revert "Clean up includes"
...
This reverts commit c5e4af761c .
2011-11-22 13:41:59 -05:00
Matthias Clasen
abc787a5ac
Move pangoft2 to Requires.private
...
We have pango in Requires anyway, and this is just so we
can call pangofc api ourselves.
2011-11-22 09:42:31 -05:00
Matthias Clasen
c5e4af761c
Clean up includes
...
There's no sign of Pango in this header, so no need to include
pangocairo.h
2011-11-22 08:25:24 -05:00
Benjamin Otte
d8b6414567
rbtree: Remove needless tests
...
if the checks are run on the nil node, they will get the second test the
way we expect it anyway, so it's unnecessary.
2011-11-22 03:42:31 +01:00
Benjamin Otte
ae99a9e04a
rbtree: Simplify rotation functions
...
- Make sure the rotated nodes aren't nil
- Use existing functions for complex computations
- Don't use NULL checks for variables guaranteed to not be NULL/nil
2011-11-22 03:32:56 +01:00
Benjamin Otte
37786804e1
rbtree: Remove the nil member
2011-11-22 03:32:56 +01:00
Benjamin Otte
a4630d0e7b
rbtree: Introduce _gtk_rbtree_is_nil()
...
Makes for more readable code than "== tree->nil" and allows removing the
nil member later.
2011-11-22 03:32:56 +01:00
Benjamin Otte
c3056951db
rbtree: Introduce _gtk_rbtree_first()
...
... and use it.
2011-11-22 03:32:56 +01:00
Benjamin Otte
73a834336f
rbtree: Replace nil node allocation with a preallocated nil
...
This has one major caveat: The new value is const, so read-only memory.
Any attempt to write to it will cause a crash. Note that we are not ever
supposed to write to it, but bugs happen...
2011-11-22 03:32:56 +01:00
Matthias Clasen
fa89423346
Bump version
2011-11-21 18:34:11 -05:00