2
Copyright (C) 2008 Christian Dywan <christian@twotoasts.de>
4
This library is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Lesser General Public
6
License as published by the Free Software Foundation; either
7
version 2.1 of the License, or (at your option) any later version.
9
See the file COPYING for the full license text.
12
#include "midori-websettings.h"
16
#include <glib/gi18n.h>
19
G_DEFINE_TYPE (MidoriWebSettings, midori_web_settings, WEBKIT_TYPE_WEB_SETTINGS)
21
struct _MidoriWebSettingsPrivate
23
gboolean remember_last_window_size;
24
gint last_window_width;
25
gint last_window_height;
26
gint last_panel_position;
29
gchar* last_pageholder_uri;
31
gboolean show_navigationbar;
32
gboolean show_bookmarkbar;
34
gboolean show_statusbar;
36
MidoriToolbarStyle toolbar_style;
37
gboolean small_toolbar;
38
gboolean show_new_tab;
39
gboolean show_homepage;
40
gboolean show_web_search;
43
MidoriStartup load_on_startup;
45
gchar* download_folder;
46
gboolean show_download_notification;
47
gchar* location_entry_search;
48
MidoriPreferredEncoding preferred_encoding;
51
gboolean close_buttons_on_tabs;
52
MidoriNewPage open_new_pages_in;
53
gboolean middle_click_opens_selection;
54
gboolean open_tabs_in_the_background;
55
gboolean open_popups_in_tabs;
57
MidoriAcceptCookies accept_cookies;
58
gboolean original_cookies_only;
59
gint maximum_cookie_age;
61
gboolean remember_last_visited_pages;
62
gint maximum_history_age;
63
gboolean remember_last_form_inputs;
64
gboolean remember_last_downloaded_files;
70
#define MIDORI_WEB_SETTINGS_GET_PRIVATE(obj) \
71
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
72
MIDORI_TYPE_WEB_SETTINGS, MidoriWebSettingsPrivate))
78
PROP_REMEMBER_LAST_WINDOW_SIZE,
79
PROP_LAST_WINDOW_WIDTH,
80
PROP_LAST_WINDOW_HEIGHT,
81
PROP_LAST_PANEL_POSITION,
84
PROP_LAST_PAGEHOLDER_URI,
86
PROP_SHOW_NAVIGATIONBAR,
87
PROP_SHOW_BOOKMARKBAR,
100
PROP_DOWNLOAD_FOLDER,
101
PROP_SHOW_DOWNLOAD_NOTIFICATION,
102
PROP_LOCATION_ENTRY_SEARCH,
103
PROP_PREFERRED_ENCODING,
106
PROP_CLOSE_BUTTONS_ON_TABS,
107
PROP_OPEN_NEW_PAGES_IN,
108
PROP_MIDDLE_CLICK_OPENS_SELECTION,
109
PROP_OPEN_TABS_IN_THE_BACKGROUND,
110
PROP_OPEN_POPUPS_IN_TABS,
113
PROP_ORIGINAL_COOKIES_ONLY,
114
PROP_MAXIMUM_COOKIE_AGE,
116
PROP_REMEMBER_LAST_VISITED_PAGES,
117
PROP_MAXIMUM_HISTORY_AGE,
118
PROP_REMEMBER_LAST_FORM_INPUTS,
119
PROP_REMEMBER_LAST_DOWNLOADED_FILES,
126
midori_startup_get_type (void)
128
static GType type = 0;
131
static const GEnumValue values[] = {
132
{ MIDORI_STARTUP_BLANK_PAGE, "MIDORI_STARTUP_BLANK_PAGE", N_("Blank page") },
133
{ MIDORI_STARTUP_HOMEPAGE, "MIDORI_STARTUP_HOMEPAGE", N_("Homepage") },
134
{ MIDORI_STARTUP_LAST_OPEN_PAGES, "MIDORI_STARTUP_LAST_OPEN_PAGES", N_("Last open pages") },
137
type = g_enum_register_static ("MidoriStartup", values);
143
midori_preferred_encoding_get_type (void)
145
static GType type = 0;
148
static const GEnumValue values[] = {
149
{ MIDORI_ENCODING_CHINESE, "MIDORI_ENCODING_CHINESE", N_("Chinese (BIG5)") },
150
{ MIDORI_ENCODING_JAPANESE, "MIDORI_ENCODING_JAPANESE", N_("Japanese (SHIFT_JIS)") },
151
{ MIDORI_ENCODING_RUSSIAN, "MIDORI_ENCODING_RUSSIAN", N_("Russian (KOI8-R)") },
152
{ MIDORI_ENCODING_UNICODE, "MIDORI_ENCODING_UNICODE", N_("Unicode (UTF-8)") },
153
{ MIDORI_ENCODING_WESTERN, "MIDORI_ENCODING_WESTERN", N_("Western (ISO-8859-1)") },
154
{ MIDORI_ENCODING_WESTERN, "MIDORI_ENCODING_CUSTOM", N_("Custom...") },
157
type = g_enum_register_static ("MidoriPreferredEncoding", values);
163
midori_new_page_get_type (void)
165
static GType type = 0;
168
static const GEnumValue values[] = {
169
{ MIDORI_NEW_PAGE_TAB, "MIDORI_NEW_PAGE_TAB", N_("New tab") },
170
{ MIDORI_NEW_PAGE_WINDOW, "MIDORI_NEW_PAGE_WINDOW", N_("New window") },
171
{ MIDORI_NEW_PAGE_CURRENT, "MIDORI_NEW_PAGE_CURRENT", N_("Current tab") },
174
type = g_enum_register_static ("MidoriNewPage", values);
180
midori_toolbar_style_get_type (void)
182
static GType type = 0;
185
static const GEnumValue values[] = {
186
{ MIDORI_TOOLBAR_DEFAULT, "MIDORI_TOOLBAR_DEFAULT", N_("Default") },
187
{ MIDORI_TOOLBAR_ICONS, "MIDORI_TOOLBAR_ICONS", N_("Icons") },
188
{ MIDORI_TOOLBAR_TEXT, "MIDORI_TOOLBAR_TEXT", N_("Text") },
189
{ MIDORI_TOOLBAR_BOTH, "MIDORI_TOOLBAR_BOTH", N_("Both") },
190
{ MIDORI_TOOLBAR_BOTH_HORIZ, "MIDORI_TOOLBAR_BOTH_HORIZ", N_("Both horizontal") },
193
type = g_enum_register_static ("MidoriToolbarStyle", values);
199
midori_accept_cookies_get_type (void)
201
static GType type = 0;
204
static const GEnumValue values[] = {
205
{ MIDORI_ACCEPT_COOKIES_ALL, "MIDORI_ACCEPT_COOKIES_ALL", N_("All cookies") },
206
{ MIDORI_ACCEPT_COOKIES_SESSION, "MIDORI_ACCEPT_COOKIES_SESSION", N_("Session cookies") },
207
{ MIDORI_ACCEPT_COOKIES_NONE, "MIDORI_ACCEPT_COOKIES_NONE", N_("None") },
210
type = g_enum_register_static ("MidoriAcceptCookies", values);
216
midori_web_settings_finalize (GObject* object);
219
midori_web_settings_set_property (GObject* object,
225
midori_web_settings_get_property (GObject* object,
231
midori_web_settings_notify (GObject* object,
235
midori_web_settings_class_init (MidoriWebSettingsClass* class)
237
GObjectClass* gobject_class = G_OBJECT_CLASS (class);
238
gobject_class->finalize = midori_web_settings_finalize;
239
gobject_class->set_property = midori_web_settings_set_property;
240
gobject_class->get_property = midori_web_settings_get_property;
241
gobject_class->notify = midori_web_settings_notify;
243
GParamFlags flags = G_PARAM_READWRITE | G_PARAM_CONSTRUCT;
245
g_object_class_install_property (gobject_class,
246
PROP_REMEMBER_LAST_WINDOW_SIZE,
247
g_param_spec_boolean (
248
"remember-last-window-size",
249
_("Remember last window size"),
250
_("Whether to save the last window size"),
254
g_object_class_install_property (gobject_class,
255
PROP_LAST_WINDOW_WIDTH,
258
_("Last window width"),
259
_("The last saved window width"),
263
g_object_class_install_property (gobject_class,
264
PROP_LAST_WINDOW_HEIGHT,
266
"last-window-height",
267
_("Last window height"),
268
_("The last saved window height"),
272
g_object_class_install_property (gobject_class,
273
PROP_LAST_PANEL_POSITION,
275
"last-panel-position",
276
_("Last panel position"),
277
_("The last saved panel position"),
281
g_object_class_install_property (gobject_class,
282
PROP_LAST_PANEL_PAGE,
285
_("Last panel page"),
286
_("The last saved panel page"),
290
g_object_class_install_property (gobject_class,
291
PROP_LAST_WEB_SEARCH,
294
_("Last Web search"),
295
_("The last saved Web search"),
299
g_object_class_install_property (gobject_class,
300
PROP_LAST_PAGEHOLDER_URI,
301
g_param_spec_string (
302
"last-pageholder-uri",
303
_("Last pageholder URI"),
304
_("The URI last opened in the pageholder"),
310
g_object_class_install_property (gobject_class,
311
PROP_SHOW_NAVIGATIONBAR,
312
g_param_spec_boolean (
313
"show-navigationbar",
314
_("Show Navigationbar"),
315
_("Whether to show the navigationbar"),
319
g_object_class_install_property (gobject_class,
320
PROP_SHOW_BOOKMARKBAR,
321
g_param_spec_boolean (
323
_("Show Bookmarkbar"),
324
_("Whether to show the bookmarkbar"),
328
g_object_class_install_property (gobject_class,
330
g_param_spec_boolean (
333
_("Whether to show the panel"),
337
g_object_class_install_property (gobject_class,
339
g_param_spec_boolean (
342
_("Whether to show the statusbar"),
347
g_object_class_install_property (gobject_class,
352
_("The style of the toolbar"),
353
MIDORI_TYPE_TOOLBAR_STYLE,
354
MIDORI_TOOLBAR_DEFAULT,
357
g_object_class_install_property (gobject_class,
359
g_param_spec_boolean (
362
_("Use small toolbar icons"),
366
g_object_class_install_property (gobject_class,
368
g_param_spec_boolean (
371
_("Show the New Tab button in the toolbar"),
375
g_object_class_install_property (gobject_class,
377
g_param_spec_boolean (
380
_("Show the Homepage button in the toolbar"),
384
g_object_class_install_property (gobject_class,
385
PROP_SHOW_WEB_SEARCH,
386
g_param_spec_boolean (
388
_("Show Web search"),
389
_("Show the Web search entry in the toolbar"),
393
g_object_class_install_property (gobject_class,
395
g_param_spec_boolean (
398
_("Show the Trash button in the toolbar"),
404
g_object_class_install_property (gobject_class,
405
PROP_LOAD_ON_STARTUP,
408
_("Load on Startup"),
409
_("What to load on startup"),
411
MIDORI_STARTUP_HOMEPAGE,
414
g_object_class_install_property (gobject_class,
416
g_param_spec_string (
420
"http://www.google.com",
423
g_object_class_install_property (gobject_class,
424
PROP_DOWNLOAD_FOLDER,
425
g_param_spec_string (
427
_("Download Folder"),
428
_("The folder downloaded files are saved to"),
432
g_object_class_install_property (gobject_class,
433
PROP_SHOW_DOWNLOAD_NOTIFICATION,
434
g_param_spec_boolean (
435
"show-download-notification",
436
_("Show Download Notification"),
437
_("Show a notification window for finished downloads"),
441
g_object_class_install_property (gobject_class,
442
PROP_LOCATION_ENTRY_SEARCH,
443
g_param_spec_string (
444
"location-entry-search",
445
_("Location entry Search"),
446
_("The search to perform inside the location entry"),
447
"http://www.google.com/search?q=%s",
450
g_object_class_install_property (gobject_class,
451
PROP_PREFERRED_ENCODING,
453
"preferred-encoding",
454
_("Preferred Encoding"),
455
_("The preferred character encoding"),
456
MIDORI_TYPE_PREFERRED_ENCODING,
457
MIDORI_ENCODING_WESTERN,
462
g_object_class_install_property (gobject_class,
467
_("The desired tab label size"),
471
g_object_class_install_property (gobject_class,
472
PROP_CLOSE_BUTTONS_ON_TABS,
473
g_param_spec_boolean (
474
"close-buttons-on-tabs",
475
_("Close Buttons on Tabs"),
476
_("Whether tabs have close buttons"),
480
g_object_class_install_property (gobject_class,
481
PROP_OPEN_NEW_PAGES_IN,
484
_("Open new pages in"),
485
_("Where to open new pages"),
486
MIDORI_TYPE_NEW_PAGE,
490
g_object_class_install_property (gobject_class,
491
PROP_MIDDLE_CLICK_OPENS_SELECTION,
492
g_param_spec_boolean (
493
"middle-click-opens-selection",
494
_("Middle click opens Selection"),
495
_("Load an URL from the selection via middle click"),
499
g_object_class_install_property (gobject_class,
500
PROP_OPEN_TABS_IN_THE_BACKGROUND,
501
g_param_spec_boolean (
502
"open-tabs-in-the-background",
503
_("Open tabs in the background"),
504
_("Whether to open new tabs in the background"),
508
g_object_class_install_property (gobject_class,
509
PROP_OPEN_POPUPS_IN_TABS,
510
g_param_spec_boolean (
511
"open-popups-in-tabs",
512
_("Open popups in tabs"),
513
_("Whether to open popup windows in tabs"),
519
g_object_class_install_property (gobject_class,
524
_("What type of cookies to accept"),
525
MIDORI_TYPE_ACCEPT_COOKIES,
526
MIDORI_ACCEPT_COOKIES_ALL,
529
g_object_class_install_property (gobject_class,
530
PROP_ORIGINAL_COOKIES_ONLY,
531
g_param_spec_boolean (
532
"original-cookies-only",
533
_("Original cookies only"),
534
_("Accept cookies from the original website only"),
538
g_object_class_install_property (gobject_class,
539
PROP_MAXIMUM_COOKIE_AGE,
541
"maximum-cookie-age",
542
_("Maximum cookie age"),
543
_("The maximum number of days to save cookies for"),
549
g_object_class_install_property (gobject_class,
550
PROP_REMEMBER_LAST_VISITED_PAGES,
551
g_param_spec_boolean (
552
"remember-last-visited-pages",
553
_("Remember last visited pages"),
554
_("Whether the last visited pages are saved"),
558
g_object_class_install_property (gobject_class,
559
PROP_MAXIMUM_HISTORY_AGE,
561
"maximum-history-age",
562
_("Maximum history age"),
563
_("The maximum number of days to save the history for"),
567
g_object_class_install_property (gobject_class,
568
PROP_REMEMBER_LAST_FORM_INPUTS,
569
g_param_spec_boolean (
570
"remember-last-form-inputs",
571
_("Remember last form inputs"),
572
_("Whether the last form inputs are saved"),
576
g_object_class_install_property (gobject_class,
577
PROP_REMEMBER_LAST_DOWNLOADED_FILES,
578
g_param_spec_boolean (
579
"remember-last-downloaded-files",
580
_("Remember last downloaded files"),
581
_("Whether the last downloaded files are saved"),
587
g_object_class_install_property (gobject_class,
589
g_param_spec_string (
592
_("The proxy used for HTTP connections"),
593
g_getenv ("http_proxy"),
596
g_object_class_install_property (gobject_class,
601
_("The allowed size of the cache"),
605
g_type_class_add_private (class, sizeof (MidoriWebSettingsPrivate));
609
notify_default_encoding_cb (GObject* object, GParamSpec* pspec)
611
MidoriWebSettings* web_settings = MIDORI_WEB_SETTINGS (object);
612
MidoriWebSettingsPrivate* priv = web_settings->priv;
615
g_object_get (object, "default-encoding", &string, NULL);
616
const gchar* encoding = string ? string : "";
617
if (!strcmp (encoding, "BIG5"))
618
priv->preferred_encoding = MIDORI_ENCODING_CHINESE;
619
else if (!strcmp (encoding, "SHIFT_JIS"))
620
priv->preferred_encoding = MIDORI_ENCODING_JAPANESE;
621
else if (!strcmp (encoding, "KOI8-R"))
622
priv->preferred_encoding = MIDORI_ENCODING_RUSSIAN;
623
else if (!strcmp (encoding, "UTF-8"))
624
priv->preferred_encoding = MIDORI_ENCODING_UNICODE;
625
else if (!strcmp (encoding, "ISO-8859-1"))
626
priv->preferred_encoding = MIDORI_ENCODING_WESTERN;
628
priv->preferred_encoding = MIDORI_ENCODING_CUSTOM;
629
g_object_notify (object, "preferred-encoding");
633
midori_web_settings_init (MidoriWebSettings* web_settings)
635
web_settings->priv = MIDORI_WEB_SETTINGS_GET_PRIVATE (web_settings);
637
g_signal_connect (web_settings, "notify::default-encoding",
638
G_CALLBACK (notify_default_encoding_cb), NULL);
642
midori_web_settings_finalize (GObject* object)
644
G_OBJECT_CLASS (midori_web_settings_parent_class)->finalize (object);
648
midori_web_settings_set_property (GObject* object,
653
MidoriWebSettings* web_settings = MIDORI_WEB_SETTINGS (object);
654
MidoriWebSettingsPrivate* priv = web_settings->priv;
658
case PROP_REMEMBER_LAST_WINDOW_SIZE:
659
priv->remember_last_window_size = g_value_get_boolean (value);
661
case PROP_LAST_WINDOW_WIDTH:
662
priv->last_window_width = g_value_get_int (value);
664
case PROP_LAST_WINDOW_HEIGHT:
665
priv->last_window_height = g_value_get_int (value);
667
case PROP_LAST_PANEL_POSITION:
668
priv->last_panel_position = g_value_get_int (value);
670
case PROP_LAST_PANEL_PAGE:
671
priv->last_panel_page = g_value_get_int (value);
673
case PROP_LAST_WEB_SEARCH:
674
priv->last_web_search = g_value_get_int (value);
676
case PROP_LAST_PAGEHOLDER_URI:
677
katze_assign (priv->last_pageholder_uri, g_value_dup_string (value));
680
case PROP_SHOW_NAVIGATIONBAR:
681
priv->show_navigationbar = g_value_get_boolean (value);
683
case PROP_SHOW_BOOKMARKBAR:
684
priv->show_bookmarkbar = g_value_get_boolean (value);
686
case PROP_SHOW_PANEL:
687
priv->show_panel = g_value_get_boolean (value);
689
case PROP_SHOW_STATUSBAR:
690
priv->show_statusbar = g_value_get_boolean (value);
693
case PROP_TOOLBAR_STYLE:
694
priv->toolbar_style = g_value_get_enum (value);
696
case PROP_SMALL_TOOLBAR:
697
priv->small_toolbar = g_value_get_boolean (value);
699
case PROP_SHOW_NEW_TAB:
700
priv->show_new_tab = g_value_get_boolean (value);
702
case PROP_SHOW_HOMEPAGE:
703
priv->show_homepage = g_value_get_boolean (value);
705
case PROP_SHOW_WEB_SEARCH:
706
priv->show_web_search = g_value_get_boolean (value);
708
case PROP_SHOW_TRASH:
709
priv->show_trash = g_value_get_boolean (value);
712
case PROP_LOAD_ON_STARTUP:
713
priv->load_on_startup = g_value_get_enum (value);
716
katze_assign (priv->homepage, g_value_dup_string (value));
718
case PROP_DOWNLOAD_FOLDER:
719
katze_assign (priv->download_folder, g_value_dup_string (value));
721
case PROP_SHOW_DOWNLOAD_NOTIFICATION:
722
priv->show_download_notification = g_value_get_boolean (value);
724
case PROP_LOCATION_ENTRY_SEARCH:
725
katze_assign (priv->location_entry_search, g_value_dup_string (value));
727
case PROP_PREFERRED_ENCODING:
728
priv->preferred_encoding = g_value_get_enum (value);
729
switch (priv->preferred_encoding)
731
case MIDORI_ENCODING_CHINESE:
732
g_object_set (object, "default-encoding", "BIG5", NULL);
734
case MIDORI_ENCODING_JAPANESE:
735
g_object_set (object, "default-encoding", "SHIFT_JIS", NULL);
737
case MIDORI_ENCODING_RUSSIAN:
738
g_object_set (object, "default-encoding", "KOI8-R", NULL);
740
case MIDORI_ENCODING_UNICODE:
741
g_object_set (object, "default-encoding", "UTF-8", NULL);
743
case MIDORI_ENCODING_WESTERN:
744
g_object_set (object, "default-encoding", "ISO-8859-1", NULL);
746
case MIDORI_ENCODING_CUSTOM:
747
g_object_set (object, "default-encoding", "", NULL);
751
case PROP_TAB_LABEL_SIZE:
752
priv->tab_label_size = g_value_get_int (value);
754
case PROP_CLOSE_BUTTONS_ON_TABS:
755
priv->close_buttons_on_tabs = g_value_get_boolean (value);
757
case PROP_OPEN_NEW_PAGES_IN:
758
priv->open_new_pages_in = g_value_get_enum (value);
760
case PROP_MIDDLE_CLICK_OPENS_SELECTION:
761
priv->middle_click_opens_selection = g_value_get_boolean (value);
763
case PROP_OPEN_TABS_IN_THE_BACKGROUND:
764
priv->open_tabs_in_the_background = g_value_get_boolean (value);
766
case PROP_OPEN_POPUPS_IN_TABS:
767
priv->open_popups_in_tabs = g_value_get_boolean (value);
770
case PROP_ACCEPT_COOKIES:
771
priv->accept_cookies = g_value_get_enum (value);
773
case PROP_ORIGINAL_COOKIES_ONLY:
774
priv->original_cookies_only = g_value_get_boolean (value);
776
case PROP_MAXIMUM_COOKIE_AGE:
777
priv->maximum_cookie_age = g_value_get_int (value);
780
case PROP_REMEMBER_LAST_VISITED_PAGES:
781
priv->remember_last_visited_pages = g_value_get_boolean (value);
783
case PROP_MAXIMUM_HISTORY_AGE:
784
priv->maximum_history_age = g_value_get_int (value);
786
case PROP_REMEMBER_LAST_FORM_INPUTS:
787
priv->remember_last_form_inputs = g_value_get_boolean (value);
789
case PROP_REMEMBER_LAST_DOWNLOADED_FILES:
790
priv->remember_last_downloaded_files = g_value_get_boolean (value);
793
case PROP_HTTP_PROXY:
794
katze_assign (priv->http_proxy, g_value_dup_string (value));
795
g_setenv ("http_proxy", priv->http_proxy ? priv->http_proxy : "", TRUE);
797
case PROP_CACHE_SIZE:
798
priv->cache_size = g_value_get_int (value);
801
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
807
midori_web_settings_get_property (GObject* object,
812
MidoriWebSettings* web_settings = MIDORI_WEB_SETTINGS (object);
813
MidoriWebSettingsPrivate* priv = web_settings->priv;
817
case PROP_REMEMBER_LAST_WINDOW_SIZE:
818
g_value_set_boolean (value, priv->remember_last_window_size);
820
case PROP_LAST_WINDOW_WIDTH:
821
g_value_set_int (value, priv->last_window_width);
823
case PROP_LAST_WINDOW_HEIGHT:
824
g_value_set_int (value, priv->last_window_height);
826
case PROP_LAST_PANEL_POSITION:
827
g_value_set_int (value, priv->last_panel_position);
829
case PROP_LAST_PANEL_PAGE:
830
g_value_set_int (value, priv->last_panel_page);
832
case PROP_LAST_WEB_SEARCH:
833
g_value_set_int (value, priv->last_web_search);
835
case PROP_LAST_PAGEHOLDER_URI:
836
g_value_set_string (value, priv->last_pageholder_uri);
839
case PROP_SHOW_NAVIGATIONBAR:
840
g_value_set_boolean (value, priv->show_navigationbar);
842
case PROP_SHOW_BOOKMARKBAR:
843
g_value_set_boolean (value, priv->show_bookmarkbar);
845
case PROP_SHOW_PANEL:
846
g_value_set_boolean (value, priv->show_panel);
848
case PROP_SHOW_STATUSBAR:
849
g_value_set_boolean (value, priv->show_statusbar);
852
case PROP_TOOLBAR_STYLE:
853
g_value_set_enum (value, priv->toolbar_style);
855
case PROP_SMALL_TOOLBAR:
856
g_value_set_boolean (value, priv->small_toolbar);
858
case PROP_SHOW_NEW_TAB:
859
g_value_set_boolean (value, priv->show_new_tab);
861
case PROP_SHOW_HOMEPAGE:
862
g_value_set_boolean (value, priv->show_homepage);
864
case PROP_SHOW_WEB_SEARCH:
865
g_value_set_boolean (value, priv->show_web_search);
867
case PROP_SHOW_TRASH:
868
g_value_set_boolean (value, priv->show_trash);
871
case PROP_LOAD_ON_STARTUP:
872
g_value_set_enum (value, priv->load_on_startup);
875
g_value_set_string (value, priv->homepage);
877
case PROP_DOWNLOAD_FOLDER:
878
g_value_set_string (value, priv->download_folder);
880
case PROP_SHOW_DOWNLOAD_NOTIFICATION:
881
g_value_set_boolean (value, priv->show_download_notification);
883
case PROP_LOCATION_ENTRY_SEARCH:
884
g_value_set_string (value, priv->location_entry_search);
886
case PROP_PREFERRED_ENCODING:
887
g_value_set_enum (value, priv->preferred_encoding);
890
case PROP_TAB_LABEL_SIZE:
891
g_value_set_int (value, priv->tab_label_size);
893
case PROP_CLOSE_BUTTONS_ON_TABS:
894
g_value_set_boolean (value, priv->close_buttons_on_tabs);
896
case PROP_OPEN_NEW_PAGES_IN:
897
g_value_set_enum (value, priv->open_new_pages_in);
899
case PROP_MIDDLE_CLICK_OPENS_SELECTION:
900
g_value_set_boolean (value, priv->middle_click_opens_selection);
902
case PROP_OPEN_TABS_IN_THE_BACKGROUND:
903
g_value_set_boolean (value, priv->open_tabs_in_the_background);
905
case PROP_OPEN_POPUPS_IN_TABS:
906
g_value_set_boolean (value, priv->open_popups_in_tabs);
909
case PROP_ACCEPT_COOKIES:
910
g_value_set_enum (value, priv->accept_cookies);
912
case PROP_ORIGINAL_COOKIES_ONLY:
913
g_value_set_boolean (value, priv->original_cookies_only);
915
case PROP_MAXIMUM_COOKIE_AGE:
916
g_value_set_int (value, priv->maximum_cookie_age);
919
case PROP_REMEMBER_LAST_VISITED_PAGES:
920
g_value_set_boolean (value, priv->remember_last_visited_pages);
922
case PROP_MAXIMUM_HISTORY_AGE:
923
g_value_set_int (value, priv->maximum_history_age);
925
case PROP_REMEMBER_LAST_FORM_INPUTS:
926
g_value_set_boolean (value, priv->remember_last_form_inputs);
928
case PROP_REMEMBER_LAST_DOWNLOADED_FILES:
929
g_value_set_boolean (value, priv->remember_last_downloaded_files);
932
case PROP_HTTP_PROXY:
933
g_value_set_string (value, priv->http_proxy);
935
case PROP_CACHE_SIZE:
936
g_value_set_int (value, priv->cache_size);
939
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
945
midori_web_settings_notify (GObject* object,
952
* midori_web_settings_new:
954
* Creates a new #MidoriWebSettings instance with default values.
956
* You will typically want to assign this to a #MidoriWebView or #MidoriBrowser.
958
* Return value: a new #MidoriWebSettings
961
midori_web_settings_new (void)
963
MidoriWebSettings* web_settings = g_object_new (MIDORI_TYPE_WEB_SETTINGS,
970
* midori_web_settings_copy:
972
* Copies an existing #MidoriWebSettings instance.
974
* Return value: a new #MidoriWebSettings
977
midori_web_settings_copy (MidoriWebSettings* web_settings)
979
g_return_val_if_fail (MIDORI_IS_WEB_SETTINGS (web_settings), NULL);
981
MidoriWebSettingsPrivate* priv = web_settings->priv;
983
MidoriWebSettings* copy;
984
copy = MIDORI_WEB_SETTINGS (webkit_web_settings_copy (
985
WEBKIT_WEB_SETTINGS (web_settings)));
987
"load-on-startup", priv->load_on_startup,
988
"homepage", priv->homepage,
989
"download-folder", priv->download_folder,
990
"show-download-notification", priv->show_download_notification,
991
"location-entry-search", priv->location_entry_search,
992
"preferred-encoding", priv->preferred_encoding,
994
"toolbar-style", priv->toolbar_style,
995
"small-toolbar", priv->small_toolbar,
996
"show-web-search", priv->show_web_search,
997
"show-new-tab", priv->show_new_tab,
998
"show-trash", priv->show_trash,
1000
"tab-label-size", priv->tab_label_size,
1001
"close-buttons-on-tabs", priv->close_buttons_on_tabs,
1002
"open-new-pages-in", priv->open_new_pages_in,
1003
"middle-click-opens-selection", priv->middle_click_opens_selection,
1004
"open-tabs-in-the-background", priv->open_tabs_in_the_background,
1005
"open-popups-in-tabs", priv->open_popups_in_tabs,
1007
"accept-cookies", priv->accept_cookies,
1008
"original-cookies-only", priv->original_cookies_only,
1009
"maximum-cookie-age", priv->maximum_cookie_age,
1011
"remember-last-visited-pages", priv->remember_last_visited_pages,
1012
"maximum-history-age", priv->maximum_history_age,
1013
"remember-last-form-inputs", priv->remember_last_form_inputs,
1014
"remember-last-downloaded-files", priv->remember_last_downloaded_files,
1016
"http-proxy", priv->http_proxy,
1017
"cache-size", priv->cache_size,