Commit graph

1784 commits

Author SHA1 Message Date
Christian Dywan 72be5942f7 Don't leak strings when adding speed dial shortcut 2010-10-14 21:07:55 +02:00
Christian Dywan b5430eeead Always enable HTML5 databases with WebKitGTK+ >= 1.1.14
The infobar will be shown when databases are saved, and it will
be added to the private data dialogue.
2010-10-14 01:42:36 +02:00
Christian Dywan 89c0975e66 Present an infobar when an HTML5 database is saved
The infobar code is refactored into midori_view_add_info_bar
2010-10-14 01:37:10 +02:00
Christian Dywan 2dbce1e327 Implement --help-execute to list available commands 2010-10-14 01:36:42 +02:00
Christian Dywan bcc622c456 Let private mode inherit preferences
Private mode should retain most preferences, while menus for
Bookmarks, Tools and Panel are hidden.

App mode now hides the navigationbar by default.
2010-10-13 23:41:11 +02:00
Christian Dywan 80ff8ac0f0 Add midori_browser_set_action_visible method 2010-10-13 23:22:54 +02:00
Christian Dywan 324d3c3d6a Use truncated journal mode for history database
This instructs sqlite to preserve the journal file, which
can improve performance and allows it to be a symbolic link.
2010-10-12 23:09:12 +02:00
Christian Dywan 6331573a2c Allow passing NULL path to sokoke_hostname_from_uri 2010-10-13 03:23:09 +02:00
Christian Dywan 717bc948b0 Remove MidoriView::net property completely 2010-10-13 03:23:09 +02:00
Christian Dywan eb0848e42b Present an infobar when a website asks for location
Based on a patch by Arno Renevier <arno@renevier.net>
2010-10-12 00:25:49 +02:00
Christian Dywan 9d8c819521 Always prefill language entries with default values 2010-10-10 22:41:15 +02:00
Christian Dywan 31dabca224 Shell quote URI passed to sokoke_spawn_program 2010-10-10 13:39:38 +02:00
Christian Dywan e74f89f8c2 Remove 'filename' argument from sokoke_spawn_program 2010-10-10 13:27:06 +02:00
Christian Dywan 120c5bf40f Move app spawning to sokoke_spawn_app and use in MidoriView 2010-10-10 13:02:50 +02:00
Christian Dywan 8f4827a382 Use a power friendly second timeout for session saving 2010-10-06 18:32:03 +02:00
Christian Dywan 392fa7fc85 Revise cookie saving based on a timeout
The variable MIDORI_COOKIES_DEBUG can be used to print
the number of updated cookies when they're written.

The temporary cookie file is written in the same location
now as moving across filesystems may not work.

Saving when Midori is quit is enforced.
2010-10-06 18:32:03 +02:00
Christian Dywan 579108e4e6 Don't leak the inspector_view in showing and detaching 2010-10-05 21:43:34 +02:00
Christian Dywan a9406ab0ec Add base stock icons statically to save some memory 2010-10-05 21:43:34 +02:00
Christian Dywan dec42c00a8 Remove the 'Open external pages in' from Preferences 2010-10-05 21:43:34 +02:00
Christian Dywan 343badcc58 Remove Console panel in favour of the Inspector 2010-10-05 21:43:33 +02:00
Christian Dywan 0b3cf4810f Add InspectPage action to dummies to make hotkey work 2010-10-05 21:43:33 +02:00
Christian Dywan 5a0fc37d2f Don't use the deprecated GTK_IN_DESTRUCTION flag
As a workaround, the browser now sets its own flag.
2010-10-05 00:04:28 +02:00
Christian Dywan 80e1c4149c Don't use GtkNotebookPage* in callback signature 2010-10-05 00:04:28 +02:00
Christian Dywan cd783acee0 Don't use GTK_WIDGET_SET_FLAGS in browser and panel 2010-10-05 00:04:28 +02:00
Christian Dywan b6247e3314 Shell quote argv[0] before spawning a process
The path to the executable may contain spaces.
2010-10-03 07:15:44 +02:00
Christian Dywan 9a0e2bffef Remove Remember last downloaded files preference
The preference was never actually implemented.
2010-10-03 07:15:44 +02:00
Christian Dywan bfa8709900 Add a small label to summarise what cookies store 2010-10-03 07:15:44 +02:00
Christian Dywan a37c1df18d Simplify cookie privacy preferences
Instead of choosing what cookies to accept, there is a tick box
if cookies should be deleted when quitting, or in other words
pretending all cookies are session cookies.

The choice of maximum age was replaced with a combo box.
2010-10-03 07:15:44 +02:00
Christian Dywan bba6cb76ad Verify that the download location is writable 2010-10-01 01:12:12 +02:00
Christian Dywan 08691b7745 Cope with unset history in midori_location_action_toggle_arrow_cb
If history is unset, we don't have any items to populate the
combobox dropdown with. So we should always hide the button. Also
suppress the popup if we have no history.
2010-09-29 01:35:41 +02:00
Christian Dywan 4c90286e09 Make sure there are search engines before populating the menu 2010-09-24 23:35:01 +02:00
Christian Dywan e1ae60627e Don't treat « or » as sub page indicators 2010-09-22 23:56:30 +02:00
Christian Dywan 5bdf376487 Ensure link URI is updated before it is used
Apparently the URI obtained from hovering-over-link can be
mangled, so a # would be interpreted as a fragment identifier.
2010-09-21 00:08:10 +02:00
Christian Dywan 648befe7ca Implement and use midori_view_new_with_uri
The function provides an optimised and quick way to creating
visible views with uri, title and settings. This is how virtually
all views are created.
2010-09-17 22:42:52 +02:00
Christian Dywan 5806cdb884 Return FALSE in _action_bookmarks_populate_folder if db is NULL 2010-09-17 22:42:52 +02:00
Christian Dywan b66902ef7a Make KatzeArrayAction::activate-item-alt fully autonomous
Implementing the signal and returning TRUE makes it unneeded
to implement activate-item as well now.
2010-09-17 22:42:52 +02:00
Christian Dywan d39148f230 Re-implement 'Bookmarks' menubar and toolbar button 2010-09-15 04:10:55 +02:00
Christian Dywan 34ddb8c2f0 Implement KatzeArrayAction::populate-folder
To go along with that, expose katze_array_action_generate_menu
as a public function to implement the signal.

In essence, this enables populating folders from other sources
than the original array, such as a database, while still
making use of the existing menu generation.
2010-09-15 04:10:55 +02:00
Christian Dywan b7e88574c5 Remove the viewable scheme registration mechanism 2010-09-12 21:03:14 +02:00
Christian Dywan d34da1c500 Remove pointless FIXME and TODO comments from Midori classes 2010-09-12 20:23:39 +02:00
Christian Dywan db6e5954e8 Show statusbar on new transfars if transferbar is visible 2010-09-12 20:14:48 +02:00
Christian Dywan b07fe09de8 Initialize extension to NULL in midori_load_extensions 2010-09-12 00:59:24 +02:00
Christian Dywan 40dc38fd21 Implement and use KATZE_ARRAY_FOREACH_ITEM
Iterating an array by a GList is considerably faster than
continuously retrieving items, however it is also a lot
more complicated. So the new macro takes care of that and
uses a new semi-private function to avoid copying the list.

Note that the macro can't be nested, which basically isn't
useful in practise anyway.
2010-09-12 00:59:24 +02:00
Christian Dywan 1b80f16bf4 Remove browser-count, midori_panel_set_compact, console toolbar 2010-09-07 22:24:11 +02:00
Christian Dywan be1a66349f The background colour is not used in completion text rendering 2010-09-06 03:03:07 +02:00
Christian Dywan 65931c3f91 Use Ctrl+Shift modifiers for Bookmarks, History and Transfers
For one, previously modifiers were missing on History and Transfers.

Further more, Ctrl+B conflicts with Bold in rich text fields, and
for consistency, panels should have the same modfiers.
2010-09-04 23:42:53 +02:00
Christian Dywan 28bdabd928 Hide statusbar in app mode by default 2010-09-03 00:32:48 +02:00
Christian Dywan 91328aef2e Use Alt+Shift+Left/ Right for Previous and Next actions
Control+Left/ Right conflicts with text cursor movement.
2010-09-03 00:21:03 +02:00
Christian Dywan 7d3fa2a478 Move WebKitGTK+ 1.1.6 guards to disable delayed pages 2010-08-28 01:43:44 +02:00
Christian Dywan 7d049555a5 Explicitly reset 'delay' status when reloading or changing location 2010-08-23 20:08:43 +02:00
Christian Dywan 5a86115a9a Rename 'Minimize Tabs' to 'Show Tab Icon Only' 2010-08-23 19:38:11 +02:00
Christian Dywan 10fab99090 Delete history from completion with Delete key 2010-08-22 03:53:47 +02:00
Christian Dywan f8e5e8f7e0 Don't hide homepage smartly, don't show it in bookmarkbar 2010-08-22 03:39:11 +02:00
Christian Dywan 0de4e9fa08 Skip NULL key, which is the case when using the combo arrow 2010-08-22 03:25:03 +02:00
Christian Dywan b563479014 Simplify update_interface and avoid extra updates 2010-08-16 21:01:02 +02:00
Peter de Ridder 9a78cc6f6e Support space and percent as wild cards in location completion
Internally the typed key is treated as if spaces are wildcards,
so 'hello world' would be 'hello%world'.

The text renderer splits the typed text by ' ' and '%', so
multiple words are highlighted.
2010-08-16 00:05:35 +02:00
Christian Dywan bae41b45a8 Make 'Inspect Element' always show the inspector
Without scripts enabled, this doesn't happen implicitly.
2010-08-14 21:12:02 +02:00
Christian Dywan 9c84a2c407 Use midori_browser_open_bookmark for the bookmarkbar 2010-08-14 20:58:38 +02:00
Christian Dywan a7452bd0b5 Use KatzeArray* to remove and monitor deleted bookmarks
The panel and the bookmarkbar need to monitor the removal of
bookmarks, and there can be multiple windows, so the database
should only be used to remove in one central place.
2010-08-10 23:46:49 +02:00
Christian Dywan 8015f39fe6 Don't bother with unused config filenames in main 2010-08-10 22:41:19 +02:00
Christian Dywan 0870196942 Show tooltip text on tab icon, not only the label 2010-08-07 15:30:56 +02:00
Christian Dywan 13ffa17f2b Correctly load settings and cookies with --config in app mode 2010-08-07 15:14:58 +02:00
Christian Dywan 2d1d19de23 Remove freeze, thaw and set_uri from MidoriLocationAction 2010-07-31 13:59:48 +02:00
Christian Dywan 34d7a8033b Use KatzeArray* to signal new items to MidoriHistory 2010-07-31 01:42:14 +02:00
Christian Dywan 60eca91b74 Do NULL-safe address comparison when loading the session 2010-07-31 01:29:57 +02:00
Christian Dywan 1550c9d9f2 Don't' declare 'unescaped' twice in sokoke_format_uri_for_display 2010-07-30 22:09:03 +02:00
Christian Dywan 6b54f9e8b5 Remove the obsolete MidoriPanel::menu property 2010-07-30 22:09:02 +02:00
Christian Dywan a724d883b1 Synchronize browser and panel toolbar style 2010-07-30 22:09:02 +02:00
Christian Dywan 2350fc0834 Disconnect settings and bookmarkbar when disposing 2010-07-30 22:09:02 +02:00
Alexander Butenko e2ac49a76d Dont store about:* pages in history, Reset history step counter 2010-07-24 13:53:57 +02:00
Alexander Butenko fd48f850a3 Emmit uri signals after after item uri is set 2010-07-24 13:53:12 +02:00
Alexander Butenko 9e3e3fc491 Update bookmark for export from sqlite database 2010-07-23 22:04:43 +02:00
Alexander Butenko 5e250cc70d Store 'description' property of a bookmark 2010-07-23 22:04:20 +02:00
Alexander Butenko 1339dc671b Dont add items with empty uris into history 2010-07-23 21:57:40 +02:00
Alexander Butenko f8bf87ecf9 Dont unescape URIs which are not escaped
sokoke_uri_unescape_string handles that and handles '+'
the way we want.
2010-07-23 21:38:07 +02:00
Alexander Butenko a770a1b488 Uri property is mandatory for history operations 2010-07-23 21:19:56 +02:00
Alexander Butenko 7086111024 Avoid double unescaping on locationbar updates 2010-07-23 21:19:42 +02:00
Alexander Butenko f7cd519b7f Unescape spaces as well 2010-07-23 21:19:22 +02:00
Alexander Butenko 46c80ad2d1 Create MidoriView proxy item during initialization 2010-07-23 21:16:46 +02:00
Alexander Butenko 74278e6449 Properly create proxy item and cleanup history agregation 2010-07-22 00:21:03 +02:00
Alexander Butenko 3aa48c34b5 Stop listening to notify::uri signal. load-status is enough 2010-07-22 00:09:54 +02:00
Alexander Butenko 44a2351b72 Decode URIs before updating the locationbar 2010-07-21 23:39:34 +02:00
Alexander Butenko ca9010acd5 Show decoded urls in the locationbar 2010-07-21 23:19:29 +02:00
Alexander Butenko cac6571371 Escape space in search pattern to match the history URL format 2010-07-21 23:16:51 +02:00
Alexander Butenko 64fb6e8ee8 Fix typos and simplify SQL query for locationbar 2010-07-21 23:08:09 +02:00
Alexander Butenko 5859bbe2ab Fix edit bookmark behavior 2010-07-21 23:01:13 +02:00
Alexander Butenko 9763a1225f Verify that we have "folder" meta value in bookmark edit dialog 2010-07-19 21:42:15 +02:00
Christian Dywan f764f25747 Implement activate-item(-alt) for bookmarkbar mouse buttons 2010-07-19 21:39:57 +02:00
Alexander Butenko 9a098e2656 Attach bookmark table and union bookmarks in location completion 2010-07-19 21:07:26 +02:00
Alexander Butenko 687de063f9 Clear the bookmarkbar before populating and populate after editing 2010-07-19 20:55:59 +02:00
Christian Dywan b944ce0c83 Require bookmarks and folders to have a title 2010-07-19 20:47:33 +02:00
Christian Dywan 7dffde361c Append new bookmarks to the end of the store, with G_MAXINT 2010-07-19 20:42:56 +02:00
Christian Dywan 94fbf158f6 Remove conditional guards for sqlite 2010-07-17 21:31:29 +02:00
Christian Dywan 57683d45b1 Use no border (shadow) on views by default 2010-07-16 21:23:11 +02:00
Christian Dywan 3bfb452e69 Don't save configuration on every location change 2010-07-16 21:13:11 +02:00
Christian Dywan f6be9c4972 Read 'config' in app mode, if -c switch was specfified 2010-07-11 23:54:52 +02:00
Paweł Forysiuk df1f754a56 Fix speed dial regex causing dials other than 1-9 to be ignored when adding 2010-07-11 23:40:52 +02:00
Christian Dywan e794fe798a Implement minimize, duplicate and close other as actions
This allows keyboard shortcuts to be assigned to these operations.
2010-07-08 23:08:18 +02:00
Christian Dywan 880587a055 Provide a fallback definition of gtk_menu_item_set_label 2010-07-08 22:41:42 +02:00
Christian Dywan cfd00f7fe4 Don't hide panel if individual panel was already active
What might look like a little convenience for keyboard usage
is very awkward when using buttons or menu items.
2010-07-08 22:28:02 +02:00
Samuel Creshal 922a94fc98 Delete search history when clearing history 2010-07-08 22:15:13 +02:00
Christian Dywan c94e12e41c Use a 200ms delay for location completion like elsewhere 2010-07-05 23:38:34 +02:00
Alexander Butenko 62930be082 Introduce midori_browser_set_current_page_smartly() as public API 2010-07-05 00:14:06 +02:00
Christian Dywan d6d1cd21a9 Remove settings Original Cookies, Last visited pages, Autodetect proxy 2010-07-04 23:10:44 +02:00
Christian Dywan fefd9fd850 Remove "RecentlyVisited" action from the menubar 2010-07-04 22:54:27 +02:00
Christian Dywan 9ed9cebe92 Add 'Panel' menu item to compact menu button 2010-07-04 22:43:29 +02:00
Christian Dywan bba875c634 Remove "Bookmarks" action from the menubar 2010-07-04 11:14:30 +02:00
Christian Dywan c3e145f540 Localize Vala extensions and mark strings for translation
The -include switch is passed to the compiler to work around
Vala failing to include gi18n.h first. This works for
clang and gcc at least.
2010-07-04 10:53:21 +02:00
Alexander Butenko 2caaed659c Remove last bits of 'type' field usage 2010-07-03 22:33:45 +02:00
Alexander Butenko 067eb6c3ec Display correct folder name in bookmark edit dialog 2010-07-03 22:33:45 +02:00
Alexander Butenko 659b7c351e Add 'folder' property to bookmarks 2010-07-03 22:33:45 +02:00
Alexander Butenko dbcc8e2054 Do removal from bookmarkbar via the database 2010-07-03 22:33:44 +02:00
Alexander Butenko 1e8e6f4652 Fix handling of 'app' property on bookmark open 2010-07-02 23:34:33 +02:00
Alexander Butenko ad5066a43f Remove ghosts after bookmark edit. Merge edit/ delete callbacks 2010-07-02 23:32:06 +02:00
Christian Dywan 93b0b9029b Check absent 'version' in toplevel 'xbel' element
Albeit required, in pracise the 'version' value may be missing.
2010-07-02 23:06:10 +02:00
Alexander Butenko 8c6a8abe5f Revamp bookmark import with sqlite 2010-07-02 23:05:27 +02:00
Alexander Butenko f907128904 Drop bookmark type field and save meta boolean properly 2010-07-01 23:37:14 +02:00
Alexander Butenko 60593b27d1 Skip bookmark URIS starting with '('
Due to a bug in the sqlite handling we were happily adding
folders with '(null') and it happened to work until now.
2010-07-01 23:37:14 +02:00
Alexander Butenko 6fb35107a0 Fix for folders in bookmarksbar 2010-07-01 23:37:14 +02:00
Alexander Butenko 3c4896f94f Start using new sqlite helper functions 2010-07-01 23:37:14 +02:00
Alexander Butenko bd97f069d4 Introduce katze_array_from_sqlite () and katze_array_from_statement () 2010-07-01 23:37:13 +02:00
Alexander Butenko 94b6cf4e17 Fix display of the bookmark properties in the add dialog 2010-07-01 20:46:55 +02:00
Alexander Butenko 090a16f664 Fix bookmark folder properties dialog 2010-07-01 20:32:23 +02:00
Christian Dywan b0191b69b0 Check if extension_init returns NULL and handle it
In the case where an extension ends up existing multiple
times, it will fail to create an instance. We would
rather see it in the list than crash.
2010-06-30 23:09:21 +02:00
Christian Dywan 28aa06366c Declare URI accessors in Midori.View as unowned
Wrongly declared, Vala will think it needs to free the strings.
2010-06-30 22:26:52 +02:00
Christian Dywan 01f568b8ab 'Use current' should set 'about:blank' for a blank page 2010-06-30 21:21:06 +02:00
Peter de Ridder d1694c6d5f Put number in front of download filename extension 2010-06-30 21:15:11 +02:00
Christian Dywan f2e4a93c72 Dynamically create homepage button from action 2010-06-29 08:15:52 +02:00
Christian Dywan 3336938418 Always toggle source mode except for source code views 2010-06-29 07:36:45 +02:00
Christian Dywan 2ffc24977d Determine default window size relative to monitor 2010-06-26 23:39:49 +02:00
Alexander Butenko dc9cb532d9 Connect right-click correctly on bookmarkbar items 2010-06-26 21:58:58 +02:00
Alexander Butenko 6e878c2881 Merge _menu_middle_click_on_navigation_action with _action_navigation_activate 2010-06-26 21:57:51 +02:00
Alexander Butenko 0bc4933c17 Add homepage handling in _action_navigation_activate () 2010-06-26 21:45:52 +02:00
Alexander Butenko 6d7e1838ea Merge _action_(back|forward|Previous|Next)into _action_navigation_activate () 2010-06-26 18:55:35 +02:00
Alexander Butenko 3b55b7ab7b Merge _action_zoom_*_activate into _action_zoom_activate () 2010-06-26 17:52:04 +02:00
Alexander Butenko b2d0d0af8e Show bookmarksbar after item was added to db and not before 2010-06-26 17:43:03 +02:00
Alexander Butenko 08dab16bc2 Refactoring of bookmarks add functions 2010-06-26 17:24:53 +02:00
Alexander Butenko 3eea7c933d Reimplement bookmarkbar with sqlite 2010-06-26 17:08:31 +02:00
Alexander Butenko 2ec272eb96 Rip the old bookmarkbar out of the browser 2010-06-26 16:46:14 +02:00
Peter de Ridder a84a077ac8 Implement default configuration files on Windows 2010-06-26 16:02:49 +02:00
Christian Dywan f14152fe17 Don't hardcode toolbar icon style on Windows 2010-06-24 22:37:12 +02:00
Christian Dywan eec5359cf5 Don't clear bindings of an erroneous sqlite statement
This is not safe and can cause a crash.
2010-06-23 02:12:56 +02:00
Christian Dywan e200f2cb3e Hide panel if a panel was activated that's already shown
Also default hotkeys for History And Transfers.
2010-06-21 22:47:52 +02:00
Christian Dywan bc6849494d Add 'Open in New Window' to page context menu
While we're at it, the label of the according tab menu item
should be the same.
2010-06-21 22:19:59 +02:00
Christian Dywan f5604f290c Refactor findbar into MidoriFindbar
The findbar still depends on the browser for knowing when to
search and to propagate focus. Behaviour did not change.
2010-06-21 01:53:08 +02:00
Alexander Butenko 053048d05e Fixed handling of bookmark meta data
sqlite doesn't store negative value but rather 0 and 1, so we
work with these values now. As a side effect it makes the code
easier to read.
2010-06-19 16:23:49 +02:00
Christian Dywan 22cd35be6f Fix typo of sokoke_gtk_action_count_modifier/s
Oddly enough the compiler failed to complain that the
function had no definition/ prototype.
2010-06-19 15:17:34 +02:00
André Stösel 6556d71273 Add sokoke_gtk_action_count_modifiers helper function 2010-06-19 00:32:58 +02:00
Christian Dywan fa08c4d1f9 Refactor transferbar into MidoriTransferbar
The transferbar is separated from the browser, albeit it is still
created and filled from within the browser so it is not completely
independent.

The new class now keeps a list of TransferInfo items to keep track
of transfers and queries the status from the download object.

Destroying a button belonging to a transfer is connected to
removing it from the list and cleaning up the info structure. Also
the Clear button is updated from the destroy handler.
2010-06-17 20:17:21 +02:00
Alexander Butenko f55377e7f3 Fix selecting a directory while adding a new bookmark
Allow folders to be removed
2010-06-17 00:12:17 +02:00
Alexander Butenko 09d9615964 Refresh bookmark sidebar on new items 2010-06-17 00:02:10 +02:00
Alexander Butenko 954939fdd1 Use extra attributes of a bookmark 2010-06-16 23:30:56 +02:00
Alexander Butenko 5af37f6c92 Fix edit/ delete/ new operations on bookmarks 2010-06-16 23:27:59 +02:00
Alexander Butenko 6f415c4e6e Import bookmarks from bookmarks.xbel on the first start.
The bookmark handling in main is not needed any more.
2010-06-16 23:17:51 +02:00
Alexander Butenko 87ac3ae563 Initial sqlite read support
We go back to GtkTreeStore rather than a custom class.
2010-06-16 20:55:37 +02:00
Christian Dywan 1676fcc217 Confirm before overwriting in Save As dialogue 2010-06-11 22:52:51 +02:00
Christian Dywan 61add83eeb Iterate links and anchors for next/ previous labels 2010-06-11 21:36:18 +02:00
Christian Dywan 61c5514c1c Remove toolbar menu items from the compact menu 2010-06-10 17:54:44 +02:00
Christian Dywan ff6fec6367 Use g_file_set_contents to save 'config' with a temporary file
If the filesystem runs out of space and Midori tries to save
the 'config' file under that condition, the file is lost. To
avoid that, we use g_file_set_contents which writes a temporary
file first, at the cost of destroying symbolic links.
2010-06-10 17:54:44 +02:00
Christian Dywan fd2e0b7aed Implement MIDORI_UNARMED variable for 'dry run' 2010-06-07 22:01:41 +02:00
Christian Dywan 4aebdad671 Enable encoding action at compilation time 2010-06-07 22:01:41 +02:00
Christian Dywan dcf1bb5356 Always add blank pages without delay 2010-06-06 23:52:55 +02:00
Christian Dywan 997d8df49c Ensure the web view of the thumb view is realized 2010-06-05 00:50:06 +02:00
Christian Dywan 57b05a458e Replace {enter_dial_size}, not {enter_dial_width} 2010-06-03 22:21:55 +02:00
Peter de Ridder 4422f640cb Combined speed dial resize and thumbnail sizes 2010-06-02 02:09:43 +02:00
Christian Dywan fa4de7b723 Connect view *after* mime-policy-decision-requested
In order to allow extensions to override the MIME handling,
we need to be late in the order.
2010-06-01 22:19:11 +02:00
Tsahee Zidenberg ea7e627e3b Implement loading delayed pages at startup
Each view has a meta value 'delay' which indicates whether it be
loaded or needs to be loaded manually before it shows content.

One way to trigger this is that Midori crashes and if it is
configured to 'Show last open tabs', all tabs will now be
delayed. To allow Midori to safely open without crashing again.

The other way is to change the 'Load on Startup' preference to
'Show last tabs without loading'. This causes all tabs restored
from the session to be delayed.

One interesting aspect is that it is possible to have delayed
tabs, use 'Show last open tabs' and tabs will remain as they are,
so delayed tabs will be delayed over following sessions.
2010-06-01 00:12:30 +02:00
Christian Dywan c2be3d67cf Recognize more characters as next page and be more tolerant 2010-05-26 22:48:33 +02:00
Christian Dywan dc047272d7 Always bring the inspector window in the foreground 2010-05-25 22:24:41 +02:00
Christian Dywan c571a6394f Don't pass around KatzeNet instances anymore
The KatzeNet is always a singleton, no need to pass it around.
2010-05-25 19:03:01 +02:00
Christian Dywan 59926ad492 Verbosely explain how to use news feed URI 2010-05-25 18:32:56 +02:00
Christian Dywan 8cb761239f Show dialog if quitting while files are being downloaded 2010-05-23 01:09:40 +02:00
Christian Dywan 6c4d94942f Render stock:// as pixbufs and pass as data URIs
Stock icons do not match filenames in many icon themes and the
appropriate sizes may not be available. Thus we now always
render the icon through the theme engine and encode it as a
data URI with BASE64/ PNG.

As a side effect, we use stock sizes now instead of pixel sizes,
where 1 means menu size, 4 means button size and 6 dialog size;
the value 16 is translated to 4 to keep existing files working.
2010-05-21 02:23:15 +02:00
Christian Dywan 62cafb87b2 Deprecate midori_viewable_new_from_uri and _register_protocol
These facilities haven't been used and likely won't be.
2010-05-21 01:07:25 +02:00
André Stösel 7753db46e0 Pass the frame to midori_view_load_alternate_string
The frame where an error occurs may not be the main frame, and
coincidentally there is a race condition where the main frame
isn't valid, so this actually reolves a crash.
2010-05-20 23:21:55 +02:00
Peter de Ridder 84d4865e22 Allow custom shortcut and column count in speed dial 2010-05-19 00:58:03 +02:00
Christian Dywan 01548549a8 Rename midori_browser_get/set_current_tab to get/set_tab 2010-05-19 00:18:31 +02:00
Christian Dywan a69ba674b1 Add 'Add to Speed Dial' button to 'Add bookmark' 2010-05-19 00:18:31 +02:00
Peter de Ridder 486ebfb930 Check user data dir first for resource files 2010-05-16 17:57:41 +02:00
Christian Dywan be0fe03eee Refactor error display into midori_view_display_error
Further more midori_view_load_alternate_string now abstracts the
different ways to load data in different WebKitGTK+ versions.
2010-05-16 02:02:09 +02:00
Christian Dywan dfddd7ce0a Leave panel icon styles to the system settings 2010-05-13 16:53:19 +02:00
Christian Dywan 9241afa0db Implement FTP support in External Applications
For the moment 'gftp' is hardcoded for ftp://.
2010-05-13 01:06:58 +02:00
Christian Dywan 969c225c3b Add Midori.View to midori.vala description 2010-05-12 23:52:39 +02:00
Christian Dywan 4027fdfcd4 Use grouped bit fields in MidoriWebSettings
One settings instance needs only about half the memory
when using bit fields with exact sizes.
2010-05-12 23:37:26 +02:00
Christian Dywan d522efa23c Hide the tab label properly if it's minimized initially 2010-05-09 00:30:24 +02:00
Christian Dywan 3b9a4a5705 Hide the tab label if it's minimized at creation 2010-05-09 00:27:02 +02:00
Christian Dywan 6442b34b89 Use the basename of the suggested download name
Sometimes the suggested name contains a folder name.
2010-05-09 00:25:22 +02:00
Christian Dywan cd54d23dbe Take care to avoid overwriting files accidentally
When a file needs to be saved in a specific location, ask
whether to overwrite or not. And if a file is saved
implicitly, append a number if the filename exists.
2010-05-08 03:38:07 +02:00
Christian Dywan 743b264a72 Rework rendering of raw XML as source
We need to be stricter with what counts as raw XML, for instance
not SVG images. And we shouldn't break explicit source view.
2010-05-07 20:31:41 +02:00
Christian Dywan fb72bcfeae Unify content type/ MIME type handling and plug leak 2010-05-07 20:17:53 +02:00
Christian Dywan affde90e2c Consistently focus the view, which propagates
Rather than trying to determine and focus the web view
from different places, the parent view should simply
propagate focus by default. The child needs to be
constructed implicitly if focus comes in early.
2010-05-06 22:49:47 +02:00
Christian Dywan 4b94b63f70 Base KatzeThrobber on GtkSpinner if available 2010-05-02 16:11:18 +02:00
Christian Dywan 001d9e463a Rely on WebKitWebView::icon-uri for icon discovery 2010-05-02 12:19:37 +02:00
Arno Renevier 7c0e58a835 Refactor userscripts and userstyles as an extension 2010-05-02 11:53:05 +02:00
Christian Dywan f24bc315e2 Update FAQ link used for Help > Frequent Questions 2010-05-01 03:12:03 +02:00
Christian Dywan e7f04272cd Check free space before trying to download 2010-04-30 23:52:33 +02:00
Christian Dywan efa81643c5 Expose midori_view_populate_popup for use in extensions 2010-04-29 02:19:20 +02:00
Christian Dywan a25e4c5f0a Add gtk_widget_get_window and fix gtk_dialog_get_content_area 2010-04-28 23:57:22 +02:00
Christian Dywan 7a7f4c6a44 Provide midori.vapi for App, Browser, Extension and WebSettings
With this API description extensions can be written in Vala. Mind
it is not complete yet, missing interfaces can be added later.
2010-04-27 23:49:45 +02:00
Christian Dywan 4576360ec3 Implement midori_browser_get_settings in MidoriBrowser 2010-04-27 23:36:14 +02:00
Christian Dywan 64b6f6ce6d Implement midori_app_get_browser in MidoriApp 2010-04-27 22:34:26 +02:00
Christian Dywan 7044bb70c4 Expose tabs in MidoriBrowser as GList 2010-04-25 23:39:00 +02:00
Christian Dywan 102810842f Expose browsers in MidoriApp as GList 2010-04-25 23:39:00 +02:00
Christian Dywan 9d3c884194 Implement midori_browser_get_proxy_items
This supersedes midori_browser_get_proxy_array as a means to
access the KatzeItem* items. The new name is clearer.
2010-04-25 23:38:59 +02:00
Christian Dywan d2d5086e3b Unset save file dialog when it is destroyed
If the window manager closes the dialogue rather than one of the
buttons, it is destroyed implicitly.
2010-04-25 00:57:21 +02:00
Christian Dywan 34984c7ac1 Fix gtk_widget_set_no_show_all and g_filename_to_uri calls 2010-04-23 00:02:46 +02:00
Christian Dywan 0d4b041de3 Security with background color and secondary icon 2010-04-21 02:47:21 +02:00
Christian Dywan aaf0d4b395 Guards around midori_browser_add_download_item
The function is guarded already but of course the declaration
needs to be guarded as well.
2010-04-20 21:38:02 +02:00
Christian Dywan 999af1d164 Fix use of priv in GtkIconEntry code 2010-04-17 01:42:09 +02:00
Christian Dywan aade642897 Conditionalize SSL validation on libsoup 2.29.91
The flag in the SoupMessage to verify secure connections is
only available in recent versions of libsoup. So we continue
to be oblivious to certificates with older versions.
2010-04-14 22:41:24 +02:00
Christian Dywan 2507f971ca Validate SSL against root certificates
If one of two known root certificate files is available, we
enable certificate validation, otherwise a warning is emitted.
Not using validation means that we trust any certificate. We
should consider doing the opposite.

The new property MidoriView:security is set during load
and indicates the security status. midori_view_get_security can
be used to determine the status later on.

midori_location_action_set_security_hint is implemented to
present security status visually. For now, this only changes
the icon, we need to find a more visible solution.

MidoriBrowser updates the security hint for the current view in
_midori_browser_update_interface.
2010-04-14 04:20:56 +02:00
Christian Dywan b4a7bb928b Use view source mode for XML that isn't XHTML 2010-04-14 03:55:19 +02:00
Christian Dywan 586469fa73 Only hide find implicitly if invoked by typing, . or / 2010-04-14 03:55:19 +02:00
Christian Dywan 2ba9b1b65f Remove bookmark, open and image in window from Link context menu 2010-04-14 03:55:18 +02:00
Christian Dywan f71e86d879 Update copyright in --version and about dialogue 2010-04-10 00:58:15 +02:00
Christian Dywan 130eb0e46a Make the license in the about dialogue localizable 2010-04-10 00:58:15 +02:00
Christian Dywan 1cdd7cc643 Add an i18n comment for Clear Private Data dialog
Since there is a button with the same wording, it is good to
point out the difference.
2010-04-08 23:54:25 +02:00
Christian Dywan 5146e5182c Add an explaining i18n comment for 'Reset Midori...' 2010-04-08 23:51:52 +02:00
Christian Dywan b389c5bcde Refer to regular expression as PATTERN like grep 2010-04-08 23:27:04 +02:00
Christian Dywan 51b1f87400 Reindent author and license definitions 2010-04-04 21:38:16 +02:00
Christian Dywan 82ee513a96 Reindent entries, toggle_entries, encoding_entries 2010-04-04 21:38:16 +02:00
Christian Dywan 23b093a248 Reindent actions in Tools menu in MidoriBrowser 2010-04-04 21:38:16 +02:00
Christian Dywan 2b66adabf2 Reindent ui_markup definition in MidoriBrowser 2010-04-04 21:38:16 +02:00
Christian Dywan bde7495e6c Implement -b, --blocked-uris command line option
Using a regular expression of blocked URIs makes it possible to
restrict the locations that can be visited. Any URI matching
the expression will be replaced with "http://.invalid".

The option works in --app and normal mode.
2010-04-04 01:43:56 +02:00
Christian Dywan e886293ebf Implement 'Proxy type' preference which can be Auto, HTTP or None 2010-04-02 20:41:39 +02:00
Christian Dywan 476f64e9bc Pass the correct parent in the web-view-ready callback
This was overlooked when changing the packing of the view.
2010-04-02 19:14:22 +02:00
Christian Dywan f2f0f16dd2 Update uses of deprecated GTK+ macros and API 2010-04-02 18:54:29 +02:00
Christian Dywan 12b4859dc7 Use gtk_widget_get_visible rather than GTK_WIDGET_VISIBLE 2010-04-02 18:38:56 +02:00
Christian Dywan 2f1ae3feba Make use of the XScreenSaver extension optional
The extension is only needed for the --inactivity-reset option,
so most users building Midori won't need it.
We also need to check for the according header file.
2010-04-01 18:25:30 +02:00
Christian Dywan 37e2216775 Implement -i, --inactivity-reset command line option
The use case is kiosk systems where leaving the application
idle for a period of time means that the user left, and the
session is reset so the next user starts off clean.

The implementation uses libXss and uses XScreenSaverQueryExtension
which means it is for now supported on X11 only.

Right now reset means closing any opens web pages and opening
the original web page.

Currently --inactivity-reset is only supported with --app.
2010-04-01 00:05:08 +02:00
Christian Dywan 832b2e9922 Change remaining GET_PRIVATE to priv in GtkIconEntry 2010-03-31 21:02:37 +02:00
Christian Dywan 67b9fc013a Use priv instead of GET_PRIVATE in GtkIconEntry 2010-03-31 19:05:17 +02:00
Arno Renevier c3238d7c12 Change MidoriView into a subclass of GtkVBox
This change makes it possible to pack widgets, notably info bars,
into a MidoriView.
2010-03-31 00:18:42 +02:00
Arno Renevier 3e67ce525f Implement midori_view_get_web_view function
This provides access to the child web view even if we change
the internal packing of MidoriView.
2010-03-31 00:18:41 +02:00
Enrico Tröger 05488d8bd3 Filter keyboard state against modfifier default mask
The modifier state does in fact incorporate modal keys such as
NumLock. So code assuming that state be 0 if no modifier is
pressed is wrong, if NumLock, CapsLock and the like are active.

The solution is to filter out these modal keys with
gtk_accelerator_get_default_mod_mask(), and compare the result.

This fixes the problem of being unable to type keys used as
single-letter shortcuts.
2010-03-30 01:05:36 +02:00
Christian Dywan fdf075513c Don't propagate key events more than once
This fixes problems with dead keys used to type accented letters.
2010-03-26 20:48:33 +01:00
Dale Whittaker 3f8b34853d Update year in Copyright headers 2010-03-25 23:06:38 +01:00
Dale Whittaker ff63a5f7bd Wrap the location completion in a GtkFrame
That's what GtkEntryCompletion does as well, so it gives our
completion consistent appearance.
2010-03-24 23:26:51 +01:00
Christian Dywan a15c70ec61 Add behavior preference 'Allow scripts to open popups' 2010-03-23 20:52:06 +01:00
Christian Dywan 9587fde97b Spawn new apps with the original executable name
Opening a web app or private mode should open Midori from the
same executable it was originally opened with.
2010-03-22 02:55:10 +01:00
Christian Dywan 3682b7755e Clarify MidoriApp signal documentation 2010-03-19 20:16:48 +01:00
Christian Dywan b4a18b2aef Only print error if completion actually failed 2010-03-18 23:26:45 +01:00
André Stösel 555f7a57e4 Implement sokoke_resolve_hostname
sokoke_prefetch_uri is extended take a callback and user data.

sokoke_resolve_hostname is implemented for resolving hostnames
based on a maximum timeout.

sokoke_magic_uri resolves localhost and uris with a / to verify
if there is a local domain, otherwise falls back to search.

Thanks to Andy Kittner <andkit@gmx.de> for input on proceeding
the event loop while resolving asynchronously.
2010-03-17 02:20:58 +01:00
Christian Dywan ba7f73891f Also update icon URI when a new icon was loaded 2010-03-16 00:26:38 +01:00
Samuel Creshal f4b4c53166 Always pass view pointer to icon callback 2010-03-15 17:45:00 +01:00
Samuel Creshal b10b311b07 Don't overwrite uri in _action_location_secondary_icon_released 2010-03-13 19:58:06 +01:00
Christian Dywan 25bbea02e2 Use a boolean 'special' to identify special pages
We used to load special pages, such as error pages as 'blank'
pages internally and try to identify them indirectly. This
breaks navigating back to and forward to such pages and makes
it difficult to allow stock icons for them.

Now a boolean 'special' is used which is reset on any
navigation attempt and any finished load. It is set only
if a special page is loaded.

This should make icons in error pages work reliably.
2010-03-13 16:46:45 +01:00
Christian Dywan c7ee74610e Normally reload error pages with WebKitGTK+ 1.1.14
For older versions we used a workaround for reloading
special pages like error pages. This is not needed
with recent versions of WebKitGTK+.
2010-03-13 15:07:02 +01:00
André Stösel 283005e217 Implement and use sokoke_recursive_fork_protection
As Midori may call external tools to open URIs it cannot handle,
and at the same time Midori is commonly the default browser,
this can end in recursion when the external tool also calls Midori.

See the description of sokoke_recursive_fork_protection().
2010-03-12 23:31:14 +01:00
Christian Dywan b5f8334360 Merge KatzeNet icon loading into MidoriView
MidoriView is the only place where icons are and should be
loaded, elsewhere we just use cached icons.

midori_view_get_icon_uri allows distinguishing whether a view
has an icon or a default icon, and using the filename.
2010-03-11 23:30:54 +01:00