Introduce MIDORI_PARAM_DELAYED_SAVING mechanism
The flag says which properties don't trigger saving to avoid disk I/O.
This commit is contained in:
parent
d809cd6040
commit
040a1670e4
3 changed files with 10 additions and 11 deletions
|
@ -615,10 +615,7 @@ settings_notify_cb (MidoriWebSettings* settings,
|
|||
gchar* config_file;
|
||||
|
||||
/* Skip state related properties to avoid disk IO */
|
||||
if ((pspec && g_str_has_prefix (pspec->name, "last-window-"))
|
||||
|| (pspec && g_str_has_prefix (pspec->name, "user-stylesheet-uri"))
|
||||
|| (pspec && g_str_equal (pspec->name, "search-width"))
|
||||
|| (pspec && g_str_has_prefix (pspec->name, "last-panel-")))
|
||||
if (pspec && pspec->flags & MIDORI_PARAM_DELAY_SAVING)
|
||||
return;
|
||||
|
||||
config_file = build_config_filename ("config");
|
||||
|
|
|
@ -369,7 +369,7 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
|
|||
_("Last window width"),
|
||||
_("The last saved window width"),
|
||||
0, G_MAXINT, 0,
|
||||
flags));
|
||||
flags | MIDORI_PARAM_DELAY_SAVING));
|
||||
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_LAST_WINDOW_HEIGHT,
|
||||
|
@ -378,7 +378,7 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
|
|||
_("Last window height"),
|
||||
_("The last saved window height"),
|
||||
0, G_MAXINT, 0,
|
||||
flags));
|
||||
flags | MIDORI_PARAM_DELAY_SAVING));
|
||||
|
||||
/**
|
||||
* MidoriWebSettings:last-window-state:
|
||||
|
@ -395,7 +395,7 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
|
|||
"The last saved window state",
|
||||
MIDORI_TYPE_WINDOW_STATE,
|
||||
MIDORI_WINDOW_NORMAL,
|
||||
flags));
|
||||
flags | MIDORI_PARAM_DELAY_SAVING));
|
||||
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_LAST_PANEL_POSITION,
|
||||
|
@ -404,7 +404,7 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
|
|||
_("Last panel position"),
|
||||
_("The last saved panel position"),
|
||||
0, G_MAXINT, 0,
|
||||
flags));
|
||||
flags | MIDORI_PARAM_DELAY_SAVING));
|
||||
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_LAST_PANEL_PAGE,
|
||||
|
@ -414,7 +414,7 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
|
|||
_("Last panel page"),
|
||||
_("The last saved panel page"),
|
||||
0, G_MAXINT, 0,
|
||||
flags));
|
||||
flags | MIDORI_PARAM_DELAY_SAVING));
|
||||
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_LAST_WEB_SEARCH,
|
||||
|
@ -1079,7 +1079,7 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
|
|||
"User stylesheet URI",
|
||||
"Load stylesheets from a local URI",
|
||||
NULL,
|
||||
flags));
|
||||
flags | MIDORI_PARAM_DELAY_SAVING));
|
||||
|
||||
/**
|
||||
* MidoriWebSettings:search-entry-width:
|
||||
|
@ -1095,7 +1095,7 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
|
|||
"Search action width",
|
||||
"Search action width in pixels",
|
||||
10, G_MAXINT, 200,
|
||||
flags));
|
||||
flags | MIDORI_PARAM_DELAY_SAVING));
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -34,6 +34,8 @@ G_BEGIN_DECLS
|
|||
typedef struct _MidoriWebSettings MidoriWebSettings;
|
||||
typedef struct _MidoriWebSettingsClass MidoriWebSettingsClass;
|
||||
|
||||
#define MIDORI_PARAM_DELAY_SAVING (1 << 8)
|
||||
|
||||
enum
|
||||
{
|
||||
MIDORI_CLEAR_NONE = 0,
|
||||
|
|
Loading…
Reference in a new issue