194 lines
7.8 KiB
Vala
194 lines
7.8 KiB
Vala
/*
|
|
Copyright (C) 2008-2013 Christian Dywan <christian@twotoasts.de>
|
|
Copyright (C) 2011 Peter Hatina <phatina@redhat.com>
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2.1 of the License, or (at your option) any later version.
|
|
|
|
See the file COPYING for the full license text.
|
|
*/
|
|
|
|
namespace Midori {
|
|
[CCode (cprefix = "MIDORI_WINDOW_")]
|
|
public enum WindowState {
|
|
NORMAL,
|
|
MINIMIZED,
|
|
MAXIMIZED,
|
|
FULLSCREEN
|
|
}
|
|
/* Since: 0.1.3 */
|
|
#if !HAVE_WEBKIT2
|
|
public class Settings : WebKit.WebSettings {
|
|
/* Since: 0.5.0 */
|
|
public bool enable_javascript { get {
|
|
return enable_scripts;
|
|
} set {
|
|
enable_scripts = value;
|
|
} }
|
|
/* Since: 0.5.1 */
|
|
public string default_charset { owned get {
|
|
return default_encoding;
|
|
} set {
|
|
default_encoding = value;
|
|
} }
|
|
/* Since: 0.1.3 */
|
|
public bool zoom_text_and_images { get; set; default = true; }
|
|
#else
|
|
public class Settings : WebKit.Settings {
|
|
public bool zoom_text_and_images { get {
|
|
return !zoom_text_only;
|
|
} set {
|
|
zoom_text_only = !value;
|
|
} }
|
|
public bool enable_spell_checking { get {
|
|
return WebKit.WebContext.get_default ().get_spell_checking_enabled ();
|
|
} set {
|
|
WebKit.WebContext.get_default ().set_spell_checking_enabled (value);
|
|
} }
|
|
#endif
|
|
public bool remember_last_window_size { get; set; default = true; }
|
|
public int last_window_width { get; set; default = 0; }
|
|
public int last_window_height { get; set; default = 0; }
|
|
public int last_panel_position { get; set; default = 0; }
|
|
public int last_panel_page { get; set; default = 0; }
|
|
public int last_web_search { get; set; default = 0; }
|
|
/* Since: 0.4.3 */
|
|
// [IntegerType (min = 10, max = int.max)]
|
|
public int search_width { get; set; default = 200; }
|
|
/* Since: 0.4.7 */
|
|
public bool last_inspector_attached { get; set; default = false; }
|
|
/* Since: 0.1.3 */
|
|
public WindowState last_window_state { get; set; default = WindowState.NORMAL; }
|
|
|
|
/* Since: 0.4.8 */
|
|
public uint inactivity_reset { get; set; default = 0; }
|
|
|
|
string? default_theme_name_ = null;
|
|
/* Since: 0.5.5 */
|
|
public string? default_theme_name { get {
|
|
if (default_theme_name_ == null)
|
|
default_theme_name_ = Gtk.Settings.get_default ().gtk_theme_name;
|
|
return default_theme_name_;
|
|
} }
|
|
string? theme_name_ = null;
|
|
/* Since: 0.5.5 */
|
|
public string? theme_name { get {
|
|
return theme_name_;
|
|
} set {
|
|
if (theme_name != value) {
|
|
if (default_theme_name_ == null)
|
|
default_theme_name_ = Gtk.Settings.get_default ().gtk_theme_name;
|
|
theme_name_ = value;
|
|
Gtk.Settings.get_default ().gtk_theme_name = theme_name_;
|
|
}
|
|
} }
|
|
|
|
GLib.Regex? block_uris_regex = null;
|
|
/* Since: 0.4.8 */
|
|
public string? block_uris { get {
|
|
return block_uris_regex != null ? block_uris_regex.get_pattern () : null;
|
|
} set {
|
|
#if !HAVE_WEBKIT2
|
|
if (value == null || value == "")
|
|
return;
|
|
if (block_uris_regex == null)
|
|
WebKit.get_default_session ().request_queued.connect ((msg) => {
|
|
if (block_uris_regex.match (msg.uri.to_string (false)))
|
|
msg.uri = new Soup.URI ("http://.invalid");
|
|
});
|
|
try {
|
|
block_uris_regex = new GLib.Regex (value);
|
|
}
|
|
catch (Error error) {
|
|
critical ("block-uris: %s", error.message);
|
|
}
|
|
#endif
|
|
} }
|
|
|
|
/**
|
|
* Overrides the browser window title if given.
|
|
* Examples are "Help Viewer" or "L:D_N:application_ID:midori_O:URL"
|
|
*
|
|
* Since: 0.5.1
|
|
**/
|
|
public string? custom_title { get; set; default = null; }
|
|
|
|
public string? location_entry_search { get; set; default = null; }
|
|
/* Since: 0.1.7 */
|
|
public int clear_private_data { get; set; default = 0; }
|
|
/* Since: 0.2.9 */
|
|
public string? clear_data { get; set; default = null; }
|
|
|
|
public bool compact_sidepanel { get; set; default = false; }
|
|
/* Since: 0.2.2 */
|
|
public bool open_panels_in_windows { get; set; default = false; }
|
|
/* Since: 0.1.3 */
|
|
public bool right_align_sidepanel { get; set; default = false; }
|
|
|
|
public bool show_menubar { get; set; default = false; }
|
|
public bool show_navigationbar { get; set; default = true; }
|
|
public bool show_bookmarkbar { get; set; default = false; }
|
|
public bool show_panel { get; set; default = false; }
|
|
public bool show_statusbar { get; set; default = true; }
|
|
/* Since: 0.1.2 */
|
|
public bool show_crash_dialog { get; set; default = true; }
|
|
public string toolbar_items { get; set; default =
|
|
"TabNew,Back,NextForward,ReloadStop,BookmarkAdd,Location,Search,Trash,CompactMenu"; }
|
|
/* Since: 0.1.4 */
|
|
// [Deprecated (since = "0.4.7")]
|
|
public bool find_while_typing { get; set; default = false; }
|
|
/* Since: 0.5.4 */
|
|
public double zoom_level { get; set; default = 1.0; }
|
|
|
|
public bool open_popups_in_tabs { get; set; default = true; }
|
|
/* Since: 0.2.0 */
|
|
// [Deprecated (since = "0.4.9")]
|
|
public bool kinetic_scrolling { get; set; default = true; }
|
|
// [Deprecated (since = "0.5.0")]
|
|
public bool middle_click_opens_selection { get; set; default = true; }
|
|
public bool flash_window_on_new_bg_tabs { get; set; default = false; }
|
|
|
|
public bool close_buttons_on_tabs { get; set; default = true; }
|
|
public bool open_tabs_in_the_background { get; set; default = true; }
|
|
public bool open_tabs_next_to_current { get; set; default = true; }
|
|
// [Deprecated (since = "0.5.7")]
|
|
public bool always_show_tabbar { get; set; default = true; }
|
|
|
|
public string homepage { get; set; default = "about:search"; }
|
|
public string tabhome { get; set; default = "about:dial"; }
|
|
static string default_download_folder () {
|
|
return Environment.get_user_special_dir (UserDirectory.DOWNLOAD)
|
|
?? Environment.get_home_dir ();
|
|
}
|
|
public string download_folder { get; set; default = default_download_folder (); }
|
|
public string? text_editor { get; set; default = null; }
|
|
/* Since: 0.1.6 */
|
|
public string? news_aggregator { get; set; default = null; }
|
|
|
|
public string http_proxy { get; set; default = null; }
|
|
/* Since: 0.4.2 */
|
|
// [IntegerType (min = 1, max = 65535)]
|
|
public int http_proxy_port { get; set; default = 8080; }
|
|
/* Since: 0.3.4 */
|
|
// [IntegerType (min = 0, int.max)]
|
|
public int maximum_cache_size { get; set; default = 100; }
|
|
/* Since: 0.3.4 */
|
|
public bool strip_referer { get; set; default = true; }
|
|
/* Since: 0.4.2 */
|
|
public bool first_party_cookies_only { get; set; default = true; }
|
|
// [IntegerType (min = 0, int.max)]
|
|
public int maximum_cookie_age { get; set; default = 30; }
|
|
// [IntegerType (min = 0, int.max)]
|
|
public int maximum_history_age { get; set; default = 30; }
|
|
|
|
/* Since: 0.4.7 */
|
|
public bool delay_saving (string property) {
|
|
return property.has_prefix ("last-")
|
|
|| property == "user-stylesheet-uri"
|
|
|| property.has_suffix ("-width");
|
|
}
|
|
}
|
|
}
|