Commit graph

550 commits

Author SHA1 Message Date
Christian Dywan
2c1f0574a6 Remove a hack which lead to a crash after the last change 2008-12-15 20:43:05 +01:00
Dale Whittaker
0fb55faf37 Actually remove history items with the Delete tool button 2008-12-15 20:12:51 +01:00
Christian Dywan
58b40bce38 Optimize location action, so Midori starts up twice as fast 2008-12-12 21:06:33 +01:00
Christian Dywan
1b4a0160f1 Save config files dynamically and show a Diagnostic dialog after crashes 2008-12-12 10:20:19 +01:00
Christian Dywan
c7a544877c Allow a NULL parent with MidoriPreferences 2008-12-12 10:14:17 +01:00
Christian Dywan
6b40913361 Actually emit "quit" even if a function quit the app 2008-12-12 10:12:33 +01:00
Christian Dywan
08af3f6773 Allow xfce_header_new to use a default icon 2008-12-12 10:11:45 +01:00
Christian Dywan
270822a0c4 Perform more fine grained libSoup version checks 2008-12-09 20:04:04 +01:00
Christian Dywan
89ac82d0d6 Assemble a version without git revision for ident strings 2008-12-09 02:22:58 +01:00
Christian Dywan
fd6574c91f Update proxy and identification string immediately 2008-12-09 00:53:30 +01:00
Christian Dywan
108954273a Don't pass NULL to soup_uri_new and free the proxy string properly 2008-12-09 00:25:59 +01:00
Christian Dywan
aeb71dd7b4 Add support for javascript: bookmarklets 2008-12-09 00:02:38 +01:00
Christian Dywan
426eb74c91 Support Mouse Back and Forward buttons 2008-12-08 23:45:38 +01:00
Christian Dywan
e20193a0b9 Add entry for Custom character encoding 2008-12-08 23:32:05 +01:00
Christian Dywan
219c6bdf4c Provide identification string and proxy server preferences
This works with libSoup stable, if WebKit uses libSoup.
2008-12-08 23:18:14 +01:00
Christian Dywan
e1075f1aae Link to GThread, to fix non-soup Midori with soup-WebKit 2008-12-08 23:15:05 +01:00
Christian Dywan
716fe0e9c5 Implement HTTP authentication with libSoup 2008-12-07 21:38:00 +01:00
Christian Dywan
191a613fc8 Share one session among all KatzeNet instances 2008-12-07 21:36:42 +01:00
Christian Dywan
86dcb8b284 Implement Accept Cookies and Maximum Cookie Age preferences 2008-12-07 15:12:42 +01:00
Christian Dywan
3cbe78e5ee Escape page uri and title when inserting into database 2008-12-06 14:35:54 +01:00
Christian Dywan
6f4b895dfb Fix view context menu items such as View source 2008-12-06 14:25:42 +01:00
Christian Dywan
dc5ecc5f72 Respect menubar visibility when restoring from fullscreen 2008-12-06 04:53:30 +01:00
Christian Dywan
604c0e6e59 Hack to store cookies on disk with libSoup 2.25.2
Note that if the WebKit build doesn't use libSoup
cookies will never be loaded or saved just like before.
2008-12-06 04:46:20 +01:00
Christian Dywan
e1ca9028c7 Remove autotooled build system once and for all 2008-12-04 02:03:11 +01:00
Christian Dywan
d5e5821064 Move MidoriAddons to panels folder 2008-12-04 01:53:52 +01:00
Christian Dywan
c8e73b80a3 Move MidoriConsole to panels folder 2008-12-04 01:50:26 +01:00
Christian Dywan
b956a73914 Update panel handling according to latest changes 2008-12-04 01:45:32 +01:00
Christian Dywan
e4f401c7e7 Implement new Extensions panel, in the new folder extensions 2008-12-04 01:44:33 +01:00
Christian Dywan
b5e2146249 Add midori_extension_is_active 2008-12-04 01:42:02 +01:00
Christian Dywan
cfd3a47543 Implement MidoriViewable and "app" in MidoriConsole 2008-12-04 00:31:40 +01:00
Christian Dywan
c78f775142 Implement MidoriViewable in MidoriAddons 2008-12-03 23:57:37 +01:00
Christian Dywan
cc329ec706 Support opening of new windows
The preference determining where to open those windows
is not currently honored, so everything goes in a new tab.

Incidentally compile time checks guarding the web inspector
are replaced with runtime checks here, and the same
approach is used for the create-web-view signal. The
features are used if available.
2008-12-03 04:16:19 +01:00
Christian Dywan
cb5f646cf5 Enable Open pages in and Enable eveloper extras conditionally 2008-12-02 02:00:55 +01:00
Christian Dywan
a4e6720fd7 Localization string improvements 2008-11-30 02:08:28 +01:00
Christian Dywan
5f149946d6 Implement MIDORI_CHECK_VERSION for use in extensions 2008-11-30 01:22:03 +01:00
Christian Dywan
9b24d58553 Rename MidoriPane to MidoriView and add protocol support 2008-11-29 16:45:24 +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
30572a2b73 Add API to extensions for deactivating and configuration 2008-11-28 23:56:30 +01:00
Christian Dywan
2bc42bfd8d Remove the page holder from the core 2008-11-25 23:55:54 +01:00
Christian Dywan
687179a747 Tab labels should adjust to the notebook orientation 2008-11-25 23:51:10 +01:00
Christian Dywan
d00ff95058 Provide MidoriPane interface for use with MidoriPanel 2008-11-24 01:41:45 +01:00
Christian Dywan
4b06ec3c1f Replace window-object-cleared with context-ready
Introduce MidoriBrowser::load-status and also
midori_view_execute_script while we are at it.
2008-11-23 05:22:58 +01:00
Christian Dywan
5a2f5b9b12 Fix clipboard menu items and do some tidying 2008-11-23 01:44:40 +01:00
Enrico Tröger
9c8bab302c Use -V instead of -v for --version 2008-11-22 01:45:47 +01:00
Christian Dywan
e1c5e81cc9 Cleanup MidoriAddons a bit and remove Extensions from it 2008-11-22 01:17:23 +01:00
Christian Dywan
418f4dac12 Remove unused sokoke completion helpers 2008-11-21 02:46:47 +01:00
Christian Dywan
600423de4e Take special care of spaces in search strings 2008-11-21 02:44:03 +01:00
Christian Dywan
fdb12aa537 Move transfers, console and addons out of the browser 2008-11-20 03:49:57 +01:00
Christian Dywan
ab747a427f Let MidoriApp be a normal instance
There is hardly a practical need for the application
to be a singleton, it's cleaner and it prevents
extensions from reaching out for it before activation.
2008-11-20 01:49:04 +01:00
Christian Dywan
03ffd05e0a Do not load icons other than in tabs 2008-11-20 01:41:58 +01:00
Christian Dywan
72f39b0f82 Change extension API to split initialization and activation
We want to be able to keep extensions in a state where
they don't actually do anything but merely provide
context information. Therefore don't pass the MidoriApp.

As soon as we want to use extensions, we activate them.

Extensions are now saved in an array in MidoriApp.
2008-11-20 01:22:25 +01:00
Brian Vuyk
dc59d66eb9 Print file saving errors to the standard output 2008-11-18 23:18:53 +01:00
Christian Dywan
58cb93d900 Use katze_object_get_foo instead of sokoke_object_get_foo 2008-11-18 23:10:21 +01:00
Christian Dywan
79cbcd0886 Make libxml technically optional, while it remains mandatory 2008-11-18 22:26:06 +01:00
Christian Dywan
166a7e48e0 Malloc in bytes, not characters, and don't copy freed memory
This was teamwork of Brian, Enrico and me.
2008-11-18 22:00:38 +01:00
Christian Dywan
56d26b02e5 Allow "g cache:127.0.0.1" to search from the location 2008-11-18 06:37:11 +01:00
Dale Whittaker
e505942314 Highlight completion matches while preserving the case 2008-11-18 03:01:33 +01:00
Christian Dywan
c72977974d Always initialize threads, libSoup requires that 2008-11-18 02:46:59 +01:00
Christian Dywan
3cd50f419b Introduce a C extension interface 2008-11-18 02:07:53 +01:00
Christian Dywan
33804965a1 Expose browser notebook and panel as properties 2008-11-18 02:02:59 +01:00
Christian Dywan
5a1b766a43 Fix MidoriApp so that add-browser is actually usable 2008-11-18 02:01:30 +01:00
Christian Dywan
24ca48cc1e Move variable declarations to the beginnings of blocks 2008-11-16 02:00:17 +01:00
Enrico Tröger
c49ed67ab0 Correct usage of datatypes in a number of places 2008-11-16 01:04:12 +01:00
Christian Dywan
b9a183c316 Allow ":" as in "foo:bar" to search from the location 2008-11-16 00:36:32 +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
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
Christian Dywan
be4038e555 Remove GIO HTTPS check again, it's not worth the trouble
Apparently lots of users cannot use Midori
after this change and with no way to track down
the cause of the issue, let's just not use this.
The check was only for minimal gain anyway
2008-08-28 00:55:35 +02:00
Christian Dywan
feadc600c5 Include GIO headers in sokoke to fix a build warning 2008-08-27 18:04:51 +02:00
Arnaud Renevier
e5a7b7af90 Avoid an infinite loop when iterating over addons 2008-08-27 01:02:22 +02:00
Christian Dywan
f2ece009b3 Unset the panel menu items before activating
We need a trick to fix the behaviour of
toggle buttons not to fire any signals if
they are activated repeatedly, which in our
use case is essential.
2008-08-26 02:27:02 +02:00
Arnaud Renevier
db599a99d5 Always show the icon in the Web Search entry 2008-08-26 01:59:02 +02:00
Christian Dywan
bf28e1097b Rework MidoriWebList into KatzeList and KatzeArray 2008-08-26 01:19:38 +02:00
Christian Dywan
1dfebf6c7f Use the right index for Undo Close Tab. 2008-08-24 03:05:00 +02:00
Christian Dywan
74a587f5e8 Use #if instead of #ifdef consistently 2008-08-23 23:44:55 +02:00
Arnaud Renevier
e4457be3ed Read addons into a list for more flexibility
Until now we used to scan directories every time
we wanted to either display the list of addons
or load addons in order to execute them. That
is wasteful and inflexible.

Use a list of elements and only update it when
needed, for example when the directory folder
notifies us of a change.

This is a stop towards disabling particular elements.
2008-08-23 19:57:22 +02:00
Christian Dywan
af2e90a4b1 Rename MidoriWebItem to KatzeItem 2008-08-23 18:32:53 +02:00
Arnaud Renevier
d30b2bc22c Support user styles even when there is no HEAD 2008-08-22 04:14:28 +02:00
Christian Dywan
0fa0e9c342 Use HAVE_GIO instead of a full-blown version check 2008-08-22 04:01:41 +02:00
Christian Dywan
c375f862a0 Implement single instance support with Unique 2008-08-22 03:59:07 +02:00
Christian Dywan
e62ca7a8c0 Don't implicitly change the URI when adding to LocationAction 2008-08-21 21:49:16 +02:00
Christian Dywan
f6bf2f568d Update website URL 2008-08-18 23:50:20 +02:00
Christian Dywan
02e3b78341 Capitalize Midori when bailing out on an error 2008-08-18 23:43:15 +02:00
Christian Dywan
9bf1b23feb Implement the Userstyles Addon panel 2008-08-18 01:24:26 +02:00
Christian Dywan
b9e19d79d6 Enable View Source only if GIO really supports HTTP 2008-08-17 19:11:43 +02:00
Christian Dywan
85dea9aa44 Use fallbacks for all icons, we don't want "broken" icons 2008-08-17 16:14:15 +02:00
Christian Dywan
80251606ff Use Ctrl+Shift+T for Undo Close Tab 2008-08-15 20:48:30 +02:00
Christian Dywan
13dc575968 Introduce Open Tabs next to Current
At the same time make Open popups in tabs readonly
and hide it in the Preferences, as well as
Open new pages in and the whole Privacy page.
2008-08-15 20:38:27 +02:00
Enrico Tröger
3b9abe6306 Free selected text, even if it is an empty string 2008-08-15 11:24:52 +02:00
Christian Dywan
97793d88cb Actually commit MidoriLocationAction this time 2008-08-15 10:07:51 +02:00
Christian Dywan
48885bf9ae Create proxy menus without accels properly
Actually attempting to imitate Gtk's logic for
creating menu items from actions was silly. It
even had a rather obvious bug, no signals
were ever connected.

Now we leave all the work except for creating
an empty image menu item to Gtk. And it
works better than before.
2008-08-15 02:58:09 +02:00
Christian Dywan
6ab8bd6fd8 Fix Glib/ GtkSoureview conditionals 2008-08-15 02:50:18 +02:00
Arnaud Renevier
c17f7135dd Look for userscripts in system paths 2008-08-15 02:20:05 +02:00
Christian Dywan
42095e3aa4 Don't use the wrong Trash callback 2008-08-15 02:18:33 +02:00
Christian Dywan
8ac30357c0 Move around headers and localization code 2008-08-15 02:03:55 +02:00
Christian Dywan
8dbd06ce47 Implement MidoriLocationAction
This is a step towards customziable toolbars.

The new action actually provides a nicer API than
MidoriLocationEntry does right now. Later we
should improve the widget itself as well.

There are still to resolve regressions:
- The location icon tends to be initially empty
- The news feed icon doesn't show up
- Tab icons sometimes load and reset again afterwards
2008-08-15 01:57:48 +02:00
Christian Dywan
6e910ee107 Create context menu items w/o accelerators 2008-08-10 19:54:22 +02:00
Christian Dywan
b38e3f429e Wrap _has_selection with a check if it is effectly empty 2008-08-10 19:22:34 +02:00
Christian Dywan
323cf2458d Hide the navigationbar initially
We need to make sure that the navigationbar
is initially invisible, so we hide it expressly.
Otherwise it shows up regardless of the
show-navigationbar setting.
2008-08-10 18:28:08 +02:00
Christian Dywan
bb8eb7d5c1 Remove LIBSEXY from wscript_build, it's long obsolete 2008-08-10 14:19:03 +02:00
Arnaud Renevier
cb0dd889e0 Use mnemonics in panel menu items 2008-08-10 14:17:21 +02:00
Przemysław Sitek
8ff2856bf6 Add #ifdefs around GFile to allow building with Glib < 2.16 2008-08-06 20:22:45 +02:00