[gnome-panel/wip/3.0-freeze-break: 2/32] panel: Drop drawers
- From: Vincent Untz <vuntz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel/wip/3.0-freeze-break: 2/32] panel: Drop drawers
- Date: Thu, 24 Mar 2011 17:52:50 +0000 (UTC)
commit e95efdae3ff16741452063a88b1c513f9e1bdedc
Author: Vincent Untz <vuntz gnome org>
Date: Wed Mar 23 10:05:31 2011 +0100
panel: Drop drawers
It's finally time to drop drawers:
- there are always been various issues here and there, and they've
never got fixed
- it added complexity to the code
- number of users using it is small
- 3.0 is a good time to do this change
gnome-panel/Makefile.am | 2 -
gnome-panel/applet.c | 65 +---
gnome-panel/applet.h | 1 -
gnome-panel/drawer.c | 806 -------------------------------
gnome-panel/drawer.h | 48 --
gnome-panel/launcher.c | 18 -
gnome-panel/main.c | 5 -
gnome-panel/menu.c | 1 -
gnome-panel/panel-action-button.c | 9 -
gnome-panel/panel-addto.c | 36 +--
gnome-panel/panel-compatibility.c | 148 +------
gnome-panel/panel-config-global.c | 13 -
gnome-panel/panel-config-global.h | 1 -
gnome-panel/panel-context-menu.c | 18 +-
gnome-panel/panel-enums.h | 1 -
gnome-panel/panel-global.schemas.in | 6 +-
gnome-panel/panel-icon-names.h | 1 -
gnome-panel/panel-object.schemas.in | 7 +-
gnome-panel/panel-profile.c | 119 -----
gnome-panel/panel-profile.h | 9 -
gnome-panel/panel-properties-dialog.c | 129 +-----
gnome-panel/panel-properties-dialog.ui | 42 +--
gnome-panel/panel-struts.c | 26 +-
gnome-panel/panel-toplevel.c | 577 +----------------------
gnome-panel/panel-toplevel.h | 10 +-
gnome-panel/panel-widget.c | 115 -----
gnome-panel/panel-widget.h | 7 -
gnome-panel/panel.c | 111 +----
icons/16x16/Makefile.am | 2 -
icons/16x16/gnome-panel-drawer.png | Bin 444 -> 0 bytes
icons/16x16/gnome-panel-drawer.svg | 297 ------------
icons/22x22/Makefile.am | 2 -
icons/22x22/gnome-panel-drawer.png | Bin 718 -> 0 bytes
icons/22x22/gnome-panel-drawer.svg | 352 --------------
icons/24x24/Makefile.am | 1 -
icons/24x24/gnome-panel-drawer.png | Bin 715 -> 0 bytes
icons/32x32/Makefile.am | 2 -
icons/32x32/gnome-panel-drawer.png | Bin 865 -> 0 bytes
icons/32x32/gnome-panel-drawer.svg | 486 -------------------
icons/scalable/Makefile.am | 1 -
icons/scalable/gnome-panel-drawer.svg | 819 --------------------------------
41 files changed, 58 insertions(+), 4235 deletions(-)
---
diff --git a/gnome-panel/Makefile.am b/gnome-panel/Makefile.am
index f942714..e47e473 100644
--- a/gnome-panel/Makefile.am
+++ b/gnome-panel/Makefile.am
@@ -32,7 +32,6 @@ panel_sources = \
panel-compatibility.c \
panel.c \
applet.c \
- drawer.c \
panel-config-global.c \
panel-util.c \
panel-gconf.c \
@@ -79,7 +78,6 @@ panel_headers = \
panel-compatibility.h \
panel.h \
applet.h \
- drawer.h \
panel-util.h \
panel-properties-dialog.h \
panel-config-global.h \
diff --git a/gnome-panel/applet.c b/gnome-panel/applet.c
index 1a307c2..6cf0f8a 100644
--- a/gnome-panel/applet.c
+++ b/gnome-panel/applet.c
@@ -17,8 +17,8 @@
#include <libpanel-util/panel-show.h>
#include "button-widget.h"
-#include "drawer.h"
#include "launcher.h"
+#include "panel.h"
#include "panel-addto.h"
#include "panel-bindings.h"
#include "panel-gconf.h"
@@ -42,6 +42,7 @@ static GSList *registered_applets = NULL;
static GSList *queued_position_saves = NULL;
static guint queued_position_source = 0;
+static GtkWidget *panel_applet_get_menu (AppletInfo *info);
static void applet_menu_show (GtkWidget *w, AppletInfo *info);
static void applet_menu_deactivate (GtkWidget *w, AppletInfo *info);
@@ -56,9 +57,6 @@ panel_applet_set_dnd_enabled (AppletInfo *info,
gboolean dnd_enabled)
{
switch (info->type) {
- case PANEL_OBJECT_DRAWER:
- panel_drawer_set_dnd_enabled (info->data, dnd_enabled);
- break;
case PANEL_OBJECT_MENU:
panel_menu_button_set_dnd_enabled (PANEL_MENU_BUTTON (info->widget),
dnd_enabled);
@@ -252,10 +250,7 @@ applet_remove_callback (GtkWidget *widget,
AppletInfo *info)
{
- if (info->type == PANEL_OBJECT_DRAWER)
- drawer_query_deletion (info->data);
- else
- panel_profile_delete_object (info);
+ panel_profile_delete_object (info);
}
static inline GdkScreen *
@@ -285,21 +280,6 @@ applet_callback_callback (GtkWidget *widget,
else if (!strcmp (menu->name, "properties"))
launcher_properties (menu->info->data);
break;
- case PANEL_OBJECT_DRAWER:
- if (strcmp (menu->name, "add") == 0) {
- Drawer *drawer = menu->info->data;
-
- panel_addto_present (GTK_MENU_ITEM (widget),
- panel_toplevel_get_panel_widget (drawer->toplevel));
- } else if (strcmp (menu->name, "properties") == 0) {
- Drawer *drawer = menu->info->data;
-
- panel_properties_dialog_present (drawer->toplevel);
- } else if (strcmp (menu->name, "help") == 0) {
- panel_show_help (screen,
- "user-guide", "gospanel-18", NULL);
- }
- break;
case PANEL_OBJECT_MENU:
panel_menu_button_invoke_menu (
PANEL_MENU_BUTTON (menu->info->widget), menu->name);
@@ -526,7 +506,7 @@ panel_applet_create_bare_menu (AppletInfo *info)
return menu;
}
-GtkWidget *
+static GtkWidget *
panel_applet_get_menu (AppletInfo *info)
{
GtkWidget *menu;
@@ -845,21 +825,6 @@ panel_applet_destroy (GtkWidget *widget,
queued_position_saves =
g_slist_remove (queued_position_saves, info);
- if (info->type == PANEL_OBJECT_DRAWER) {
- Drawer *drawer = info->data;
-
- if (drawer->toplevel) {
- PanelWidget *panel_widget;
-
- panel_widget = panel_toplevel_get_panel_widget (
- drawer->toplevel);
- panel_widget->master_widget = NULL;
-
- gtk_widget_destroy (GTK_WIDGET (drawer->toplevel));
- drawer->toplevel = NULL;
- }
- }
-
if (info->type != PANEL_OBJECT_APPLET)
panel_lockdown_notify_remove (G_CALLBACK (panel_applet_recreate_menus),
info);
@@ -1061,12 +1026,6 @@ panel_applet_load_idle_handler (gpointer dummy)
applet->position,
applet->id);
break;
- case PANEL_OBJECT_DRAWER:
- drawer_load_from_gconf (panel_widget,
- applet->locked,
- applet->position,
- applet->id);
- break;
case PANEL_OBJECT_MENU:
panel_menu_button_load_from_gconf (panel_widget,
applet->locked,
@@ -1424,22 +1383,6 @@ panel_applet_register (GtkWidget *applet,
(GConfClientNotifyFunc) panel_applet_locked_change_notify,
G_OBJECT (applet));
- if (type == PANEL_OBJECT_DRAWER) {
- Drawer *drawer = data;
- PanelWidget *assoc_panel;
-
- assoc_panel = panel_toplevel_get_panel_widget (drawer->toplevel);
-
- g_object_set_data (G_OBJECT (applet),
- PANEL_APPLET_ASSOC_PANEL_KEY, assoc_panel);
- assoc_panel->master_widget = applet;
- g_object_add_weak_pointer (
- G_OBJECT (applet), (gpointer *) &assoc_panel->master_widget);
- }
-
- g_object_set_data (G_OBJECT (applet),
- PANEL_APPLET_FORBIDDEN_PANELS, NULL);
-
registered_applets = g_slist_append (registered_applets, info);
if (panel_widget_add (panel, applet, locked, pos, exactpos) == -1 &&
diff --git a/gnome-panel/applet.h b/gnome-panel/applet.h
index 5edd598..62b8b7e 100644
--- a/gnome-panel/applet.h
+++ b/gnome-panel/applet.h
@@ -98,7 +98,6 @@ gboolean panel_applet_can_freely_move (AppletInfo *applet);
/* True if the locked flag is writable */
gboolean panel_applet_lockable (AppletInfo *applet);
-GtkWidget *panel_applet_get_menu (AppletInfo *info);
GtkWidget *panel_applet_get_edit_menu (AppletInfo *info);
void panel_applet_menu_set_recurse (GtkMenu *menu,
diff --git a/gnome-panel/launcher.c b/gnome-panel/launcher.c
index df65d6b..9c42b1f 100644
--- a/gnome-panel/launcher.c
+++ b/gnome-panel/launcher.c
@@ -165,24 +165,6 @@ launcher_launch (Launcher *launcher,
}
}
g_free (type);
-
- if (panel_global_config_get_drawer_auto_close ()) {
- PanelToplevel *toplevel;
- PanelToplevel *parent;
-
- toplevel = PANEL_WIDGET (gtk_widget_get_parent (launcher->button))->toplevel;
-
- if (panel_toplevel_get_is_attached (toplevel)) {
- parent = panel_toplevel_get_attach_toplevel (toplevel);
-
- while (panel_toplevel_get_is_attached (parent)) {
- toplevel = parent;
- parent = panel_toplevel_get_attach_toplevel (toplevel);
- }
-
- panel_toplevel_hide (toplevel, FALSE, -1);
- }
- }
}
static void
diff --git a/gnome-panel/main.c b/gnome-panel/main.c
index fa5ffff..e6a0d56 100644
--- a/gnome-panel/main.c
+++ b/gnome-panel/main.c
@@ -112,11 +112,6 @@ main (int argc, char **argv)
panel_lockdown_init ();
panel_profile_load ();
- /*add forbidden lists to ALL panels*/
- g_slist_foreach (panels,
- (GFunc)panel_widget_add_forbidden,
- NULL);
-
xstuff_init ();
/* Flush to make sure our struts are seen by everyone starting
diff --git a/gnome-panel/menu.c b/gnome-panel/menu.c
index 4953d23..60175f7 100644
--- a/gnome-panel/menu.c
+++ b/gnome-panel/menu.c
@@ -37,7 +37,6 @@
#include "launcher.h"
#include "panel-util.h"
#include "panel.h"
-#include "drawer.h"
#include "panel-config-global.h"
#include "panel-stock-icons.h"
#include "panel-action-button.h"
diff --git a/gnome-panel/panel-action-button.c b/gnome-panel/panel-action-button.c
index 4648106..2ee9b6f 100644
--- a/gnome-panel/panel-action-button.c
+++ b/gnome-panel/panel-action-button.c
@@ -549,15 +549,6 @@ panel_action_button_clicked (GtkButton *gtk_button)
g_return_if_fail (button->priv->type > PANEL_ACTION_NONE);
g_return_if_fail (button->priv->type < PANEL_ACTION_LAST);
- if (panel_global_config_get_drawer_auto_close ()) {
- PanelToplevel *toplevel;
-
- toplevel = PANEL_WIDGET (gtk_widget_get_parent (GTK_WIDGET (button)))->toplevel;
-
- if (panel_toplevel_get_is_attached (toplevel))
- panel_toplevel_hide (toplevel, FALSE, -1);
- }
-
if (actions [button->priv->type].invoke)
actions [button->priv->type].invoke (GTK_WIDGET (button));
}
diff --git a/gnome-panel/panel-addto.c b/gnome-panel/panel-addto.c
index 9b65b40..4e77536 100644
--- a/gnome-panel/panel-addto.c
+++ b/gnome-panel/panel-addto.c
@@ -34,7 +34,6 @@
#include "launcher.h"
#include "panel.h"
-#include "drawer.h"
#include "panel-applets-manager.h"
#include "panel-applet-frame.h"
#include "panel-action-button.h"
@@ -87,8 +86,7 @@ typedef enum {
PANEL_ADDTO_LAUNCHER_NEW,
PANEL_ADDTO_MENU,
PANEL_ADDTO_MENUBAR,
- PANEL_ADDTO_SEPARATOR,
- PANEL_ADDTO_DRAWER
+ PANEL_ADDTO_SEPARATOR
} PanelAddtoItemType;
typedef struct {
@@ -168,17 +166,6 @@ static PanelAddtoItemInfo internal_addto_items [] = {
NULL,
NULL,
"SEPARATOR:NEW",
- TRUE },
-
- { PANEL_ADDTO_DRAWER,
- N_("Drawer"),
- N_("A pop out drawer to store other items in"),
- PANEL_ICON_DRAWER,
- PANEL_ACTION_NONE,
- NULL,
- NULL,
- NULL,
- "DRAWER:NEW",
TRUE }
};
@@ -805,11 +792,6 @@ panel_addto_add_item (PanelAddtoDialog *dialog,
panel_separator_create (dialog->panel_widget->toplevel,
dialog->insertion_position);
break;
- case PANEL_ADDTO_DRAWER:
- panel_drawer_create (dialog->panel_widget->toplevel,
- dialog->insertion_position,
- NULL, FALSE, NULL);
- break;
}
}
@@ -1035,7 +1017,6 @@ static void
panel_addto_name_change (PanelAddtoDialog *dialog,
const char *name)
{
- char *title;
char *label;
label = NULL;
@@ -1044,18 +1025,11 @@ panel_addto_name_change (PanelAddtoDialog *dialog,
label = g_strdup_printf (_("Find an _item to add to \"%s\":"),
name);
- if (panel_toplevel_get_is_attached (dialog->panel_widget->toplevel)) {
- title = g_strdup_printf (_("Add to Drawer"));
- if (label == NULL)
- label = g_strdup (_("Find an _item to add to the drawer:"));
- } else {
- title = g_strdup_printf (_("Add to Panel"));
- if (label == NULL)
- label = g_strdup (_("Find an _item to add to the panel:"));
- }
+ if (label == NULL)
+ label = g_strdup (_("Find an _item to add to the panel:"));
- gtk_window_set_title (GTK_WINDOW (dialog->addto_dialog), title);
- g_free (title);
+ gtk_window_set_title (GTK_WINDOW (dialog->addto_dialog),
+ _("Add to Panel"));
gtk_label_set_text_with_mnemonic (GTK_LABEL (dialog->label), label);
g_free (label);
diff --git a/gnome-panel/panel-compatibility.c b/gnome-panel/panel-compatibility.c
index 359e732..20451ff 100644
--- a/gnome-panel/panel-compatibility.c
+++ b/gnome-panel/panel-compatibility.c
@@ -43,33 +43,6 @@ typedef enum {
PANEL_ORIENT_RIGHT,
} PanelOrient;
-static GConfEnumStringPair panel_orient_map [] = {
- { PANEL_ORIENT_UP, "panel-orient-up" },
- { PANEL_ORIENT_DOWN, "panel-orient-down" },
- { PANEL_ORIENT_LEFT, "panel-orient-left" },
- { PANEL_ORIENT_RIGHT, "panel-orient-right" },
- { 0, NULL }
-};
-
-static gboolean
-panel_compatibility_map_orient_string (const char *str,
- PanelOrient *orient)
-{
- int mapped;
-
- g_return_val_if_fail (orient != NULL, FALSE);
-
- if (!str)
- return FALSE;
-
- if (!gconf_string_to_enum (panel_orient_map, str, &mapped))
- return FALSE;
-
- *orient = mapped;
-
- return TRUE;
-}
-
static GConfEnumStringPair panel_orientation_map [] = {
{ GTK_ORIENTATION_HORIZONTAL, "panel-orientation-horizontal" },
{ GTK_ORIENTATION_VERTICAL, "panel-orientation-vertical" },
@@ -132,7 +105,6 @@ panel_compatibility_map_edge_string (const char *str,
typedef enum {
EDGE_PANEL,
- DRAWER_PANEL,
ALIGNED_PANEL,
SLIDING_PANEL,
FLOATING_PANEL,
@@ -141,7 +113,6 @@ typedef enum {
static GConfEnumStringPair panel_type_map [] = {
{ EDGE_PANEL, "edge-panel" },
- { DRAWER_PANEL, "drawer-panel" },
{ ALIGNED_PANEL, "aligned-panel" },
{ SLIDING_PANEL, "sliding-panel" },
{ FLOATING_PANEL, "floating-panel" },
@@ -377,53 +348,6 @@ panel_compatibility_migrate_edge_panel_settings (GConfClient *client,
}
static void
-panel_compatibility_migrate_drawer_panel_settings (GConfClient *client,
- const char *toplevel_dir,
- const char *panel_dir)
-{
- PanelOrient orient;
- const char *key;
- char *orient_str;
-
- key = panel_gconf_sprintf ("%s/expand", toplevel_dir);
- gconf_client_set_bool (client, key, FALSE, NULL);
-
- key = panel_gconf_sprintf ("%s/panel_orient", panel_dir);
- orient_str = gconf_client_get_string (client, key, NULL);
-
- if (panel_compatibility_map_orient_string (orient_str, &orient)) {
- PanelOrientation orientation;
-
- switch (orient) {
- case PANEL_ORIENT_DOWN:
- orientation = PANEL_ORIENTATION_TOP;
- break;
- case PANEL_ORIENT_UP:
- orientation = PANEL_ORIENTATION_BOTTOM;
- break;
- case PANEL_ORIENT_RIGHT:
- orientation = PANEL_ORIENTATION_LEFT;
- break;
- case PANEL_ORIENT_LEFT:
- orientation = PANEL_ORIENTATION_RIGHT;
- break;
- default:
- orientation = 0;
- g_assert_not_reached ();
- break;
- }
-
- key = panel_gconf_sprintf ("%s/orientation", toplevel_dir);
- gconf_client_set_string (client,
- key,
- panel_profile_map_orientation (orientation),
- NULL);
- }
-
- g_free (orient_str);
-}
-
-static void
panel_compatibility_migrate_corner_panel_settings (GConfClient *client,
const char *toplevel_dir,
const char *panel_dir)
@@ -549,8 +473,7 @@ panel_compatibility_migrate_menu_panel_settings (GConfClient *client,
static void
panel_compatibility_migrate_panel_type (GConfClient *client,
const char *toplevel_dir,
- const char *panel_dir,
- gboolean *is_drawer)
+ const char *panel_dir)
{
PanelType type;
const char *key;
@@ -570,10 +493,6 @@ panel_compatibility_migrate_panel_type (GConfClient *client,
case EDGE_PANEL:
panel_compatibility_migrate_edge_panel_settings (client, toplevel_dir, panel_dir);
break;
- case DRAWER_PANEL:
- panel_compatibility_migrate_drawer_panel_settings (client, toplevel_dir, panel_dir);
- *is_drawer = TRUE;
- break;
case ALIGNED_PANEL:
panel_compatibility_migrate_corner_panel_settings (client, toplevel_dir, panel_dir);
break;
@@ -595,8 +514,7 @@ panel_compatibility_migrate_panel_type (GConfClient *client,
static char *
panel_compatibility_migrate_panel_settings (GConfClient *client,
GSList *toplevel_id_list,
- const char *panel_id,
- gboolean *is_drawer)
+ const char *panel_id)
{
const char *key;
char *toplevel_id;
@@ -665,7 +583,7 @@ panel_compatibility_migrate_panel_settings (GConfClient *client,
gconf_client_set_bool (client, key, auto_hide, NULL);
/* migrate different panel types to toplevels */
- panel_compatibility_migrate_panel_type (client, toplevel_dir, panel_dir, is_drawer);
+ panel_compatibility_migrate_panel_type (client, toplevel_dir, panel_dir);
/* background settings */
panel_compatibility_migrate_background_settings (client, toplevel_dir, panel_dir);
@@ -704,54 +622,6 @@ panel_compatibility_migrate_panel_id (GConfClient *client,
}
static void
-panel_compatibility_migrate_drawer_settings (GConfClient *client,
- PanelGConfKeyType key_type,
- const char *object_id,
- GHashTable *panel_id_hash)
-{
- const char *key;
- char *toplevel_id;
- char *panel_id;
- char *custom_icon;
- char *pixmap;
-
- /* unique-drawer-panel-id -> attached_toplevel_id */
- key = panel_gconf_full_key (key_type, object_id, "attached_toplevel_id");
- toplevel_id = gconf_client_get_string (client, key, NULL);
-
- key = panel_gconf_full_key (key_type, object_id, "unique-drawer-panel-id");
- panel_id = gconf_client_get_string (client, key, NULL);
-
- if (!toplevel_id && panel_id &&
- (toplevel_id = g_hash_table_lookup (panel_id_hash, panel_id))) {
- key = panel_gconf_full_key (key_type, object_id, "attached_toplevel_id");
- gconf_client_set_string (client, key, toplevel_id, NULL);
-
- toplevel_id = NULL;
- }
-
- /* pixmap -> custom_icon */
- key = panel_gconf_full_key (key_type, object_id, "custom_icon");
- custom_icon = gconf_client_get_string (client, key, NULL);
-
- key = panel_gconf_full_key (key_type, object_id, "pixmap");
- pixmap = gconf_client_get_string (client, key, NULL);
-
- if (!custom_icon && pixmap) {
- key = panel_gconf_full_key (key_type, object_id, "custom_icon");
- gconf_client_set_string (client, key, pixmap, NULL);
-
- key = panel_gconf_full_key (key_type, object_id, "use_custom_icon");
- gconf_client_set_bool (client, key, TRUE, NULL);
- }
-
- g_free (toplevel_id);
- g_free (panel_id);
- g_free (custom_icon);
- g_free (pixmap);
-}
-
-static void
panel_compatibility_migrate_menu_button_settings (GConfClient *client,
PanelGConfKeyType key_type,
const char *object_id)
@@ -824,10 +694,6 @@ panel_compatibility_migrate_objects (GConfClient *client,
if (panel_profile_map_object_type_string (object_type_str, &object_type)) {
switch (object_type) {
- case PANEL_OBJECT_DRAWER:
- panel_compatibility_migrate_drawer_settings (
- client, key_type, id, panel_id_hash);
- break;
case PANEL_OBJECT_MENU:
panel_compatibility_migrate_menu_button_settings (
client, key_type, id);
@@ -937,16 +803,12 @@ panel_compatibility_migrate_panel_id_list (GConfClient *client)
for (l = panel_id_list; l; l = l->next) {
char *new_id;
- gboolean is_drawer = FALSE;
new_id = panel_compatibility_migrate_panel_settings (client,
toplevel_id_list,
- l->data,
- &is_drawer);
+ l->data);
- /* Drawer toplevels don't belong on the toplevel list */
- if (!is_drawer)
- toplevel_id_list = g_slist_prepend (toplevel_id_list, new_id);
+ toplevel_id_list = g_slist_prepend (toplevel_id_list, new_id);
g_hash_table_insert (panel_id_hash, l->data, new_id);
}
diff --git a/gnome-panel/panel-config-global.c b/gnome-panel/panel-config-global.c
index 7a05263..34a8908 100644
--- a/gnome-panel/panel-config-global.c
+++ b/gnome-panel/panel-config-global.c
@@ -36,7 +36,6 @@
typedef struct {
guint tooltips_enabled : 1;
guint enable_animations : 1;
- guint drawer_auto_close : 1;
guint confirm_panel_remove : 1;
guint highlight_when_over : 1;
} GlobalConfig;
@@ -61,14 +60,6 @@ panel_global_config_get_enable_animations (void)
}
gboolean
-panel_global_config_get_drawer_auto_close (void)
-{
- g_assert (global_config_initialised == TRUE);
-
- return global_config.drawer_auto_close;
-}
-
-gboolean
panel_global_config_get_tooltips_enabled (void)
{
g_assert (global_config_initialised == TRUE);
@@ -106,10 +97,6 @@ panel_global_config_set_entry (GConfEntry *entry)
global_config.enable_animations =
gconf_value_get_bool (value);
- else if (strcmp (key, "drawer_autoclose") == 0)
- global_config.drawer_auto_close =
- gconf_value_get_bool (value);
-
else if (strcmp (key, "confirm_panel_remove") == 0)
global_config.confirm_panel_remove =
gconf_value_get_bool (value);
diff --git a/gnome-panel/panel-config-global.h b/gnome-panel/panel-config-global.h
index 85714bf..2b436e2 100644
--- a/gnome-panel/panel-config-global.h
+++ b/gnome-panel/panel-config-global.h
@@ -34,7 +34,6 @@ void panel_global_config_load (void);
gboolean panel_global_config_get_highlight_when_over (void);
gboolean panel_global_config_get_enable_animations (void);
-gboolean panel_global_config_get_drawer_auto_close (void);
gboolean panel_global_config_get_tooltips_enabled (void);
gboolean panel_global_config_get_confirm_panel_remove (void);
diff --git a/gnome-panel/panel-context-menu.c b/gnome-panel/panel-context-menu.c
index b9f8f5f..0fe9367 100644
--- a/gnome-panel/panel-context-menu.c
+++ b/gnome-panel/panel-context-menu.c
@@ -41,7 +41,6 @@
#include "panel-util.h"
#include "panel.h"
#include "menu.h"
-#include "applet.h"
#include "panel-config-global.h"
#include "panel-profile.h"
#include "panel-properties-dialog.h"
@@ -58,7 +57,7 @@ panel_context_menu_create_new_panel (GtkWidget *menuitem)
static void
panel_context_menu_delete_panel (PanelToplevel *toplevel)
{
- if (panel_toplevel_is_last_unattached (toplevel)) {
+ if (panel_toplevel_is_last (toplevel)) {
panel_error_dialog (GTK_WINDOW (toplevel),
gtk_window_get_screen (GTK_WINDOW (toplevel)),
"cannot_delete_last_panel", TRUE,
@@ -107,7 +106,7 @@ panel_context_menu_setup_delete_panel_item (GtkWidget *menu,
g_assert (PANEL_IS_TOPLEVEL (panel_widget->toplevel));
sensitive =
- !panel_toplevel_is_last_unattached (panel_widget->toplevel) &&
+ !panel_toplevel_is_last (panel_widget->toplevel) &&
!panel_lockdown_get_locked_down () &&
panel_profile_id_lists_are_writable ();
@@ -174,19 +173,6 @@ panel_context_menu_create (PanelWidget *panel)
{
GtkWidget *retval;
- if (panel->master_widget) {
- gpointer *pointer;
- AppletInfo *info;
-
- pointer = g_object_get_data (G_OBJECT (panel->master_widget),
- "applet_info");
-
- g_assert (pointer != NULL);
- info = (AppletInfo *) pointer;
-
- return panel_applet_get_menu (info);
- }
-
if (panel_lockdown_get_locked_down ())
return NULL;
diff --git a/gnome-panel/panel-enums.h b/gnome-panel/panel-enums.h
index 019d1dc..296f663 100644
--- a/gnome-panel/panel-enums.h
+++ b/gnome-panel/panel-enums.h
@@ -75,7 +75,6 @@ typedef enum {
} PanelGConfKeyType;
typedef enum {
- PANEL_OBJECT_DRAWER,
PANEL_OBJECT_MENU,
PANEL_OBJECT_LAUNCHER,
PANEL_OBJECT_APPLET,
diff --git a/gnome-panel/panel-global.schemas.in b/gnome-panel/panel-global.schemas.in
index 6d8747c..3cadc79 100644
--- a/gnome-panel/panel-global.schemas.in
+++ b/gnome-panel/panel-global.schemas.in
@@ -159,10 +159,8 @@ Panel Global Config Schema File - work in progress
<type>bool</type>
<default>true</default>
<locale name="C">
- <short>Autoclose drawer</short>
- <long>If true, a drawer will automatically be closed
- when the user clicks a launcher in it.
- </long>
+ <short>Deprecated</short>
+ <long></long>
</locale>
</schema>
diff --git a/gnome-panel/panel-icon-names.h b/gnome-panel/panel-icon-names.h
index d09052c..0df99a4 100644
--- a/gnome-panel/panel-icon-names.h
+++ b/gnome-panel/panel-icon-names.h
@@ -5,7 +5,6 @@
#define PANEL_ICON_BURNER "nautilus-cd-burner"
#define PANEL_ICON_COMPUTER "computer"
#define PANEL_ICON_DESKTOP "user-desktop"
-#define PANEL_ICON_DRAWER "gnome-panel-drawer"
#define PANEL_ICON_FILESYSTEM "drive-harddisk"
#define PANEL_ICON_FOLDER "folder"
#define PANEL_ICON_FOLDER_DOCUMENTS "folder-documents"
diff --git a/gnome-panel/panel-object.schemas.in b/gnome-panel/panel-object.schemas.in
index 5a0943d..dfab892 100644
--- a/gnome-panel/panel-object.schemas.in
+++ b/gnome-panel/panel-object.schemas.in
@@ -120,11 +120,8 @@
<type>string</type>
<default></default>
<locale name="C">
- <short>Panel attached to drawer</short>
- <long>
- The identifier of the panel attached to this drawer. This
- key is only relevant if the object_type key is "drawer-object".
- </long>
+ <short>Deprecated</short>
+ <long></long>
</locale>
</schema>
diff --git a/gnome-panel/panel-profile.c b/gnome-panel/panel-profile.c
index 539830c..4407744 100644
--- a/gnome-panel/panel-profile.c
+++ b/gnome-panel/panel-profile.c
@@ -96,7 +96,6 @@ static GConfEnumStringPair panel_background_type_map [] = {
};
static GConfEnumStringPair panel_object_type_map [] = {
- { PANEL_OBJECT_DRAWER, "drawer-object" },
{ PANEL_OBJECT_MENU, "menu-object" },
{ PANEL_OBJECT_LAUNCHER, "launcher-object" },
{ PANEL_OBJECT_APPLET, "external-applet" },
@@ -631,118 +630,6 @@ TOPLEVEL_GET_SET_FUNCS ("background/fit", background, bool, fit,
TOPLEVEL_GET_SET_FUNCS ("background/stretch", background, bool, stretch, gboolean)
TOPLEVEL_GET_SET_FUNCS ("background/rotate", background, bool, rotate, gboolean)
-static const char *
-panel_profile_get_attached_object_key (PanelToplevel *toplevel,
- const char *key)
-{
- GtkWidget *attach_widget;
- const char *id;
-
- attach_widget = panel_toplevel_get_attach_widget (toplevel);
-
- id = panel_applet_get_id_by_widget (attach_widget);
-
- if (!id)
- return NULL;
-
- return panel_gconf_full_key (PANEL_GCONF_OBJECTS, id, key);
-}
-
-void
-panel_profile_set_attached_custom_icon (PanelToplevel *toplevel,
- const char *custom_icon)
-{
- GConfClient *client;
- const char *key;
-
- client = panel_gconf_get_client ();
-
- key = panel_profile_get_attached_object_key (toplevel, "use_custom_icon");
- if (key)
- gconf_client_set_bool (client, key, custom_icon != NULL, NULL);
-
- key = panel_profile_get_attached_object_key (toplevel, "custom_icon");
- if (key)
- gconf_client_set_string (client, key, sure_string (custom_icon), NULL);
-}
-
-char *
-panel_profile_get_attached_custom_icon (PanelToplevel *toplevel)
-{
- GConfClient *client;
- const char *key;
-
- client = panel_gconf_get_client ();
-
- key = panel_profile_get_attached_object_key (toplevel, "use_custom_icon");
- if (!key || !gconf_client_get_bool (client, key, NULL))
- return NULL;
-
- key = panel_profile_get_attached_object_key (toplevel, "custom_icon");
-
- return key ? gconf_client_get_string (client, key, NULL) : NULL;
-}
-
-gboolean
-panel_profile_is_writable_attached_custom_icon (PanelToplevel *toplevel)
-{
- GConfClient *client;
- const char *key;
-
- client = panel_gconf_get_client ();
-
- key = panel_profile_get_attached_object_key (toplevel, "use_custom_icon");
- if (!key)
- return TRUE;
-
- if (!gconf_client_key_is_writable (client, key, NULL))
- return FALSE;
-
- key = panel_profile_get_attached_object_key (toplevel, "custom_icon");
-
- return key ? gconf_client_key_is_writable (client, key, NULL) : TRUE;
-}
-
-void
-panel_profile_set_attached_tooltip (PanelToplevel *toplevel,
- const char *tooltip)
-{
- GConfClient *client;
- const char *key;
-
- client = panel_gconf_get_client ();
-
- key = panel_profile_get_attached_object_key (toplevel, "tooltip");
- if (key)
- gconf_client_set_string (client, key, tooltip, NULL);
-}
-
-char *
-panel_profile_get_attached_tooltip (PanelToplevel *toplevel)
-{
- GConfClient *client;
- const char *key;
-
- client = panel_gconf_get_client ();
-
- key = panel_profile_get_attached_object_key (toplevel, "tooltip");
-
- return key ? gconf_client_get_string (client, key, NULL) : NULL;
-}
-
-gboolean
-panel_profile_is_writable_attached_tooltip (PanelToplevel *toplevel)
-{
- GConfClient *client;
- const char *key;
-
- client = panel_gconf_get_client ();
-
- key = panel_profile_get_attached_object_key (toplevel, "tooltip");
-
- return key ? gconf_client_key_is_writable (client, key, NULL) : TRUE;
-}
-
static PanelBackgroundType
get_background_type (GConfClient *client,
const char *toplevel_dir)
@@ -1459,7 +1346,6 @@ panel_profile_find_empty_spot (GdkScreen *screen,
int toplevel_monitor = panel_toplevel_get_monitor (toplevel);
if (toplevel_screen != screen ||
- panel_toplevel_get_is_attached (toplevel) ||
toplevel_monitor < 0)
continue;
@@ -2171,11 +2057,6 @@ panel_profile_toplevel_id_list_notify (GConfClient *client,
existing_toplevels = NULL;
for (l = panel_toplevel_list_toplevels (); l; l = l->next) {
PanelToplevel *toplevel = l->data;
-
- /* Attached toplevels aren't on the id list */
- if (panel_toplevel_get_is_attached (toplevel))
- continue;
-
existing_toplevels = g_slist_prepend (existing_toplevels, toplevel);
}
diff --git a/gnome-panel/panel-profile.h b/gnome-panel/panel-profile.h
index 7f0ec72..636a0a0 100644
--- a/gnome-panel/panel-profile.h
+++ b/gnome-panel/panel-profile.h
@@ -143,15 +143,6 @@ void panel_profile_set_background_rotate (PanelToplevel *topl
gboolean panel_profile_get_background_rotate (PanelToplevel *toplevel);
gboolean panel_profile_is_writable_background_rotate (PanelToplevel *toplevel);
-void panel_profile_set_attached_custom_icon (PanelToplevel *toplevel,
- const char *custom_icon);
-char *panel_profile_get_attached_custom_icon (PanelToplevel *toplevel);
-gboolean panel_profile_is_writable_attached_custom_icon (PanelToplevel *toplevel);
-void panel_profile_set_attached_tooltip (PanelToplevel *toplevel,
- const char *custom_icon);
-char *panel_profile_get_attached_tooltip (PanelToplevel *toplevel);
-gboolean panel_profile_is_writable_attached_tooltip (PanelToplevel *toplevel);
-
guint panel_profile_toplevel_notify_add (PanelToplevel *toplevel,
const char *key,
GConfClientNotifyFunc func,
diff --git a/gnome-panel/panel-properties-dialog.c b/gnome-panel/panel-properties-dialog.c
index 29e0d32..653b322 100644
--- a/gnome-panel/panel-properties-dialog.c
+++ b/gnome-panel/panel-properties-dialog.c
@@ -239,48 +239,6 @@ panel_properties_dialog_setup_size_spin (PanelPropertiesDialog *dialog,
}
}
-static void
-panel_properties_dialog_icon_changed (PanelIconChooser *chooser,
- const char *icon,
- PanelPropertiesDialog *dialog)
-{
- panel_profile_set_attached_custom_icon (dialog->toplevel, icon);
-}
-
-static void
-panel_properties_dialog_setup_icon_chooser (PanelPropertiesDialog *dialog,
- GtkBuilder *gui)
-{
- char *custom_icon;
-
- dialog->icon_align = PANEL_GTK_BUILDER_GET (gui, "icon_align");
- g_return_if_fail (dialog->icon_align != NULL);
-
- dialog->icon_chooser = panel_icon_chooser_new (NULL);
- panel_icon_chooser_set_fallback_icon_name (PANEL_ICON_CHOOSER (dialog->icon_chooser),
- PANEL_ICON_DRAWER);
- gtk_widget_show (dialog->icon_chooser);
- gtk_container_add (GTK_CONTAINER (dialog->icon_align),
- dialog->icon_chooser);
-
- dialog->icon_label = PANEL_GTK_BUILDER_GET (gui, "icon_label");
- g_return_if_fail (dialog->icon_label != NULL);
-
- custom_icon = panel_profile_get_attached_custom_icon (dialog->toplevel);
- panel_icon_chooser_set_icon (PANEL_ICON_CHOOSER (dialog->icon_chooser),
- custom_icon);
- g_free (custom_icon);
-
- g_signal_connect (dialog->icon_chooser, "changed",
- G_CALLBACK (panel_properties_dialog_icon_changed), dialog);
-
- if (!panel_profile_is_writable_attached_custom_icon (dialog->toplevel)) {
- gtk_widget_set_sensitive (dialog->icon_chooser, FALSE);
- gtk_widget_set_sensitive (dialog->icon_label, FALSE);
- gtk_widget_show (dialog->writability_warn_general);
- }
-}
-
/* Note: this is only for toggle buttons on the general page, if needed for togglebuttons
elsewhere you must make this respect the writability warning thing for the right page */
#define SETUP_TOGGLE_BUTTON(wid, n, p) \
@@ -550,20 +508,13 @@ panel_properties_dialog_response (PanelPropertiesDialog *dialog,
int response,
GtkWidget *properties_dialog)
{
- char *help_id;
-
switch (response) {
case GTK_RESPONSE_CLOSE:
gtk_widget_destroy (properties_dialog);
break;
case GTK_RESPONSE_HELP:
- if (panel_toplevel_get_is_attached (dialog->toplevel)) {
- help_id = "gospanel-550";
- } else {
- help_id = "gospanel-28";
- }
panel_show_help (gtk_window_get_screen (GTK_WINDOW (properties_dialog)),
- "user-guide", help_id, NULL);
+ "user-guide", "gospanel-28", NULL);
break;
default:
break;
@@ -795,80 +746,6 @@ panel_properties_dialog_background_notify (GConfClient *client,
panel_properties_dialog_update_background_image (dialog, value);
}
-static void
-panel_properties_dialog_remove_orientation_combo (PanelPropertiesDialog *dialog)
-{
- GtkContainer *container = GTK_CONTAINER (dialog->general_table);
- GtkTable *table = GTK_TABLE (dialog->general_table);
-
- g_object_ref (dialog->size_label);
- g_object_ref (dialog->size_widgets);
- g_object_ref (dialog->icon_label);
- g_object_ref (dialog->icon_align);
-
- gtk_container_remove (container, dialog->orientation_label);
- gtk_container_remove (container, dialog->orientation_combo);
- gtk_container_remove (container, dialog->size_label);
- gtk_container_remove (container, dialog->size_widgets);
- gtk_container_remove (container, dialog->icon_label);
- gtk_container_remove (container, dialog->icon_align);
-
- gtk_table_attach_defaults (table, dialog->size_label, 0, 1, 1, 2);
- gtk_table_attach_defaults (table, dialog->size_widgets, 1, 2, 1, 2);
- gtk_table_attach_defaults (table, dialog->icon_label, 0, 1, 2, 3);
- gtk_table_attach_defaults (table, dialog->icon_align, 1, 2, 2, 3);
-
- dialog->orientation_label = NULL;
- dialog->orientation_combo = NULL;
- g_object_unref (dialog->size_label);
- g_object_unref (dialog->size_widgets);
- g_object_unref (dialog->icon_label);
- g_object_unref (dialog->icon_align);
-
- gtk_table_resize (table, 3, 2);
-}
-
-static void
-panel_properties_dialog_remove_icon_chooser (PanelPropertiesDialog *dialog)
-{
- GtkContainer *container = GTK_CONTAINER (dialog->general_table);
-
- gtk_container_remove (container, dialog->icon_label);
- gtk_container_remove (container, dialog->icon_align);
-
- dialog->icon_label = NULL;
- dialog->icon_align = NULL;
- dialog->icon_chooser = NULL;
-
- gtk_table_resize (GTK_TABLE (dialog->general_table), 3, 2);
-}
-
-static void
-panel_properties_dialog_remove_toggles (PanelPropertiesDialog *dialog)
-{
- GtkContainer *container = GTK_CONTAINER (dialog->general_vbox);
-
- gtk_container_remove (container, dialog->autohide_toggle);
- gtk_container_remove (container, dialog->expand_toggle);
-
- dialog->autohide_toggle = NULL;
- dialog->expand_toggle = NULL;
-}
-
-static void
-panel_properties_dialog_update_for_attached (PanelPropertiesDialog *dialog,
- gboolean attached)
-{
- if (!attached)
- panel_properties_dialog_remove_icon_chooser (dialog);
- else {
- gtk_window_set_title (GTK_WINDOW (dialog->properties_dialog),
- _("Drawer Properties"));
- panel_properties_dialog_remove_toggles (dialog);
- panel_properties_dialog_remove_orientation_combo (dialog);
- }
-}
-
static PanelPropertiesDialog *
panel_properties_dialog_new (PanelToplevel *toplevel,
GtkBuilder *gui)
@@ -901,7 +778,6 @@ panel_properties_dialog_new (PanelToplevel *toplevel,
panel_properties_dialog_setup_orientation_combo (dialog, gui);
panel_properties_dialog_setup_size_spin (dialog, gui);
- panel_properties_dialog_setup_icon_chooser (dialog, gui);
panel_properties_dialog_setup_expand_toggle (dialog, gui);
panel_properties_dialog_setup_autohide_toggle (dialog, gui);
panel_properties_dialog_setup_hidebuttons_toggle (dialog, gui);
@@ -932,9 +808,6 @@ panel_properties_dialog_new (PanelToplevel *toplevel,
(GConfClientNotifyFunc) panel_properties_dialog_background_notify,
dialog);
- panel_properties_dialog_update_for_attached (dialog,
- panel_toplevel_get_is_attached (dialog->toplevel));
-
panel_toplevel_push_autohide_disabler (dialog->toplevel);
panel_widget_register_open_dialog (panel_toplevel_get_panel_widget (dialog->toplevel),
dialog->properties_dialog);
diff --git a/gnome-panel/panel-properties-dialog.ui b/gnome-panel/panel-properties-dialog.ui
index 30bb2ce..dcb795a 100644
--- a/gnome-panel/panel-properties-dialog.ui
+++ b/gnome-panel/panel-properties-dialog.ui
@@ -54,45 +54,11 @@
<child>
<object class="GtkTable" id="general_table">
<property name="visible">True</property>
- <property name="n_rows">3</property>
+ <property name="n_rows">2</property>
<property name="n_columns">2</property>
<property name="column_spacing">12</property>
<property name="row_spacing">6</property>
<child>
- <object class="GtkAlignment" id="icon_align">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xscale">0</property>
- <child>
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="icon_label">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="label" translatable="yes">_Icon:</property>
- <property name="use_markup">True</property>
- <property name="use_underline">True</property>
- </object>
- <packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
<object class="GtkHBox" id="size_widgets">
<property name="visible">True</property>
<property name="spacing">6</property>
@@ -229,7 +195,7 @@
<child>
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
- <property name="label" translatable="no"> </property>
+ <property name="label"> </property>
</object>
<packing>
<property name="expand">False</property>
@@ -752,15 +718,15 @@
</action-widgets>
</object>
<object class="GtkAdjustment" id="adjustment1">
- <property name="value">33.75</property>
<property name="upper">100</property>
+ <property name="value">33.75</property>
<property name="step_increment">5</property>
<property name="page_increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment2">
- <property name="value">12</property>
<property name="lower">12</property>
<property name="upper">120</property>
+ <property name="value">12</property>
<property name="step_increment">1</property>
<property name="page_increment">12</property>
</object>
diff --git a/gnome-panel/panel-struts.c b/gnome-panel/panel-struts.c
index b75bf70..4592a8e 100644
--- a/gnome-panel/panel-struts.c
+++ b/gnome-panel/panel-struts.c
@@ -345,32 +345,17 @@ orientation_to_order (PanelOrientation orientation)
}
}
-static inline int
-get_toplevel_depth (PanelToplevel *toplevel)
-{
- int depth = 0;
-
- while ((toplevel = panel_toplevel_get_attach_toplevel (toplevel)))
- depth++;
-
- return depth;
-}
-
/* Sort in order of
* 1) screen
* 2) monitor
- * 3) depth (for drawers)
- * 4) top, bottom, left, right
- * 5) strut_start ascending
- * 6) strut_end descending
+ * 3) top, bottom, left, right
+ * 4) strut_start ascending
+ * 5) strut_end descending
*/
static int
panel_struts_compare (const PanelStrut *s1,
const PanelStrut *s2)
{
- int s1_depth;
- int s2_depth;
-
if (s1->screen != s2->screen)
return gdk_screen_get_number (s1->screen) -
gdk_screen_get_number (s2->screen);
@@ -378,11 +363,6 @@ panel_struts_compare (const PanelStrut *s1,
if (s1->monitor != s2->monitor)
return s1->monitor - s2->monitor;
- s1_depth = get_toplevel_depth (s1->toplevel);
- s2_depth = get_toplevel_depth (s2->toplevel);
- if (s1_depth != s2_depth)
- return s2_depth - s1_depth;
-
if (s1->orientation != s2->orientation)
return orientation_to_order (s1->orientation) -
orientation_to_order (s2->orientation);
diff --git a/gnome-panel/panel-toplevel.c b/gnome-panel/panel-toplevel.c
index 57af4ac..262aa9f 100644
--- a/gnome-panel/panel-toplevel.c
+++ b/gnome-panel/panel-toplevel.c
@@ -62,8 +62,6 @@ G_DEFINE_TYPE (PanelToplevel, panel_toplevel, GTK_TYPE_WINDOW)
#define SNAP_TOLERANCE_FACTOR 6
#define DEFAULT_ARROW_SIZE 20
#define HANDLE_SIZE 10
-#define N_ATTACH_TOPLEVEL_SIGNALS 5
-#define N_ATTACH_WIDGET_SIGNALS 5
typedef enum {
PANEL_GRAB_OP_NONE,
@@ -149,10 +147,6 @@ struct _PanelToplevelPrivate {
GtkWidget *hide_button_left;
GtkWidget *hide_button_right;
- PanelToplevel *attach_toplevel;
- gulong attach_toplevel_signals [N_ATTACH_TOPLEVEL_SIGNALS];
- GtkWidget *attach_widget;
- gulong attach_widget_signals [N_ATTACH_WIDGET_SIGNALS];
gint n_autohide_disablers;
guint auto_hide : 1;
@@ -179,12 +173,6 @@ struct _PanelToplevelPrivate {
* those. */
guint position_centered : 1;
- /* The toplevel is "attached" to another widget */
- guint attached : 1;
-
- /* Hidden temporarily because the attach_toplevel was hidden */
- guint attach_hidden : 1;
-
/* More saved grab op state */
guint orig_x_centered : 1;
guint orig_y_centered : 1;
@@ -249,19 +237,13 @@ panel_toplevel_list_toplevels (void)
return toplevel_list;
}
-/* Is this the last un-attached toplevel? */
gboolean
-panel_toplevel_is_last_unattached (PanelToplevel *toplevel)
+panel_toplevel_is_last (PanelToplevel *toplevel)
{
GSList *l;
- if (panel_toplevel_get_is_attached (toplevel))
- return FALSE;
-
for (l = toplevel_list; l; l = l->next) {
- PanelToplevel *t = l->data;
-
- if (t != toplevel && !panel_toplevel_get_is_attached (t))
+ if (l->data != toplevel)
return FALSE;
}
@@ -422,21 +404,6 @@ panel_toplevel_warp_pointer (PanelToplevel *toplevel)
}
static void
-panel_toplevel_begin_attached_move (PanelToplevel *toplevel,
- gboolean is_keyboard,
- guint32 time_)
-{
- PanelWidget *attached_panel_widget;
-
- attached_panel_widget = panel_toplevel_get_panel_widget (toplevel->priv->attach_toplevel);
-
- panel_widget_applet_drag_start (attached_panel_widget,
- toplevel->priv->attach_widget,
- is_keyboard ? PW_DRAG_OFF_CENTER : PW_DRAG_OFF_CURSOR,
- time_);
-}
-
-static void
panel_toplevel_begin_grab_op (PanelToplevel *toplevel,
PanelGrabOpType op_type,
gboolean grab_keyboard,
@@ -473,11 +440,6 @@ panel_toplevel_begin_grab_op (PanelToplevel *toplevel,
! panel_profile_is_writable_toplevel_size (toplevel))
return;
- if (toplevel->priv->attached && op_type == PANEL_GRAB_OP_MOVE) {
- panel_toplevel_begin_attached_move (toplevel, grab_keyboard, time_);
- return;
- }
-
widget = GTK_WIDGET (toplevel);
window = gtk_widget_get_window (widget);
@@ -1280,26 +1242,6 @@ panel_toplevel_update_buttons_showing (PanelToplevel *toplevel)
gtk_widget_hide (toplevel->priv->hide_button_left);
gtk_widget_hide (toplevel->priv->hide_button_right);
}
-
- if (toplevel->priv->attached) {
- switch (panel_toplevel_get_orientation (toplevel->priv->attach_toplevel)) {
- case PANEL_ORIENTATION_TOP:
- gtk_widget_hide (toplevel->priv->hide_button_top);
- break;
- case PANEL_ORIENTATION_BOTTOM:
- gtk_widget_hide (toplevel->priv->hide_button_bottom);
- break;
- case PANEL_ORIENTATION_LEFT:
- gtk_widget_hide (toplevel->priv->hide_button_left);
- break;
- case PANEL_ORIENTATION_RIGHT:
- gtk_widget_hide (toplevel->priv->hide_button_right);
- break;
- default:
- g_assert_not_reached ();
- break;
- }
- }
}
static void
@@ -1424,12 +1366,6 @@ panel_toplevel_update_struts (PanelToplevel *toplevel, gboolean end_of_animation
if (!toplevel->priv->updated_geometry_initial)
return FALSE;
- if (toplevel->priv->attached) {
- panel_struts_unregister_strut (toplevel);
- panel_struts_set_window_hint (toplevel);
- return FALSE;
- }
-
/* In the case of the initial animation, we really want the struts to
* represent what is at the end of the animation, to avoid desktop
* icons jumping around. */
@@ -1650,9 +1586,6 @@ panel_toplevel_construct_description (PanelToplevel *toplevel)
},
};
- if (toplevel->priv->attached)
- return N_("Drawer");
-
switch (toplevel->priv->orientation) {
case PANEL_ORIENTATION_TOP:
orientation = 0;
@@ -1712,104 +1645,6 @@ panel_toplevel_update_description (PanelToplevel *toplevel)
}
static void
-panel_toplevel_update_attached_position (PanelToplevel *toplevel,
- gboolean hidden,
- int *x,
- int *y,
- int *w,
- int *h)
-{
- GtkAllocation attach_allocation;
- PanelOrientation attach_orientation;
- GdkRectangle toplevel_box;
- GdkRectangle parent_box;
- GdkRectangle attach_box;
- int x_origin = 0, y_origin = 0;
- int monitor_x, monitor_y;
- int monitor_width, monitor_height;
-
- if (!gtk_widget_get_realized (GTK_WIDGET (toplevel->priv->attach_toplevel)) ||
- !gtk_widget_get_realized (toplevel->priv->attach_widget))
- return;
-
- gtk_widget_get_allocation (GTK_WIDGET (toplevel->priv->attach_widget), &attach_allocation);
-
- toplevel_box = toplevel->priv->geometry;
- parent_box = toplevel->priv->attach_toplevel->priv->geometry;
- attach_box = attach_allocation;
-
- if (attach_box.x != -1) {
- gdk_window_get_origin (gtk_widget_get_window (GTK_WIDGET (toplevel->priv->attach_widget)),
- &x_origin, &y_origin);
-
- attach_box.x += x_origin;
- attach_box.y += y_origin;
- } else {
- /* attach_widget isn't allocated. Put the toplevel
- * off screen.
- */
- attach_box.x = -toplevel_box.width;
- attach_box.y = -toplevel_box.height;
- }
-
- attach_orientation = panel_toplevel_get_orientation (
- toplevel->priv->attach_toplevel);
-
- if (attach_orientation & PANEL_HORIZONTAL_MASK)
- *x = attach_box.x + attach_box.width / 2 - toplevel_box.width / 2;
- else
- *y = attach_box.y + attach_box.height / 2 - toplevel_box.height / 2;
-
- switch (attach_orientation) {
- case PANEL_ORIENTATION_TOP:
- *y = parent_box.y;
- if (!hidden)
- *y += parent_box.height;
- else
- *h = parent_box.height;
- break;
- case PANEL_ORIENTATION_BOTTOM:
- *y = parent_box.y;
- if (!hidden)
- *y -= toplevel_box.height;
- else
- *h = parent_box.height;
- break;
- case PANEL_ORIENTATION_LEFT:
- *x = parent_box.x;
- if (!hidden)
- *x += parent_box.width;
- else
- *w = parent_box.width;
- break;
- case PANEL_ORIENTATION_RIGHT:
- *x = parent_box.x;
- if (!hidden)
- *x -= toplevel_box.width;
- else
- *w = parent_box.width;
- break;
- default:
- g_assert_not_reached ();
- break;
- }
-
- panel_toplevel_get_monitor_geometry (toplevel,
- &monitor_x,
- &monitor_y,
- &monitor_width,
- &monitor_height);
-
- *x -= monitor_x;
- *y -= monitor_y;
-
- if (toplevel->priv->orientation & PANEL_VERTICAL_MASK)
- *x = CLAMP (*x, 0, monitor_width - toplevel->priv->original_width);
- else
- *y = CLAMP (*y, 0, monitor_height - toplevel->priv->original_height);
-}
-
-static void
panel_toplevel_update_normal_position (PanelToplevel *toplevel,
int *x,
int *y,
@@ -1822,11 +1657,6 @@ panel_toplevel_update_normal_position (PanelToplevel *toplevel,
g_assert (x != NULL && y != NULL);
- if (toplevel->priv->attached) {
- panel_toplevel_update_attached_position (toplevel, FALSE, x, y, w, h);
- return;
- }
-
panel_toplevel_get_monitor_geometry (
toplevel, NULL, NULL, &monitor_width, &monitor_height);
@@ -1956,11 +1786,6 @@ panel_toplevel_update_hidden_position (PanelToplevel *toplevel,
toplevel->priv->state == PANEL_STATE_HIDDEN_LEFT ||
toplevel->priv->state == PANEL_STATE_HIDDEN_RIGHT);
- if (toplevel->priv->attached) {
- panel_toplevel_update_attached_position (toplevel, TRUE, x, y, w, h);
- return;
- }
-
panel_toplevel_get_monitor_geometry (
toplevel, NULL, NULL, &monitor_width, &monitor_height);
@@ -2096,10 +1921,7 @@ panel_toplevel_update_animating_position (PanelToplevel *toplevel)
* have a wrong value in a size request event */
toplevel->priv->initial_animation_done = TRUE;
- if (toplevel->priv->attached && panel_toplevel_get_is_hidden (toplevel))
- gtk_widget_unmap (GTK_WIDGET (toplevel));
- else
- gtk_widget_queue_resize (GTK_WIDGET (toplevel));
+ gtk_widget_queue_resize (GTK_WIDGET (toplevel));
if (toplevel->priv->state == PANEL_STATE_NORMAL)
g_signal_emit (toplevel, toplevel_signals [UNHIDE_SIGNAL], 0);
@@ -2490,7 +2312,7 @@ panel_toplevel_update_size (PanelToplevel *toplevel,
height = requisition->height;
if (!toplevel->priv->expand &&
- !toplevel->priv->buttons_enabled && !toplevel->priv->attached)
+ !toplevel->priv->buttons_enabled)
non_panel_widget_size = 2 * HANDLE_SIZE;
else
non_panel_widget_size = 0;
@@ -2506,26 +2328,12 @@ panel_toplevel_update_size (PanelToplevel *toplevel,
if (toplevel->priv->expand)
width = monitor_width;
- else {
- int max_width;
-
- if (!toplevel->priv->attached)
- max_width = monitor_width;
- else {
- if (panel_toplevel_get_orientation (toplevel->priv->attach_toplevel) == PANEL_ORIENTATION_LEFT)
- max_width = monitor_width
- - toplevel->priv->geometry.x;
- else
- max_width = toplevel->priv->geometry.x +
- toplevel->priv->geometry.width;
- }
-
+ else
width = panel_toplevel_update_size_from_hints (
toplevel,
requisition->width,
- max_width,
+ monitor_width,
non_panel_widget_size);
- }
width = MAX (MINIMUM_WIDTH, width);
} else {
@@ -2535,26 +2343,12 @@ panel_toplevel_update_size (PanelToplevel *toplevel,
if (toplevel->priv->expand)
height = monitor_height;
- else {
- int max_height;
-
- if (!toplevel->priv->attached)
- max_height = monitor_height;
- else {
- if (panel_toplevel_get_orientation (toplevel->priv->attach_toplevel) == PANEL_ORIENTATION_TOP)
- max_height = monitor_height
- - toplevel->priv->geometry.y;
- else
- max_height = toplevel->priv->geometry.y +
- toplevel->priv->geometry.height;
- }
-
+ else
height = panel_toplevel_update_size_from_hints (
toplevel,
requisition->height,
- max_height,
+ monitor_height,
non_panel_widget_size);
- }
height = MAX (MINIMUM_WIDTH, height);
}
@@ -2602,292 +2396,6 @@ panel_toplevel_update_geometry (PanelToplevel *toplevel,
panel_toplevel_update_description (toplevel);
}
-static void
-panel_toplevel_attach_widget_destroyed (PanelToplevel *toplevel)
-{
- panel_toplevel_detach (toplevel);
-}
-
-static gboolean
-panel_toplevel_attach_widget_configure (PanelToplevel *toplevel)
-{
- gtk_widget_queue_resize (GTK_WIDGET (toplevel));
-
- return FALSE;
-}
-
-static void
-panel_toplevel_update_attach_orientation (PanelToplevel *toplevel)
-{
- PanelOrientation attach_orientation;
- PanelOrientation orientation;
-
- attach_orientation =
- panel_toplevel_get_orientation (toplevel->priv->attach_toplevel);
-
- orientation = toplevel->priv->orientation;
-
- switch (attach_orientation) {
- case PANEL_ORIENTATION_TOP:
- orientation = PANEL_ORIENTATION_LEFT;
- break;
- case PANEL_ORIENTATION_BOTTOM:
- orientation = PANEL_ORIENTATION_RIGHT;
- break;
- case PANEL_ORIENTATION_LEFT:
- orientation = PANEL_ORIENTATION_TOP;
- break;
- case PANEL_ORIENTATION_RIGHT:
- orientation = PANEL_ORIENTATION_BOTTOM;
- break;
- default:
- g_assert_not_reached ();
- break;
- }
-
- panel_toplevel_set_orientation (toplevel, orientation);
-}
-
-static void
-panel_toplevel_attach_widget_parent_set (PanelToplevel *toplevel,
- GtkWidget *previous_parent,
- GtkWidget *attach_widget)
-{
- GtkWidget *panel_widget;
-
- panel_widget = gtk_widget_get_parent (GTK_WIDGET (attach_widget));
- if (!panel_widget)
- return;
-
- g_assert (PANEL_IS_WIDGET (panel_widget));
-
- toplevel->priv->attach_toplevel = PANEL_WIDGET (panel_widget)->toplevel;
- panel_toplevel_update_attach_orientation (toplevel);
- gtk_widget_queue_resize (GTK_WIDGET (toplevel));
-}
-
-static void
-panel_toplevel_attach_toplevel_hiding (PanelToplevel *toplevel)
-{
- if (!panel_toplevel_get_is_hidden (toplevel)) {
- panel_toplevel_hide (toplevel, FALSE, -1);
-
- toplevel->priv->attach_hidden = TRUE;
- }
-}
-
-static void
-panel_toplevel_attach_toplevel_unhiding (PanelToplevel *toplevel)
-{
- if (!toplevel->priv->attach_hidden)
- return;
-
- toplevel->priv->attach_hidden = FALSE;
-
- panel_toplevel_unhide (toplevel);
-}
-
-static void
-panel_toplevel_reverse_arrow (PanelToplevel *toplevel,
- GtkWidget *button)
-{
- GtkArrowType arrow_type;
-
- arrow_type = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button), "arrow-type"));
-
- switch (arrow_type) {
- case GTK_ARROW_UP:
- arrow_type = GTK_ARROW_DOWN;
- break;
- case GTK_ARROW_DOWN:
- arrow_type = GTK_ARROW_UP;
- break;
- case GTK_ARROW_LEFT:
- arrow_type = GTK_ARROW_RIGHT;
- break;
- case GTK_ARROW_RIGHT:
- arrow_type = GTK_ARROW_LEFT;
- break;
- default:
- g_assert_not_reached ();
- break;
- }
-
- g_object_set_data (G_OBJECT (button), "arrow-type", GINT_TO_POINTER (arrow_type));
-
- gtk_arrow_set (GTK_ARROW (gtk_bin_get_child (GTK_BIN (button))), arrow_type, GTK_SHADOW_NONE);
-}
-
-static void
-panel_toplevel_reverse_arrows (PanelToplevel *toplevel)
-{
- panel_toplevel_reverse_arrow (toplevel, toplevel->priv->hide_button_top);
- panel_toplevel_reverse_arrow (toplevel, toplevel->priv->hide_button_bottom);
- panel_toplevel_reverse_arrow (toplevel, toplevel->priv->hide_button_left);
- panel_toplevel_reverse_arrow (toplevel, toplevel->priv->hide_button_right);
-}
-
-static void
-panel_toplevel_disconnect_attached (PanelToplevel *toplevel)
-{
- int i;
-
- for (i = 0; i < N_ATTACH_TOPLEVEL_SIGNALS; i++) {
- if (!toplevel->priv->attach_toplevel_signals [i])
- continue;
-
- g_signal_handler_disconnect (
- toplevel->priv->attach_toplevel,
- toplevel->priv->attach_toplevel_signals [i]);
- toplevel->priv->attach_toplevel_signals [i] = 0;
- }
-
- for (i = 0; i < N_ATTACH_WIDGET_SIGNALS; i++) {
- if (!toplevel->priv->attach_widget_signals [i])
- continue;
-
- g_signal_handler_disconnect (
- toplevel->priv->attach_widget,
- toplevel->priv->attach_widget_signals [i]);
- toplevel->priv->attach_widget_signals [i] = 0;
- }
-}
-
-static void
-panel_toplevel_connect_attached (PanelToplevel *toplevel)
-{
- gulong *signals;
- int i = 0;
-
- signals = toplevel->priv->attach_toplevel_signals;
-
- signals [i++] = g_signal_connect_swapped (
- toplevel->priv->attach_toplevel, "destroy",
- G_CALLBACK (panel_toplevel_attach_widget_destroyed), toplevel);
- signals [i++] = g_signal_connect_swapped (
- toplevel->priv->attach_toplevel, "notify::orientation",
- G_CALLBACK (panel_toplevel_update_attach_orientation), toplevel);
- signals [i++] = g_signal_connect_swapped (
- toplevel->priv->attach_toplevel, "configure-event",
- G_CALLBACK (panel_toplevel_attach_widget_configure), toplevel);
- signals [i++] = g_signal_connect_swapped (
- toplevel->priv->attach_toplevel, "hiding",
- G_CALLBACK (panel_toplevel_attach_toplevel_hiding), toplevel);
- signals [i++] = g_signal_connect_swapped (
- toplevel->priv->attach_toplevel, "unhiding",
- G_CALLBACK (panel_toplevel_attach_toplevel_unhiding), toplevel);
-
- g_assert (i == N_ATTACH_TOPLEVEL_SIGNALS);
-
- signals = toplevel->priv->attach_widget_signals;
- i = 0;
-
- signals [i++] = g_signal_connect_swapped (
- toplevel->priv->attach_widget, "destroy",
- G_CALLBACK (panel_toplevel_attach_widget_destroyed), toplevel);
- signals [i++] = g_signal_connect_swapped (
- toplevel->priv->attach_widget, "configure-event",
- G_CALLBACK (panel_toplevel_attach_widget_configure), toplevel);
- signals [i++] = g_signal_connect_swapped (
- toplevel->priv->attach_widget, "parent-set",
- G_CALLBACK (panel_toplevel_attach_widget_parent_set), toplevel);
- signals [i++] = g_signal_connect_swapped (
- toplevel->priv->attach_widget, "show",
- G_CALLBACK (gtk_widget_show), toplevel);
- signals [i++] = g_signal_connect_swapped (
- toplevel->priv->attach_widget, "hide",
- G_CALLBACK (gtk_widget_hide), toplevel);
-
- g_assert (i == N_ATTACH_WIDGET_SIGNALS);
-}
-
-void
-panel_toplevel_attach_to_widget (PanelToplevel *toplevel,
- PanelToplevel *attach_toplevel,
- GtkWidget *attach_widget)
-{
- g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel));
- g_return_if_fail (PANEL_IS_TOPLEVEL (attach_toplevel));
- g_return_if_fail (GTK_IS_WIDGET (attach_widget));
-
- if (toplevel->priv->attached)
- panel_toplevel_disconnect_attached (toplevel);
-
- toplevel->priv->attached = TRUE;
-
- /* Cancelling the initial animation for drawers in
- * panel_toplevel_initially_hide() is not enough, since this will
- * happen only when the toplevel is realized, which might be too late
- * for drawers (since it's realized when the drawer is clicked) */
- toplevel->priv->initial_animation_done = TRUE;
-
- toplevel->priv->attach_toplevel = attach_toplevel;
- toplevel->priv->attach_widget = attach_widget;
-
- panel_toplevel_connect_attached (toplevel);
-
- panel_toplevel_reverse_arrows (toplevel);
- panel_toplevel_set_expand (toplevel, FALSE);
- panel_toplevel_update_attach_orientation (toplevel);
- panel_toplevel_update_hide_buttons (toplevel);
-
- gtk_window_set_screen (GTK_WINDOW (toplevel),
- gtk_widget_get_screen (GTK_WIDGET (attach_toplevel)));
- panel_toplevel_set_monitor (toplevel,
- panel_toplevel_get_monitor (attach_toplevel));
- if (toplevel->priv->state == PANEL_STATE_NORMAL)
- panel_toplevel_push_autohide_disabler (toplevel->priv->attach_toplevel);
-
- gtk_widget_queue_resize (GTK_WIDGET (toplevel));
-}
-
-void
-panel_toplevel_detach (PanelToplevel *toplevel)
-{
- g_return_if_fail (PANEL_IS_TOPLEVEL (toplevel));
-
- if (!toplevel->priv->attached)
- return;
-
- if (toplevel->priv->state == PANEL_STATE_NORMAL)
- panel_toplevel_pop_autohide_disabler (toplevel->priv->attach_toplevel);
-
- panel_toplevel_disconnect_attached (toplevel);
-
- panel_toplevel_reverse_arrows (toplevel);
-
- toplevel->priv->attached = FALSE;
-
- toplevel->priv->attach_toplevel = NULL;
- toplevel->priv->attach_widget = NULL;
-
- gtk_widget_queue_resize (GTK_WIDGET (toplevel));
-}
-
-gboolean
-panel_toplevel_get_is_attached (PanelToplevel *toplevel)
-{
- g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), FALSE);
-
- return toplevel->priv->attached;
-}
-
-PanelToplevel *
-panel_toplevel_get_attach_toplevel (PanelToplevel *toplevel)
-{
- g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL);
-
- return toplevel->priv->attach_toplevel;
-}
-
-GtkWidget *
-panel_toplevel_get_attach_widget (PanelToplevel *toplevel)
-{
- g_return_val_if_fail (PANEL_IS_TOPLEVEL (toplevel), NULL);
-
- return toplevel->priv->attach_widget;
-}
-
static gboolean
panel_toplevel_popup_panel_menu (PanelToplevel *toplevel)
{
@@ -2987,16 +2495,13 @@ panel_toplevel_move_resize_window (PanelToplevel *toplevel,
static void
panel_toplevel_initially_hide (PanelToplevel *toplevel)
{
- if (!toplevel->priv->attached) {
- toplevel->priv->initial_animation_done = FALSE;
+ toplevel->priv->initial_animation_done = FALSE;
- /* We start the panel off hidden until all the applets are
- * loaded, and then finally slide it down when it's ready to be
- * used */
- toplevel->priv->state = PANEL_STATE_AUTO_HIDDEN;
- gtk_widget_queue_resize (GTK_WIDGET (toplevel));
- } else
- toplevel->priv->initial_animation_done = TRUE;
+ /* We start the panel off hidden until all the applets are
+ * loaded, and then finally slide it down when it's ready to be
+ * used */
+ toplevel->priv->state = PANEL_STATE_AUTO_HIDDEN;
+ gtk_widget_queue_resize (GTK_WIDGET (toplevel));
}
static void
@@ -3054,14 +2559,6 @@ panel_toplevel_dispose (GObject *widget)
{
PanelToplevel *toplevel = (PanelToplevel *) widget;
- if (toplevel->priv->attached) {
- panel_toplevel_disconnect_attached (toplevel);
- toplevel->priv->attached = FALSE;
-
- toplevel->priv->attach_toplevel = NULL;
- toplevel->priv->attach_widget = NULL;
- }
-
panel_toplevel_disconnect_timeouts (toplevel);
G_OBJECT_CLASS (panel_toplevel_parent_class)->dispose (widget);
@@ -3176,8 +2673,7 @@ panel_toplevel_size_allocate (GtkWidget *widget,
gtk_widget_set_allocation (widget, allocation);
if (toplevel->priv->expand ||
- toplevel->priv->buttons_enabled ||
- toplevel->priv->attached)
+ toplevel->priv->buttons_enabled)
challoc = *allocation;
else {
if (toplevel->priv->orientation & PANEL_HORIZONTAL_MASK) {
@@ -3255,8 +2751,7 @@ panel_toplevel_draw (GtkWidget *widget,
panel_frame_draw (widget, cr, edges);
if (toplevel->priv->expand ||
- toplevel->priv->buttons_enabled ||
- toplevel->priv->attached)
+ toplevel->priv->buttons_enabled)
return retval;
window = gtk_widget_get_window (widget);
@@ -3353,7 +2848,7 @@ panel_toplevel_button_press_event (GtkWidget *widget,
/* Get the mouse-button modifier from metacity so that only intentional
* moves are considered. We don't this for non-expanded panels since we
* only have the handles that the user can grab. */
- if ((toplevel->priv->expand || toplevel->priv->attached) &&
+ if (toplevel->priv->expand &&
(event->state & GDK_MODIFIER_MASK) != panel_bindings_get_mouse_button_modifier_keymask ())
return FALSE;
@@ -3573,14 +3068,6 @@ panel_toplevel_start_animation (PanelToplevel *toplevel)
return;
}
- if (toplevel->priv->attached) {
- /* Re-map unmapped attached toplevels */
- if (!gtk_widget_get_mapped (GTK_WIDGET (toplevel)))
- gtk_widget_map (GTK_WIDGET (toplevel));
-
- gtk_window_present (GTK_WINDOW (toplevel->priv->attach_toplevel));
- }
-
g_get_current_time (&toplevel->priv->animation_start_time);
t = panel_toplevel_get_animation_time (toplevel);
@@ -3604,9 +3091,6 @@ panel_toplevel_hide (PanelToplevel *toplevel,
g_signal_emit (toplevel, toplevel_signals [HIDE_SIGNAL], 0);
- if (toplevel->priv->attach_toplevel)
- panel_toplevel_pop_autohide_disabler (toplevel->priv->attach_toplevel);
-
if (auto_hide)
toplevel->priv->state = PANEL_STATE_AUTO_HIDDEN;
else {
@@ -3644,8 +3128,6 @@ panel_toplevel_hide (PanelToplevel *toplevel,
if (toplevel->priv->animate && gtk_widget_get_realized (GTK_WIDGET (toplevel)))
panel_toplevel_start_animation (toplevel);
- else if (toplevel->priv->attached)
- gtk_widget_hide (GTK_WIDGET (toplevel));
gtk_widget_queue_resize (GTK_WIDGET (toplevel));
}
@@ -3687,13 +3169,8 @@ panel_toplevel_unhide (PanelToplevel *toplevel)
panel_toplevel_update_hide_buttons (toplevel);
- if (toplevel->priv->attach_toplevel)
- panel_toplevel_push_autohide_disabler (toplevel->priv->attach_toplevel);
-
if (toplevel->priv->animate && gtk_widget_get_realized (GTK_WIDGET (toplevel)))
panel_toplevel_start_animation (toplevel);
- else if (toplevel->priv->attached)
- gtk_widget_show (GTK_WIDGET (toplevel));
gtk_widget_queue_resize (GTK_WIDGET (toplevel));
@@ -4121,15 +3598,6 @@ panel_toplevel_finalize (GObject *object)
toplevel->priv->gtk_settings = NULL;
}
- if (toplevel->priv->attached) {
- panel_toplevel_disconnect_attached (toplevel);
-
- toplevel->priv->attached = FALSE;
-
- toplevel->priv->attach_toplevel = NULL;
- toplevel->priv->attach_widget = NULL;
- }
-
if (toplevel->priv->description)
g_free (toplevel->priv->description);
toplevel->priv->description = NULL;
@@ -4572,8 +4040,6 @@ panel_toplevel_setup_widgets (PanelToplevel *toplevel)
static void
panel_toplevel_init (PanelToplevel *toplevel)
{
- int i;
-
toplevel->priv = PANEL_TOPLEVEL_GET_PRIVATE (toplevel);
toplevel->priv->expand = TRUE;
@@ -4632,15 +4098,8 @@ panel_toplevel_init (PanelToplevel *toplevel)
toplevel->priv->hide_button_left = NULL;
toplevel->priv->hide_button_right = NULL;
- toplevel->priv->attach_toplevel = NULL;
- toplevel->priv->attach_widget = NULL;
toplevel->priv->n_autohide_disablers = 0;
- for (i = 0; i < N_ATTACH_TOPLEVEL_SIGNALS; i++)
- toplevel->priv->attach_toplevel_signals [i] = 0;
- for (i = 0; i < N_ATTACH_WIDGET_SIGNALS; i++)
- toplevel->priv->attach_widget_signals [i] = 0;
-
toplevel->priv->auto_hide = FALSE;
toplevel->priv->buttons_enabled = TRUE;
toplevel->priv->arrows_enabled = TRUE;
@@ -4649,8 +4108,6 @@ panel_toplevel_init (PanelToplevel *toplevel)
toplevel->priv->animating = FALSE;
toplevel->priv->grab_is_keyboard = FALSE;
toplevel->priv->position_centered = FALSE;
- toplevel->priv->attached = FALSE;
- toplevel->priv->attach_hidden = FALSE;
toplevel->priv->updated_geometry_initial = FALSE;
toplevel->priv->initial_animation_done = FALSE;
diff --git a/gnome-panel/panel-toplevel.h b/gnome-panel/panel-toplevel.h
index 60400ea..35142d5 100644
--- a/gnome-panel/panel-toplevel.h
+++ b/gnome-panel/panel-toplevel.h
@@ -117,14 +117,6 @@ int panel_toplevel_get_monitor (PanelToplevel
void panel_toplevel_rotate (PanelToplevel *toplevel,
gboolean clockwise);
-void panel_toplevel_attach_to_widget (PanelToplevel *toplevel,
- PanelToplevel *attach_toplevel,
- GtkWidget *attach_widget);
-void panel_toplevel_detach (PanelToplevel *toplevel);
-gboolean panel_toplevel_get_is_attached (PanelToplevel *toplevel);
-PanelToplevel *panel_toplevel_get_attach_toplevel (PanelToplevel *toplevel);
-GtkWidget *panel_toplevel_get_attach_widget (PanelToplevel *toplevel);
-
gboolean panel_toplevel_get_is_floating (PanelToplevel *toplevel);
gboolean panel_toplevel_get_is_hidden (PanelToplevel *toplevel);
@@ -165,7 +157,7 @@ void panel_toplevel_set_enable_arrows (PanelToplevel
gboolean panel_toplevel_get_enable_arrows (PanelToplevel *toplevel);
void panel_toplevel_update_edges (PanelToplevel *toplevel);
-gboolean panel_toplevel_is_last_unattached (PanelToplevel *toplevel);
+gboolean panel_toplevel_is_last (PanelToplevel *toplevel);
int panel_toplevel_get_minimum_size (PanelToplevel *toplevel);
int panel_toplevel_get_maximum_size (PanelToplevel *toplevel);
GSList *panel_toplevel_list_toplevels (void);
diff --git a/gnome-panel/panel-widget.c b/gnome-panel/panel-widget.c
index 06f6119..bcd89d1 100644
--- a/gnome-panel/panel-widget.c
+++ b/gnome-panel/panel-widget.c
@@ -427,76 +427,6 @@ panel_widget_class_init (PanelWidgetClass *class)
}
static void
-remove_panel_from_forbidden(PanelWidget *panel, PanelWidget *r)
-{
- GSList *list;
- GtkWidget *parent_panel;
-
- g_return_if_fail(PANEL_IS_WIDGET(panel));
- g_return_if_fail(PANEL_IS_WIDGET(r));
-
- if(!panel->master_widget)
- return;
-
- list = g_object_get_data (G_OBJECT(panel->master_widget),
- PANEL_APPLET_FORBIDDEN_PANELS);
- if(list) {
- list = g_slist_remove(list,r);
- g_object_set_data (G_OBJECT(panel->master_widget),
- PANEL_APPLET_FORBIDDEN_PANELS,
- list);
- }
- parent_panel = gtk_widget_get_parent (panel->master_widget);
- if (parent_panel)
- remove_panel_from_forbidden(PANEL_WIDGET(parent_panel), r);
-}
-
-static void
-add_panel_to_forbidden(PanelWidget *panel, PanelWidget *r)
-{
- GSList *list;
- GtkWidget *parent_panel;
-
- g_return_if_fail(PANEL_IS_WIDGET(panel));
- g_return_if_fail(PANEL_IS_WIDGET(r));
-
- if(!panel->master_widget)
- return;
-
- list = g_object_get_data (G_OBJECT(panel->master_widget),
- PANEL_APPLET_FORBIDDEN_PANELS);
- if(g_slist_find(list,r)==NULL) {
- list = g_slist_prepend(list,r);
-
- g_object_set_data (G_OBJECT(panel->master_widget),
- PANEL_APPLET_FORBIDDEN_PANELS,
- list);
- }
- parent_panel = gtk_widget_get_parent (panel->master_widget);
- if (parent_panel)
- add_panel_to_forbidden(PANEL_WIDGET(parent_panel), r);
-}
-
-static void
-run_up_forbidden(PanelWidget *panel,
- void (*runfunc)(PanelWidget *,PanelWidget *))
-{
- GList *list;
-
- g_return_if_fail(PANEL_IS_WIDGET(panel));
-
- for(list = panel->applet_list;list!=NULL;list = g_list_next(list)) {
- AppletData *ad = list->data;
- PanelWidget *p =
- g_object_get_data (G_OBJECT(ad->applet),
- PANEL_APPLET_ASSOC_PANEL_KEY);
- if(p)
- run_up_forbidden(p,runfunc);
- }
- (*runfunc)(panel,panel);
-}
-
-static void
panel_widget_reset_focus (GtkContainer *container,
GtkWidget *widget)
{
@@ -541,28 +471,16 @@ static void
panel_widget_cadd (GtkContainer *container,
GtkWidget *widget)
{
- PanelWidget *p;
-
g_return_if_fail (PANEL_IS_WIDGET (container));
g_return_if_fail (GTK_IS_WIDGET (widget));
panel_widget_add (PANEL_WIDGET (container), widget, FALSE, 0, FALSE);
-
- p = g_object_get_data (G_OBJECT(widget),
- PANEL_APPLET_ASSOC_PANEL_KEY);
- if (p) {
- panel_toplevel_attach_to_widget (p->toplevel,
- PANEL_WIDGET (container)->toplevel,
- widget);
- run_up_forbidden (p, add_panel_to_forbidden);
- }
}
static void
panel_widget_cremove (GtkContainer *container, GtkWidget *widget)
{
AppletData *ad;
- PanelWidget *p;
PanelWidget *panel;
g_return_if_fail (PANEL_IS_WIDGET (container));
@@ -571,13 +489,6 @@ panel_widget_cremove (GtkContainer *container, GtkWidget *widget)
panel = PANEL_WIDGET (container);
ad = g_object_get_data (G_OBJECT (widget), PANEL_APPLET_DATA);
- p = g_object_get_data (G_OBJECT (widget),
- PANEL_APPLET_ASSOC_PANEL_KEY);
-
- if (p != NULL) {
- panel_toplevel_detach (p->toplevel);
- run_up_forbidden (p, remove_panel_from_forbidden);
- }
panel_widget_reset_focus (container, widget);
@@ -1722,15 +1633,6 @@ panel_widget_dispose (GObject *obj)
panel_widget_destroy_open_dialogs (panel);
- if (panel->master_widget != NULL) {
- g_object_set_data (G_OBJECT (panel->master_widget),
- PANEL_APPLET_ASSOC_PANEL_KEY,
- NULL);
- g_object_remove_weak_pointer (G_OBJECT (panel->master_widget),
- (gpointer *) &panel->master_widget);
- panel->master_widget = NULL;
- }
-
G_OBJECT_CLASS (panel_widget_parent_class)->dispose (obj);
}
@@ -1748,7 +1650,6 @@ panel_widget_init (PanelWidget *panel)
panel->thick = PANEL_MINIMUM_WIDTH;
panel->size = G_MAXINT;
panel->applet_list = NULL;
- panel->master_widget = NULL;
panel->drop_widget = widget;
panel->open_dialogs = NULL;
@@ -2116,7 +2017,6 @@ panel_widget_applet_move_to_cursor (PanelWidget *panel)
int pos;
int movement;
GtkWidget *applet;
- GSList *forb;
GdkModifierType mods;
AppletData *ad;
@@ -2131,8 +2031,6 @@ panel_widget_applet_move_to_cursor (PanelWidget *panel)
applet = ad->applet;
g_assert(GTK_IS_WIDGET(applet));
- forb = g_object_get_data (G_OBJECT(applet),
- PANEL_APPLET_FORBIDDEN_PANELS);
if(!panel_widget_is_cursor(panel,10)) {
GSList *list;
@@ -2147,7 +2045,6 @@ panel_widget_applet_move_to_cursor (PanelWidget *panel)
panel_widget_is_cursor (new_panel,10) &&
panel_screen_from_panel_widget (panel) ==
panel_screen_from_panel_widget (new_panel) &&
- !g_slist_find (forb, new_panel) &&
!panel_lockdown_get_locked_down ()) {
pos = panel_widget_get_moveby (new_panel, 0, ad->drag_off);
@@ -2531,15 +2428,6 @@ panel_widget_find_empty_pos(PanelWidget *panel, int pos)
}
}
-void
-panel_widget_add_forbidden (PanelWidget *panel)
-{
- g_return_if_fail (panel != NULL);
- g_return_if_fail (PANEL_IS_WIDGET (panel));
-
- add_panel_to_forbidden (panel, panel);
-}
-
int
panel_widget_add (PanelWidget *panel,
GtkWidget *applet,
@@ -2882,9 +2770,6 @@ panel_widget_real_focus (GtkWidget *widget,
void
panel_widget_focus (PanelWidget *panel_widget)
{
- if (panel_toplevel_get_is_attached (panel_widget->toplevel))
- return;
-
/*
* Set the focus back on the panel; we unset the focus child so that
* the next time focus is inside the panel we do not remember the
diff --git a/gnome-panel/panel-widget.h b/gnome-panel/panel-widget.h
index a1ac3f1..b3e0f4d 100644
--- a/gnome-panel/panel-widget.h
+++ b/gnome-panel/panel-widget.h
@@ -27,8 +27,6 @@ G_BEGIN_DECLS
#define PANEL_MINIMUM_WIDTH 12
-#define PANEL_APPLET_ASSOC_PANEL_KEY "panel_applet_assoc_panel_key"
-#define PANEL_APPLET_FORBIDDEN_PANELS "panel_applet_forbidden_panels"
#define PANEL_APPLET_DATA "panel_applet_data"
#ifndef TYPEDEF_PANEL_WIDGET
@@ -99,8 +97,6 @@ struct _PanelWidget
PanelBackground background;
- GtkWidget *master_widget;
-
GtkWidget *drop_widget; /* widget that the panel checks for
* the cursor on drops usually the
* panel widget itself
@@ -156,9 +152,6 @@ int panel_widget_add (PanelWidget *panel,
int pos,
gboolean insert_at_pos);
-/*needs to be called for drawers after add*/
-void panel_widget_add_forbidden (PanelWidget *panel);
-
/*move applet to a different panel*/
int panel_widget_reparent (PanelWidget *old_panel,
PanelWidget *new_panel,
diff --git a/gnome-panel/panel.c b/gnome-panel/panel.c
index 90cfc51..9649a5c 100644
--- a/gnome-panel/panel.c
+++ b/gnome-panel/panel.c
@@ -25,7 +25,6 @@
#include "panel.h"
#include "applet.h"
-#include "drawer.h"
#include "button-widget.h"
#include "launcher.h"
#include "panel-bindings.h"
@@ -82,20 +81,6 @@ orientation_change (AppletInfo *info,
case PANEL_OBJECT_MENU_BAR:
panel_menu_bar_set_orientation (PANEL_MENU_BAR (info->widget), orientation);
break;
- case PANEL_OBJECT_DRAWER: {
- Drawer *drawer = info->data;
- PanelWidget *panel_widget;
-
- panel_widget = panel_toplevel_get_panel_widget (drawer->toplevel);
-
- button_widget_set_orientation (BUTTON_WIDGET (info->widget), orientation);
-
- gtk_widget_queue_resize (GTK_WIDGET (drawer->toplevel));
- gtk_container_foreach (GTK_CONTAINER (panel_widget),
- orient_change_foreach,
- panel_widget);
- }
- break;
case PANEL_OBJECT_SEPARATOR:
panel_separator_set_orientation (PANEL_SEPARATOR (info->widget),
orientation);
@@ -208,23 +193,6 @@ panel_applet_added(GtkWidget *widget, GtkWidget *applet, gpointer data)
back_change(info,PANEL_WIDGET(widget));
}
-static void
-panel_applet_removed(GtkWidget *widget, GtkWidget *applet, gpointer data)
-{
- PanelToplevel *toplevel;
- AppletInfo *info;
-
- toplevel = PANEL_WIDGET (widget)->toplevel;
- info = g_object_get_data (G_OBJECT (applet), "applet_info");
-
- if (info->type == PANEL_OBJECT_DRAWER) {
- Drawer *drawer = info->data;
-
- if (drawer->toplevel)
- panel_toplevel_queue_auto_hide (toplevel);
- }
-}
-
static gboolean
deactivate_idle (gpointer data)
{
@@ -814,14 +782,10 @@ move_applet (PanelWidget *panel, int pos, int applet_index)
info->widget != NULL &&
parent != NULL &&
PANEL_IS_WIDGET (parent)) {
- GSList *forb;
- forb = g_object_get_data (G_OBJECT (info->widget),
- PANEL_APPLET_FORBIDDEN_PANELS);
- if ( ! g_slist_find (forb, panel))
- panel_widget_reparent (PANEL_WIDGET (parent),
- panel,
- info->widget,
- pos);
+ panel_widget_reparent (PANEL_WIDGET (parent),
+ panel,
+ info->widget,
+ pos);
}
return TRUE;
@@ -838,10 +802,9 @@ drop_internal_applet (PanelWidget *panel, int pos, const char *applet_type,
if (applet_type == NULL)
return FALSE;
- if (sscanf (applet_type, "MENU:%d", &applet_index) == 1 ||
- sscanf (applet_type, "DRAWER:%d", &applet_index) == 1) {
+ if (sscanf (applet_type, "MENU:%d", &applet_index) == 1) {
if (action != GDK_ACTION_MOVE)
- g_warning ("Only MOVE supported for menus/drawers");
+ g_warning ("Only MOVE supported for menus");
success = move_applet (panel, pos, applet_index);
} else if (strncmp (applet_type, "MENU:", strlen ("MENU:")) == 0) {
@@ -866,14 +829,6 @@ drop_internal_applet (PanelWidget *panel, int pos, const char *applet_type,
g_free (menu_filename);
}
- } else if (!strcmp (applet_type, "DRAWER:NEW")) {
- if (panel_profile_id_lists_are_writable ()) {
- panel_drawer_create (panel->toplevel, pos, NULL, FALSE, NULL);
- success = TRUE;
- } else {
- success = FALSE;
- }
-
} else if (!strncmp (applet_type, "ACTION:", strlen ("ACTION:"))) {
if (panel_profile_id_lists_are_writable ()) {
remove_applet = panel_action_button_load_from_drag (
@@ -1028,22 +983,6 @@ panel_check_drop_forbidden (PanelWidget *panel,
if (panel_lockdown_get_locked_down ())
return FALSE;
- if (info == TARGET_APPLET_INTERNAL) {
- GtkWidget *source_widget;
-
- source_widget = gtk_drag_get_source_widget (context);
-
- if (BUTTON_IS_WIDGET (source_widget)) {
- GSList *forb;
-
- forb = g_object_get_data (G_OBJECT (source_widget),
- PANEL_APPLET_FORBIDDEN_PANELS);
-
- if (g_slist_find (forb, panel))
- return FALSE;
- }
- }
-
if (info == TARGET_ICON_INTERNAL ||
info == TARGET_APPLET_INTERNAL) {
if (gdk_drag_context_get_actions (context) & GDK_ACTION_MOVE)
@@ -1244,10 +1183,6 @@ panel_widget_setup(PanelWidget *panel)
G_CALLBACK(panel_applet_added),
NULL);
g_signal_connect (G_OBJECT(panel),
- "applet_removed",
- G_CALLBACK(panel_applet_removed),
- NULL);
- g_signal_connect (G_OBJECT(panel),
"applet_move",
G_CALLBACK(panel_applet_move),
NULL);
@@ -1342,20 +1277,7 @@ panel_is_applet_right_stick (GtkWidget *applet)
static void
panel_delete_without_query (PanelToplevel *toplevel)
{
- PanelWidget *panel_widget;
-
- panel_widget = panel_toplevel_get_panel_widget (toplevel);
-
- if (panel_toplevel_get_is_attached (toplevel) &&
- panel_widget->master_widget) {
- AppletInfo *info;
-
- info = g_object_get_data (G_OBJECT (panel_widget->master_widget),
- "applet_info");
-
- panel_profile_delete_object (info);
- } else
- panel_profile_delete_toplevel (toplevel);
+ panel_profile_delete_toplevel (toplevel);
}
static void
@@ -1385,28 +1307,19 @@ panel_deletion_dialog (PanelToplevel *toplevel)
{
GtkWidget *dialog;
- char *text1;
- char *text2;
-
- if (panel_toplevel_get_is_attached (toplevel)) {
- text1 = _("Delete this drawer?");
- text2 = _("When a drawer is deleted, the drawer and its\n"
- "settings are lost.");
- } else {
- text1 = _("Delete this panel?");
- text2 = _("When a panel is deleted, the panel and its\n"
- "settings are lost.");
- }
dialog = gtk_message_dialog_new (
GTK_WINDOW (toplevel),
GTK_DIALOG_MODAL,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_NONE,
- "%s", text1);
+ "%s", _("Delete this panel?"));
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
- "%s", text2);
+ "%s",
+ _("When a panel is deleted, the panel and its\n"
+ "settings are lost."));
+
gtk_dialog_add_buttons (GTK_DIALOG (dialog),
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_DELETE, GTK_RESPONSE_OK,
diff --git a/icons/16x16/Makefile.am b/icons/16x16/Makefile.am
index 5ef8316..8ff7532 100644
--- a/icons/16x16/Makefile.am
+++ b/icons/16x16/Makefile.am
@@ -4,7 +4,6 @@ iconsdir = $(datadir)/icons/hicolor/$(size)/apps
icons_DATA = \
gnome-panel-clock.png \
- gnome-panel-drawer.png \
gnome-panel-fish.png \
gnome-panel-force-quit.png \
gnome-panel-launcher.png \
@@ -17,7 +16,6 @@ icons_DATA = \
icons_SOURCE = \
gnome-panel-clock.xcf.bz2 \
- gnome-panel-drawer.svg \
gnome-panel-fish.xcf.bz2 \
gnome-panel-force-quit.svg \
gnome-panel-launcher.svg \
diff --git a/icons/22x22/Makefile.am b/icons/22x22/Makefile.am
index 5c65cdd..b5b5788 100644
--- a/icons/22x22/Makefile.am
+++ b/icons/22x22/Makefile.am
@@ -4,7 +4,6 @@ iconsdir = $(datadir)/icons/hicolor/$(size)/apps
icons_DATA = \
gnome-panel-clock.png \
- gnome-panel-drawer.png \
gnome-panel-fish.png \
gnome-panel-force-quit.png \
gnome-panel-launcher.png \
@@ -17,7 +16,6 @@ icons_DATA = \
icons_SOURCE = \
gnome-panel-clock.svg \
- gnome-panel-drawer.svg \
gnome-panel-fish.xcf.bz2 \
gnome-panel-force-quit.xcf.bz2 \
gnome-panel-launcher.svg \
diff --git a/icons/24x24/Makefile.am b/icons/24x24/Makefile.am
index b12d140..3b7d796 100644
--- a/icons/24x24/Makefile.am
+++ b/icons/24x24/Makefile.am
@@ -4,7 +4,6 @@ iconsdir = $(datadir)/icons/hicolor/$(size)/apps
icons_DATA = \
gnome-panel-clock.png \
- gnome-panel-drawer.png \
gnome-panel-fish.png \
gnome-panel-force-quit.png \
gnome-panel-launcher.png \
diff --git a/icons/32x32/Makefile.am b/icons/32x32/Makefile.am
index 58ff797..a9f1fdb 100644
--- a/icons/32x32/Makefile.am
+++ b/icons/32x32/Makefile.am
@@ -4,7 +4,6 @@ iconsdir = $(datadir)/icons/hicolor/$(size)/apps
icons_DATA = \
gnome-panel-clock.png \
- gnome-panel-drawer.png \
gnome-panel-fish.png \
gnome-panel-force-quit.png \
gnome-panel-launcher.png \
@@ -17,7 +16,6 @@ icons_DATA = \
icons_SOURCE = \
gnome-panel-clock.svg \
- gnome-panel-drawer.svg \
gnome-panel-fish.svg \
gnome-panel-force-quit.svg \
gnome-panel-launcher.svg \
diff --git a/icons/scalable/Makefile.am b/icons/scalable/Makefile.am
index ca3f2cc..a343d9f 100644
--- a/icons/scalable/Makefile.am
+++ b/icons/scalable/Makefile.am
@@ -4,7 +4,6 @@ iconsdir = $(datadir)/icons/hicolor/$(size)/apps
icons_DATA = \
gnome-panel-clock.svg \
- gnome-panel-drawer.svg \
gnome-panel-fish.svg \
gnome-panel-force-quit.svg \
gnome-panel-launcher.svg \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]