Commit graph

294 commits

Author SHA1 Message Date
Christian Dywan
1c0d18bc06 Implement enumeration proxies with custom entries as well 2009-11-03 18:01:22 +01:00
Christian Dywan
ab4fb18487 Provide an entry for "custom" options in preference proxies 2009-11-03 01:51:21 +01:00
Christian Dywan
219872aa8f Recognize custom commands with "application" preference proxies
Entering commands isn't possible yet but existing commands are
preserved and shown in the combo box.
2009-11-02 22:02:16 +01:00
Christian Dywan
e29e7f62d2 Fix the size of hildon picker buttons to have the correct height 2009-10-31 05:03:20 +01:00
Christian Dywan
8b27f16590 Never span check or picker buttons, only indent them 2009-10-29 00:04:02 +01:00
Christian Dywan
c541a75ae1 Omit property labels if the proxy would have it included already
Picker buttons in Hildon contain the label.
2009-10-28 23:57:27 +01:00
Christian Dywan
6a297dd4b3 Introduce MIDORI_TOUCHSCREEN and katze_widget_has_touchscreen_mode 2009-10-28 21:07:13 +01:00
Christian Dywan
cba3abdce9 Generate Hildon picker button or check button proxies as needed 2009-10-27 23:49:12 +01:00
Christian Dywan
0c3609ac14 Don't span preferences from different categories 2009-10-27 23:47:11 +01:00
Christian Dywan
55d735fcf6 Layout preferences with a scrolled and no tabs on Hildon 2009-10-25 19:48:12 +01:00
Christian Dywan
ef67f2539a Don't shadow type variable in katze_property_proxy 2009-10-22 23:27:58 +02:00
Alexander Butenko
90a4acfc6e Check the non-existence of folders before creating them 2009-10-20 18:24:24 +02:00
Christian Dywan
cef6532429 Refactor MidoriPreferences into KatzePreferences base class
The goal is to get rid of detailed table setups in favour of
automatic alignment with few hints as well as abstracting away
the exact layout to allow reimplementing it in a different form.
2009-10-19 23:15:44 +02:00
Christian Dywan
47c5f15684 Implement combos for choosing applications 2009-10-18 17:25:13 +02:00
Christian Dywan
3fec0a0265 Adjust katze_(foo_)assign to work inside one-line if's 2009-10-16 20:41:35 +02:00
Christian Dywan
c64a4334f6 Only setup drag scrolling events if touchscreen mode is set
We assume that touchscreen mode is ususally always set or never set,
so we can avoid the overhead.
2009-10-15 23:47:00 +02:00
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