Commit graph

228 commits

Author SHA1 Message Date
Christian Dywan 41385a9e5e Implement katze_array_find_uri for finding duplicates 2009-10-02 21:27:31 +02:00
Christian Dywan 7a5329a1e0 Count font names added to the list, to fix font combo boxes 2009-09-29 00:08:22 +02:00
Christian Dywan 96093d9067 Implement drag (finger) and kinetic scrolling with KatzeScrolled
The feature is primarily interesting for mobile devices and
by default enabled with gtk-touchscreen-mode.
2009-09-28 22:12:41 +02:00
Christian Dywan 19b7271ed1 Disconnect request-queued properly to avoid lots of dialog callbacks
The wrong user data argument passed when disconnecting request-queued
would lead to the callback not being disconnected, which led to a
number of dialogs relative to the number of opened websites being spawned.
2009-09-25 22:51:18 +02:00
Christian Dywan 0711bdf64e Add a check box Remember password to authentication dialogs 2009-09-18 00:51:41 +02:00
Christian Dywan 06bd549cb1 Lookup page icons via javascript 2009-09-16 03:06:09 +02:00
Christian Dywan 668f19c216 Only list variable-/ fixed-width fonts in either combo box
Optimize the code a little while we are at it.
2009-09-14 18:26:35 +02:00
Christian Dywan 6ee9436db4 Save logins in a text file instead of a keyring
This means GNOME keyring isn't required for saving logins.
2009-09-09 00:33:34 +02:00
Christian Dywan ccc76f3fc6 libsoup 2.27.91 is good enough for GNOME password manager 2009-09-06 00:58:23 +02:00
Christian Dywan af86796eab Use GNOME proxy resolver and GNOME password manager optionally 2009-08-30 04:22:55 +02:00
Christian Dywan b478db85ab Enforce icons for webpage menu items and search menu items 2009-07-25 23:06:17 +02:00
Christian Dywan 7192fa38f9 Implement "minimized" views, with a context menu option
The flag is saved as meta data of the proxy item. A new signal
meta-data-changed is implemented in KatzeItem to allow the view
to update the tab state as the meta data value is changed.
2009-07-22 01:49:09 +02:00
Christian Dywan d450e55668 Interprete metadata integer value of -1 as unset also when setting 2009-07-18 16:40:40 +02:00
Christian Dywan 25da412215 Add katze_strip_mnemonics (formerly known as elide_underscores) 2009-07-17 21:29:57 +02:00
Christian Dywan 34c26da9f0 Fix label alignment of tool items created for bookmarks 2009-07-17 17:34:54 +02:00
Christian Dywan 3e80ed6581 Use G_GINT64_FORMAT to convert gint64 to a string 2009-07-09 18:43:08 +01:00
Christian Dywan 7ca782ec54 Implement namespace:key syntax for KatzeItem metadata 2009-07-06 18:53:22 +01:00
Christian Dywan 967b080680 Require meta keys to be non-NULL 2009-07-06 18:30:53 +01:00
Christian Dywan 5d674f9779 Add katze_item_set_meta_string 2009-07-06 18:28:28 +01:00
Christian Dywan 5f4e9ef079 Implement meta data in KatzeItem
Now KatzeItem can store arbitrary integers and strings as meta data.
2009-07-05 00:14:09 +01:00
Enrico Tröger c182e4f788 Disconnect boolean and string property proxy callbacks on destroy
This fixes critical warnings seen when opening and closing
multiple windows, which led notification callbacks to be invoked
on invalid widgets.
2009-06-01 03:43:36 +02:00
Christian Dywan ae945c4269 Create "toggle" property proxies as GtkCheckButton 2009-06-01 02:45:38 +02:00
Christian Dywan 551843da1d Ensure we remove all items in katze_array_clear
Apparently looping through 'all' items isn't sufficient, so now
we remove the very first item until the list is empty.
2009-05-22 02:40:02 +02:00
Christian Dywan 9569a3c060 Provide custom overflow menu items to support middle click 2009-05-15 01:55:11 +02:00
Enrico Tröger 05f403bd54 Fix missing keyboard events for bookmark menu items 2009-05-14 20:52:55 +02:00
Enrico Tröger ae23ae0583 Implement middle click on array actions, ie. bookmark menu items
Add a new signal activate-item-alt to KatzeArrayAction which has
a button argument specifying the mouse button that was pressed. If
this signal is handled one can special case middle or right
clicks, and return TRUE to suppress the emission of activate-item.

The browser utilizes this to open new tabs when middle clicking
on bookmark menu items.
2009-05-03 12:42:47 +02:00
Christian Dywan 44b1590100 Fix saving changes to the Download folder 2009-04-30 01:17:57 +02:00
Dale Whittaker ffd58a06a8 Implement katze_strv_assign 2009-04-25 16:01:28 +02:00
Christian Dywan ad82a73ab8 Show only image buttons in Statusbar Features in statusbar 2009-04-17 03:16:37 +02:00
Christian Dywan eed273b35e Fix memory leaks in a number of places 2009-04-05 23:46:15 +02:00
Enrico Tröger 529aadc648 Always use WebKit's session in KatzeNet
This fixes corruption of expiration dates.
2009-03-31 18:20:31 +02:00
Christian Dywan fb37688db3 Optimize list iterations in KatzeArray 2009-03-31 03:25:48 +02:00
Christian Dywan ed2a35d70b Don't expressly use libkatze in extensions to avoid -fPIC problem 2009-03-30 00:14:43 +02:00
Christian Dywan 32d17cf2c2 Add "move-item" and katze_array_move_item 2009-03-24 23:53:50 +01:00
Christian Dywan a75a94c388 Merge KatzeArray and KatzeList, we only ever use the array 2009-03-24 01:55:46 +01:00
Christian Dywan 15790565e8 Create cookie jar on startup instead of waiting for an HTTP request 2009-03-24 01:10:15 +01:00
Christian Dywan 530542f07d Use libSoup unconditionally in KatzeNet 2009-03-16 23:54:45 +01:00
Christian Dywan a6ac02daf3 Drop libSoup guards in KatzeHTTPAuth and Katze HTTPCookies 2009-03-16 02:20:58 +01:00
Christian Dywan bc3e1408b7 Check for and link with libm 2009-03-12 18:20:14 +01:00
Christian Dywan aa181a4a6f Make the proxy insensitive if the array is unset 2009-03-07 13:58:32 +01:00
Christian Dywan ff9085b400 Disable WebKit's authentication dialog if needed
We need to handle WebKit possibly having an authentication
dialog more expressly. Obviously we only ever want to
see one dialog and we choose our own simply because it
is localized.
2009-02-28 23:46:41 +01:00
Christian Dywan f2d5d6e29d Fix build running with libSoup < 2.25.2 2009-02-20 00:53:21 +01:00
Christian Dywan 5aaff908cb Only add the Auth feature if WebKit didn't already 2009-02-17 18:34:27 +01:00
Christian Dywan 79ed3a06c3 Factor persistent cookies into a soup feature 2009-02-14 04:14:01 +01:00
Christian Dywan e87f5f2455 Factor HTTP authentication into a soup feature 2009-02-14 02:34:56 +01:00
Christian Dywan a89a178a05 Implement KatzeSeparatorAction 2009-01-29 00:52:27 +01:00
Christian Dywan 7d3ac8fa37 Move {sokoke,katze}_tree_view_get_selected_iter proper 2009-01-28 01:08:51 +01:00
Christian Dywan 3e18b780ac Implement katze_item_copy and a virtual method for subclasses 2009-01-26 03:41:12 +01:00
Christian Dywan 5b5e6bd71a Spare a separate g_file_test, let GdkPixbuf handle missing files 2009-01-23 21:45:40 +01:00
Christian Dywan c5070bfcac Correct documentation of katze_object_get_string and _get_enum 2009-01-23 21:41:15 +01:00
Christian Dywan b7a9d724b0 Add a function to obtain the session from a net 2009-01-15 03:26:15 +01:00
Enrico Tröger 3520fff923 Fix signal prototypes and translation typos 2009-01-12 21:17:38 +01:00
Nick Schermer b6e33e5399 Implement 'full' debug-level and fix according warnings 2009-01-09 23:56:00 +01:00
Christian Dywan 2c1b05913a Propagate mime icons from views to proxy items 2009-01-06 02:09:35 +01:00
Christian Dywan 8370b2f2c9 Add a missing return in KatzeNet to fix a crasher 2009-01-06 00:23:09 +01:00
Christian Dywan aebd813c68 Update Waf to 1.5.2 and update build scripts accordingly 2009-01-05 20:23:56 +01:00
Christian Dywan ee9e8d77e5 Update Waf to 1.5.1 and update build scripts accordingly 2009-01-04 21:38:06 +01:00
Christian Dywan 6821cb4bd6 Allow for a NULL widget in katze_net_load_icon 2009-01-02 01:38:23 +01:00
Christian Dywan 770b6d9e11 Optimize KatzeArray a little 2008-12-24 04:44:02 +01:00
Christian Dywan 7c3cb9a1bd Add "parent" property to KatzeItem 2008-12-24 04:07:08 +01:00
James Turner 517e67cc0a Allow for loading of https favicon files 2008-12-17 22:23:24 +01:00
Christian Dywan 94cb65d6ad Make proxies for string and boolean properties truly synchronous 2008-12-09 01:23:35 +01:00
Christian Dywan 191a613fc8 Share one session among all KatzeNet instances 2008-12-07 21:36:42 +01:00
Christian Dywan e1ca9028c7 Remove autotooled build system once and for all 2008-12-04 02:03:11 +01:00
Christian Dywan 8da012bac1 Use blurb as tooltip in katze_property_proxy 2008-12-01 23:39:19 +01:00
Christian Dywan 5806954562 Add katze_object_has_property 2008-12-01 23:33:47 +01:00
Enrico Tröger 417493caa3 Don't use grep in sokoke_get_desktop and fix memory leaks 2008-11-29 00:16:57 +01:00
Christian Dywan 2bc42bfd8d Remove the page holder from the core 2008-11-25 23:55:54 +01:00
Christian Dywan 03ffd05e0a Do not load icons other than in tabs 2008-11-20 01:41:58 +01:00
Brian Vuyk dc59d66eb9 Print file saving errors to the standard output 2008-11-18 23:18:53 +01:00
Christian Dywan 1e6c22d94a Add more katze_object_get_foo functions 2008-11-18 23:06:02 +01:00
Christian Dywan 3cd50f419b Introduce a C extension interface 2008-11-18 02:07:53 +01:00
Christian Dywan d60166aa02 Add katze_get_object 2008-11-18 01:57:33 +01:00
Christian Dywan 4e8236c95c Use gint64 instead of goffset, the latter is too new 2008-11-18 01:55:49 +01:00
Enrico Tröger c49ed67ab0 Correct usage of datatypes in a number of places 2008-11-16 01:04:12 +01:00
Enrico Tröger 744f9ce56f Save files with permissions of 0700 instead of 0755 2008-11-16 00:21:22 +01:00
Brian Vuyk e019c677bb Arrange file saving for error handling to fix warnings 2008-11-16 00:10:39 +01:00
Christian Dywan 0c093cb335 Do not load icons automatically everywhere
KatzeNet won't attempt to load icons that are not
cached unless the caller provides an icon callback.
For the moment, this means much less loading
for items that are not actually visible, but for
visiting pages or looking at bookmark menus.
2008-11-08 03:24:02 +01:00
Dale Whittaker 0246eeb124 Implement sorting location items by the number of visits
For the moment, a define in the code decides whether items
are sorted based on when they were added or how often
a page was visited. The 'visits' property and respective
database column is unused (we keep it for compatibility).
It turns out it's enough to store that information in
the tree model.

The visit based sorting is not enabled because it is
simply delaying startup incredibly. It will have to be
decided whether to introduce a preference, or always use
a visited based sorting once the startup delay is fixed.

History items are also deleted from the tree model now
if they are too old, according to the preference.
2008-11-08 02:39:45 +01:00
Christian Dywan d1b64e6d48 Fix tab icon alignment and hiding throbber fallback when needed 2008-10-30 22:17:19 +01:00
Christian Dywan 27d5b35f1d Ellipsize bookmarkbar items reasonably 2008-10-29 04:07:37 +01:00
Enrico Tröger 86af851d4c Don't doublicate the "." in cached filenames 2008-10-27 22:36:41 +01:00
Christian Dywan 0ca873cb08 Cache icons in memory and fix a redirection crasher bug 2008-10-27 03:03:20 +01:00
Christian Dywan dc8e8891e7 Correct a missing differentiation between proxy widgets 2008-10-27 03:01:52 +01:00
Christian Dywan 23e784922e Revamp bookmarkbar items based on KatzeArrayAction
Some refactoring in KatzeArrayAction and the addition
of a function to create arbitrary bookmark tool items
allows us to easily revamp the bookmarkbar so that
it finally reflectls changes to the bookmarks,
including adding and removing items.
2008-10-26 22:22:26 +01:00
Christian Dywan cefcb42eef Recognize favicons in domains with no trailing slash 2008-10-25 16:16:48 +02:00
Christian Dywan b53a2ebb37 Finish soup messaging cleanly and free private data 2008-10-24 19:58:58 +02:00
Christian Dywan 5c69e0269d Implement KatzeNet as a generic URI loader
KatzeNet can from now on be used where
URIs are handled and one would have used
libSoup and/ or local file handling as
appropriate, whereas KatzeNet does both.

Since we are displaying icons in several
places KatzeNet also provides an icon
loader that saves us from doublicating
even more code.

All bookmarks and also history items have
icons now, since KatzeNet makes that
incredibly easy.

Search engines are also using favicons
now, and right now custom icons don't
work, we still need to fix that.

Note that only icons are cached, nothing
else and the code is known to have a
hidden, hard to reproduce crasher which
may appear when an icon is newly loaded.
2008-10-24 00:09:12 +02:00
Christian Dywan 53c5bd3c9c Use fallback stock icon if there is no throbber animation 2008-10-22 00:46:53 +02:00
Christian Dywan ee3b7a3b51 Finish essential KatzeArrayAction functionality 2008-10-17 23:14:21 +02:00
Christian Dywan a12f3d10e0 Hitting Return or Enter in a Preferences entry applies it 2008-10-16 20:36:42 +02:00
Dale Whittaker 49a4b00b71 Implement number of days history is saved
Note that this will 'break' any existing history
and all dates will suddenly jump the beginning
of the unix epoch.
2008-10-16 01:31:47 +02:00
Christian Dywan 58255d19aa Do not localize object properties, except WebSettings
Property name localization is only useful if the
strings are meant to be used in a user interface,
such as is the case with WebSettings, or for
graphical interface builders, which are not of
our concern, since we don't use Glade and friends
and nobody else is going to use our widgets.

In short, make translation work much easier.
2008-10-15 03:32:11 +02:00
Christian Dywan c1aff9030f Add license note to lots of files and add EXPAT file. 2008-10-11 07:27:52 +02:00
Christian Dywan e1b828edf2 Finish refactoring the toolbar to use only actions
Finally the trash, which was the last item that
needed to be implemented as an action, is an
action, a KatzeArrayAction to be exact.

This simplifies more code and also makes Window
and RecentlyVisited generically implementable.

Incidentally this change also fixes a bug where
the browser tried to add a new tab when the last
one was closed, even while destroying itself.

Furthermore sokoke_image_menu_item_ellipsized
and sokoke_widget_popup were promoted to Katze.
We're still keeping the old functions for now.
2008-10-10 22:31:37 +02:00
Christian Dywan 63fc20b6f4 Assign KatzeItem property strings properly 2008-10-07 03:24:27 +02:00
Dale Whittaker d445745787 Implement navigation history backed by sqlite
The implementation relies on KatzeArray for the
most part and only does the storage with sqlite
behind the scenes. The change includes a working
History panel. Changes to the database are
committed in realtime.
2008-10-07 02:19:33 +02:00
Christian Dywan fb320cc0b6 Finally obsolete KatzeXbelItem 2008-10-01 04:00:16 +02:00
Christian Dywan 4d4df1ed09 Make spin buttons smaller 2008-09-11 01:49:50 +02:00
Arnaud Renevier cecce23061 Fix doc domment for katze_array_remove_item 2008-09-07 20:31:09 +02:00
Christian Dywan 1d047c4ab5 Factor out katze_xbel_folder_from_data_dirs and _to_data 2008-09-04 00:35:15 +02:00
Christian Dywan efab194b63 First move towards superseding KatzeXbelItem by KatzeItem
The idea is, since we have KatzeItem, KatzeList and KatzeArray
now, except for KatzeXbelItem's loading and saving XBEL the
interface is obsolete.

As a bonus, we actually save the trash again.
2008-08-31 20:48:13 +02:00
Christian Dywan bf28e1097b Rework MidoriWebList into KatzeList and KatzeArray 2008-08-26 01:19:38 +02:00
Christian Dywan af2e90a4b1 Rename MidoriWebItem to KatzeItem 2008-08-23 18:32:53 +02:00
Christian Dywan a41a0e008e Move MidoriWebList and MidoriWebItem to Katze 2008-08-05 05:03:05 +02:00
Christian Dywan f210b90ff9 Tidy up redrawing and notifications in KatzeThrobber 2008-08-02 04:21:38 +02:00
Christian Dywan 970be0bc83 Sort the font combo by font name 2008-07-19 06:15:47 +02:00
Christian Dywan 74dcc3c4db Fix file choosers for GTk+ < 2.12 2008-07-15 20:01:46 +02:00
Christian Dywan 8600c2591d Turn KatzeXbelItem into a gobject 2008-06-24 21:47:41 +02:00
Christian Dywan f9fdf1af63 Merge KatzeThrobberPrivate with KatzeThrobber and hide it 2008-06-12 23:44:34 +02:00
Christian Dywan 13f8171e24 Add Zoom Stepping Value to Preferences 2008-06-08 18:42:39 +02:00
Christian Dywan 95cbba2548 First attempt at a waf build system 2008-05-31 12:04:52 +02:00
Christian Dywan 944defafeb Use value-changed instead of changed for spin buttons 2008-05-07 19:25:43 +02:00
Christian Dywan 133cd688b9 Initial addon panel feature, only userscripts for now. 2008-04-28 22:38:57 +02:00
Christian Dywan 62cbafe12a Attempt to fix handling of background and foreground tabs. 2008-04-25 00:20:43 +02:00
Arnaud Renevier a2aa737677 Add string allocations to avoid freeing of constant strings. 2008-04-24 00:42:41 +02:00
Christian Dywan 1264eb0667 Implement a font combobox and use it for Default Font Family. 2008-04-20 18:13:20 +02:00
Christian Dywan f98b652996 Fix background tabs, strings and new tab focus. 2008-04-18 02:40:53 +02:00
Christian Dywan fae6058c26 Focus the web view when opening an URL via the location 2008-04-17 01:58:02 +02:00
Christian Dywan a9eb81a016 Implement property proxy widget creation.
The functions katze_property_proxy and katze_propery_label
can intelligently create widgets that represent properties
of a particular object. This allows for building up a
configuration interface with few to no code dealing with
specific settings.
2008-04-13 21:21:39 +02:00
Christian Dywan e91d077a84 Enhance Web Settings greatly with new properties.
A lot of new properties are added, which are going to
be the basis of the coming configuration replacement.

Also a little cleanup is done in a few places.
2008-04-13 11:36:42 +02:00
Christian Dywan be89221aea Implement localization via Gettext.
Based on the implementation of localization via Gettext
contributed by Enrico Tröger, a few adjustments were made
to allow Midori to be properly localized. Initially
German is fully supported.
2008-03-22 03:38:23 +01:00
Christian Dywan e1f62329f1 Initial refactoring work, regressions expected
The 'browser' struct is superseded by MidoriBrowser, which actually
represents a window that holds pages, i.e. tabs. The tabs are currently
of the type MidoriWebView, which is a slightly enhanced WebView. Also
MidoriWebSettings is introduced to hold additional settings that Midori
needs.

The other two new classes are MidoriTrash, representing closed tabs and
windows and MidoriPanel, representing the side panel.

The refactoring allows for several features to be much more easily
implemented, such as full support for multiple windows and instant
saving of modified files, such as bookmarks or the session. Regressions
are expected and not everything is done yet.
2008-03-10 22:26:09 +01:00
Christian Dywan 22b277d94b Implement Add Bookmark and a small panel toolbar
Initially new bookmarks can be added. The panel gains a small
toolbar to Add, Edit and Delete items.

Besides a serious bug in the XBEL implementation is fixed and
a number of error checks is added..
2008-01-20 23:07:01 +01:00
Christian Dywan e94d8c74e8 Cleanup and WebKit API update 2008-01-20 18:05:16 +01:00
Sven Herzberg 2c08ccbef5 Fixed the header of the KatzeThrobber 2008-01-07 16:25:58 +01:00
Christian Dywan d5a4f4cfd7 Move XBEL implementation to katze.
The implementation of XBEL is moved to katze, including the
appropriate api prefix and coding style changes. All relevant
uses are updated.
2008-01-06 01:44:37 +01:00
Christian Dywan e2328a4bfc Implement a throbber widget.
The throbber is used in the menubar and individual tabs.

Clean infrastructure for private G* extensions is added.
2008-01-05 06:24:38 +01:00