[devhelp] Window: tidy up a little the previous commit and add FIXME comment
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devhelp] Window: tidy up a little the previous commit and add FIXME comment
- Date: Wed, 16 Aug 2017 10:37:07 +0000 (UTC)
commit d170ad73f94cdb0a946820afd0e6d591654730d5
Author: Sébastien Wilmet <swilmet gnome org>
Date: Wed Aug 16 12:33:43 2017 +0200
Window: tidy up a little the previous commit and add FIXME comment
src/dh-window.c | 30 ++++++++++++++++++++----------
1 files changed, 20 insertions(+), 10 deletions(-)
---
diff --git a/src/dh-window.c b/src/dh-window.c
index e0012f4..4a41e99 100644
--- a/src/dh-window.c
+++ b/src/dh-window.c
@@ -654,6 +654,16 @@ dh_window_screen_changed (GtkWidget *window,
previous_screen);
}
+/* FIXME: this is a bit complicated just for saving the window state.
+ * Implement something (hopefully) simpler, by saving the GSettings only when
+ * needed:
+ * - when closing a DhWindow.
+ * - just before creating a second/third/... DhWindow, save the GSettings of the
+ * active DhWindow.
+ *
+ * There is also a HowDoI:
+ * https://wiki.gnome.org/HowDoI/SaveWindowState
+ */
static gboolean
window_settings_save_cb (gpointer user_data)
{
@@ -674,13 +684,13 @@ window_settings_save_cb (gpointer user_data)
}
static gboolean
-dh_window_configure_event (GtkWidget *window,
+dh_window_configure_event (GtkWidget *widget,
GdkEventConfigure *event)
{
- DhWindow *dh_window = DH_WINDOW (window);
+ DhWindow *window = DH_WINDOW (widget);
DhWindowPrivate *priv;
- priv = dh_window_get_instance_private (dh_window);
+ priv = dh_window_get_instance_private (window);
if (priv->configure_id != 0) {
g_source_remove (priv->configure_id);
@@ -689,23 +699,23 @@ dh_window_configure_event (GtkWidget *window,
priv->configure_id = g_timeout_add (WINDOW_SETTINGS_SAVE_TIMEOUT_MSECS,
window_settings_save_cb,
- dh_window);
+ window);
if (GTK_WIDGET_CLASS (dh_window_parent_class)->configure_event == NULL)
return GDK_EVENT_PROPAGATE;
- return GTK_WIDGET_CLASS (dh_window_parent_class)->configure_event (window, event);
+ return GTK_WIDGET_CLASS (dh_window_parent_class)->configure_event (widget, event);
}
static gboolean
-dh_window_delete_event (GtkWidget *window,
- GdkEventAny *event)
+dh_window_delete_event (GtkWidget *widget,
+ GdkEventAny *event)
{
- DhWindow *dh_window = DH_WINDOW (window);
+ DhWindow *window = DH_WINDOW (widget);
DhWindowPrivate *priv;
DhSettings *settings;
- priv = dh_window_get_instance_private (dh_window);
+ priv = dh_window_get_instance_private (window);
if (priv->configure_id != 0) {
g_source_remove (priv->configure_id);
@@ -720,7 +730,7 @@ dh_window_delete_event (GtkWidget *window,
if (GTK_WIDGET_CLASS (dh_window_parent_class)->delete_event == NULL)
return GDK_EVENT_PROPAGATE;
- return GTK_WIDGET_CLASS (dh_window_parent_class)->delete_event (window, event);
+ return GTK_WIDGET_CLASS (dh_window_parent_class)->delete_event (widget, event);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]