aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ephy-dialog.c
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@gnome.org>2004-01-24 17:56:44 +0800
committerMarco Pesenti Gritti <marco@src.gnome.org>2004-01-24 17:56:44 +0800
commit180df7244c25e3034e0bf8bbc52b875ddb473816 (patch)
treecca5e34549076ff504b28ccd1297e641e232629a /lib/ephy-dialog.c
parente6f14bc0bd721724d671104a719047203babb361 (diff)
downloadgsoc2013-epiphany-180df7244c25e3034e0bf8bbc52b875ddb473816.tar.gz
gsoc2013-epiphany-180df7244c25e3034e0bf8bbc52b875ddb473816.tar.zst
gsoc2013-epiphany-180df7244c25e3034e0bf8bbc52b875ddb473816.zip
Add a persist-position property.
2004-01-24 Marco Pesenti Gritti <marco@gnome.org> * lib/ephy-dialog.c: (setup_default_size), (ephy_dialog_init), (ephy_dialog_set_property), (ephy_dialog_get_property), (ephy_dialog_class_init): Add a persist-position property. * embed/downloader-view.c: (downloader_view_new): Persist downloader position. * src/prefs-dialog.c: (get_download_button_label): * embed/mozilla/MozDownload.cpp: * data/epiphany.schemas.in: Default to ~/Desktop/Downloads.
Diffstat (limited to 'lib/ephy-dialog.c')
-rw-r--r--lib/ephy-dialog.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/lib/ephy-dialog.c b/lib/ephy-dialog.c
index 61af99312..4d1fd9e17 100644
--- a/lib/ephy-dialog.c
+++ b/lib/ephy-dialog.c
@@ -43,7 +43,8 @@ enum
{
PROP_0,
PROP_PARENT_WINDOW,
- PROP_MODAL
+ PROP_MODAL,
+ PROP_PERSIST_POSITION
};
typedef enum
@@ -84,6 +85,7 @@ struct EphyDialogPrivate
gboolean has_default_size;
gboolean disposing;
gboolean initialized;
+ gboolean persist_position;
};
#define SPIN_DELAY 0.20
@@ -968,6 +970,8 @@ setup_default_size (EphyDialog *dialog)
{
ephy_state_add_window (dialog->priv->dialog,
dialog->priv->name, -1, -1,
+ dialog->priv->persist_position ?
+ EPHY_STATE_WINDOW_SAVE_POSITION :
EPHY_STATE_WINDOW_SAVE_SIZE);
dialog->priv->has_default_size = TRUE;
@@ -1274,6 +1278,7 @@ ephy_dialog_init (EphyDialog *dialog)
dialog->priv->initialized = FALSE;
dialog->priv->has_default_size = FALSE;
dialog->priv->disposing = FALSE;
+ dialog->priv->persist_position = FALSE;
dialog->priv->props = g_hash_table_new_full
(g_str_hash, g_str_equal, NULL, (GDestroyNotify) free_prop_info);
@@ -1329,6 +1334,9 @@ ephy_dialog_set_property (GObject *object,
case PROP_MODAL:
ephy_dialog_set_modal (dialog, g_value_get_boolean (value));
break;
+ case PROP_PERSIST_POSITION:
+ dialog->priv->persist_position = g_value_get_boolean (value);
+ break;
}
}
@@ -1347,6 +1355,10 @@ ephy_dialog_get_property (GObject *object,
break;
case PROP_MODAL:
g_value_set_boolean (value, dialog->priv->modal);
+ break;
+ case PROP_PERSIST_POSITION:
+ g_value_set_boolean (value, dialog->priv->persist_position);
+ break;
}
}
@@ -1392,6 +1404,14 @@ ephy_dialog_class_init (EphyDialogClass *klass)
FALSE,
G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_PERSIST_POSITION,
+ g_param_spec_boolean ("persist-position",
+ "Persist position",
+ "Persist dialog position",
+ FALSE,
+ G_PARAM_READWRITE));
+
g_type_class_add_private (object_class, sizeof (EphyDialogPrivate));
}