Commit graph

385 commits

Author SHA1 Message Date
Brian Vuyk
e019c677bb Arrange file saving for error handling to fix warnings 2008-11-16 00:10:39 +01:00
Christian Dywan
7863d0f7fd Introduce unit tests for automated testing
The first one is a test for sokoke_magic_uri and
it already helped improving the function.
2008-11-14 02:46:23 +01:00
Brian Vuyk
0b16997f1a Fix some compiler warnings 2008-11-12 02:15:52 +01:00
Enrico Tröger
bd65ef323b Make mouse click handling more consistent 2008-11-12 00:47:09 +01:00
Enrico Tröger
30086f10ed Use custom key modifier mask 2008-11-12 00:16:03 +01:00
Enrico Tröger
c634ff7395 Use event->state instead of manually retrieving the state 2008-11-11 23:42:22 +01:00
Alexander Hesse
819dfd8d77 Open links in new tabs using Control and Left mouse button 2008-11-11 22:12:26 +01:00
Christian Dywan
9e997e4c90 Update location icon even if it's not in the history 2008-11-11 00:51:28 +01:00
Christian Dywan
91e2cb4129 Unset the tab icon if it is destroyed 2008-11-10 22:02:43 +01:00
Christian Dywan
aafd8df413 Expressly say Print background *images* 2008-11-10 03:04:35 +01:00
Christian Dywan
1b148cca67 Repair completion popup to actually open the selection 2008-11-10 03:03:36 +01:00
Christian Dywan
0bfb12f0b1 Faciliate translation workflow, look at TRANSLATE for details
Also three strings are marked untranslatable since they never
appear in the user interface and 'Unhandled settings value'
is reworded to 'Invalid configuration value'.
2008-11-10 01:08:38 +01:00
Christian Dywan
38c6ad5dad Implement Save As for arbitrary links 2008-11-09 22:07:42 +01:00
Christian Dywan
7c63a0b480 Make Open selected URL in New Tab work again 2008-11-09 19:51:12 +01:00
Christian Dywan
9e79f6ba14 Move around history loading in MidoriBrowser 2008-11-09 19:26:48 +01:00
Christian Dywan
87092babef Move completion logic from LocationEntry to LocationAction
This resolves various indirections, and since we are always
using the action anyway, we finally move all logic to one
place. There should be room for optimizations now.
Incidentally this also keeps the completion intact if
the entry needs to be recreated.
2008-11-09 19:09:35 +01:00
Christian Dywan
9abb753cc4 Remove sqlite header check, it turns out to be wrong 2008-11-08 13:12:54 +01:00
Christian Dywan
3c450ebc97 Introduce descriptive comments meant to help translators
intltool automatically embeds comments in the po template
if they are directly before a translatable string. From
now on we will try to avoid leaving accidental comments
and instead put descriptive comments for translators
before strings, starting with 'i18n'.
2008-11-08 03:05:30 +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
7ac9c7787b Conditionally silence JavaScriptCore deprecation warning 2008-11-06 01:51:46 +01:00
Christian Dywan
4670a9ca2e Bolden completion matches and gray URIs instead of small font 2008-11-06 01:40:06 +01:00
Christian Dywan
dad59bf505 Remove unused gdk_pixbuf_new_from_stream and sokoke_web_icon 2008-11-06 01:36:57 +01:00
Christian Dywan
9e9365a221 Small adjustments to the History panel
Based on suggestions by Dale
2008-11-06 01:32:42 +01:00
Christian Dywan
6159e49018 Show title in location combo and the URI below in small font 2008-11-04 02:50:25 +01:00
Dale Whittaker
50e078e728 Implement history based auto completion in the location 2008-11-04 02:10:51 +01:00
Christian Dywan
dbcfce4197 Improve strings for the sake of better localization 2008-11-03 00:17:43 +01:00
Christian Dywan
02751ee575 Simplify Download menu item and hide WebKit's item 2008-11-01 19:25:13 +01:00
Christian Dywan
017c4d5d6f Correct erroneous strings 2008-11-01 19:19:28 +01:00
Christian Dywan
96ddc8ae0a Initial support for the Web Inspector 2008-11-01 19:15:58 +01:00
Christian Dywan
d8edb2f05d Marge some more of history and bookmark handling 2008-10-31 01:38:18 +01:00
Christian Dywan
e4540ff586 Use Yes and No for enabling and disabling addons
Incidentally this implicitly corrects the Clear History
dialog which used to display Enable and Disable buttons.
2008-10-31 01:37:31 +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
80128d9315 Apply some cleanup with regard to referencing and more 2008-10-30 02:21:19 +01:00
Christian Dywan
0a65f30926 Refactor bookmark context menu, apply it on the bookmarkbar 2008-10-30 02:19:52 +01:00
Dale Whittaker
973b149c5e Allow adding bookmarks from history items 2008-10-29 03:43:08 +01:00
Dale Whittaker
f7c1edacbe Limit the number of items in the location popup 2008-10-27 22:44:19 +01:00
Christian Dywan
4a3501a279 Share net between browser and views 2008-10-27 04:23:41 +01:00
Christian Dywan
f5f1946c89 Preserve location entry model beyond widget lifetime 2008-10-27 03:35:37 +01:00
Dale Whittaker
70516f1f5b First stab at integration history with the location
For starters, the location contains items from the
history and not only from the current session.
2008-10-27 03:12:09 +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
Enrico Tröger
7a7353e6fd Implement middle click on bookmarkbar items 2008-10-26 18:39:06 +01:00
Christian Dywan
e83f93742d Change tab components again, correct close button placement 2008-10-26 17:08:26 +01:00
Christian Dywan
819bcd6444 Implement Save As functionality 2008-10-26 17:07:59 +01:00
Christian Dywan
7a623745cd Use our own labels for WebKit Settings properties 2008-10-26 01:48:21 +02:00
Christian Dywan
c82624f16a Change tab close buttons so they are less missaligned 2008-10-26 01:36:15 +02:00
Christian Dywan
b931e1bf53 Improve OSX adjustments in various places 2008-10-26 00:54:57 +02:00
Christian Dywan
1f915eb58a Show icons of programs in complex commands as well 2008-10-25 16:21:07 +02:00
Christian Dywan
e1dd0194b1 Set a default Find icon in Search if engines are empty 2008-10-24 19:29:57 +02:00
Dale Whittaker
307050c42a Display relative dates in History panel 2008-10-24 01:35:34 +02:00
Enrico Tröger
5e8887a699 Preserve extensions for viewing source files 2008-10-24 01:15:43 +02:00
Enrico Tröger
cb1fde09fe Don't needlessly create text buffers 2008-10-24 00:54:28 +02:00
Christian Dywan
dd45aed139 Blank tabs should be titled "Blank page". 2008-10-24 00:25:17 +02:00
Christian Dywan
f14c2ff70f Set tooltips on the sidepanel toolbar 2008-10-24 00:21:04 +02:00
Christian Dywan
d26c50f2d4 Explicitly build with GIO again, Gtk < 2.14 needs that 2008-10-24 00:19:04 +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
bd111d485c Show all of Toolsbars in the toolbar context menu 2008-10-22 00:28:49 +02:00
Christian Dywan
9ba3f59ff7 Show progress in location independant of statusbar visibility 2008-10-22 00:26:20 +02:00
Christian Dywan
2c90d97a7b Use Yes and No without labels in Addon toolbars 2008-10-22 00:05:04 +02:00
Christian Dywan
62d7a7d0b4 Add Compact sidepanel Preference 2008-10-22 00:01:01 +02:00
Enrico Tröger
839d692ec4 Focus the location when remotely opening a new window 2008-10-21 22:59:57 +02:00
Christian Dywan
01fc5594bd Don't use the icon "page-holder", it doesn't exist 2008-10-21 22:52:30 +02:00
Christian Dywan
74a34277e0 Add source view icons to the location 2008-10-20 22:25:51 +02:00
Christian Dywan
df12b9acb9 Implement View source with external Text editor 2008-10-20 21:32:25 +02:00
Christian Dywan
2fccaa1bea Add an Open external pages in Preference 2008-10-20 08:50:16 +02:00
Christian Dywan
e848d1df6e Require Gtk 2.10 and don't treat GIO specially anymore 2008-10-20 00:41:52 +02:00
Christian Dywan
7f8fc2b31d Implement viewing source with libsoup 2008-10-20 00:13:41 +02:00
Christian Dywan
cf854d9617 Remove support for GtkSourceView 2008-10-19 22:53:51 +02:00
Christian Dywan
a6e4d7b84b Load and cache favicons with libsoup instead of GIO
The previous code relied on GIO implementing HTTP
with libsoup, so this is effectively not a new
dependency. And since many people don't have GVfs
and even if they do, somehow GIO doesn't work as
good as one should expect, direct use of libsoup
is actually an improvement. Plus the new code
caches icons on disk which we didn't do before.
2008-10-19 22:18:07 +02:00
Christian Dywan
a08b760d4e Add g_strcmp0 to compat, it's Glib 2.16 2008-10-19 01:52:21 +02:00
Enrico Tröger
3f78fc132e Compare strings with strcmp, this fixes icons in the location 2008-10-19 01:32:38 +02:00
Christian Dywan
567e402eaa Make the pageholder work again 2008-10-19 00:15:02 +02:00
Christian Dywan
952729e4ae Show URL in New Tab menu item only over selections 2008-10-18 23:21:06 +02:00
Enrico Tröger
51d111d85c Optimize view popup population 2008-10-18 22:50:58 +02:00
Arnaud Renevier
3a9071a761 Skip non-strings when loading or saving search engines 2008-10-18 22:08:51 +02:00
Christian Dywan
8ad5649422 Assign Settings to source views 2008-10-18 21:56:53 +02:00
Christian Dywan
26ac7a379d List some tool items in Preferences 2008-10-18 21:48:41 +02:00
Christian Dywan
fa9becaf83 Properly reset Manage Search Engines dialog pointer 2008-10-18 00:06:47 +02:00
Christian Dywan
5ec06f6d2e Add UndoTabClose to the Dummy menu 2008-10-17 23:53:20 +02:00
Christian Dywan
d53ef7c92f Show toolbar menu when right-clicking the menubar 2008-10-17 23:30:31 +02:00
Christian Dywan
741c5b953a Properly create unfullscreen button with the toolbar 2008-10-17 23:18:56 +02:00
Christian Dywan
7b82ccc139 Open all bookmarks in the current tab 2008-10-17 23:15:37 +02:00
Christian Dywan
3f5ac14b45 Disconnect view settings notification in finalize 2008-10-17 21:12:16 +02:00
Christian Dywan
171030a3a8 Initialize a variable to avoid a warning 2008-10-17 20:56:56 +02:00
Enrico Tröger
6eefea515e Correct build dependencies in midori/wscript_build 2008-10-17 20:52:39 +02:00
Christian Dywan
49956f6b9b Use gint64 format specifier instead of %ld 2008-10-17 08:21:07 +02:00
Christian Dywan
6cd7e61c61 Speficy -r or --run to run a file as javascript 2008-10-16 20:54:26 +02:00
Brandon Mercer
43b1959762 Don't search if there's a colon (:) in a domain 2008-10-16 20:29:58 +02:00
Christian Dywan
7849f28e08 Display a shaded logo in error pages 2008-10-16 03:51:39 +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
ae14651145 Implement OSX Preferences style on OSX 2008-10-16 00:58:22 +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
7597e2026d Undo tabs-in-processes, it didn't work out
We are not literally undoing in the sense of
reverting, this is actually about undoing
the individual parts of the last refactoring
that implemented the socket/ plug logic.

As turned out, the idea was nice but the
implementation was absolutely not, embedding
of processes in a graphical way is not
at all reliable enough for complex use cases.

Naturally this change should solve all sorts
of peculiar issues, including actual
regressions in functionality. Relieving.
2008-10-15 03:07:38 +02:00
Christian Dywan
d72579711c Implement the Remeber last visited pages preference 2008-10-13 18:29:46 +02:00
Christian Dywan
68cf3388f6 Make sqlite history storage truly optional 2008-10-13 17:50:07 +02:00
Christian Dywan
36a99b9d22 Allow hiding the menubar and showing it again 2008-10-12 22:09:49 +02:00
Christian Dywan
552854c11f Keep otherwise unused actions in a Dummy
This is needed for accelerators to work even
if the according actions are not part of the
permanent UI description.
2008-10-12 21:44:00 +02:00
Christian Dywan
91ea115171 Create navigationbar from a string of actions 2008-10-12 18:25:26 +02:00
Christian Dywan
b7bc4af7ce Make titles show URIs again instead of only about:blank 2008-10-12 15:33:28 +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
cee341f407 Add --single-process command line option 2008-10-11 05:53:59 +02:00
Christian Dywan
9f2418d455 Focus tabs remotely opend in the running instance 2008-10-11 04:02:34 +02:00
Christian Dywan
1bc9238f87 Actually remove old items from the trash again 2008-10-11 03:36:57 +02:00
Dale Whittaker
77a813dba2 Show a dialog before clearing the history
Plus you can now remove history items with Del.
2008-10-10 23:19:37 +02:00
Christian Dywan
52c9eca92a Notify when the current item changes
This fixes the browser not using the chosen
search engine at all.
2008-10-10 23:00:33 +02:00
Christian Dywan
06aa03c6a6 Prevent blank pages from landing in the trash
This actually used to work but meanwhile the
definition of a blank view changed.
2008-10-10 22:50:56 +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
Brandon Mercer
16e47a6a1f Don't use 'stdin' or 'stdout' as variable names 2008-10-08 15:45:34 +02:00
Christian Dywan
9abfe87be9 The URI of blank tabs is "", the title is "about:blank".
Something in the stack seems to magically turn
empty strings into about:blank, which is a problem
if we want to be able to start typing right away
when opening blank tabs.

We simply enforce the desired behaviour now.
2008-10-07 22:30:09 +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
a13f8b64b3 Remove the proxy hack, it's not reliable at all 2008-10-06 00:27:25 +02:00
Christian Dywan
ba6386850e Implement the search widget as an action
The most part of the search entry code is merely
moved to the new action. We remove the original
entry now, the action is all we need.
2008-10-05 23:25:02 +02:00
Christian Dywan
aa5602ec9e Add Always Show Tabbar preference 2008-10-04 01:45:17 +02:00
Christian Dywan
f7436303f6 Move Find items to Edit again 2008-10-04 01:00:34 +02:00
Christian Dywan
ba681359f5 Undo the Primary Clipboard hack, WebKit has it now 2008-10-04 00:56:05 +02:00
Christian Dywan
5eb74b6bf3 Connect Help in Preferences to HelpContents 2008-10-04 00:46:54 +02:00
Christian Dywan
8953a9b26b Integrate documentation, bug tracker and website 2008-10-03 22:23:00 +02:00
Christian Dywan
c36784229c Make sure to present the window when opening a tab 2008-10-03 05:45:10 +02:00
Christian Dywan
1801298731 Remove User stylesheet entirely, don't support it 2008-10-03 03:44:16 +02:00
Christian Dywan
37aca287b4 Remove a few still unimplementable items
Remove Page setup, Print preview, Undo, Redo
and Tab overview. We still can't implement any
of these items, so let's just keep focussing on
what we *can* implement.
2008-10-03 03:42:18 +02:00
Christian Dywan
95111a054c Reimplement missing preferences
Implement font properties, web features,
Middle click opens selection,
Open tabs in the background and proxy.

While we are at it, remove Tab label size.
2008-10-03 00:49:16 +02:00
Christian Dywan
fb320cc0b6 Finally obsolete KatzeXbelItem 2008-10-01 04:00:16 +02:00
Christian Dywan
353533c8a7 Fix running standalone javascripts 2008-09-30 20:17:20 +02:00
Christian Dywan
b41c13b8fa Make Find work again, and disable it for source tabs 2008-09-28 16:29:41 +02:00
Christian Dywan
213ae2f74a Fix Back and Forward sensitivity 2008-09-28 11:00:31 +02:00
Christian Dywan
b76b0fa04e Remove Manage Bookmarks item 2008-09-26 23:39:39 +02:00
Christian Dywan
62838fdf58 Implement tabs in individual processes
The approach is rather plump, Midori can be
run in a plug mode that creates a GtkPlug,
while the normal instance knows how to embed it.

Communication between browser and tabs is
done via named pipes which are portable.

The feature is not complete right now, there
are expected regressions, but it works.

As a bonus, we implement Not found pages.
2008-09-26 23:30:52 +02:00
Christian Dywan
45f32f3f77 Don't show the zoom stepping preference at all 2008-09-24 02:09:26 +02:00
Christian Dywan
6fb2d5b22f Really don't show the Stylesheet preference 2008-09-24 02:07:15 +02:00
Christian Dywan
7c4480ca53 Always use Glib error directly if gtk_init failed 2008-09-23 17:16:22 +02:00
Christian Dywan
ea2daa62de If there's no statusbar, force location visibile for progress
The idea is that if you hide the statusbar and the
location you don't usually need it, but progress
is something you are still interested in. So show
the navigationbar during progress changes and hide it
normally otherwise.
2008-09-11 02:14:53 +02:00
Christian Dywan
c80b7053f4 Hide the User Stylesheet preference if unused
We have more powerful options in the form of
addon panels by now. If someone uses it they may
keep their preference or clear it, but otherwise
we don't show the widget anymore.
2008-09-11 02:00:52 +02:00
Christian Dywan
4f80303e54 Make the Manage Search Engines dialog a bit smaller 2008-09-11 01:50:22 +02:00
Christian Dywan
04ad087d98 Make the Preferences more compact 2008-09-11 01:49:01 +02:00
Christian Dywan
2c1cdb0573 Running "midori" should open a new window 2008-09-10 19:48:45 +02:00
Christian Dywan
b62869a49b Support multiple URIs on the command line 2008-09-10 19:18:16 +02:00
Christian Dywan
f72f48542b Enable Help > Contents to open the FAQ on the web. 2008-09-07 22:41:03 +02:00
Christian Dywan
30cbc635d6 Ellipsize menu items referring to websites or bookmarks.
Originally menu items could in some cases become as wide as
the whole screen, making working with menus rather hard.

Now we ellipsize at 50 characters in the middle of the string.
2008-09-07 03:39:25 +02:00
Christian Dywan
1a0718805e Fix unwanted hotkeys in context menu items again 2008-09-07 03:07:11 +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
131b911ab5 Rename main.h to midori-stock.h 2008-09-03 02:39:25 +02:00
Christian Dywan
c3f50388a1 Make bookmarks a property of browser and app
This means we have removed the last remaining
global variable.
2008-09-03 02:28:54 +02:00
Arnaud Renevier
06d47bf3a9 Implement enabling/ disabling addons
This patch doesn't take care of saving state to disk
and the feature is not currently multi window aware.
2008-08-31 21:33:32 +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
a10dd2e205 Pass search engines to new browser windows 2008-08-31 17:05:40 +02:00
Christian Dywan
8b8aa3b550 Don't rely on GTK_ENTRY_CLASS (entry)->get_text_area_size 2008-08-31 10:41:21 +02:00
Dale Whittaker
8025d129a1 Alt + Enter in the location should issue a new tab 2008-08-31 03:21:29 +02:00
Christian Dywan
cad440fa33 Show progress in location entry if statusbar is hidden 2008-08-31 02:45:13 +02:00
Christian Dywan
6dc95a7a9c Refactor a lot of tree view selection code into convenience 2008-08-29 03:20:31 +02:00
Christian Dywan
311e30bbfe Focus the web view when middle click pasting w/o Ctrl 2008-08-29 02:29:48 +02:00
Christian Dywan
b6ae63249b Use HAVE_GIO *everywhere* now 2008-08-28 01:15:30 +02:00