Commit 8630fe06 authored by Natanael Copa's avatar Natanael Copa

main/xfce4-panel: upgrade to 4.7.6

parent 2dc4d65b
From bb6b1ef03c05dfd7f8209e923c2e8ec5365ccaac Mon Sep 17 00:00:00 2001
From: Nick Schermer <nick@xfce.org>
Date: Mon, 08 Nov 2010 20:53:56 +0000
Subject: Fix crash in always group mode (bug #6792).
---
diff --git a/plugins/tasklist/tasklist-widget.c b/plugins/tasklist/tasklist-widget.c
index cdf696d..72283ba 100644
--- a/plugins/tasklist/tasklist-widget.c
+++ b/plugins/tasklist/tasklist-widget.c
@@ -1586,6 +1586,7 @@ xfce_tasklist_update_icon_geometries (gpointer data)
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (tasklist));
gtk_window_get_position (GTK_WINDOW (toplevel), &root_x, &root_y);
+ panel_return_val_if_fail (XFCE_IS_TASKLIST (tasklist), FALSE);
for (li = tasklist->windows; li != NULL; li = li->next)
{
@@ -1603,7 +1604,7 @@ xfce_tasklist_update_icon_geometries (gpointer data)
case CHILD_TYPE_GROUP:
alloc = &child->button->allocation;
- for (lp = child->windows; li != NULL; li = li->next)
+ for (lp = child->windows; lp != NULL; lp = lp->next)
{
child2 = lp->data;
panel_return_val_if_fail (WNCK_IS_WINDOW (child2->window), FALSE);
@@ -2382,7 +2383,6 @@ xfce_tasklist_button_activate (XfceTasklistChild *child,
WnckWorkspace *workspace;
panel_return_if_fail (XFCE_IS_TASKLIST (child->tasklist));
- panel_return_if_fail (child->type == CHILD_TYPE_WINDOW);
panel_return_if_fail (WNCK_IS_WINDOW (child->window));
if (wnck_window_is_active (child->window))
--
cgit v0.8.3.4
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xfce4-panel
pkgver=4.7.4
pkgrel=1
pkgver=4.7.6
pkgrel=0
pkgdesc="Panel for the Xfce desktop environment"
url="http://www.xfce.org/"
license="GPL-2"
......@@ -10,10 +10,6 @@ depends="hicolor-icon-theme"
makedepends="libxfce4ui-dev exo-dev garcon-dev libwnck-dev"
install=
source="http://archive.xfce.org/src/xfce/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2
6792.patch
dont-destroy-the-about-dialog.patch
allow-using-enter.patch
drop-the-automatics-grouping.patch
"
depends_dev="libxfce4util-dev gtk+-dev"
......@@ -42,8 +38,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
}
md5sums="20a9afd50066a2c8a607f90eaec29cfa xfce4-panel-4.7.4.tar.bz2
7b0cd40e47ab64fa80c763d9a22ea848 6792.patch
039c3f3351920c0ae56e5676099c4bd5 dont-destroy-the-about-dialog.patch
c83d70479ecd2740d924d7e37e880689 allow-using-enter.patch
d248aa7918a4449145bf28f4670400d1 drop-the-automatics-grouping.patch"
md5sums="66b8fd4a6b7d3a1e52e93083d8f93188 xfce4-panel-4.7.6.tar.bz2"
From 10da325fac243a0b8d6766508b3fc892d605531a Mon Sep 17 00:00:00 2001
From: Nick Schermer <nick@xfce.org>
Date: Sun, 07 Nov 2010 19:49:09 +0000
Subject: Allow using enter in the launcher treeviews.
---
diff --git a/plugins/launcher/launcher-dialog.c b/plugins/launcher/launcher-dialog.c
index f19e73f..fbb981c 100644
--- a/plugins/launcher/launcher-dialog.c
+++ b/plugins/launcher/launcher-dialog.c
@@ -30,6 +30,7 @@
#include <garcon/garcon.h>
#include <xfconf/xfconf.h>
#include <gio/gio.h>
+#include <gdk/gdkkeysyms.h>
#include <common/panel-private.h>
#include <common/panel-utils.h>
@@ -67,14 +68,16 @@ enum
-static void launcher_dialog_items_set_item (GtkTreeModel *model,
- GtkTreeIter *iter,
- GarconMenuItem *item);
-static void launcher_dialog_tree_save (LauncherPluginDialog *dialog);
-static void launcher_dialog_tree_selection_changed (GtkTreeSelection *selection,
- LauncherPluginDialog *dialog);
-static void launcher_dialog_items_unload (LauncherPluginDialog *dialog);
-static void launcher_dialog_items_load (LauncherPluginDialog *dialog);
+static void launcher_dialog_items_set_item (GtkTreeModel *model,
+ GtkTreeIter *iter,
+ GarconMenuItem *item);
+static void launcher_dialog_tree_save (LauncherPluginDialog *dialog);
+static void launcher_dialog_tree_selection_changed (GtkTreeSelection *selection,
+ LauncherPluginDialog *dialog);
+static gboolean launcher_dialog_press_event (LauncherPluginDialog *dialog,
+ const gchar *object_name);
+static void launcher_dialog_items_unload (LauncherPluginDialog *dialog);
+static void launcher_dialog_items_load (LauncherPluginDialog *dialog);
@@ -297,24 +300,32 @@ launcher_dialog_add_button_press_event (GtkTreeView *treeview,
GdkEventButton *event,
LauncherPluginDialog *dialog)
{
- GObject *object;
-
panel_return_val_if_fail (GTK_IS_BUILDER (dialog->builder), FALSE);
panel_return_val_if_fail (GTK_IS_TREE_VIEW (treeview), FALSE);
- if (event->button == 1 && event->type == GDK_2BUTTON_PRESS
+ if (event->button == 1
+ && event->type == GDK_2BUTTON_PRESS
&& event->window == gtk_tree_view_get_bin_window (treeview)
&& gtk_tree_view_get_path_at_pos (treeview, event->x, event->y,
NULL, NULL, NULL, NULL))
- {
- object = gtk_builder_get_object (dialog->builder, "button-add");
- panel_return_val_if_fail (GTK_IS_BUTTON (object), FALSE);
- if (GTK_WIDGET_SENSITIVE (object))
- {
- gtk_button_clicked (GTK_BUTTON (object));
- return TRUE;
- }
- }
+ return launcher_dialog_press_event (dialog, "button-add");
+
+ return FALSE;
+}
+
+
+
+static gboolean
+launcher_dialog_add_key_press_event (GtkTreeView *treeview,
+ GdkEventKey *event,
+ LauncherPluginDialog *dialog)
+{
+ panel_return_val_if_fail (GTK_IS_BUILDER (dialog->builder), FALSE);
+ panel_return_val_if_fail (GTK_IS_TREE_VIEW (treeview), FALSE);
+
+ if (event->keyval == GDK_KEY_Return
+ || event->keyval == GDK_KEY_KP_Enter)
+ return launcher_dialog_press_event (dialog, "button-add");
return FALSE;
}
@@ -517,7 +528,6 @@ launcher_dialog_tree_drag_data_received (GtkWidget *treeview,
-
static void
launcher_dialog_tree_selection_changed (GtkTreeSelection *selection,
LauncherPluginDialog *dialog)
@@ -581,12 +591,31 @@ launcher_dialog_tree_selection_changed (GtkTreeSelection *selection,
static gboolean
+launcher_dialog_press_event (LauncherPluginDialog *dialog,
+ const gchar *object_name)
+{
+ GObject *object;
+
+ panel_return_val_if_fail (GTK_IS_BUILDER (dialog->builder), FALSE);
+
+ object = gtk_builder_get_object (dialog->builder, object_name);
+ panel_return_val_if_fail (GTK_IS_BUTTON (object), FALSE);
+ if (GTK_WIDGET_SENSITIVE (object))
+ {
+ gtk_button_clicked (GTK_BUTTON (object));
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+
+
+static gboolean
launcher_dialog_tree_button_press_event (GtkTreeView *treeview,
GdkEventButton *event,
LauncherPluginDialog *dialog)
{
- GObject *object;
-
panel_return_val_if_fail (GTK_IS_BUILDER (dialog->builder), FALSE);
panel_return_val_if_fail (GTK_IS_TREE_VIEW (treeview), FALSE);
@@ -594,15 +623,24 @@ launcher_dialog_tree_button_press_event (GtkTreeView *treeview,
&& event->window == gtk_tree_view_get_bin_window (treeview)
&& gtk_tree_view_get_path_at_pos (treeview, event->x, event->y,
NULL, NULL, NULL, NULL))
- {
- object = gtk_builder_get_object (dialog->builder, "item-edit");
- panel_return_val_if_fail (GTK_IS_BUTTON (object), FALSE);
- if (GTK_WIDGET_SENSITIVE (object))
- {
- gtk_button_clicked (GTK_BUTTON (object));
- return TRUE;
- }
- }
+ return launcher_dialog_press_event (dialog, "item-edit");
+
+ return FALSE;
+}
+
+
+
+static gboolean
+launcher_dialog_tree_key_press_event (GtkTreeView *treeview,
+ GdkEventKey *event,
+ LauncherPluginDialog *dialog)
+{
+ panel_return_val_if_fail (GTK_IS_BUILDER (dialog->builder), FALSE);
+ panel_return_val_if_fail (GTK_IS_TREE_VIEW (treeview), FALSE);
+
+ if (event->keyval == GDK_KEY_Return
+ || event->keyval == GDK_KEY_KP_Enter)
+ return launcher_dialog_press_event (dialog, "item-edit");
return FALSE;
}
@@ -991,6 +1029,8 @@ launcher_dialog_show (LauncherPlugin *plugin)
launcher_dialog_tree_selection_changed (selection, dialog);
g_signal_connect (G_OBJECT (object), "button-press-event",
G_CALLBACK (launcher_dialog_tree_button_press_event), dialog);
+ g_signal_connect (G_OBJECT (object), "key-press-event",
+ G_CALLBACK (launcher_dialog_tree_key_press_event), dialog);
/* connect bindings to the advanced properties */
for (i = 0; i < G_N_ELEMENTS (binding_names); i++)
@@ -1006,7 +1046,7 @@ launcher_dialog_show (LauncherPlugin *plugin)
g_signal_connect (G_OBJECT (object), "response",
G_CALLBACK (launcher_dialog_add_response), dialog);
g_signal_connect (G_OBJECT (object), "delete-event",
- G_CALLBACK (gtk_true), NULL);
+ G_CALLBACK (gtk_widget_hide_on_delete), NULL);
/* setup sorting in the add dialog */
object = gtk_builder_get_object (builder, "add-store");
@@ -1025,6 +1065,8 @@ launcher_dialog_show (LauncherPlugin *plugin)
G_CALLBACK (launcher_dialog_add_selection_changed), dialog);
g_signal_connect (G_OBJECT (object), "button-press-event",
G_CALLBACK (launcher_dialog_add_button_press_event), dialog);
+ g_signal_connect (G_OBJECT (object), "key-press-event",
+ G_CALLBACK (launcher_dialog_add_key_press_event), dialog);
/* setup search filter in the add dialog */
object = gtk_builder_get_object (builder, "add-store-filter");
--
cgit v0.8.3.4
From de2ebcb59c77eeb30918d40271cb8ab0393d6fc0 Mon Sep 17 00:00:00 2001
From: Nick Schermer <nick@xfce.org>
Date: Sun, 07 Nov 2010 12:07:19 +0000
Subject: Don't destroy the about dialog.
---
diff --git a/panel/panel-dialogs.c b/panel/panel-dialogs.c
index 14596e9..f2f3b15 100644
--- a/panel/panel-dialogs.c
+++ b/panel/panel-dialogs.c
@@ -44,9 +44,6 @@ panel_dialogs_show_about_email_hook (GtkAboutDialog *dialog,
{
if (g_strcmp0 ("tictactoe@xfce.org", uri) == 0)
{
- /* gtk needs to finish some stuff before the dialog can be closed */
- exo_gtk_object_destroy_later (GTK_OBJECT (dialog));
-
/* open tic-tac-toe */
panel_tic_tac_toe_show ();
}
--
cgit v0.8.3.4
From 50c4281e5b8c36107732d0d48dd55e5ee7b9b549 Mon Sep 17 00:00:00 2001
From: Nick Schermer <nick@xfce.org>
Date: Mon, 08 Nov 2010 21:10:16 +0000
Subject: Drop the automatics grouping option from tasklist.
Not implemented yet, so avoid the confusion.
---
diff --git a/plugins/tasklist/tasklist-dialog.glade b/plugins/tasklist/tasklist-dialog.glade
index a2e19a0..a779d52 100644
--- a/plugins/tasklist/tasklist-dialog.glade
+++ b/plugins/tasklist/tasklist-dialog.glade
@@ -349,10 +349,10 @@
<col id="0" translatable="yes">Never</col>
</row>
<row>
- <col id="0" translatable="yes">When space is limited</col>
+ <col id="0" translatable="yes">Always</col>
</row>
<row>
- <col id="0" translatable="yes">Always</col>
+ <col id="0" translatable="yes">When space is limited</col>
</row>
</data>
</object>
diff --git a/plugins/tasklist/tasklist-widget.c b/plugins/tasklist/tasklist-widget.c
index 72283ba..23cd967 100644
--- a/plugins/tasklist/tasklist-widget.c
+++ b/plugins/tasklist/tasklist-widget.c
@@ -307,7 +307,7 @@ xfce_tasklist_class_init (XfceTasklistClass *klass)
g_param_spec_uint ("grouping",
NULL, NULL,
XFCE_TASKLIST_GROUPING_MIN,
- XFCE_TASKLIST_GROUPING_MAX,
+ XFCE_TASKLIST_GROUPING_MAX + 1 /* TODO drop this later */,
XFCE_TASKLIST_GROUPING_DEFAULT,
EXO_PARAM_READWRITE));
@@ -765,10 +765,12 @@ xfce_tasklist_size_layout (XfceTasklist *tasklist,
n_buttons = tasklist->n_windows;
n_buttons_target = ((alloc->width / max_button_length) + 1) * rows;
+#if 0
if (tasklist->grouping == XFCE_TASKLIST_GROUPING_AUTO)
{
/* try creating group buttons */
}
+#endif
/* we now push the windows with the lowest score in the
* overflow menu */
@@ -2918,9 +2920,11 @@ xfce_tasklist_group_button_child_destroyed (XfceTasklistChild *group_child,
}
if ((group_child->tasklist->grouping == XFCE_TASKLIST_GROUPING_ALWAYS
- && n_children > 0)
+ && n_children > 0))
+#if 0
|| (group_child->tasklist->grouping == XFCE_TASKLIST_GROUPING_AUTO
&& n_children > 1))
+#endif
{
xfce_tasklist_group_button_child_visible_changed (group_child);
xfce_tasklist_group_button_name_changed (NULL, group_child);
@@ -3148,6 +3152,10 @@ xfce_tasklist_set_grouping (XfceTasklist *tasklist,
{
panel_return_if_fail (XFCE_IS_TASKLIST (tasklist));
+ /* TODO avoid overflow, because we allows + 1 in the object */
+ if (grouping > XFCE_TASKLIST_GROUPING_MAX)
+ grouping = XFCE_TASKLIST_GROUPING_MAX;
+
if (tasklist->grouping != grouping)
{
tasklist->grouping = grouping;
diff --git a/plugins/tasklist/tasklist-widget.h b/plugins/tasklist/tasklist-widget.h
index c903260..c0574e4 100644
--- a/plugins/tasklist/tasklist-widget.h
+++ b/plugins/tasklist/tasklist-widget.h
@@ -40,12 +40,12 @@ typedef enum _XfceTasklistSortOrder XfceTasklistSortOrder;
enum _XfceTasklistGrouping
{
XFCE_TASKLIST_GROUPING_NEVER,
- XFCE_TASKLIST_GROUPING_AUTO, /* when space is limited */
XFCE_TASKLIST_GROUPING_ALWAYS,
+ /*XFCE_TASKLIST_GROUPING_AUTO, *//* when space is limited */
XFCE_TASKLIST_GROUPING_MIN = XFCE_TASKLIST_GROUPING_NEVER,
XFCE_TASKLIST_GROUPING_MAX = XFCE_TASKLIST_GROUPING_ALWAYS,
- XFCE_TASKLIST_GROUPING_DEFAULT = XFCE_TASKLIST_GROUPING_AUTO
+ XFCE_TASKLIST_GROUPING_DEFAULT = XFCE_TASKLIST_GROUPING_NEVER
};
enum _XfceTasklistSortOrder
diff --git a/plugins/tasklist/tasklist.c b/plugins/tasklist/tasklist.c
index d69c1b9..407a150 100644
--- a/plugins/tasklist/tasklist.c
+++ b/plugins/tasklist/tasklist.c
@@ -185,6 +185,7 @@ tasklist_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
GtkBuilder *builder;
GObject *dialog;
GObject *object;
+ GtkTreeIter iter;
/* setup the dialog */
PANEL_UTILS_LINK_4UI
@@ -222,6 +223,11 @@ tasklist_plugin_configure_plugin (XfcePanelPlugin *panel_plugin)
gtk_widget_hide (GTK_WIDGET (object));
#endif
+ /* TODO: remove this if always group is supported */
+ object = gtk_builder_get_object (builder, "grouping-model");
+ if (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (object), &iter, NULL, 2))
+ gtk_list_store_remove (GTK_LIST_STORE (object), &iter);
+
gtk_widget_show (GTK_WIDGET (dialog));
}
--
cgit v0.8.3.4
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment