[devhelp] BookManager: remove the group-by-language property
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devhelp] BookManager: remove the group-by-language property
- Date: Tue, 3 Apr 2018 11:52:22 +0000 (UTC)
commit 67e631f91f7f48a05f598a5113d65607f65d59a7
Author: Sébastien Wilmet <swilmet gnome org>
Date: Tue Apr 3 12:53:33 2018 +0200
BookManager: remove the group-by-language property
Use the DhSettings:group-books-by-language property instead.
devhelp/dh-book-manager.c | 118 +----------------------------------
devhelp/dh-book-manager.h | 7 +--
devhelp/dh-book-tree.c | 39 +++++++-----
docs/reference/api-breaks.xml | 14 ++++
docs/reference/devhelp-sections.txt | 2 -
src/dh-preferences.c | 32 +++++----
6 files changed, 56 insertions(+), 156 deletions(-)
---
diff --git a/devhelp/dh-book-manager.c b/devhelp/dh-book-manager.c
index c326cbd..f466db8 100644
--- a/devhelp/dh-book-manager.c
+++ b/devhelp/dh-book-manager.c
@@ -7,7 +7,7 @@
* Copyright (C) 2004-2008 Imendio AB
* Copyright (C) 2010 Lanedo GmbH
* Copyright (C) 2012 Thomas Bechtold <toabctl gnome org>
- * Copyright (C) 2017 Sébastien Wilmet <swilmet gnome org>
+ * Copyright (C) 2017, 2018 Sébastien Wilmet <swilmet gnome org>
*
* Devhelp is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
@@ -129,8 +129,6 @@ typedef struct {
/* List of book IDs (gchar*) currently disabled */
GList *books_disabled;
-
- guint group_by_language : 1;
} DhBookManagerPrivate;
enum {
@@ -141,11 +139,6 @@ enum {
N_SIGNALS
};
-enum {
- PROP_0,
- PROP_GROUP_BY_LANGUAGE
-};
-
static guint signals[N_SIGNALS] = { 0 };
static DhBookManager *singleton = NULL;
@@ -185,46 +178,6 @@ new_possible_book_data_free (gpointer _data)
}
static void
-dh_book_manager_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- DhBookManager *book_manager = DH_BOOK_MANAGER (object);
-
- switch (prop_id)
- {
- case PROP_GROUP_BY_LANGUAGE:
- g_value_set_boolean (value, dh_book_manager_get_group_by_language (book_manager));
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-dh_book_manager_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- DhBookManager *book_manager = DH_BOOK_MANAGER (object);
-
- switch (prop_id)
- {
- case PROP_GROUP_BY_LANGUAGE:
- dh_book_manager_set_group_by_language (book_manager, g_value_get_boolean (value));
- break;
-
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
dh_book_manager_dispose (GObject *object)
{
DhBookManagerPrivate *priv;
@@ -264,8 +217,6 @@ dh_book_manager_class_init (DhBookManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- object_class->get_property = dh_book_manager_get_property;
- object_class->set_property = dh_book_manager_set_property;
object_class->dispose = dh_book_manager_dispose;
object_class->finalize = dh_book_manager_finalize;
@@ -328,20 +279,6 @@ dh_book_manager_class_init (DhBookManagerClass *klass)
G_TYPE_NONE,
1,
DH_TYPE_BOOK);
-
- /**
- * DhBookManager:group-by-language:
- *
- * Whether books should be grouped by programming language.
- */
- g_object_class_install_property (object_class,
- PROP_GROUP_BY_LANGUAGE,
- g_param_spec_boolean ("group-by-language",
- "Group by language",
- "",
- FALSE,
- G_PARAM_READWRITE |
- G_PARAM_STATIC_STRINGS));
}
static void
@@ -832,17 +769,7 @@ populate (DhBookManager *book_manager)
static void
dh_book_manager_init (DhBookManager *book_manager)
{
- DhSettings *settings;
- GSettings *contents_settings;
-
load_books_disabled (book_manager);
-
- settings = dh_settings_get_default ();
- contents_settings = dh_settings_peek_contents_settings (settings);
- g_settings_bind (contents_settings, "group-books-by-language",
- book_manager, "group-by-language",
- G_SETTINGS_BIND_DEFAULT);
-
populate (book_manager);
}
@@ -919,46 +846,3 @@ dh_book_manager_get_books (DhBookManager *book_manager)
return priv->books;
}
-
-/**
- * dh_book_manager_get_group_by_language:
- * @book_manager: a #DhBookManager.
- *
- * Returns: whether the books should be grouped by programming language.
- */
-gboolean
-dh_book_manager_get_group_by_language (DhBookManager *book_manager)
-{
- DhBookManagerPrivate *priv;
-
- g_return_val_if_fail (DH_IS_BOOK_MANAGER (book_manager), FALSE);
-
- priv = dh_book_manager_get_instance_private (book_manager);
-
- return priv->group_by_language;
-}
-
-/**
- * dh_book_manager_set_group_by_language:
- * @book_manager: a #DhBookManager.
- * @group_by_language: the new value.
- *
- * Sets whether the books should be grouped by programming language.
- */
-void
-dh_book_manager_set_group_by_language (DhBookManager *book_manager,
- gboolean group_by_language)
-{
- DhBookManagerPrivate *priv;
-
- g_return_if_fail (DH_IS_BOOK_MANAGER (book_manager));
-
- priv = dh_book_manager_get_instance_private (book_manager);
-
- group_by_language = group_by_language != FALSE;
-
- if (priv->group_by_language != group_by_language) {
- priv->group_by_language = group_by_language;
- g_object_notify (G_OBJECT (book_manager), "group-by-language");
- }
-}
diff --git a/devhelp/dh-book-manager.h b/devhelp/dh-book-manager.h
index 9ba06bb..22588f8 100644
--- a/devhelp/dh-book-manager.h
+++ b/devhelp/dh-book-manager.h
@@ -3,7 +3,7 @@
* This file is part of Devhelp.
*
* Copyright (C) 2010 Lanedo GmbH
- * Copyright (C) 2017 Sébastien Wilmet <swilmet gnome org>
+ * Copyright (C) 2017, 2018 Sébastien Wilmet <swilmet gnome org>
*
* Devhelp is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
@@ -53,11 +53,6 @@ DhBookManager * dh_book_manager_get_singleton (void);
GList * dh_book_manager_get_books (DhBookManager *book_manager);
-gboolean dh_book_manager_get_group_by_language (DhBookManager *book_manager);
-
-void dh_book_manager_set_group_by_language (DhBookManager *book_manager,
- gboolean group_by_language);
-
G_DEPRECATED
DhBookManager * dh_book_manager_new (void);
diff --git a/devhelp/dh-book-tree.c b/devhelp/dh-book-tree.c
index 5613cb0..1c3f138 100644
--- a/devhelp/dh-book-tree.c
+++ b/devhelp/dh-book-tree.c
@@ -6,7 +6,7 @@
* Copyright (C) 2003 CodeFactory AB
* Copyright (C) 2008 Imendio AB
* Copyright (C) 2010 Lanedo GmbH
- * Copyright (C) 2015, 2017 Sébastien Wilmet <swilmet gnome org>
+ * Copyright (C) 2015, 2017, 2018 Sébastien Wilmet <swilmet gnome org>
*
* Devhelp is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
@@ -27,6 +27,7 @@
#include <glib/gi18n-lib.h>
#include "dh-book-manager.h"
#include "dh-book.h"
+#include "dh-settings.h"
/**
* SECTION:dh-book-tree
@@ -137,7 +138,7 @@ book_tree_find_language_group (DhBookTree *tree,
gboolean *next_found)
{
DhBookTreePrivate *priv = dh_book_tree_get_instance_private (tree);
- DhBookManager *book_manager;
+ DhSettings *settings;
GtkTreeIter loop_iter;
g_assert ((exact_iter != NULL && exact_found != NULL) ||
@@ -150,8 +151,8 @@ book_tree_find_language_group (DhBookTree *tree,
*next_found = FALSE;
/* If we're not doing language grouping, return not found */
- book_manager = dh_book_manager_get_singleton ();
- if (!dh_book_manager_get_group_by_language (book_manager))
+ settings = dh_settings_get_default ();
+ if (!dh_settings_get_group_books_by_language (settings))
return;
if (!gtk_tree_model_get_iter_first (GTK_TREE_MODEL (priv->store),
@@ -322,12 +323,12 @@ book_tree_add_book_to_store (DhBookTree *tree,
DhBook *book)
{
DhBookTreePrivate *priv = dh_book_tree_get_instance_private (tree);
- DhBookManager *book_manager;
+ DhSettings *settings;
GtkTreeIter book_iter;
/* If grouping by language we need to add the language categories */
- book_manager = dh_book_manager_get_singleton ();
- if (dh_book_manager_get_group_by_language (book_manager)) {
+ settings = dh_settings_get_default ();
+ if (dh_settings_get_group_books_by_language (settings)) {
GtkTreeIter language_iter;
gboolean language_iter_found;
GtkTreeIter next_language_iter;
@@ -464,12 +465,14 @@ book_tree_book_deleted_or_disabled_cb (DhBookManager *book_manager,
DhBookTree *tree)
{
DhBookTreePrivate *priv = dh_book_tree_get_instance_private (tree);
+ DhSettings *settings;
GtkTreeIter exact_iter;
gboolean exact_iter_found = FALSE;
GtkTreeIter language_iter;
gboolean language_iter_found = FALSE;
- if (dh_book_manager_get_group_by_language (book_manager)) {
+ settings = dh_settings_get_default ();
+ if (dh_settings_get_group_books_by_language (settings)) {
GtkTreeIter first_book_iter;
book_tree_find_language_group (tree,
@@ -523,7 +526,7 @@ static void
book_tree_init_selection (DhBookTree *tree)
{
DhBookTreePrivate *priv;
- DhBookManager *book_manager;
+ DhSettings *settings;
GtkTreeSelection *selection;
GtkTreeIter iter;
gboolean iter_found = FALSE;
@@ -543,8 +546,8 @@ book_tree_init_selection (DhBookTree *tree)
tree);
/* If grouping by languages, get first book in the first language */
- book_manager = dh_book_manager_get_singleton ();
- if (dh_book_manager_get_group_by_language (book_manager)) {
+ settings = dh_settings_get_default ();
+ if (dh_settings_get_group_books_by_language (settings)) {
GtkTreeIter language_iter;
if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (priv->store),
@@ -607,9 +610,9 @@ book_tree_populate_tree (DhBookTree *tree)
}
static void
-book_tree_group_by_language_cb (GObject *object,
- GParamSpec *pspec,
- DhBookTree *tree)
+group_books_by_language_notify_cb (DhSettings *settings,
+ GParamSpec *pspec,
+ DhBookTree *tree)
{
book_tree_populate_tree (tree);
}
@@ -757,6 +760,7 @@ dh_book_tree_init (DhBookTree *tree)
{
DhBookTreePrivate *priv;
DhBookManager *book_manager;
+ DhSettings *settings;
priv = dh_book_tree_get_instance_private (tree);
@@ -802,9 +806,10 @@ dh_book_tree_init (DhBookTree *tree)
tree,
0);
- g_signal_connect_object (book_manager,
- "notify::group-by-language",
- G_CALLBACK (book_tree_group_by_language_cb),
+ settings = dh_settings_get_default ();
+ g_signal_connect_object (settings,
+ "notify::group-books-by-language",
+ G_CALLBACK (group_books_by_language_notify_cb),
tree,
0);
diff --git a/docs/reference/api-breaks.xml b/docs/reference/api-breaks.xml
index c47c2b5..e92364d 100644
--- a/docs/reference/api-breaks.xml
+++ b/docs/reference/api-breaks.xml
@@ -233,4 +233,18 @@
</listitem>
</itemizedlist>
</refsect1>
+
+ <refsect1>
+ <title>3.28.0 -> 3.29.1</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ The <code>DhBookManager:group-by-language</code> property has been
+ replaced by the
+ <link linkend="DhSettings--group-books-by-language">DhSettings:group-books-by-language</link>
+ property.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </refsect1>
</part>
diff --git a/docs/reference/devhelp-sections.txt b/docs/reference/devhelp-sections.txt
index 97e0844..50ba4b5 100644
--- a/docs/reference/devhelp-sections.txt
+++ b/docs/reference/devhelp-sections.txt
@@ -57,8 +57,6 @@ dh_book_manager_new
dh_book_manager_get_singleton
dh_book_manager_populate
dh_book_manager_get_books
-dh_book_manager_get_group_by_language
-dh_book_manager_set_group_by_language
<SUBSECTION Standard>
DhBookManagerClass
DH_BOOK_MANAGER
diff --git a/src/dh-preferences.c b/src/dh-preferences.c
index 1267ff0..2cdc082 100644
--- a/src/dh-preferences.c
+++ b/src/dh-preferences.c
@@ -391,11 +391,14 @@ static void
preferences_bookshelf_populate_store (DhPreferences *prefs)
{
DhBookManager *book_manager;
+ DhSettings *settings;
GList *l;
gboolean group_by_language;
book_manager = dh_book_manager_get_singleton ();
- group_by_language = dh_book_manager_get_group_by_language (book_manager);
+
+ settings = dh_settings_get_default ();
+ group_by_language = dh_settings_get_group_books_by_language (settings);
/* This list already comes ordered, but we don't care */
for (l = dh_book_manager_get_books (book_manager);
@@ -408,9 +411,9 @@ preferences_bookshelf_populate_store (DhPreferences *prefs)
}
static void
-preferences_bookshelf_group_by_language_cb (GObject *object,
- GParamSpec *pspec,
- DhPreferences *prefs)
+preferences_bookshelf_group_books_by_language_notify_cb (DhSettings *settings,
+ GParamSpec *pspec,
+ DhPreferences *prefs)
{
preferences_bookshelf_clean_store (prefs);
preferences_bookshelf_populate_store (prefs);
@@ -505,9 +508,11 @@ preferences_bookshelf_book_created_cb (DhBookManager *book_manager,
DhBook *book,
DhPreferences *prefs)
{
+ DhSettings *settings;
gboolean group_by_language;
- group_by_language = dh_book_manager_get_group_by_language (book_manager);
+ settings = dh_settings_get_default ();
+ group_by_language = dh_settings_get_group_books_by_language (settings);
preferences_bookshelf_add_book_to_store (prefs, book, group_by_language);
}
@@ -517,10 +522,10 @@ preferences_bookshelf_tree_selection_toggled_cb (GtkCellRendererToggle *cell_ren
DhPreferences *prefs)
{
DhPreferencesPrivate *priv = dh_preferences_get_instance_private (prefs);
- DhBookManager *book_manager;
+ DhSettings *settings;
GtkTreeIter iter;
- book_manager = dh_book_manager_get_singleton ();
+ settings = dh_settings_get_default ();
if (gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (priv->bookshelf_store),
&iter,
@@ -543,15 +548,14 @@ preferences_bookshelf_tree_selection_toggled_cb (GtkCellRendererToggle *cell_ren
-1);
/* Now we need to look for the language group of this item,
* in order to set the inconsistent state if applies */
- if (dh_book_manager_get_group_by_language (book_manager)) {
+ if (dh_settings_get_group_books_by_language (settings)) {
preferences_bookshelf_set_language_inconsistent (prefs, dh_book_get_language
(book));
}
-
} else {
GtkTreeIter loop_iter;
/* We should only reach this if we are grouping by language */
- g_assert (dh_book_manager_get_group_by_language (book_manager) == TRUE);
+ g_assert (dh_settings_get_group_books_by_language (settings));
/* Set new status in the language group item */
gtk_list_store_set (priv->bookshelf_store, &iter,
@@ -612,16 +616,16 @@ dh_preferences_init (DhPreferences *prefs)
prefs,
0);
- g_signal_connect_object (book_manager,
- "notify::group-by-language",
- G_CALLBACK (preferences_bookshelf_group_by_language_cb),
+ settings_lib = dh_settings_get_default ();
+ g_signal_connect_object (settings_lib,
+ "notify::group-books-by-language",
+ G_CALLBACK (preferences_bookshelf_group_books_by_language_notify_cb),
prefs,
0);
/* setup GSettings bindings */
settings_app = dh_settings_app_get_singleton ();
settings_fonts = dh_settings_app_peek_fonts_settings (settings_app);
- settings_lib = dh_settings_get_default ();
settings_contents = dh_settings_peek_contents_settings (settings_lib);
g_settings_bind (settings_fonts, "use-system-fonts",
priv->system_fonts_button, "active",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]