Commit graph

318 commits

Author SHA1 Message Date
Christian Dywan
0d2a6cd72f Sort out boxes and scrollables with GTK+ 3.2
There is only GtkBox, neither GtkHBox nor GtkVBox.

Constructors and defaults have changed, we need
to set "orientation" for vertical boxes.

The panel takes care of its pages, and the view
of itself.

gtk_container_add on GtkBox is different to GtkVBox
so we must use gtk_box_pack_start.

GtkScrollable exists as a proper interface now.
2011-11-20 22:14:30 +01:00
Christian Dywan
1dc6e23b9e Define GtkV/HBox types to allow build with GTK+3.2 2011-11-19 21:35:56 +01:00
Christian Dywan
4c2fd067ff Midori.URI.parse_hostname clearer semantics and tests 2011-11-18 01:44:48 +01:00
Christian Dywan
583c5be7ef Add simple regexp unit test to Addons extension 2011-11-18 00:54:32 +01:00
Christian Dywan
5eda5a3faa Fix wrong handling of URI containing space 2011-11-15 21:48:59 +01:00
Christian Dywan
a121d24d35 sokoke_entry_set_default_text becomes gtk_entry_set_placeholder_text
GTK+ 3.2 and Hildon 2.2 have the exact same feature built-in.
2011-11-09 22:06:10 +01:00
Christian Dywan
eed822dc8b Add gtk_image_menu_item_set_always_show_image to gtk3-compat.h 2011-11-08 22:42:02 +01:00
Christian Dywan
0c611f8d6a Move link fingers to Midori.URI and add tests 2011-11-08 00:28:07 +01:00
Christian Dywan
cebf09e804 Midori.URI.parse shouldn't pass hostname with spaces 2011-10-29 00:40:34 +02:00
Christian Dywan
be04be8303 Introduce and use Midori.URI.is_http
Also make further uses of Midori.URI.parse.
2011-10-28 22:49:10 +02:00
Christian Dywan
7cb16405f8 Commit missing file gtk3-compat.c
The file was intended to be part of 52de7471.
2011-10-26 20:07:11 +02:00
Christian Dywan
4b33fd2c7d Avoid GTK+3 #ifdef and #define GTK_DIALOG_DESTROY_WITH_PARENT 2011-10-26 20:07:11 +02:00
Christian Dywan
77428fe44c Introduce Midori.URI to unitfy all URI logic
sokoke_hostname_from_uri, sokoke_search_uri,
sokoke_hostname_to_ascii and sokoke_unescape_uri_string
are merged into Midori.URI.
midori-core.h is the official API header for Vala now.
2011-10-21 01:00:13 +02:00
Christian Dywan
ee85789fc4 Use gtk_combo_box_text_new_with_entry in Statusbar Features
Fixes: https://bugs.launchpad.net/midori/+bug/878449
2011-10-20 22:48:51 +02:00
Christian Dywan
52de747198 Merge GLib and GTK+ compatibility in gtk3-compat.h 2011-10-20 22:46:43 +02:00
Christian Dywan
3fa294d100 Require GLib 2.22 it's already an implicit dependency 2011-10-17 02:47:56 +02:00
Alexander Butenko
f5447b921f Implement sqlite3 cookie storage backend
From now on cookies are stored in an sqlite3 database, existing
cookies are imported on first startup.
2011-10-10 23:22:27 +02:00
Christian Dywan
d3dbd33911 Bump version to 0.4.1 2011-10-10 00:41:47 +02:00
Paweł Forysiuk
89ba05924e Add GDK_KEY_Return to gtk3-compat.h 2011-10-09 14:31:27 +02:00
Christian Dywan
3e60f4424b Introduce Automatic user agent and allow quirks
The new Automatic user agent is meant to pick the string
that websites most likely check for. Right now this is
Safari. Quirks built-in to WebKit are also used.

The separate Midori identification has no quirks.

Fixes: https://bugs.launchpad.net/midori/+bug/865503
2011-10-09 12:20:13 +02:00
Lucas Baudin
b5aad2d176 Allow building with GTK+3
Fixes: https://bugs.launchpad.net/midori/+bug/861351
2011-10-07 20:24:02 +02:00
Christian Dywan
889dcabc33 Bump version to 0.4.0 2011-08-02 00:06:36 +02:00
Christian Dywan
20d47ffac4 Count both cookies and history expiry in months 2011-05-16 03:19:21 +02:00
Christian Dywan
f97395dab1 Validate URIs and render entry red if invalid
Fixes: https://bugs.launchpad.net/midori/+bug/710855
2011-05-15 16:46:23 +02:00
Christian Dywan
7f45ce2ce2 Always copy the cookie filename when attaching
Otherwise we'll have freed the original filename when
detaching and attaching again.
2011-05-04 23:53:45 +02:00
Christian Dywan
6711bf33f0 Remove frame titles in preference dialogue
Effectively all pages contain options of only one group.
2011-05-02 00:02:54 +02:00
Christian Dywan
4435b8fcef Remove 'Delete cookies when quitting' preference
Clear Private Data already offers the same option.
2011-04-30 11:56:12 +02:00
Paweł Forysiuk
bbfa7f6030 Fix GCC 4.6 warnings about set but unused variables 2011-04-29 04:03:33 +02:00
Christian Dywan
ed6ed71239 Embed extensions into preferences dialogue
MidoriBrowser gains the show-preferences signal which
gives API users a chance to add preferences.

katze_preferences_add_category now returns a box to
allow freely packing a widget into the page.

The extension panel is packed into the preferences now
rather than being appended as a proper panel.

Motivation is consistency here, such as with Gedit or
Emerillon and also the aspect that extensions often
really do tweak behaviour like preferences do.

Spacing and icons are added for visual consistency.
2011-04-14 03:29:50 +02:00
Christian Dywan
fc8d0a1179 Gracefully handle unset history and search engines
So app mode actually fails to search reliably and not by
accident.
2011-03-05 03:40:10 +01:00
Christian Dywan
ea8b9ee7fe Improve handling of cookie updates
Be sure to remove outstanding times, use libsoup API
to free the list of cookies and use the cookie jar to
delete cookies.

Fixes: https://bugs.launchpad.net/midori/+bug/712770
2011-02-20 20:55:34 +01:00
Christian Dywan
84beea9108 Add KatzeArray::update and call it after import
This new function and according signal allow one
update of the treeview after importing directly
into the database.
2011-01-19 21:58:26 +01:00
Christian Dywan
b604b177bb Use foreach with copied list for importing bookmarks
The new macro KATZE_ARRAY_FOREACH_ITEM_L is added, taking a
list that must be freed afterwards. It copies the list to
not enter infinite recursion if items are removed or appended.
2010-12-05 23:34:17 +01:00
Christian Dywan
dbac0b56a5 Remove empty loop in katze_array_action_activate 2010-12-02 19:05:11 +01:00
Christian Dywan
51c1d36b60 Create toggle button proxies for array actions 2010-12-02 19:01:49 +01:00
Christian Dywan
1581c13460 Remove unused non-object support from KatzeArray 2010-11-30 18:15:33 +01:00
Christian Dywan
6ea63d2f70 Declare ax, ay in throbber earlier 2010-11-01 03:18:00 +01:00
Christian Dywan
bcd1ffaf09 Don't restrict length of HTTP login passwords 2010-10-27 21:02:47 +02:00
Christian Dywan
68c12e950e Slice allocations in addons, net, scrolled, transferbar 2010-10-21 21:09:01 +02:00
Christian Dywan
18946b10b2 Use cairo to draw static throbber and avoid unused code paths 2010-10-14 21:07:55 +02:00
Christian Dywan
f3c519d715 Always add None and Custom to application property proxies 2010-10-13 23:13:02 +02:00
Christian Dywan
9d8c819521 Always prefill language entries with default values 2010-10-10 22:41:15 +02:00
Christian Dywan
4d2968a0cc Intern property proxy hint strings statically 2010-10-10 22:40:26 +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
41f96167d1 Remove unused variables in KatzeNet and simplify code 2010-10-05 00:04:29 +02:00
Christian Dywan
20aa562de5 Remove scrollbar drawing from KatzeScrolled
The gdk_draw interfaces are deprecated, and since we don't use
custom scrollbars anyway, we might as well remove them.
2010-10-05 00:04:28 +02:00
Christian Dywan
28eb039ec0 Only update expiry of cookies if higher than maximum
Also assume 0 days to really mean 1 hour, and set the
maximum age accordingly. Otherwise SoupCookie thinks
that these cookies expire immediately.
2010-10-03 07:15:43 +02:00
Christian Dywan
3c7d4800bc Reset age to enforce session cookies, don't delete
It is more practical to keep long-lived cookies but treat them
as if they were session cookies.
2010-10-03 07:15:43 +02:00
Christian Dywan
3bb34f9f9b Fallback to the name of an app info if there's no executable
Apparently on Windows command line and executable can be NULL,
but the name appears to be the executable name.
2010-09-30 23:51:46 +02:00
Enrico Tröger
769a1dce17 Define kalistglobal only once, declare it globally
This fixes building with gcc and the -fno-common option. The
option is now added to compiler flags in full debugging mode.
2010-09-25 16:57:18 +02:00
Christian Dywan
eabf14a6ce Add g_return_val_if_fail to katze_array_peek_items 2010-09-24 23:29:23 +02:00
Christian Dywan
16ce2e9516 Write cookies to a temporary file first, to be safe
It may happen that we are running out of space in the middle
of writing the file, and fopen deleted it already.
2010-09-20 23:37:47 +02:00
Christian Dywan
016b6a6306 Remove unused katze_collfold and katze_utf8_stristr 2010-09-18 01:48:55 +02:00
Christian Dywan
d0e2433f86 Simplify definitions of katze assignment macros 2010-09-18 01:45:17 +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
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
b80b97b787 Require that the URI passed to katze_load_cached_icon be NULL 2010-09-15 04:10:54 +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
7ac801799f Remove katze_net_new and katze_net_get_session 2010-09-07 22:39:51 +02:00
Christian Dywan
0cc46d6285 Don't leak the filename in katze_load_cached_icon 2010-09-06 03:03:07 +02:00
Alexander Butenko
672b7ab70a Protect proxy combo box notifications against recursion
This can happen when switching between custom and other elements.
2010-08-24 23:50:47 +02:00
Christian Dywan
5b640c7f46 Store address of bookmarks for tooltip as a string in the model 2010-07-31 01:21:50 +02:00
Alexander Butenko
a49f1f7814 Introduce katze_bookmark_populate_tree_view() and rename ITEM_IS* macros 2010-07-01 23:37:13 +02:00
Christian Dywan
6822969aac Introduce katze_item_get_meta_boolean convenience 2010-07-01 20:42:42 +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
af29dcf304 Always save KatzeItem::icon as meta data
This gives us saving of the icon in XML for free.
2010-05-09 00:56:03 +02:00
Christian Dywan
4b94b63f70 Base KatzeThrobber on GtkSpinner if available 2010-05-02 16:11:18 +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
c213824d5f Expose items in a KatzeArray as GList 2010-04-25 23:38:59 +02:00
Christian Dywan
7e5dd2db32 Minimal support for tests and extensions in Vala 2010-04-25 00:11:57 +02:00
Samuel Creshal
6ccfb136cd Load cached icons from http and https 2010-03-13 20:08:40 +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
Christian Dywan
8c1e5e4305 Free text after proxy combo text change 2010-03-11 23:30:53 +01:00
Enrico Tröger
3583a07056 Declare widget allocation macros for GTK+ < 2.18 properly 2010-03-02 23:58:17 +01:00
Christian Dywan
515795a317 Add fallback definition of gtk_widget_get_visible in KatzeScrolled 2010-02-21 18:01:20 +01:00
Christian Dywan
1f9dbe9f25 Fix fallback gtk_widget_get_allocation definitions 2010-02-21 12:51:31 +01:00
Christian Dywan
daa04eaeb1 Avoid GtkScrolledWindow members in KatzeScrolled 2010-02-19 19:02:57 +01:00
Christian Dywan
20602673fe Use allocation accessor in katze utils 2010-02-19 17:22:34 +01:00
Christian Dywan
fa66334289 Accessors instead of widget flag macros in Katze 2010-02-19 17:10:54 +01:00
Christian Dywan
cd855b7cde Use allocation accessor in KatzeScrolled 2010-02-19 16:48:02 +01:00
Christian Dywan
ff97ec6232 Allocation/ requisition accessors in KatzeThrobber 2010-02-19 16:46:23 +01:00
Christian Dywan
42cf028781 Use accessors for widget window in KatzeScrolled 2010-02-19 16:37:43 +01:00
Christian Dywan
2e6b4debe1 Remove unused KatzeNet instance from KatzeArrayAction 2010-02-10 19:52:11 +01:00
Christian Dywan
41d41e69ad Use the colormap of the widget with KatzeScrolled 2010-01-31 20:41:30 +01:00
Christian Dywan
01daddf34c Add missing assignments to fix drag scrolling with KatzeScrolled 2010-01-31 20:41:30 +01:00
Christian Dywan
a1c598851b Use adjustment accessor functions in KatzeScrolled 2010-01-30 16:59:37 +01:00
Christian Dywan
753af1c32e Use gtk_dialog_get_content_area if available instead of dialog->vbox 2010-01-29 22:58:36 +01:00
Christian Dywan
cc6bb8fddb Lookup icon size in relation to the according screen or widget 2010-01-29 22:43:39 +01:00
Christian Dywan
9785317a88 Move throbber class declarations to the beginning of the function 2010-01-29 21:10:05 +01:00
Enrico Tröger
af7d9428e7 Adjust permissions of saved logins to 0600 when saving logins 2010-01-24 23:40:51 +01:00
Enrico Tröger
3ed2046d50 Check 'Remember password' depending on whether it was checked before 2010-01-24 23:37:59 +01:00
Christian Dywan
a7b982eff0 Let preference notebook fill and expand, for proper resizing 2010-01-24 11:06:10 +01:00
Can Erkin Acar
b7fd68c173 Don't leak temporary icon filename and don't free icon URI too early 2010-01-19 06:09:05 +01:00
Christian Dywan
07d4964e90 Add G_GNUC_CONST to all Katze type functions 2010-01-17 18:14:48 +01:00
Christian Dywan
15658145b2 Build katze, core and panels as one, and allow non-progressive build
This simplifies the build and possibly helps with linking problems
on some platforms. The 'progressive' option allows building
without an intermediate static library except for unit tests.
2010-01-01 18:20:08 +01:00
Christian Dywan
b1ee80d55e Implement katze_utf8_stristr, katze_collfold and use in completion
Evidently normalizing any whole string is too slow for completion,
so we need to even out case and composition while iterating through
the strings.

The decompositing version of katze_utf8_stristr is disabled, since
it is too slow, and an ascii only version is used, for now.

A unit test 'compare' is added that solely measures performance of
katze_collfold and katze_utf8_stristr.
2009-12-28 23:59:54 +01:00
Alexander Butenko
045cc81b45 Use g_access instead of g_file_test consistently 2009-12-19 11:28:46 +01:00
Alexander Butenko
670ee72e3f Use g_access instead of g_file_test in katze_mkdir_with_parents 2009-12-18 21:21:56 +01:00
Christian Dywan
2733ae4f2e Connect to button press on folder menu items 2009-12-13 15:41:47 +01:00
Christian Dywan
185ff3e338 Only directly open bookmark proxy if has a URI 2009-12-12 00:04:55 +01:00