summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkmenubar.c18
-rw-r--r--gtk/gtkrc.c9
-rw-r--r--gtk/gtkstatusbar.c101
-rw-r--r--gtk/gtktoolbar.c2
4 files changed, 82 insertions, 48 deletions
diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c
index 2842d201c..31581ea9a 100644
--- a/gtk/gtkmenubar.c
+++ b/gtk/gtkmenubar.c
@@ -38,7 +38,6 @@
#define BORDER_SPACING 0
-#define CHILD_SPACING 3
#define DEFAULT_IPADDING 1
static void gtk_menu_bar_class_init (GtkMenuBarClass *klass);
@@ -227,13 +226,6 @@ gtk_menu_bar_size_request (GtkWidget *widget,
requisition->width += toggle_size;
requisition->height = MAX (requisition->height, child_requisition.height);
- /* Support for the right justified help menu */
- if ((children == NULL) && GTK_IS_MENU_ITEM(child) &&
- GTK_MENU_ITEM(child)->right_justify)
- {
- requisition->width += CHILD_SPACING;
- }
-
nchildren += 1;
}
}
@@ -252,9 +244,6 @@ gtk_menu_bar_size_request (GtkWidget *widget,
requisition->width += widget->style->xthickness * 2;
requisition->height += widget->style->ythickness * 2;
}
-
- if (nchildren > 0)
- requisition->width += 2 * CHILD_SPACING * (nchildren - 1);
}
}
@@ -269,9 +258,9 @@ gtk_menu_bar_size_allocate (GtkWidget *widget,
GtkAllocation child_allocation;
GtkRequisition child_requisition;
guint offset;
- gint ipadding;
GtkTextDirection direction;
gint ltr_x;
+ gint ipadding;
g_return_if_fail (GTK_IS_MENU_BAR (widget));
g_return_if_fail (allocation != NULL);
@@ -292,10 +281,9 @@ gtk_menu_bar_size_allocate (GtkWidget *widget,
if (menu_shell->children)
{
child_allocation.x = (GTK_CONTAINER (menu_bar)->border_width +
- ipadding +
+ ipadding +
BORDER_SPACING);
child_allocation.y = (GTK_CONTAINER (menu_bar)->border_width +
- ipadding +
BORDER_SPACING);
if (get_shadow_type (menu_bar) != GTK_SHADOW_NONE)
@@ -344,7 +332,7 @@ gtk_menu_bar_size_allocate (GtkWidget *widget,
toggle_size);
gtk_widget_size_allocate (child, &child_allocation);
- ltr_x += child_allocation.width + CHILD_SPACING * 2;
+ ltr_x += child_allocation.width;
}
}
}
diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c
index 7626cb458..e222174db 100644
--- a/gtk/gtkrc.c
+++ b/gtk/gtkrc.c
@@ -673,6 +673,10 @@ _gtk_rc_init (void)
" bg[NORMAL] = \"#bab5ab\"\n"
"}\n"
"\n"
+ "style \"gtk-default-menu-bar-item-style\" {\n"
+ " GtkMenuItem::horizontal_padding = 5\n"
+ "}\n"
+ "\n"
"style \"gtk-default-menu-item-style\" {\n"
" bg[PRELIGHT] = \"#4b6983\"\n"
" fg[PRELIGHT] = \"#ffffff\"\n"
@@ -689,6 +693,11 @@ _gtk_rc_init (void)
"widget_class \"*.GtkCheckMenuItem.*\" style : gtk \"gtk-default-menu-item-style\"\n"
"widget_class \"*.GtkImageMenuItem.*\" style : gtk \"gtk-default-menu-item-style\"\n"
"widget_class \"*.GtkSeparatorMenuItem.*\" style : gtk \"gtk-default-menu-item-style\"\n"
+ "widget_class \"*GtkMenuBar*GtkMenuItem\" style : gtk \"gtk-default-menu-bar-item-style\"\n"
+ "widget_class \"*GtkMenuBar*GtkAccelMenuItem\" style : gtk \"gtk-default-menu-bar-item-style\"\n"
+ "widget_class \"*GtkMenuBar*GtkRadioMenuItem\" style : gtk \"gtk-default-menu-bar-item-style\"\n"
+ "widget_class \"*GtkMenuBar*GtkCheckMenuItem\" style : gtk \"gtk-default-menu-bar-item-style\"\n"
+ "widget_class \"*GtkMenuBar*GtkImageMenuItem\" style : gtk \"gtk-default-menu-bar-item-style\"\n"
);
}
diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c
index 12d0cee76..ffe114fee 100644
--- a/gtk/gtkstatusbar.c
+++ b/gtk/gtkstatusbar.c
@@ -54,36 +54,39 @@ enum
PROP_HAS_RESIZE_GRIP
};
-static void gtk_statusbar_class_init (GtkStatusbarClass *class);
-static void gtk_statusbar_init (GtkStatusbar *statusbar);
-static void gtk_statusbar_destroy (GtkObject *object);
-static void gtk_statusbar_update (GtkStatusbar *statusbar,
- guint context_id,
- const gchar *text);
-static void gtk_statusbar_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation);
-static void gtk_statusbar_realize (GtkWidget *widget);
-static void gtk_statusbar_unrealize (GtkWidget *widget);
-static void gtk_statusbar_map (GtkWidget *widget);
-static void gtk_statusbar_unmap (GtkWidget *widget);
-static gboolean gtk_statusbar_button_press (GtkWidget *widget,
- GdkEventButton *event);
-static gboolean gtk_statusbar_expose_event (GtkWidget *widget,
- GdkEventExpose *event);
-static void gtk_statusbar_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
-static void gtk_statusbar_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation);
-static void gtk_statusbar_create_window (GtkStatusbar *statusbar);
-static void gtk_statusbar_destroy_window (GtkStatusbar *statusbar);
-static void gtk_statusbar_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec);
-static void gtk_statusbar_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec);
+static void gtk_statusbar_class_init (GtkStatusbarClass *class);
+static void gtk_statusbar_init (GtkStatusbar *statusbar);
+static void gtk_statusbar_destroy (GtkObject *object);
+static void gtk_statusbar_update (GtkStatusbar *statusbar,
+ guint context_id,
+ const gchar *text);
+static void gtk_statusbar_size_allocate (GtkWidget *widget,
+ GtkAllocation *allocation);
+static void gtk_statusbar_realize (GtkWidget *widget);
+static void gtk_statusbar_unrealize (GtkWidget *widget);
+static void gtk_statusbar_map (GtkWidget *widget);
+static void gtk_statusbar_unmap (GtkWidget *widget);
+static gboolean gtk_statusbar_button_press (GtkWidget *widget,
+ GdkEventButton *event);
+static gboolean gtk_statusbar_expose_event (GtkWidget *widget,
+ GdkEventExpose *event);
+static void gtk_statusbar_size_request (GtkWidget *widget,
+ GtkRequisition *requisition);
+static void gtk_statusbar_size_allocate (GtkWidget *widget,
+ GtkAllocation *allocation);
+static void gtk_statusbar_direction_changed (GtkWidget *widget,
+ GtkTextDirection prev_dir);
+static void gtk_statusbar_create_window (GtkStatusbar *statusbar);
+static void gtk_statusbar_destroy_window (GtkStatusbar *statusbar);
+static void gtk_statusbar_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec);
+static void gtk_statusbar_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec);
+
static GtkContainerClass *parent_class;
static guint statusbar_signals[SIGNAL_LAST] = { 0 };
@@ -145,6 +148,8 @@ gtk_statusbar_class_init (GtkStatusbarClass *class)
widget_class->size_request = gtk_statusbar_size_request;
widget_class->size_allocate = gtk_statusbar_size_allocate;
+
+ widget_class->direction_changed = gtk_statusbar_direction_changed;
class->messages_mem_chunk = g_mem_chunk_new ("GtkStatusbar messages mem chunk",
sizeof (GtkStatusbarMsg),
@@ -529,9 +534,30 @@ get_grip_rect (GtkStatusbar *statusbar,
rect->y = widget->allocation.y + widget->allocation.height - h;
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
- rect->x = widget->allocation.x + widget->allocation.width - w;
+ rect->x = widget->allocation.x + widget->allocation.width - w;
else
- rect->x = widget->allocation.x + widget->style->xthickness;
+ rect->x = widget->allocation.x + widget->style->xthickness;
+}
+
+static void
+set_grip_cursor (GtkStatusbar *statusbar)
+{
+ if (statusbar->has_resize_grip)
+ {
+ GtkWidget *widget = GTK_WIDGET (statusbar);
+ GdkDisplay *display = gtk_widget_get_display (widget);
+ GdkCursorType cursor_type;
+ GdkCursor *cursor;
+
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
+ cursor_type = GDK_BOTTOM_RIGHT_CORNER;
+ else
+ cursor_type = GDK_BOTTOM_LEFT_CORNER;
+
+ cursor = gdk_cursor_new_for_display (display, cursor_type);
+ gdk_window_set_cursor (statusbar->grip_window, cursor);
+ gdk_cursor_unref (cursor);
+ }
}
static void
@@ -563,6 +589,17 @@ gtk_statusbar_create_window (GtkStatusbar *statusbar)
statusbar->grip_window = gdk_window_new (widget->window,
&attributes, attributes_mask);
gdk_window_set_user_data (statusbar->grip_window, widget);
+
+ set_grip_cursor (statusbar);
+}
+
+static void
+gtk_statusbar_direction_changed (GtkWidget *widget,
+ GtkTextDirection prev_dir)
+{
+ GtkStatusbar *statusbar = GTK_STATUSBAR (widget);
+
+ set_grip_cursor (statusbar);
}
static void
diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c
index f522924a8..f44feabb5 100644
--- a/gtk/gtktoolbar.c
+++ b/gtk/gtktoolbar.c
@@ -2858,7 +2858,7 @@ gtk_toolbar_get_icon_size (GtkToolbar *toolbar)
* @toolbar: a #GtkToolbar
*
* Returns the relief style of buttons on @toolbar. See
- * gtk_button_set_relief_style().
+ * gtk_button_set_relief().
*
* Return value: The relief style of buttons on @toolbar.
*