我们将用GSettings 来保存偏好设置,GSettings 需要一个描述我们设置的模式。

    当我们在应用程序中使用这个模式之前,我们需要从GSettings 中将这编译进二进制文件。GIO 提供来在工程中做这件事。

    接着,我们需要连接settings 和我们的目标部件。一个简便的方法是用GSettings bind 函数绑定设定关键词和目标属性,就像我们这里为转换设置做的。

    这个连接字体设置的代码有点儿复杂,因为我们没有对应的简单的目标属性,我们本没打算这么做。

    至此,如果我们改变一个设置,程序将会有反应,比如用gsettings 命令行工具。当然,我们希望应用程序提供一个偏好对话框。所以干吧,我们的偏好对话框是GtkDialog 的子类,我们将使用我们已经用过的技术:templates,private structs, settingbindings。

    让我们从模板开始。

    现在我们再看preferences_activated()函数,使它打开一个偏好对话框。

    ()

    完成所有这些工作后,我们的应用程序现在可以像这样显示一个偏好对话框: