[nautilus] view: refactor supports_zooming into a property
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] view: refactor supports_zooming into a property
- Date: Thu, 17 Feb 2011 16:29:13 +0000 (UTC)
commit 621106fd68a9e2d86f5e62876fd3e2844c2d85ac
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Mon Feb 14 14:09:35 2011 -0500
view: refactor supports_zooming into a property
src/nautilus-desktop-icon-view.c | 12 +-----------
src/nautilus-view.c | 26 ++++++++++++++------------
src/nautilus-view.h | 7 -------
3 files changed, 15 insertions(+), 30 deletions(-)
---
diff --git a/src/nautilus-desktop-icon-view.c b/src/nautilus-desktop-icon-view.c
index 1bf6c42..26f0a0f 100644
--- a/src/nautilus-desktop-icon-view.c
+++ b/src/nautilus-desktop-icon-view.c
@@ -87,7 +87,6 @@ static gboolean real_supports_keep_aligned (NautilusIconV
static gboolean real_supports_labels_beside_icons (NautilusIconView *view);
static void real_merge_menus (NautilusView *view);
static void real_update_menus (NautilusView *view);
-static gboolean real_supports_zooming (NautilusView *view);
static void nautilus_desktop_icon_view_update_icon_container_fonts (NautilusDesktopIconView *view);
static void font_changed_callback (gpointer callback_data);
@@ -324,7 +323,6 @@ nautilus_desktop_icon_view_class_init (NautilusDesktopIconViewClass *class)
vclass->begin_loading = real_begin_loading;
vclass->merge_menus = real_merge_menus;
vclass->update_menus = real_update_menus;
- vclass->supports_zooming = real_supports_zooming;
vclass->get_view_id = real_get_id;
iclass->supports_auto_layout = real_supports_auto_layout;
@@ -843,15 +841,6 @@ real_supports_labels_beside_icons (NautilusIconView *view)
return FALSE;
}
-static gboolean
-real_supports_zooming (NautilusView *view)
-{
- /* Can't zoom on the desktop, because doing so would cause all
- * sorts of complications involving the fixed-size window.
- */
- return FALSE;
-}
-
static NautilusView *
nautilus_desktop_icon_view_create (NautilusWindowSlot *slot)
{
@@ -860,6 +849,7 @@ nautilus_desktop_icon_view_create (NautilusWindowSlot *slot)
view = g_object_new (NAUTILUS_TYPE_DESKTOP_ICON_VIEW,
"window-slot", slot,
"show-floating-bar", FALSE,
+ "supports-zooming", FALSE,
NULL);
return NAUTILUS_VIEW (view);
}
diff --git a/src/nautilus-view.c b/src/nautilus-view.c
index 07a90e8..d47da57 100644
--- a/src/nautilus-view.c
+++ b/src/nautilus-view.c
@@ -146,6 +146,7 @@ enum {
enum {
PROP_WINDOW_SLOT = 1,
PROP_SHOW_FLOATING_BAR,
+ PROP_SUPPORTS_ZOOMING,
NUM_PROPERTIES
};
@@ -170,7 +171,9 @@ struct NautilusViewDetails
GtkWidget *overlay;
GtkWidget *floating_bar;
+
gboolean show_floating_bar;
+ gboolean supports_zooming;
GList *scripts_directory_list;
GtkActionGroup *scripts_action_group;
@@ -649,9 +652,7 @@ nautilus_view_supports_zooming (NautilusView *view)
{
g_return_val_if_fail (NAUTILUS_IS_VIEW (view), FALSE);
- return EEL_CALL_METHOD_WITH_RETURN_VALUE
- (NAUTILUS_VIEW_CLASS, view,
- supports_zooming, (view));
+ return view->details->supports_zooming;
}
/**
@@ -9414,14 +9415,6 @@ nautilus_view_should_show_file (NautilusView *view, NautilusFile *file)
}
static gboolean
-real_supports_zooming (NautilusView *view)
-{
- g_return_val_if_fail (NAUTILUS_IS_VIEW (view), FALSE);
-
- return TRUE;
-}
-
-static gboolean
real_using_manual_layout (NautilusView *view)
{
g_return_val_if_fail (NAUTILUS_IS_VIEW (view), FALSE);
@@ -9634,6 +9627,9 @@ nautilus_view_set_property (GObject *object,
case PROP_SHOW_FLOATING_BAR:
directory_view->details->show_floating_bar = g_value_get_boolean (value);
break;
+ case PROP_SUPPORTS_ZOOMING:
+ directory_view->details->supports_zooming = g_value_get_boolean (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -9850,7 +9846,6 @@ nautilus_view_class_init (NautilusViewClass *klass)
klass->load_error = real_load_error;
klass->can_rename_file = can_rename_file;
klass->start_renaming_file = start_renaming_file;
- klass->supports_zooming = real_supports_zooming;
klass->using_manual_layout = real_using_manual_layout;
klass->merge_menus = real_merge_menus;
klass->unmerge_menus = real_unmerge_menus;
@@ -9893,6 +9888,13 @@ nautilus_view_class_init (NautilusViewClass *klass)
TRUE,
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS);
+ properties[PROP_SUPPORTS_ZOOMING] =
+ g_param_spec_boolean ("supports-zooming",
+ "Supports zooming",
+ "Whether the view supports zooming",
+ TRUE,
+ G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (oclass, NUM_PROPERTIES, properties);
diff --git a/src/nautilus-view.h b/src/nautilus-view.h
index 361a893..b6689f2 100644
--- a/src/nautilus-view.h
+++ b/src/nautilus-view.h
@@ -232,13 +232,6 @@ struct NautilusViewClass {
NautilusFile *a,
NautilusFile *b);
- /* supports_zooming is a function pointer that subclasses may
- * override to control whether or not the zooming control and
- * menu items should be enabled. The default implementation
- * returns TRUE.
- */
- gboolean (* supports_zooming) (NautilusView *view);
-
/* using_manual_layout is a function pointer that subclasses may
* override to control whether or not items can be freely positioned
* on the user-visible area.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]