Compare commits

...

5 Commits

Author SHA1 Message Date
Matthias Clasen
b92f6b1dbe 3.10.0 2013-09-23 13:48:01 -04:00
Matthias Clasen
c8544a3c4d Add a release note about settings 2013-09-23 13:48:01 -04:00
Matthias Clasen
3b6156fdb5 Allow applications to use gtk-menu-bar-accel in 3.10
gnome-terminal is still using this setting, so we'll let
applications override it for another cycle. It is no longer
backed by a system-wide setting, though, and it will still
go away eventually.

This partically reverts b26c74e5da
2013-09-23 13:48:01 -04:00
Matthias Clasen
34cf40e95c Allow applications to use gtk-enable-mnemonics in 3.10
gnome-terminal is still using this setting, so we'll let
applications override it for another cycle. It is no longer
backed by a system-wide setting, though, and it will still
go away eventually.

This partically reverts 7e3a494fac
2013-09-23 13:48:01 -04:00
Matthias Clasen
3312a68a88 Drop border-image-repeat test for 3.10.0
It got broken by recent cairo changes. Investigation and
fixing will happen on master.
2013-09-23 13:47:50 -04:00
12 changed files with 105 additions and 2634 deletions

38
NEWS
View File

@@ -1,3 +1,41 @@
Overview of Changes in GTK+ 3.9.16 to 3.10.0
============================================
* Accessibility improvements
- Add accessible names to csd window buttons
- Mark GtkLinkButton as visited when appropriate
- Add a GtkListBoxRow accessible
* Bug fixes:
692258 Implement GtkListBoxRowAccessible, set its state to...
702681 Issues with applications marked as NoDisplay
704087 GtkPlacesSidebar shouldn't open a bookmark when the...
708320 listbox: Update the cursor row when the row's child...
708384 icontheme: Make sure icon_info->scale doesn't end u...
* Translation updates
Assamese
Brazilian Portuguese
Czech
French
Galician
Hebrew
Indonesian
Italian
Kazakh
Latvian
Lithuanian
Polish
Portuguese
Russian
Scottish Gaelic
Serbian
Slovak
Slovenian
Spanish
Traditional Chinese
Overview of Changes in GTK+ 3.9.14 to 3.9.16
============================================

View File

@@ -76,6 +76,9 @@ Even better are git-formatted patches. (Use git format-patch)
Release notes for 3.10
======================
* A number of GTK+ settings that have accumulated of the years
have been deprecated and are now ignored.
* GDK has been changed to allow only a single screen per display.
Only the X11 backend had multiple screens before, and multi-screen
setups (not multi-monitor!) are very rare nowadays. If you really

View File

@@ -9,8 +9,8 @@
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
m4_define([gtk_major_version], [3])
m4_define([gtk_minor_version], [9])
m4_define([gtk_micro_version], [17])
m4_define([gtk_minor_version], [10])
m4_define([gtk_micro_version], [0])
m4_define([gtk_interface_age], [0])
m4_define([gtk_binary_age],
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])

View File

@@ -1892,6 +1892,9 @@ gtk_label_screen_changed (GtkWidget *widget,
if (! shortcuts_connected)
{
g_signal_connect (settings, "notify::gtk-enable-mnemonics",
G_CALLBACK (label_shortcut_setting_changed),
NULL);
g_signal_connect (settings, "notify::gtk-enable-accels",
G_CALLBACK (label_shortcut_setting_changed),
NULL);
@@ -2571,6 +2574,10 @@ gtk_label_set_markup_internal (GtkLabel *label,
gboolean enable_mnemonics = TRUE;
gboolean auto_mnemonics = TRUE;
g_object_get (gtk_widget_get_settings (GTK_WIDGET (label)),
"gtk-enable-mnemonics", &enable_mnemonics,
NULL);
if (!(enable_mnemonics && priv->mnemonics_visible &&
(!auto_mnemonics ||
(gtk_widget_is_sensitive (GTK_WIDGET (label)) &&
@@ -2785,6 +2792,10 @@ gtk_label_set_pattern_internal (GtkLabel *label,
if (is_mnemonic)
{
g_object_get (gtk_widget_get_settings (GTK_WIDGET (label)),
"gtk-enable-mnemonics", &enable_mnemonics,
NULL);
if (enable_mnemonics && priv->mnemonics_visible && pattern &&
(!auto_mnemonics ||
(gtk_widget_is_sensitive (GTK_WIDGET (label)) &&

View File

@@ -696,35 +696,54 @@ window_key_press_handler (GtkWidget *widget,
GdkEventKey *event,
gpointer data)
{
gchar *accel = NULL;
gboolean retval = FALSE;
guint keyval = GDK_KEY_F10;
/* FIXME this is wrong, needs to be in the global accel resolution
* thing, to properly consider i18n etc., but that probably requires
* AccelGroup changes etc.
*/
if (event->keyval == keyval && event->state == 0)
g_object_get (gtk_widget_get_settings (widget),
"gtk-menu-bar-accel", &accel,
NULL);
if (accel && *accel)
{
GList *tmp_menubars = get_viewable_menu_bars (GTK_WINDOW (widget));
GList *menubars;
guint keyval = 0;
GdkModifierType mods = 0;
menubars = _gtk_container_focus_sort (GTK_CONTAINER (widget), tmp_menubars,
GTK_DIR_TAB_FORWARD, NULL);
g_list_free (tmp_menubars);
gtk_accelerator_parse (accel, &keyval, &mods);
if (menubars)
if (keyval == 0)
g_warning ("Failed to parse menu bar accelerator '%s'\n", accel);
/* FIXME this is wrong, needs to be in the global accel resolution
* thing, to properly consider i18n etc., but that probably requires
* AccelGroup changes etc.
*/
if (event->keyval == keyval &&
((event->state & gtk_accelerator_get_default_mod_mask ()) ==
(mods & gtk_accelerator_get_default_mod_mask ())))
{
GtkMenuShell *menu_shell = GTK_MENU_SHELL (menubars->data);
GList *tmp_menubars = get_viewable_menu_bars (GTK_WINDOW (widget));
GList *menubars;
_gtk_menu_shell_set_keyboard_mode (menu_shell, TRUE);
gtk_menu_shell_select_first (menu_shell, FALSE);
menubars = _gtk_container_focus_sort (GTK_CONTAINER (widget), tmp_menubars,
GTK_DIR_TAB_FORWARD, NULL);
g_list_free (tmp_menubars);
g_list_free (menubars);
if (menubars)
{
GtkMenuShell *menu_shell = GTK_MENU_SHELL (menubars->data);
retval = TRUE;
_gtk_menu_shell_set_keyboard_mode (menu_shell, TRUE);
gtk_menu_shell_select_first (menu_shell, FALSE);
g_list_free (menubars);
retval = TRUE;
}
}
}
g_free (accel);
return retval;
}

View File

@@ -968,6 +968,7 @@ gtk_menu_shell_key_press (GtkWidget *widget,
{
GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget);
GtkMenuShellPrivate *priv = menu_shell->priv;
gboolean enable_mnemonics;
priv->keyboard_mode = TRUE;
@@ -978,7 +979,14 @@ gtk_menu_shell_key_press (GtkWidget *widget,
if (gtk_bindings_activate_event (G_OBJECT (widget), event))
return TRUE;
return gtk_menu_shell_activate_mnemonic (menu_shell, event);
g_object_get (gtk_widget_get_settings (widget),
"gtk-enable-mnemonics", &enable_mnemonics,
NULL);
if (enable_mnemonics)
return gtk_menu_shell_activate_mnemonic (menu_shell, event);
return FALSE;
}
static gint

View File

@@ -473,14 +473,15 @@ gtk_settings_class_init (GtkSettingsClass *class)
*
* Keybinding to activate the menu bar.
*
* Deprecated: 3.10: This setting is ignored.
* Deprecated: 3.10: This setting can still be used for application
* overrides, but will be ignored in the future
*/
result = settings_install_property_parser (class,
g_param_spec_string ("gtk-menu-bar-accel",
P_("Menu bar accelerator"),
P_("Keybinding to activate the menu bar"),
"F10",
GTK_PARAM_READWRITE | G_PARAM_DEPRECATED),
GTK_PARAM_READWRITE),
NULL);
g_assert (result == PROP_MENU_BAR_ACCEL);
@@ -997,14 +998,15 @@ gtk_settings_class_init (GtkSettingsClass *class)
*
* Since: 2.12
*
* Deprecated: 3.10: This setting is ignored
* Deprecated: 3.10: This setting can still be used for application
* overrides, but will be ignored in the future
*/
result = settings_install_property_parser (class,
g_param_spec_boolean ("gtk-enable-mnemonics",
P_("Enable Mnemonics"),
P_("Whether labels should have mnemonics"),
TRUE,
GTK_PARAM_READWRITE | G_PARAM_DEPRECATED),
GTK_PARAM_READWRITE),
NULL);
g_assert (result == PROP_ENABLE_MNEMONICS);

View File

@@ -27,7 +27,6 @@ clean-local:
EXTRA_DIST += \
align-expand.sh \
border-image-repeat.sh \
$(NULL)
testdata = \
@@ -89,9 +88,6 @@ testdata = \
border-image-gradient.css \
border-image-gradient.ref.ui \
border-image-gradient.ui \
border-image-repeat.css \
border-image-repeat.ref.ui \
border-image-repeat.ui \
border-image-url.css \
border-image-url.ref.ui \
border-image-url.ui \

View File

@@ -1,50 +0,0 @@
@import "reset-to-defaults.css";
* {
background-size: 100% 100%;
}
GtkButton {
border-image-source: url("border-image-balls.png");
border-image-slice: 20;
border-image-repeat: stretch;
border-width: 5px;
border-style: solid;
}
.stretch-stretch { border-image-repeat: stretch stretch }
.stretch-repeat { border-image-repeat: stretch repeat }
.stretch-round { border-image-repeat: stretch round }
.stretch-space { border-image-repeat: stretch space }
.repeat-stretch { border-image-repeat: repeat stretch }
.repeat-repeat { border-image-repeat: repeat repeat }
.repeat-round { border-image-repeat: repeat round }
.repeat-space { border-image-repeat: repeat space }
.round-stretch { border-image-repeat: round stretch }
.round-repeat { border-image-repeat: round repeat }
.round-round { border-image-repeat: round round }
.round-space { border-image-repeat: round space }
.space-stretch { border-image-repeat: space stretch }
.space-repeat { border-image-repeat: space repeat }
.space-round { border-image-repeat: space round }
.space-space { border-image-repeat: space space }
#red {
background-image: url("border-image-ball-red.png");
}
#yellow {
background-image: url("border-image-ball-yellow.png");
}
#yellow-3 {
background-image: url("border-image-3-balls-yellow.png");
}
#green {
background-image: url("border-image-ball-green.png");
}
#green-3 {
background-image: url("border-image-3-balls-green.png");
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,238 +0,0 @@
#!/bin/bash
cat << EOF
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkWindow" id="window1">
<property name="can_focus">False</property>
<property name="type">popup</property>
<child>
<object class="GtkFixed" id="fixed1">
<property name="visible">True</property>
<property name="can_focus">False</property>
EOF
y=0
for vrepeat in stretch repeat round space; do
x=0
for hrepeat in stretch repeat round space; do
for side in 0 1; do
case $hrepeat in
"stretch")
cat << EOF
<child>
<object class="GtkToolbar" id="toolbar-$hrepeat-$vrepeat-hstretch$side">
<property name="name">yellow</property>
<property name="width_request">13</property>
<property name="height_request">5</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_arrow">False</property>
</object>
<packing>
<property name="x">`expr $x \* 25 + 5`</property>
<property name="y">`expr $y \* 25 + $side \* 18`</property>
</packing>
</child>
EOF
;;
"repeat")
cat << EOF
<child>
<object class="GtkToolbar" id="toolbar-$hrepeat-$vrepeat-hrepeat$side">
<property name="name">yellow-3</property>
<property name="width_request">15</property>
<property name="height_request">5</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_arrow">False</property>
</object>
<packing>
<property name="x">`expr $x \* 25 + 4`</property>
<property name="y">`expr $y \* 25 + $side \* 18`</property>
</packing>
</child>
EOF
;;
"round")
cat << EOF
<child>
<object class="GtkToolbar" id="toolbar-$hrepeat-$vrepeat-hround$side">
<property name="name">yellow-3</property>
<property name="width_request">13</property>
<property name="height_request">5</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_arrow">False</property>
</object>
<packing>
<property name="x">`expr $x \* 25 + 5`</property>
<property name="y">`expr $y \* 25 + $side \* 18`</property>
</packing>
</child>
EOF
;;
"space")
cat << EOF
<child>
<object class="GtkToolbar" id="toolbar-$hrepeat-$vrepeat-hspace0$side">
<property name="name">yellow</property>
<property name="width_request">5</property>
<property name="height_request">5</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_arrow">False</property>
</object>
<packing>
<property name="x">`expr $x \* 25 + 6`</property>
<property name="y">`expr $y \* 25 + $side \* 18`</property>
</packing>
</child>
<child>
<object class="GtkToolbar" id="toolbar-$hrepeat-$vrepeat-hspace1$side">
<property name="name">yellow</property>
<property name="width_request">5</property>
<property name="height_request">5</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_arrow">False</property>
</object>
<packing>
<property name="x">`expr $x \* 25 + 12`</property>
<property name="y">`expr $y \* 25 + $side \* 18`</property>
</packing>
</child>
EOF
esac
case $vrepeat in
"stretch")
cat << EOF
<child>
<object class="GtkToolbar" id="toolbar-$hrepeat-$vrepeat-vstretch$side">
<property name="name">green</property>
<property name="width_request">5</property>
<property name="height_request">13</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_arrow">False</property>
</object>
<packing>
<property name="x">`expr $x \* 25 + $side \* 18`</property>
<property name="y">`expr $y \* 25 + 5`</property>
</packing>
</child>
EOF
;;
"repeat")
cat << EOF
<child>
<object class="GtkToolbar" id="toolbar-$hrepeat-$vrepeat-vrepeat$side">
<property name="name">green-3</property>
<property name="width_request">5</property>
<property name="height_request">15</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_arrow">False</property>
</object>
<packing>
<property name="x">`expr $x \* 25 + $side \* 18`</property>
<property name="y">`expr $y \* 25 + 4`</property>
</packing>
</child>
EOF
;;
"round")
cat << EOF
<child>
<object class="GtkToolbar" id="toolbar-$hrepeat-$vrepeat-vround$side">
<property name="name">green-3</property>
<property name="width_request">5</property>
<property name="height_request">13</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_arrow">False</property>
</object>
<packing>
<property name="x">`expr $x \* 25 + $side \* 18`</property>
<property name="y">`expr $y \* 25 + 5`</property>
</packing>
</child>
EOF
;;
"space")
cat << EOF
<child>
<object class="GtkToolbar" id="toolbar-$hrepeat-$vrepeat-vspace0$side">
<property name="name">green</property>
<property name="width_request">5</property>
<property name="height_request">5</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_arrow">False</property>
</object>
<packing>
<property name="x">`expr $x \* 25 + $side \* 18`</property>
<property name="y">`expr $y \* 25 + 6`</property>
</packing>
</child>
<child>
<object class="GtkToolbar" id="toolbar-$hrepeat-$vrepeat-vspace1$side">
<property name="name">green</property>
<property name="width_request">5</property>
<property name="height_request">5</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_arrow">False</property>
</object>
<packing>
<property name="x">`expr $x \* 25 + $side \* 18`</property>
<property name="y">`expr $y \* 25 + 12`</property>
</packing>
</child>
EOF
esac
done
for ycorner in 0 1; do
for xcorner in 0 1; do
cat << EOF
<child>
<object class="GtkEventBox" id="eventbox-corner-$hrepeat-$vrepeat-$xcorner$ycorner">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkToolbar" id="toolbar-corner-$hrepeat-$vrepeat-$xcorner$ycorner">
<property name="name">red</property>
<property name="width_request">5</property>
<property name="height_request">5</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_arrow">False</property>
</object>
</child>
</object>
<packing>
<property name="x">`expr $x \* 25 + $xcorner \* 18`</property>
<property name="y">`expr $y \* 25 + $ycorner \* 18`</property>
</packing>
</child>
EOF
done
done
x=`expr $x + 1`
done
y=`expr $y + 1`
done
cat << EOF
</object>
</child>
</object>
</interface>
EOF

View File

@@ -1,288 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkWindow" id="window1">
<property name="can_focus">False</property>
<property name="type">popup</property>
<child>
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">2</property>
<property name="column_spacing">2</property>
<child>
<object class="GtkButton" id="eventbox1">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="stretch-stretch" />
</style>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox2">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="stretch-repeat" />
</style>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox3">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="stretch-round" />
</style>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox4">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="stretch-space" />
</style>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox5">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="repeat-stretch" />
</style>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox6">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="repeat-repeat" />
</style>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox7">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="repeat-round" />
</style>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox8">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="repeat-space" />
</style>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox9">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="round-stretch" />
</style>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox10">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="round-repeat" />
</style>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox11">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="round-round" />
</style>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox12">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="round-space" />
</style>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox13">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="space-stretch" />
</style>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox14">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="space-repeat" />
</style>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox15">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="space-round" />
</style>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="eventbox16">
<property name="width_request">23</property>
<property name="height_request">23</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="space-space" />
</style>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>