mirror of
https://github.com/netsurf-browser/netsurf
synced 2025-01-03 17:54:33 +03:00
Make history internal to browser_window module.
This commit is contained in:
parent
a55957b1c9
commit
a38a63a37e
@ -39,8 +39,8 @@
|
|||||||
#include "amiga/theme.h"
|
#include "amiga/theme.h"
|
||||||
#include "amiga/tree.h"
|
#include "amiga/tree.h"
|
||||||
#include "amiga/utf8.h"
|
#include "amiga/utf8.h"
|
||||||
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_private.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/hotlist.h"
|
#include "desktop/hotlist.h"
|
||||||
#include "desktop/searchweb.h"
|
#include "desktop/searchweb.h"
|
||||||
#include "desktop/textinput.h"
|
#include "desktop/textinput.h"
|
||||||
@ -607,7 +607,7 @@ void ami_context_menu_show(struct gui_window_2 *gwin,int x,int y)
|
|||||||
gwin->win->MouseX, gwin->win->MouseY))
|
gwin->win->MouseX, gwin->win->MouseY))
|
||||||
{
|
{
|
||||||
gwin->temp = 0;
|
gwin->temp = 0;
|
||||||
history_enumerate_back(gwin->bw->history, ami_context_menu_history, gwin);
|
browser_window_history_enumerate_back(gwin->bw, ami_context_menu_history, gwin);
|
||||||
|
|
||||||
IDoMethod(ctxmenuobj, PM_INSERT,
|
IDoMethod(ctxmenuobj, PM_INSERT,
|
||||||
NewObject(POPUPMENU_GetItemClass(), NULL,
|
NewObject(POPUPMENU_GetItemClass(), NULL,
|
||||||
@ -630,7 +630,7 @@ void ami_context_menu_show(struct gui_window_2 *gwin,int x,int y)
|
|||||||
gwin->win->MouseX, gwin->win->MouseY))
|
gwin->win->MouseX, gwin->win->MouseY))
|
||||||
{
|
{
|
||||||
gwin->temp = 0;
|
gwin->temp = 0;
|
||||||
history_enumerate_forward(gwin->bw->history, ami_context_menu_history, gwin);
|
browser_window_history_enumerate_forward(gwin->bw, ami_context_menu_history, gwin);
|
||||||
|
|
||||||
IDoMethod(ctxmenuobj, PM_INSERT,
|
IDoMethod(ctxmenuobj, PM_INSERT,
|
||||||
NewObject(POPUPMENU_GetItemClass(), NULL,
|
NewObject(POPUPMENU_GetItemClass(), NULL,
|
||||||
@ -1247,8 +1247,9 @@ static uint32 ami_context_menu_hook_tree(struct Hook *hook, Object *item, APTR r
|
|||||||
return itemid;
|
return itemid;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool ami_context_menu_history(const struct history *history, int x0, int y0,
|
static bool ami_context_menu_history(const struct browser_window *bw,
|
||||||
int x1, int y1, const struct history_entry *entry, void *user_data)
|
int x0, int y0, int x1, int y1,
|
||||||
|
const struct history_entry *entry, void *user_data)
|
||||||
{
|
{
|
||||||
struct gui_window_2 *gwin = (struct gui_window_2 *)user_data;
|
struct gui_window_2 *gwin = (struct gui_window_2 *)user_data;
|
||||||
|
|
||||||
|
@ -19,9 +19,9 @@
|
|||||||
/* NetSurf core includes */
|
/* NetSurf core includes */
|
||||||
#include "content/urldb.h"
|
#include "content/urldb.h"
|
||||||
#include "css/utils.h"
|
#include "css/utils.h"
|
||||||
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_private.h"
|
||||||
#include "desktop/hotlist.h"
|
#include "desktop/hotlist.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/mouse.h"
|
#include "desktop/mouse.h"
|
||||||
#include "desktop/netsurf.h"
|
#include "desktop/netsurf.h"
|
||||||
#include "utils/nsoption.h"
|
#include "utils/nsoption.h"
|
||||||
@ -1065,12 +1065,12 @@ void ami_gui_history(struct gui_window_2 *gwin, bool back)
|
|||||||
if(back == true)
|
if(back == true)
|
||||||
{
|
{
|
||||||
if(browser_window_back_available(gwin->bw))
|
if(browser_window_back_available(gwin->bw))
|
||||||
history_back(gwin->bw->history, false);
|
browser_window_history_back(gwin->bw, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(browser_window_forward_available(gwin->bw))
|
if(browser_window_forward_available(gwin->bw))
|
||||||
history_forward(gwin->bw->history, false);
|
browser_window_history_forward(gwin->bw, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
ami_update_buttons(gwin);
|
ami_update_buttons(gwin);
|
||||||
|
@ -25,8 +25,8 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_private.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/plotters.h"
|
#include "desktop/plotters.h"
|
||||||
#include "amiga/os3support.h"
|
#include "amiga/os3support.h"
|
||||||
#include "amiga/object.h"
|
#include "amiga/object.h"
|
||||||
@ -52,7 +52,7 @@
|
|||||||
#include <reaction/reaction.h>
|
#include <reaction/reaction.h>
|
||||||
#include <reaction/reaction_macros.h>
|
#include <reaction/reaction_macros.h>
|
||||||
|
|
||||||
static struct history *history_current = 0;
|
static struct browser_window *history_bw;
|
||||||
/* Last position of mouse in window. */
|
/* Last position of mouse in window. */
|
||||||
static int mouse_x = 0;
|
static int mouse_x = 0;
|
||||||
/* Last position of mouse in window. */
|
/* Last position of mouse in window. */
|
||||||
@ -78,7 +78,7 @@ void ami_history_open(struct browser_window *bw, struct history *history)
|
|||||||
|
|
||||||
assert(history);
|
assert(history);
|
||||||
|
|
||||||
history_current = history;
|
history_bw = bw;
|
||||||
|
|
||||||
if(!hwindow)
|
if(!hwindow)
|
||||||
{
|
{
|
||||||
@ -87,7 +87,7 @@ void ami_history_open(struct browser_window *bw, struct history *history)
|
|||||||
ami_init_layers(&hwindow->gg, scrn->Width, scrn->Height);
|
ami_init_layers(&hwindow->gg, scrn->Width, scrn->Height);
|
||||||
|
|
||||||
hwindow->bw = bw;
|
hwindow->bw = bw;
|
||||||
history_size(history, &width, &height);
|
browser_window_history_size(bw, &width, &height);
|
||||||
|
|
||||||
hwindow->scrollerhook.h_Entry = (void *)ami_history_scroller_hook;
|
hwindow->scrollerhook.h_Entry = (void *)ami_history_scroller_hook;
|
||||||
hwindow->scrollerhook.h_Data = hwindow;
|
hwindow->scrollerhook.h_Data = hwindow;
|
||||||
@ -173,7 +173,7 @@ void ami_history_redraw(struct history_window *hw)
|
|||||||
SetRPAttrs(glob->rp, RPTAG_APenColor, 0xffffffff, TAG_DONE);
|
SetRPAttrs(glob->rp, RPTAG_APenColor, 0xffffffff, TAG_DONE);
|
||||||
RectFill(glob->rp, 0, 0, bbox->Width - 1, bbox->Height - 1);
|
RectFill(glob->rp, 0, 0, bbox->Width - 1, bbox->Height - 1);
|
||||||
|
|
||||||
history_redraw_rectangle(history_current, xs, ys,
|
browser_window_history_redraw_rectangle(history_bw, xs, ys,
|
||||||
bbox->Width + xs, bbox->Height + ys, 0, 0, &ctx);
|
bbox->Width + xs, bbox->Height + ys, 0, 0, &ctx);
|
||||||
|
|
||||||
glob = &browserglob;
|
glob = &browserglob;
|
||||||
@ -210,13 +210,13 @@ bool ami_history_click(struct history_window *hw,uint16 code)
|
|||||||
switch(code)
|
switch(code)
|
||||||
{
|
{
|
||||||
case SELECTUP:
|
case SELECTUP:
|
||||||
history_click(history_current,x,y,false);
|
browser_window_history_click(history_bw,x,y,false);
|
||||||
ami_history_redraw(hw);
|
ami_history_redraw(hw);
|
||||||
ami_schedule_redraw(hw->bw->window->shared, true);
|
ami_schedule_redraw(hw->bw->window->shared, true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MIDDLEUP:
|
case MIDDLEUP:
|
||||||
history_click(history_current,x,y,true);
|
browser_window_history_click(history_bw,x,y,true);
|
||||||
ami_history_redraw(hw);
|
ami_history_redraw(hw);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -265,7 +265,7 @@ BOOL ami_history_event(struct history_window *hw)
|
|||||||
GetAttr(SCROLLER_Top, hw->objects[OID_HSCROLL], (ULONG *)&xs);
|
GetAttr(SCROLLER_Top, hw->objects[OID_HSCROLL], (ULONG *)&xs);
|
||||||
GetAttr(SCROLLER_Top, hw->objects[OID_VSCROLL], (ULONG *)&ys);
|
GetAttr(SCROLLER_Top, hw->objects[OID_VSCROLL], (ULONG *)&ys);
|
||||||
|
|
||||||
url = history_position_url(history_current,
|
url = browser_window_history_position_url(history_bw,
|
||||||
hw->win->MouseX - bbox->Left + xs,
|
hw->win->MouseX - bbox->Left + xs,
|
||||||
hw->win->MouseY - bbox->Top + ys);
|
hw->win->MouseY - bbox->Top + ys);
|
||||||
|
|
||||||
|
@ -61,7 +61,6 @@
|
|||||||
#include "desktop/hotlist.h"
|
#include "desktop/hotlist.h"
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_private.h"
|
||||||
#include "desktop/gui.h"
|
#include "desktop/gui.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/textinput.h"
|
#include "desktop/textinput.h"
|
||||||
#include "utils/messages.h"
|
#include "utils/messages.h"
|
||||||
#include "utils/schedule.h"
|
#include "utils/schedule.h"
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#include "content/urldb.h"
|
#include "content/urldb.h"
|
||||||
#include "content/fetch.h"
|
#include "content/fetch.h"
|
||||||
#include "desktop/gui.h"
|
#include "desktop/gui.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/netsurf.h"
|
#include "desktop/netsurf.h"
|
||||||
#include "utils/nsoption.h"
|
#include "utils/nsoption.h"
|
||||||
#include "desktop/save_complete.h"
|
#include "desktop/save_complete.h"
|
||||||
|
@ -41,7 +41,6 @@
|
|||||||
#include "content/fetchers/resource.h"
|
#include "content/fetchers/resource.h"
|
||||||
#include "css/utils.h"
|
#include "css/utils.h"
|
||||||
#include "desktop/gui.h"
|
#include "desktop/gui.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/plotters.h"
|
#include "desktop/plotters.h"
|
||||||
#include "desktop/netsurf.h"
|
#include "desktop/netsurf.h"
|
||||||
#include "desktop/save_complete.h"
|
#include "desktop/save_complete.h"
|
||||||
|
@ -38,7 +38,6 @@
|
|||||||
|
|
||||||
#include "utils/log.h"
|
#include "utils/log.h"
|
||||||
#include "desktop/gui.h"
|
#include "desktop/gui.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/netsurf.h"
|
#include "desktop/netsurf.h"
|
||||||
#include "desktop/browser.h"
|
#include "desktop/browser.h"
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_private.h"
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
|
|
||||||
#include "utils/log.h"
|
#include "utils/log.h"
|
||||||
#include "desktop/gui.h"
|
#include "desktop/gui.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/netsurf.h"
|
#include "desktop/netsurf.h"
|
||||||
#include "desktop/browser.h"
|
#include "desktop/browser.h"
|
||||||
#include "desktop/mouse.h"
|
#include "desktop/mouse.h"
|
||||||
|
@ -29,9 +29,9 @@
|
|||||||
|
|
||||||
#include "utils/log.h"
|
#include "utils/log.h"
|
||||||
#include "desktop/gui.h"
|
#include "desktop/gui.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/netsurf.h"
|
#include "desktop/netsurf.h"
|
||||||
#include "desktop/browser.h"
|
#include "desktop/browser.h"
|
||||||
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_private.h"
|
||||||
#include "desktop/mouse.h"
|
#include "desktop/mouse.h"
|
||||||
#include "desktop/plot_style.h"
|
#include "desktop/plot_style.h"
|
||||||
@ -947,8 +947,8 @@ void toolbar_back_click(struct s_toolbar *tb)
|
|||||||
bw = gw->browser->bw;
|
bw = gw->browser->bw;
|
||||||
assert(bw != NULL);
|
assert(bw != NULL);
|
||||||
|
|
||||||
if( history_back_available(bw->history) )
|
if( browser_window_back_available(bw) )
|
||||||
history_back(bw->history, false);
|
browser_window_history_back(bw, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void toolbar_reload_click(struct s_toolbar *tb)
|
void toolbar_reload_click(struct s_toolbar *tb)
|
||||||
@ -974,8 +974,8 @@ void toolbar_forward_click(struct s_toolbar *tb)
|
|||||||
bw = gw->browser->bw;
|
bw = gw->browser->bw;
|
||||||
assert(bw != NULL);
|
assert(bw != NULL);
|
||||||
|
|
||||||
if (history_forward_available(bw->history))
|
if (browser_window_forward_available(bw))
|
||||||
history_forward(bw->history, false);
|
browser_window_history_forward(bw, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void toolbar_home_click(struct s_toolbar *tb)
|
void toolbar_home_click(struct s_toolbar *tb)
|
||||||
|
@ -52,8 +52,8 @@
|
|||||||
#include <fs_attr.h>
|
#include <fs_attr.h>
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include "content/content.h"
|
#include "content/content.h"
|
||||||
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_private.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/gui.h"
|
#include "desktop/gui.h"
|
||||||
#include "desktop/netsurf.h"
|
#include "desktop/netsurf.h"
|
||||||
#include "desktop/plotters.h"
|
#include "desktop/plotters.h"
|
||||||
@ -973,17 +973,17 @@ void nsbeos_scaffolding_dispatch_event(nsbeos_scaffolding *scaffold, BMessage *m
|
|||||||
case B_NETPOSITIVE_BACK:
|
case B_NETPOSITIVE_BACK:
|
||||||
case BROWSER_NAVIGATE_BACK:
|
case BROWSER_NAVIGATE_BACK:
|
||||||
case 'back':
|
case 'back':
|
||||||
if (!history_back_available(bw->history))
|
if (!browser_window_history_back_available(bw))
|
||||||
break;
|
break;
|
||||||
history_back(bw->history, false);
|
browser_window_history_back(bw, false);
|
||||||
nsbeos_window_update_back_forward(scaffold);
|
nsbeos_window_update_back_forward(scaffold);
|
||||||
break;
|
break;
|
||||||
case B_NETPOSITIVE_FORWARD:
|
case B_NETPOSITIVE_FORWARD:
|
||||||
case BROWSER_NAVIGATE_FORWARD:
|
case BROWSER_NAVIGATE_FORWARD:
|
||||||
case 'forw':
|
case 'forw':
|
||||||
if (!history_forward_available(bw->history))
|
if (!browser_window_history_forward_available(bw))
|
||||||
break;
|
break;
|
||||||
history_forward(bw->history, false);
|
browser_window_history_forward(bw->history, false);
|
||||||
nsbeos_window_update_back_forward(scaffold);
|
nsbeos_window_update_back_forward(scaffold);
|
||||||
break;
|
break;
|
||||||
case B_NETPOSITIVE_STOP:
|
case B_NETPOSITIVE_STOP:
|
||||||
@ -1300,8 +1300,8 @@ void nsbeos_window_update_back_forward(struct beos_scaffolding *g)
|
|||||||
if (!g->top_view->LockLooper())
|
if (!g->top_view->LockLooper())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
g->back_button->SetEnabled(history_back_available(bw->history));
|
g->back_button->SetEnabled(browser_window_history_back_available(bw));
|
||||||
g->forward_button->SetEnabled(history_forward_available(bw->history));
|
g->forward_button->SetEnabled(browser_window_history_forward_available(bw));
|
||||||
|
|
||||||
g->top_view->UnlockLooper();
|
g->top_view->UnlockLooper();
|
||||||
|
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
#import "cocoa/BrowserWindowController.h"
|
#import "cocoa/BrowserWindowController.h"
|
||||||
|
|
||||||
#import "desktop/browser_private.h"
|
#import "desktop/browser_private.h"
|
||||||
#import "desktop/local_history.h"
|
|
||||||
#import "desktop/plotters.h"
|
#import "desktop/plotters.h"
|
||||||
#import "desktop/textinput.h"
|
#import "desktop/textinput.h"
|
||||||
#import "utils/nsoption.h"
|
#import "utils/nsoption.h"
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
#import "cocoa/BrowserWindowController.h"
|
#import "cocoa/BrowserWindowController.h"
|
||||||
#import "cocoa/fetch.h"
|
#import "cocoa/fetch.h"
|
||||||
|
|
||||||
|
#import "desktop/browser_history.h"
|
||||||
#import "desktop/browser_private.h"
|
#import "desktop/browser_private.h"
|
||||||
#import "desktop/local_history.h"
|
|
||||||
#import "desktop/textinput.h"
|
#import "desktop/textinput.h"
|
||||||
#import "utils/nsoption.h"
|
#import "utils/nsoption.h"
|
||||||
|
|
||||||
@ -116,16 +116,16 @@
|
|||||||
|
|
||||||
- (IBAction) goBack: (id) sender;
|
- (IBAction) goBack: (id) sender;
|
||||||
{
|
{
|
||||||
if (browser && history_back_available( browser->history )) {
|
if (browser && browser_window_history_back_available( browser )) {
|
||||||
history_back(browser->history, false);
|
browser_window_history_back(browser, false);
|
||||||
[self updateBackForward];
|
[self updateBackForward];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) goForward: (id) sender;
|
- (IBAction) goForward: (id) sender;
|
||||||
{
|
{
|
||||||
if (browser && history_forward_available( browser->history )) {
|
if (browser && browser_window_history_forward_available( browser )) {
|
||||||
history_forward(browser->history, false);
|
browser_window_history_forward(browser, false);
|
||||||
[self updateBackForward];
|
[self updateBackForward];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -272,8 +272,8 @@ static inline bool compare_float( float a, float b )
|
|||||||
- (void) updateBackForward;
|
- (void) updateBackForward;
|
||||||
{
|
{
|
||||||
[browserView updateHistory];
|
[browserView updateHistory];
|
||||||
[self setCanGoBack: browser != NULL && history_back_available( browser->history )];
|
[self setCanGoBack: browser != NULL && browser_window_history_back_available( browser )];
|
||||||
[self setCanGoForward: browser != NULL && history_forward_available( browser->history )];
|
[self setCanGoForward: browser != NULL && browser_window_history_forward_available( browser )];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) contentUpdated;
|
- (void) contentUpdated;
|
||||||
@ -287,7 +287,7 @@ struct history_add_menu_item_data {
|
|||||||
id target;
|
id target;
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool history_add_menu_item_cb( const struct history *history, int x0, int y0, int x1, int y1,
|
static bool history_add_menu_item_cb( const struct browser_window *bw, int x0, int y0, int x1, int y1,
|
||||||
const struct history_entry *page, void *user_data )
|
const struct history_entry *page, void *user_data )
|
||||||
{
|
{
|
||||||
struct history_add_menu_item_data *data = user_data;
|
struct history_add_menu_item_data *data = user_data;
|
||||||
@ -305,7 +305,7 @@ static bool history_add_menu_item_cb( const struct history *history, int x0, int
|
|||||||
++data->index;
|
++data->index;
|
||||||
|
|
||||||
[item setTarget: data->target];
|
[item setTarget: data->target];
|
||||||
[item setTitle: [NSString stringWithUTF8String: history_entry_get_title( page )]];
|
[item setTitle: [NSString stringWithUTF8String: browser_window_history_entry_get_title( page )]];
|
||||||
[item setRepresentedObject: [NSValue valueWithPointer: page]];
|
[item setRepresentedObject: [NSValue valueWithPointer: page]];
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -314,7 +314,7 @@ static bool history_add_menu_item_cb( const struct history *history, int x0, int
|
|||||||
- (IBAction) historyItemSelected: (id) sender;
|
- (IBAction) historyItemSelected: (id) sender;
|
||||||
{
|
{
|
||||||
struct history_entry *entry = [[sender representedObject] pointerValue];
|
struct history_entry *entry = [[sender representedObject] pointerValue];
|
||||||
history_go( browser->history, entry, false );
|
browser_window_history_go( browser, entry, false );
|
||||||
[self updateBackForward];
|
[self updateBackForward];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -325,7 +325,7 @@ static bool history_add_menu_item_cb( const struct history *history, int x0, int
|
|||||||
.menu = menu,
|
.menu = menu,
|
||||||
.target = self
|
.target = self
|
||||||
};
|
};
|
||||||
history_enumerate_back( browser->history, history_add_menu_item_cb, &data );
|
browser_window_history_enumerate_back( browser, history_add_menu_item_cb, &data );
|
||||||
while (data.index < [menu numberOfItems]) [menu removeItemAtIndex: data.index];
|
while (data.index < [menu numberOfItems]) [menu removeItemAtIndex: data.index];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -336,7 +336,7 @@ static bool history_add_menu_item_cb( const struct history *history, int x0, int
|
|||||||
.menu = menu,
|
.menu = menu,
|
||||||
.target = self
|
.target = self
|
||||||
};
|
};
|
||||||
history_enumerate_forward( browser->history, history_add_menu_item_cb, &data );
|
browser_window_history_enumerate_forward( browser, history_add_menu_item_cb, &data );
|
||||||
while (data.index < [menu numberOfItems]) [menu removeItemAtIndex: data.index];
|
while (data.index < [menu numberOfItems]) [menu removeItemAtIndex: data.index];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,8 +23,7 @@
|
|||||||
#import "cocoa/LocalHistoryController.h"
|
#import "cocoa/LocalHistoryController.h"
|
||||||
#import "cocoa/BrowserView.h"
|
#import "cocoa/BrowserView.h"
|
||||||
|
|
||||||
#import "desktop/browser_private.h"
|
#import "desktop/browser_history.h"
|
||||||
#import "desktop/local_history.h"
|
|
||||||
#import "desktop/plotters.h"
|
#import "desktop/plotters.h"
|
||||||
|
|
||||||
@implementation HistoryView
|
@implementation HistoryView
|
||||||
@ -41,7 +40,7 @@
|
|||||||
- (NSSize) size;
|
- (NSSize) size;
|
||||||
{
|
{
|
||||||
int width, height;
|
int width, height;
|
||||||
history_size( browser->history, &width, &height );
|
browser_window_history_size( browser, &width, &height );
|
||||||
|
|
||||||
return cocoa_size( width, height );
|
return cocoa_size( width, height );
|
||||||
}
|
}
|
||||||
@ -65,14 +64,14 @@
|
|||||||
|
|
||||||
cocoa_set_clip( rect );
|
cocoa_set_clip( rect );
|
||||||
|
|
||||||
history_redraw( browser->history, &ctx );
|
browser_window_history_redraw( browser, &ctx );
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) mouseUp: (NSEvent *)theEvent;
|
- (void) mouseUp: (NSEvent *)theEvent;
|
||||||
{
|
{
|
||||||
const NSPoint location = [self convertPoint: [theEvent locationInWindow] fromView: nil];
|
const NSPoint location = [self convertPoint: [theEvent locationInWindow] fromView: nil];
|
||||||
const bool newWindow = [theEvent modifierFlags] & NSCommandKeyMask;
|
const bool newWindow = [theEvent modifierFlags] & NSCommandKeyMask;
|
||||||
if (history_click( browser->history,
|
if (browser_window_history_click( browser,
|
||||||
cocoa_pt_to_px( location.x ), cocoa_pt_to_px( location.y ),
|
cocoa_pt_to_px( location.x ), cocoa_pt_to_px( location.y ),
|
||||||
newWindow )) {
|
newWindow )) {
|
||||||
[browserView setHistoryVisible: NO];
|
[browserView setHistoryVisible: NO];
|
||||||
@ -94,7 +93,7 @@
|
|||||||
[[NSCursor arrowCursor] set];
|
[[NSCursor arrowCursor] set];
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool cursor_rects_cb( const struct history *history, int x0, int y0, int x1, int y1,
|
static bool cursor_rects_cb( const struct browser_window *bw, int x0, int y0, int x1, int y1,
|
||||||
const struct history_entry *page, void *user_data )
|
const struct history_entry *page, void *user_data )
|
||||||
{
|
{
|
||||||
HistoryView *view = user_data;
|
HistoryView *view = user_data;
|
||||||
@ -102,8 +101,8 @@ static bool cursor_rects_cb( const struct history *history, int x0, int y0, int
|
|||||||
NSRect rect = NSIntersectionRect( [view visibleRect], cocoa_rect( x0, y0, x1, y1 ) );
|
NSRect rect = NSIntersectionRect( [view visibleRect], cocoa_rect( x0, y0, x1, y1 ) );
|
||||||
if (!NSIsEmptyRect( rect )) {
|
if (!NSIsEmptyRect( rect )) {
|
||||||
|
|
||||||
NSString *toolTip = [NSString stringWithFormat: @"%s\n%s", history_entry_get_title(page),
|
NSString *toolTip = [NSString stringWithFormat: @"%s\n%s", browser_window_history_entry_get_title(page),
|
||||||
history_entry_get_url( page )];
|
browser_window_history_entry_get_url( page )];
|
||||||
|
|
||||||
[view addToolTipRect: rect owner: toolTip userData: nil];
|
[view addToolTipRect: rect owner: toolTip userData: nil];
|
||||||
NSTrackingArea *area = [[NSTrackingArea alloc] initWithRect: rect
|
NSTrackingArea *area = [[NSTrackingArea alloc] initWithRect: rect
|
||||||
@ -138,7 +137,7 @@ static bool cursor_rects_cb( const struct history *history, int x0, int y0, int
|
|||||||
[self removeTrackingArea: area];
|
[self removeTrackingArea: area];
|
||||||
}
|
}
|
||||||
|
|
||||||
history_enumerate( browser->history, cursor_rects_cb, self );
|
browser_window_history_enumerate( browser, cursor_rects_cb, self );
|
||||||
|
|
||||||
[super updateTrackingAreas];
|
[super updateTrackingAreas];
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#import "content/urldb.h"
|
#import "content/urldb.h"
|
||||||
#import "css/utils.h"
|
#import "css/utils.h"
|
||||||
#import "desktop/gui.h"
|
#import "desktop/gui.h"
|
||||||
#import "desktop/local_history.h"
|
|
||||||
#import "desktop/mouse.h"
|
#import "desktop/mouse.h"
|
||||||
#import "desktop/netsurf.h"
|
#import "desktop/netsurf.h"
|
||||||
#import "utils/nsoption.h"
|
#import "utils/nsoption.h"
|
||||||
|
@ -12,7 +12,7 @@ desktop/version.c: testament utils/testament.h
|
|||||||
|
|
||||||
# S_BROWSER are sources related to full browsers but are common
|
# S_BROWSER are sources related to full browsers but are common
|
||||||
# between RISC OS, GTK, BeOS and AmigaOS builds
|
# between RISC OS, GTK, BeOS and AmigaOS builds
|
||||||
S_BROWSER := browser.c download.c frames.c local_history.c netsurf.c \
|
S_BROWSER := browser.c browser_history.c download.c frames.c netsurf.c \
|
||||||
save_complete.c save_text.c selection.c textinput.c gui_factory.c
|
save_complete.c save_text.c selection.c textinput.c gui_factory.c
|
||||||
|
|
||||||
S_BROWSER := $(addprefix desktop/,$(S_BROWSER))
|
S_BROWSER := $(addprefix desktop/,$(S_BROWSER))
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
#include "content/fetch.h"
|
#include "content/fetch.h"
|
||||||
#include "content/hlcache.h"
|
#include "content/hlcache.h"
|
||||||
#include "content/urldb.h"
|
#include "content/urldb.h"
|
||||||
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_private.h"
|
||||||
#include "desktop/download.h"
|
#include "desktop/download.h"
|
||||||
#include "desktop/frames.h"
|
#include "desktop/frames.h"
|
||||||
@ -48,7 +49,6 @@
|
|||||||
#include "desktop/gui_factory.h"
|
#include "desktop/gui_factory.h"
|
||||||
#include "desktop/hotlist.h"
|
#include "desktop/hotlist.h"
|
||||||
#include "desktop/knockout.h"
|
#include "desktop/knockout.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "utils/nsoption.h"
|
#include "utils/nsoption.h"
|
||||||
#include "desktop/scrollbar.h"
|
#include "desktop/scrollbar.h"
|
||||||
#include "desktop/selection.h"
|
#include "desktop/selection.h"
|
||||||
@ -778,18 +778,22 @@ nserror browser_window_create(enum browser_window_create_flags flags,
|
|||||||
* \param bw The window to initialise
|
* \param bw The window to initialise
|
||||||
* \param existing The existing window if cloning, else NULL
|
* \param existing The existing window if cloning, else NULL
|
||||||
*/
|
*/
|
||||||
void browser_window_initialise_common(enum browser_window_create_flags flags,
|
nserror browser_window_initialise_common(enum browser_window_create_flags flags,
|
||||||
struct browser_window *bw, struct browser_window *existing)
|
struct browser_window *bw, struct browser_window *existing)
|
||||||
{
|
{
|
||||||
|
nserror err;
|
||||||
assert(bw);
|
assert(bw);
|
||||||
|
|
||||||
if (flags & BW_CREATE_CLONE) {
|
if (flags & BW_CREATE_CLONE) {
|
||||||
assert(existing != NULL);
|
assert(existing != NULL);
|
||||||
bw->history = history_clone(existing->history, bw);
|
err = browser_window_history_clone(existing, bw);
|
||||||
} else {
|
} else {
|
||||||
bw->history = history_create(bw);
|
err = browser_window_history_create(bw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (err != NSERROR_OK)
|
||||||
|
return err;
|
||||||
|
|
||||||
/* window characteristics */
|
/* window characteristics */
|
||||||
bw->refresh_interval = -1;
|
bw->refresh_interval = -1;
|
||||||
|
|
||||||
@ -807,6 +811,8 @@ void browser_window_initialise_common(enum browser_window_create_flags flags,
|
|||||||
bw->status_text_len = 0;
|
bw->status_text_len = 0;
|
||||||
bw->status_match = 0;
|
bw->status_match = 0;
|
||||||
bw->status_miss = 0;
|
bw->status_miss = 0;
|
||||||
|
|
||||||
|
return NSERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1288,7 +1294,7 @@ static nserror browser_window_callback(hlcache_handle *c,
|
|||||||
* after, we only leak the thumbnails when urldb does
|
* after, we only leak the thumbnails when urldb does
|
||||||
* not add the URL.
|
* not add the URL.
|
||||||
*/
|
*/
|
||||||
history_add(bw->history, c, bw->frag_id);
|
browser_window_history_add(bw, c, bw->frag_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* frames */
|
/* frames */
|
||||||
@ -1318,7 +1324,7 @@ static nserror browser_window_callback(hlcache_handle *c,
|
|||||||
browser_window_stop_throbber(bw);
|
browser_window_stop_throbber(bw);
|
||||||
browser_window_update_favicon(c, bw, NULL);
|
browser_window_update_favicon(c, bw, NULL);
|
||||||
|
|
||||||
history_update(bw->history, c);
|
browser_window_history_update(bw, c);
|
||||||
hotlist_update_url(hlcache_handle_get_url(c));
|
hotlist_update_url(hlcache_handle_get_url(c));
|
||||||
|
|
||||||
if (bw->refresh_interval != -1)
|
if (bw->refresh_interval != -1)
|
||||||
@ -1689,7 +1695,7 @@ void browser_window_destroy_internal(struct browser_window *bw)
|
|||||||
if (bw->frag_id != NULL)
|
if (bw->frag_id != NULL)
|
||||||
lwc_string_unref(bw->frag_id);
|
lwc_string_unref(bw->frag_id);
|
||||||
|
|
||||||
history_destroy(bw->history);
|
browser_window_history_destroy(bw);
|
||||||
|
|
||||||
free(bw->name);
|
free(bw->name);
|
||||||
free(bw->status_text);
|
free(bw->status_text);
|
||||||
@ -1882,7 +1888,7 @@ nserror browser_window_navigate(struct browser_window *bw,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((flags & BW_NAVIGATE_HISTORY) != 0) {
|
if ((flags & BW_NAVIGATE_HISTORY) != 0) {
|
||||||
history_add(bw->history,
|
browser_window_history_add(bw,
|
||||||
bw->current_content, bw->frag_id);
|
bw->current_content, bw->frag_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3047,7 +3053,8 @@ void browser_window_page_drag_start(struct browser_window *bw, int x, int y)
|
|||||||
|
|
||||||
bool browser_window_back_available(struct browser_window *bw)
|
bool browser_window_back_available(struct browser_window *bw)
|
||||||
{
|
{
|
||||||
return (bw && bw->history && history_back_available(bw->history));
|
return (bw && bw->history &&
|
||||||
|
browser_window_history_back_available(bw));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3060,7 +3067,8 @@ bool browser_window_back_available(struct browser_window *bw)
|
|||||||
|
|
||||||
bool browser_window_forward_available(struct browser_window *bw)
|
bool browser_window_forward_available(struct browser_window *bw)
|
||||||
{
|
{
|
||||||
return (bw && bw->history && history_forward_available(bw->history));
|
return (bw && bw->history &&
|
||||||
|
browser_window_history_forward_available(bw));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
141
desktop/browser_history.h
Normal file
141
desktop/browser_history.h
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2006 James Bursa <bursa@users.sourceforge.net>
|
||||||
|
*
|
||||||
|
* This file is part of NetSurf, http://www.netsurf-browser.org/
|
||||||
|
*
|
||||||
|
* NetSurf is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* NetSurf is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** \file
|
||||||
|
* Browser history tree (interface).
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _NETSURF_DESKTOP_BROWSER_HISTORY_H_
|
||||||
|
#define _NETSURF_DESKTOP_BROWSER_HISTORY_H_
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <libwapcaplet/libwapcaplet.h>
|
||||||
|
|
||||||
|
#include "utils/errors.h"
|
||||||
|
|
||||||
|
struct hlcache_handle;
|
||||||
|
struct browser_window;
|
||||||
|
struct history_entry;
|
||||||
|
struct redraw_context;
|
||||||
|
|
||||||
|
nserror browser_window_history_create(struct browser_window *bw);
|
||||||
|
nserror browser_window_history_clone(const struct browser_window *bw,
|
||||||
|
struct browser_window *new);
|
||||||
|
void browser_window_history_add(struct browser_window *bw,
|
||||||
|
struct hlcache_handle *content, lwc_string *frag_id);
|
||||||
|
void browser_window_history_update(struct browser_window *bw,
|
||||||
|
struct hlcache_handle *content);
|
||||||
|
void browser_window_history_destroy(struct browser_window *bw);
|
||||||
|
void browser_window_history_back(struct browser_window *bw, bool new_window);
|
||||||
|
void browser_window_history_forward(struct browser_window *bw, bool new_window);
|
||||||
|
bool browser_window_history_back_available(struct browser_window *bw);
|
||||||
|
bool browser_window_history_forward_available(struct browser_window *bw);
|
||||||
|
void browser_window_history_size(struct browser_window *bw,
|
||||||
|
int *width, int *height);
|
||||||
|
bool browser_window_history_redraw(struct browser_window *bw,
|
||||||
|
const struct redraw_context *ctx);
|
||||||
|
bool browser_window_history_redraw_rectangle(struct browser_window *bw,
|
||||||
|
int x0, int y0, int x1, int y1, int x, int y,
|
||||||
|
const struct redraw_context *ctx);
|
||||||
|
bool browser_window_history_click(struct browser_window *bw,
|
||||||
|
int x, int y, bool new_window);
|
||||||
|
const char *browser_window_history_position_url(struct browser_window *bw,
|
||||||
|
int x, int y);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback function type for history enumeration
|
||||||
|
*
|
||||||
|
* \param bw The browser window with history being enumerated
|
||||||
|
* \param x0, y0, x1, y1 Coordinates of entry in history tree view
|
||||||
|
* \param entry Current history entry
|
||||||
|
* \return true to continue enumeration, false to cancel enumeration
|
||||||
|
*/
|
||||||
|
typedef bool (*browser_window_history_enumerate_cb)(
|
||||||
|
const struct browser_window *bw,
|
||||||
|
int x0, int y0, int x1, int y1,
|
||||||
|
const struct history_entry *entry, void *user_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enumerate all entries in the history.
|
||||||
|
* Do not change the history while it is being enumerated.
|
||||||
|
*
|
||||||
|
* \param bw The browser window to enumerate history of
|
||||||
|
* \param cb callback function
|
||||||
|
* \param user_data context pointer passed to cb
|
||||||
|
*/
|
||||||
|
void browser_window_history_enumerate(const struct browser_window *bw,
|
||||||
|
browser_window_history_enumerate_cb cb, void *user_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enumerate all entries that will be reached by the 'forward' button
|
||||||
|
*
|
||||||
|
* \param bw The browser window to enumerate history of
|
||||||
|
* \param cb The callback function
|
||||||
|
* \param user_data Data passed to the callback
|
||||||
|
*/
|
||||||
|
void browser_window_history_enumerate_forward(const struct browser_window *bw,
|
||||||
|
browser_window_history_enumerate_cb cb, void *user_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enumerate all entries that will be reached by the 'back' button
|
||||||
|
*
|
||||||
|
* \param bw The browser window to enumerate history of
|
||||||
|
* \param cb The callback function
|
||||||
|
* \param user_data Data passed to the callback
|
||||||
|
*/
|
||||||
|
void browser_window_history_enumerate_back(const struct browser_window *bw,
|
||||||
|
browser_window_history_enumerate_cb cb, void *user_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the URL to a history entry
|
||||||
|
*
|
||||||
|
* \param entry the history entry to retrieve the URL from
|
||||||
|
* \return the URL
|
||||||
|
*/
|
||||||
|
const char *browser_window_history_entry_get_url(
|
||||||
|
const struct history_entry *entry);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the URL to a history entry
|
||||||
|
*
|
||||||
|
* \param entry the history entry to retrieve the fragment id from
|
||||||
|
* \return the fragment id
|
||||||
|
*/
|
||||||
|
const char *browser_window_history_entry_get_fragment_id(
|
||||||
|
const struct history_entry *entry);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the title of a history entry
|
||||||
|
*
|
||||||
|
* \param entry the history entry to retrieve the title from
|
||||||
|
* \return the title
|
||||||
|
*/
|
||||||
|
const char *browser_window_history_entry_get_title(
|
||||||
|
const struct history_entry *entry);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Navigate to specified history entry, optionally in new window
|
||||||
|
*
|
||||||
|
* \param bw browser window
|
||||||
|
* \param entry entry to open
|
||||||
|
* \param new_window open entry in new window
|
||||||
|
*/
|
||||||
|
void browser_window_history_go(struct browser_window *bw,
|
||||||
|
struct history_entry *entry, bool new_window);
|
||||||
|
|
||||||
|
#endif
|
@ -165,7 +165,7 @@ struct browser_window {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void browser_window_initialise_common(enum browser_window_create_flags flags,
|
nserror browser_window_initialise_common(enum browser_window_create_flags flags,
|
||||||
struct browser_window *bw, struct browser_window *existing);
|
struct browser_window *bw, struct browser_window *existing);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -33,7 +33,6 @@
|
|||||||
#include "content/hlcache.h"
|
#include "content/hlcache.h"
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_private.h"
|
||||||
#include "desktop/frames.h"
|
#include "desktop/frames.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/scrollbar.h"
|
#include "desktop/scrollbar.h"
|
||||||
#include "desktop/selection.h"
|
#include "desktop/selection.h"
|
||||||
#include "utils/log.h"
|
#include "utils/log.h"
|
||||||
|
@ -1,133 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2006 James Bursa <bursa@users.sourceforge.net>
|
|
||||||
*
|
|
||||||
* This file is part of NetSurf, http://www.netsurf-browser.org/
|
|
||||||
*
|
|
||||||
* NetSurf is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* NetSurf is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** \file
|
|
||||||
* Browser history tree (interface).
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _NETSURF_DESKTOP_HISTORY_H_
|
|
||||||
#define _NETSURF_DESKTOP_HISTORY_H_
|
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include <libwapcaplet/libwapcaplet.h>
|
|
||||||
|
|
||||||
struct hlcache_handle;
|
|
||||||
struct history;
|
|
||||||
struct browser_window;
|
|
||||||
struct history_entry;
|
|
||||||
struct redraw_context;
|
|
||||||
|
|
||||||
struct history *history_create(struct browser_window *bw);
|
|
||||||
struct history *history_clone(struct history *history,
|
|
||||||
struct browser_window *bw);
|
|
||||||
void history_add(struct history *history, struct hlcache_handle *content,
|
|
||||||
lwc_string *frag_id);
|
|
||||||
void history_update(struct history *history, struct hlcache_handle *content);
|
|
||||||
void history_destroy(struct history *history);
|
|
||||||
void history_back(struct history *history, bool new_window);
|
|
||||||
void history_forward(struct history *history, bool new_window);
|
|
||||||
bool history_back_available(struct history *history);
|
|
||||||
bool history_forward_available(struct history *history);
|
|
||||||
void history_size(struct history *history, int *width, int *height);
|
|
||||||
bool history_redraw(struct history *history, const struct redraw_context *ctx);
|
|
||||||
bool history_redraw_rectangle(struct history *history,
|
|
||||||
int x0, int y0, int x1, int y1, int x, int y,
|
|
||||||
const struct redraw_context *ctx);
|
|
||||||
bool history_click(struct history *history, int x, int y, bool new_window);
|
|
||||||
const char *history_position_url(struct history *history, int x, int y);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Callback function type for history enumeration
|
|
||||||
*
|
|
||||||
* \param history history being enumerated
|
|
||||||
* \param x0, y0, x1, y1 Coordinates of entry in history tree view
|
|
||||||
* \param entry Current history entry
|
|
||||||
* \return true to continue enumeration, false to cancel enumeration
|
|
||||||
*/
|
|
||||||
typedef bool (*history_enumerate_cb)(const struct history *history,
|
|
||||||
int x0, int y0,
|
|
||||||
int x1, int y1,
|
|
||||||
const struct history_entry *entry, void *user_data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enumerate all entries in the history.
|
|
||||||
* Do not change the history while it is being enumerated.
|
|
||||||
*
|
|
||||||
* \param history history to enumerate
|
|
||||||
* \param cb callback function
|
|
||||||
* \param user_data context pointer passed to cb
|
|
||||||
*/
|
|
||||||
void history_enumerate(const struct history *history,
|
|
||||||
history_enumerate_cb cb, void *user_data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enumerate all entries that will be reached by the 'forward' button
|
|
||||||
*
|
|
||||||
* \param history The history object to enumerate in
|
|
||||||
* \param cb The callback function
|
|
||||||
* \param user_data Data passed to the callback
|
|
||||||
*/
|
|
||||||
void history_enumerate_forward( struct history *history,
|
|
||||||
history_enumerate_cb cb, void *user_data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enumerate all entries that will be reached by the 'back' button
|
|
||||||
*
|
|
||||||
* \param history The history object to enumerate in
|
|
||||||
* \param cb The callback function
|
|
||||||
* \param user_data Data passed to the callback
|
|
||||||
*/
|
|
||||||
void history_enumerate_back( struct history *history,
|
|
||||||
history_enumerate_cb cb, void *user_data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the URL to a history entry
|
|
||||||
*
|
|
||||||
* \param entry the history entry to retrieve the URL from
|
|
||||||
* \return the URL
|
|
||||||
*/
|
|
||||||
const char *history_entry_get_url(const struct history_entry *entry);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the URL to a history entry
|
|
||||||
*
|
|
||||||
* \param entry the history entry to retrieve the fragment id from
|
|
||||||
* \return the fragment id
|
|
||||||
*/
|
|
||||||
const char *history_entry_get_fragment_id(const struct history_entry *entry);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the title of a history entry
|
|
||||||
*
|
|
||||||
* \param entry the history entry to retrieve the title from
|
|
||||||
* \return the title
|
|
||||||
*/
|
|
||||||
const char *history_entry_get_title(const struct history_entry *entry);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open a history entry in the specified browser window
|
|
||||||
*
|
|
||||||
* \param bw browser window
|
|
||||||
* \param history history containing entry
|
|
||||||
* \param entry entry to open
|
|
||||||
* \param new_window open entry in new window
|
|
||||||
*/
|
|
||||||
void history_go(struct history *history, struct history_entry *entry,
|
|
||||||
bool new_window);
|
|
||||||
|
|
||||||
#endif
|
|
@ -31,7 +31,7 @@
|
|||||||
#include <libnsfb_plot.h>
|
#include <libnsfb_plot.h>
|
||||||
#include <libnsfb_event.h>
|
#include <libnsfb_event.h>
|
||||||
|
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/gui.h"
|
#include "desktop/gui.h"
|
||||||
#include "desktop/mouse.h"
|
#include "desktop/mouse.h"
|
||||||
#include "desktop/plotters.h"
|
#include "desktop/plotters.h"
|
||||||
@ -58,7 +58,6 @@
|
|||||||
#include "framebuffer/fetch.h"
|
#include "framebuffer/fetch.h"
|
||||||
|
|
||||||
#include "content/urldb.h"
|
#include "content/urldb.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "content/fetch.h"
|
#include "content/fetch.h"
|
||||||
|
|
||||||
#define NSFB_TOOLBAR_DEFAULT_LAYOUT "blfsrutc"
|
#define NSFB_TOOLBAR_DEFAULT_LAYOUT "blfsrutc"
|
||||||
@ -988,8 +987,8 @@ fb_leftarrow_click(fbtk_widget_t *widget, fbtk_callback_info *cbi)
|
|||||||
if (cbi->event->type != NSFB_EVENT_KEY_UP)
|
if (cbi->event->type != NSFB_EVENT_KEY_UP)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (history_back_available(bw->history))
|
if (browser_window_back_available(bw))
|
||||||
history_back(bw->history, false);
|
browser_window_history_back(bw, false);
|
||||||
|
|
||||||
fb_update_back_forward(gw);
|
fb_update_back_forward(gw);
|
||||||
|
|
||||||
@ -1006,8 +1005,8 @@ fb_rightarrow_click(fbtk_widget_t *widget, fbtk_callback_info *cbi)
|
|||||||
if (cbi->event->type != NSFB_EVENT_KEY_UP)
|
if (cbi->event->type != NSFB_EVENT_KEY_UP)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (history_forward_available(bw->history))
|
if (browser_window_forward_available(bw))
|
||||||
history_forward(bw->history, false);
|
browser_window_history_forward(bw, false);
|
||||||
|
|
||||||
fb_update_back_forward(gw);
|
fb_update_back_forward(gw);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
#include <libnsfb_plot.h>
|
#include <libnsfb_plot.h>
|
||||||
#include <libnsfb_event.h>
|
#include <libnsfb_event.h>
|
||||||
|
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/gui.h"
|
#include "desktop/gui.h"
|
||||||
#include "desktop/plotters.h"
|
#include "desktop/plotters.h"
|
||||||
#include "desktop/netsurf.h"
|
#include "desktop/netsurf.h"
|
||||||
@ -52,7 +52,6 @@
|
|||||||
#include "framebuffer/font.h"
|
#include "framebuffer/font.h"
|
||||||
|
|
||||||
#include "content/urldb.h"
|
#include "content/urldb.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "content/fetch.h"
|
#include "content/fetch.h"
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -77,7 +76,7 @@ localhistory_redraw(fbtk_widget_t *widget, fbtk_callback_info *cbi)
|
|||||||
|
|
||||||
nsfb_plot_rectangle_fill(fbtk_get_nsfb(widget), &rbox, 0xffffffff);
|
nsfb_plot_rectangle_fill(fbtk_get_nsfb(widget), &rbox, 0xffffffff);
|
||||||
|
|
||||||
history_redraw_rectangle(glh->bw->history,
|
browser_window_history_redraw_rectangle(glh->bw,
|
||||||
glh->scrollx,
|
glh->scrollx,
|
||||||
glh->scrolly,
|
glh->scrolly,
|
||||||
fbtk_get_width(widget) + glh->scrollx,
|
fbtk_get_width(widget) + glh->scrollx,
|
||||||
@ -97,7 +96,7 @@ localhistory_click(fbtk_widget_t *widget, fbtk_callback_info *cbi)
|
|||||||
if (cbi->event->type != NSFB_EVENT_KEY_UP)
|
if (cbi->event->type != NSFB_EVENT_KEY_UP)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
history_click(glh->bw->history, cbi->x, cbi->y, false);
|
browser_window_history_click(glh->bw, cbi->x, cbi->y, false);
|
||||||
|
|
||||||
fbtk_set_mapping(glh->window, false);
|
fbtk_set_mapping(glh->window, false);
|
||||||
|
|
||||||
|
@ -30,8 +30,8 @@
|
|||||||
#include "utils/url.h"
|
#include "utils/url.h"
|
||||||
#include "utils/log.h"
|
#include "utils/log.h"
|
||||||
#include "utils/nsoption.h"
|
#include "utils/nsoption.h"
|
||||||
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_private.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/hotlist.h"
|
#include "desktop/hotlist.h"
|
||||||
#include "desktop/netsurf.h"
|
#include "desktop/netsurf.h"
|
||||||
#include "desktop/plotters.h"
|
#include "desktop/plotters.h"
|
||||||
@ -296,9 +296,9 @@ static void nsgtk_window_update_back_forward(struct gtk_scaffolding *g)
|
|||||||
struct browser_window *bw = nsgtk_get_browser_window(g->top_level);
|
struct browser_window *bw = nsgtk_get_browser_window(g->top_level);
|
||||||
|
|
||||||
g->buttons[BACK_BUTTON]->sensitivity =
|
g->buttons[BACK_BUTTON]->sensitivity =
|
||||||
history_back_available(bw->history);
|
browser_window_history_back_available(bw);
|
||||||
g->buttons[FORWARD_BUTTON]->sensitivity = history_forward_available(
|
g->buttons[FORWARD_BUTTON]->sensitivity =
|
||||||
bw->history);
|
browser_window_history_forward_available(bw);
|
||||||
|
|
||||||
nsgtk_scaffolding_set_sensitivity(g);
|
nsgtk_scaffolding_set_sensitivity(g);
|
||||||
|
|
||||||
@ -308,7 +308,7 @@ static void nsgtk_window_update_back_forward(struct gtk_scaffolding *g)
|
|||||||
/* update the local history window, as well as queuing a redraw
|
/* update the local history window, as well as queuing a redraw
|
||||||
* for it.
|
* for it.
|
||||||
*/
|
*/
|
||||||
history_size(bw->history, &width, &height);
|
browser_window_history_size(bw, &width, &height);
|
||||||
gtk_widget_set_size_request(GTK_WIDGET(g->history_window->drawing_area),
|
gtk_widget_set_size_request(GTK_WIDGET(g->history_window->drawing_area),
|
||||||
width, height);
|
width, height);
|
||||||
gtk_widget_queue_draw(GTK_WIDGET(g->history_window->drawing_area));
|
gtk_widget_queue_draw(GTK_WIDGET(g->history_window->drawing_area));
|
||||||
@ -434,13 +434,9 @@ gboolean nsgtk_window_url_activate_event(GtkWidget *widget, gpointer data)
|
|||||||
if (error != NSERROR_OK) {
|
if (error != NSERROR_OK) {
|
||||||
warn_user(messages_get_errorcode(error), 0);
|
warn_user(messages_get_errorcode(error), 0);
|
||||||
} else {
|
} else {
|
||||||
browser_window_navigate(bw,
|
browser_window_navigate(bw, url, NULL,
|
||||||
url,
|
BW_NAVIGATE_HISTORY, NULL,
|
||||||
NULL,
|
NULL, NULL);
|
||||||
BW_NAVIGATE_HISTORY,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL);
|
|
||||||
nsurl_unref(url);
|
nsurl_unref(url);
|
||||||
}
|
}
|
||||||
free(urltxt);
|
free(urltxt);
|
||||||
@ -1403,7 +1399,7 @@ MULTIHANDLER(back)
|
|||||||
struct browser_window *bw =
|
struct browser_window *bw =
|
||||||
nsgtk_get_browser_window(g->top_level);
|
nsgtk_get_browser_window(g->top_level);
|
||||||
|
|
||||||
if ((bw == NULL) || (!history_back_available(bw->history)))
|
if ((bw == NULL) || (!browser_window_history_back_available(bw)))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
/* clear potential search effects */
|
/* clear potential search effects */
|
||||||
@ -1412,7 +1408,7 @@ MULTIHANDLER(back)
|
|||||||
nsgtk_search_set_forward_state(true, bw);
|
nsgtk_search_set_forward_state(true, bw);
|
||||||
nsgtk_search_set_back_state(true, bw);
|
nsgtk_search_set_back_state(true, bw);
|
||||||
|
|
||||||
history_back(bw->history, false);
|
browser_window_history_back(bw, false);
|
||||||
nsgtk_window_update_back_forward(g);
|
nsgtk_window_update_back_forward(g);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -1423,7 +1419,7 @@ MULTIHANDLER(forward)
|
|||||||
struct browser_window *bw =
|
struct browser_window *bw =
|
||||||
nsgtk_get_browser_window(g->top_level);
|
nsgtk_get_browser_window(g->top_level);
|
||||||
|
|
||||||
if ((bw == NULL) || (!history_forward_available(bw->history)))
|
if ((bw == NULL) || (!browser_window_history_forward_available(bw)))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
/* clear potential search effects */
|
/* clear potential search effects */
|
||||||
@ -1432,7 +1428,7 @@ MULTIHANDLER(forward)
|
|||||||
nsgtk_search_set_forward_state(true, bw);
|
nsgtk_search_set_forward_state(true, bw);
|
||||||
nsgtk_search_set_back_state(true, bw);
|
nsgtk_search_set_back_state(true, bw);
|
||||||
|
|
||||||
history_forward(bw->history, false);
|
browser_window_history_forward(bw, false);
|
||||||
nsgtk_window_update_back_forward(g);
|
nsgtk_window_update_back_forward(g);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -1474,7 +1470,7 @@ MULTIHANDLER(localhistory)
|
|||||||
/* if entries of the same url but different frag_ids have been added
|
/* if entries of the same url but different frag_ids have been added
|
||||||
* the history needs redrawing (what throbber code normally does)
|
* the history needs redrawing (what throbber code normally does)
|
||||||
*/
|
*/
|
||||||
history_size(bw->history, &width, &height);
|
browser_window_history_size(bw, &width, &height);
|
||||||
nsgtk_window_update_back_forward(g);
|
nsgtk_window_update_back_forward(g);
|
||||||
gtk_window_get_position(g->window, &x, &y);
|
gtk_window_get_position(g->window, &x, &y);
|
||||||
gtk_window_get_size(g->window, &mainwidth, &mainheight);
|
gtk_window_get_size(g->window, &mainwidth, &mainheight);
|
||||||
@ -1674,7 +1670,7 @@ nsgtk_history_draw_event(GtkWidget *widget, cairo_t *cr, gpointer data)
|
|||||||
|
|
||||||
ctx.plot->clip(&clip);
|
ctx.plot->clip(&clip);
|
||||||
|
|
||||||
history_redraw(bw->history, &ctx);
|
browser_window_history_redraw(bw, &ctx);
|
||||||
|
|
||||||
current_widget = NULL;
|
current_widget = NULL;
|
||||||
|
|
||||||
@ -1707,7 +1703,7 @@ nsgtk_history_draw_event(GtkWidget *widget, GdkEventExpose *event, gpointer g)
|
|||||||
clip.y1 = event->area.y + event->area.height;
|
clip.y1 = event->area.y + event->area.height;
|
||||||
ctx.plot->clip(&clip);
|
ctx.plot->clip(&clip);
|
||||||
|
|
||||||
history_redraw(bw->history, &ctx);
|
browser_window_history_redraw(bw, &ctx);
|
||||||
|
|
||||||
cairo_destroy(current_cr);
|
cairo_destroy(current_cr);
|
||||||
|
|
||||||
@ -1727,7 +1723,7 @@ static gboolean nsgtk_history_button_press_event(GtkWidget *widget,
|
|||||||
|
|
||||||
LOG(("X=%g, Y=%g", event->x, event->y));
|
LOG(("X=%g, Y=%g", event->x, event->y));
|
||||||
|
|
||||||
history_click(bw->history, event->x, event->y, false);
|
browser_window_history_click(bw, event->x, event->y, false);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -169,8 +169,7 @@ void gui_create_form_select_menu(struct browser_window *bw, struct form_control
|
|||||||
|
|
||||||
/* in history.c */
|
/* in history.c */
|
||||||
void ro_gui_history_init(void);
|
void ro_gui_history_init(void);
|
||||||
void ro_gui_history_open(struct browser_window *bw, struct history *history,
|
void ro_gui_history_open(struct gui_window *g, bool pointer);
|
||||||
bool pointer);
|
|
||||||
|
|
||||||
/* in filetype.c */
|
/* in filetype.c */
|
||||||
const char *fetch_filetype(const char *unix_path);
|
const char *fetch_filetype(const char *unix_path);
|
||||||
|
@ -27,10 +27,9 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "oslib/wimp.h"
|
#include "oslib/wimp.h"
|
||||||
#include "desktop/local_history.h"
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/plotters.h"
|
#include "desktop/plotters.h"
|
||||||
#include "riscos/dialog.h"
|
#include "riscos/dialog.h"
|
||||||
#include "desktop/browser_private.h"
|
|
||||||
#include "utils/nsoption.h"
|
#include "utils/nsoption.h"
|
||||||
#include "riscos/gui.h"
|
#include "riscos/gui.h"
|
||||||
#include "riscos/mouse.h"
|
#include "riscos/mouse.h"
|
||||||
@ -43,7 +42,6 @@
|
|||||||
|
|
||||||
|
|
||||||
static struct browser_window *history_bw;
|
static struct browser_window *history_bw;
|
||||||
static struct history *history_current = 0;
|
|
||||||
/* Last position of mouse in window. */
|
/* Last position of mouse in window. */
|
||||||
static int mouse_x = 0;
|
static int mouse_x = 0;
|
||||||
/* Last position of mouse in window. */
|
/* Last position of mouse in window. */
|
||||||
@ -82,20 +80,20 @@ void ro_gui_history_init(void)
|
|||||||
* \param at_pointer open the window at the pointer
|
* \param at_pointer open the window at the pointer
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void ro_gui_history_open(struct browser_window *bw,
|
void ro_gui_history_open(struct gui_window *g, bool at_pointer)
|
||||||
struct history *history, bool at_pointer)
|
|
||||||
{
|
{
|
||||||
|
struct browser_window *bw;
|
||||||
int width, height;
|
int width, height;
|
||||||
os_box box = {0, 0, 0, 0};
|
os_box box = {0, 0, 0, 0};
|
||||||
wimp_window_state state;
|
wimp_window_state state;
|
||||||
os_error *error;
|
os_error *error;
|
||||||
|
|
||||||
assert(history);
|
assert(g != NULL);
|
||||||
|
assert(g->bw != NULL);
|
||||||
history_current = history;
|
bw = g->bw;
|
||||||
history_bw = bw;
|
history_bw = bw;
|
||||||
|
|
||||||
history_size(history, &width, &height);
|
browser_window_history_size(bw, &width, &height);
|
||||||
width *= 2;
|
width *= 2;
|
||||||
height *= 2;
|
height *= 2;
|
||||||
|
|
||||||
@ -132,8 +130,7 @@ void ro_gui_history_open(struct browser_window *bw,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ro_gui_dialog_open_persistent(bw->window->window, history_window,
|
ro_gui_dialog_open_persistent(g->window, history_window, at_pointer);
|
||||||
at_pointer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -161,7 +158,7 @@ void ro_gui_history_redraw(wimp_draw *redraw)
|
|||||||
while (more) {
|
while (more) {
|
||||||
ro_plot_origin_x = redraw->box.x0 - redraw->xscroll;
|
ro_plot_origin_x = redraw->box.x0 - redraw->xscroll;
|
||||||
ro_plot_origin_y = redraw->box.y1 - redraw->yscroll;
|
ro_plot_origin_y = redraw->box.y1 - redraw->yscroll;
|
||||||
history_redraw(history_current, &ctx);
|
browser_window_history_redraw(history_bw, &ctx);
|
||||||
error = xwimp_get_rectangle(redraw, &more);
|
error = xwimp_get_rectangle(redraw, &more);
|
||||||
if (error) {
|
if (error) {
|
||||||
LOG(("xwimp_get_rectangle: 0x%x: %s",
|
LOG(("xwimp_get_rectangle: 0x%x: %s",
|
||||||
@ -237,7 +234,7 @@ void ro_gui_history_mouse_at(wimp_pointer *pointer, void *data)
|
|||||||
|
|
||||||
x = (pointer->pos.x - (state.visible.x0 - state.xscroll)) / 2;
|
x = (pointer->pos.x - (state.visible.x0 - state.xscroll)) / 2;
|
||||||
y = -(pointer->pos.y - (state.visible.y1 - state.yscroll)) / 2;
|
y = -(pointer->pos.y - (state.visible.y1 - state.yscroll)) / 2;
|
||||||
url = history_position_url(history_current, x, y);
|
url = browser_window_history_position_url(history_bw, x, y);
|
||||||
if (!url) {
|
if (!url) {
|
||||||
/* not over a tree entry => close tooltip window. */
|
/* not over a tree entry => close tooltip window. */
|
||||||
error = xwimp_close_window(dialog_tooltip);
|
error = xwimp_close_window(dialog_tooltip);
|
||||||
@ -348,7 +345,7 @@ bool ro_gui_history_click(wimp_pointer *pointer)
|
|||||||
|
|
||||||
x = (pointer->pos.x - (state.visible.x0 - state.xscroll)) / 2;
|
x = (pointer->pos.x - (state.visible.x0 - state.xscroll)) / 2;
|
||||||
y = -(pointer->pos.y - (state.visible.y1 - state.yscroll)) / 2;
|
y = -(pointer->pos.y - (state.visible.y1 - state.yscroll)) / 2;
|
||||||
history_click(history_current, x, y,
|
browser_window_history_click(history_bw, x, y,
|
||||||
pointer->buttons == wimp_CLICK_ADJUST);
|
pointer->buttons == wimp_CLICK_ADJUST);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -43,7 +43,6 @@
|
|||||||
#include "desktop/cookie_manager.h"
|
#include "desktop/cookie_manager.h"
|
||||||
#include "desktop/browser.h"
|
#include "desktop/browser.h"
|
||||||
#include "desktop/gui.h"
|
#include "desktop/gui.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/netsurf.h"
|
#include "desktop/netsurf.h"
|
||||||
#include "desktop/textinput.h"
|
#include "desktop/textinput.h"
|
||||||
|
|
||||||
|
@ -53,11 +53,11 @@
|
|||||||
#include "content/hlcache.h"
|
#include "content/hlcache.h"
|
||||||
#include "content/urldb.h"
|
#include "content/urldb.h"
|
||||||
#include "css/css.h"
|
#include "css/css.h"
|
||||||
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_private.h"
|
||||||
#include "desktop/cookie_manager.h"
|
#include "desktop/cookie_manager.h"
|
||||||
#include "desktop/scrollbar.h"
|
#include "desktop/scrollbar.h"
|
||||||
#include "desktop/frames.h"
|
#include "desktop/frames.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/mouse.h"
|
#include "desktop/mouse.h"
|
||||||
#include "desktop/plotters.h"
|
#include "desktop/plotters.h"
|
||||||
#include "desktop/textinput.h"
|
#include "desktop/textinput.h"
|
||||||
@ -2404,9 +2404,9 @@ bool ro_gui_window_menu_prepare(wimp_w w, wimp_i i, wimp_menu *menu,
|
|||||||
ro_gui_menu_set_entry_shaded(menu, HOTLIST_ADD_URL, h == NULL);
|
ro_gui_menu_set_entry_shaded(menu, HOTLIST_ADD_URL, h == NULL);
|
||||||
|
|
||||||
ro_gui_menu_set_entry_shaded(menu, HISTORY_SHOW_LOCAL,
|
ro_gui_menu_set_entry_shaded(menu, HISTORY_SHOW_LOCAL,
|
||||||
(bw == NULL || (bw->history == NULL) ||
|
(bw == NULL ||
|
||||||
!(h != NULL || history_back_available(bw->history) ||
|
!(h != NULL || browser_window_back_available(bw) ||
|
||||||
history_forward_available(bw->history))));
|
browser_window_forward_available(bw))));
|
||||||
|
|
||||||
|
|
||||||
/* Help Submenu */
|
/* Help Submenu */
|
||||||
@ -2938,12 +2938,12 @@ bool ro_gui_window_menu_select(wimp_w w, wimp_i i, wimp_menu *menu,
|
|||||||
ro_gui_window_action_home(g);
|
ro_gui_window_action_home(g);
|
||||||
break;
|
break;
|
||||||
case BROWSER_NAVIGATE_BACK:
|
case BROWSER_NAVIGATE_BACK:
|
||||||
if (bw != NULL && bw->history != NULL)
|
if (bw != NULL)
|
||||||
history_back(bw->history, false);
|
browser_window_history_back(bw, false);
|
||||||
break;
|
break;
|
||||||
case BROWSER_NAVIGATE_FORWARD:
|
case BROWSER_NAVIGATE_FORWARD:
|
||||||
if (bw != NULL && bw->history != NULL)
|
if (bw != NULL)
|
||||||
history_forward(bw->history, false);
|
browser_window_history_forward(bw, false);
|
||||||
break;
|
break;
|
||||||
case BROWSER_NAVIGATE_UP:
|
case BROWSER_NAVIGATE_UP:
|
||||||
if (bw != NULL && h != NULL)
|
if (bw != NULL && h != NULL)
|
||||||
@ -3636,23 +3636,23 @@ void ro_gui_window_toolbar_click(void *data,
|
|||||||
|
|
||||||
switch (action.button) {
|
switch (action.button) {
|
||||||
case TOOLBAR_BUTTON_BACK:
|
case TOOLBAR_BUTTON_BACK:
|
||||||
if (g->bw != NULL && g->bw->history != NULL)
|
if (g->bw != NULL)
|
||||||
history_back(g->bw->history, false);
|
browser_window_history_back(g->bw, false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TOOLBAR_BUTTON_BACK_NEW:
|
case TOOLBAR_BUTTON_BACK_NEW:
|
||||||
if (g->bw != NULL && g->bw->history != NULL)
|
if (g->bw != NULL)
|
||||||
history_back(g->bw->history, true);
|
browser_window_history_back(g->bw, true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TOOLBAR_BUTTON_FORWARD:
|
case TOOLBAR_BUTTON_FORWARD:
|
||||||
if (g->bw != NULL && g->bw->history != NULL)
|
if (g->bw != NULL)
|
||||||
history_forward(g->bw->history, false);
|
browser_window_history_forward(g->bw, false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TOOLBAR_BUTTON_FORWARD_NEW:
|
case TOOLBAR_BUTTON_FORWARD_NEW:
|
||||||
if (g->bw != NULL && g->bw->history != NULL)
|
if (g->bw != NULL)
|
||||||
history_forward(g->bw->history, true);
|
browser_window_history_forward(g->bw, true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TOOLBAR_BUTTON_STOP:
|
case TOOLBAR_BUTTON_STOP:
|
||||||
@ -4127,7 +4127,7 @@ void ro_gui_window_action_new_window(struct gui_window *g)
|
|||||||
void ro_gui_window_action_local_history(struct gui_window *g)
|
void ro_gui_window_action_local_history(struct gui_window *g)
|
||||||
{
|
{
|
||||||
if (g != NULL && g->bw != NULL && g->bw->history != NULL)
|
if (g != NULL && g->bw != NULL && g->bw->history != NULL)
|
||||||
ro_gui_history_open(g->bw, g->bw->history, true);
|
ro_gui_history_open(g, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,8 +32,8 @@
|
|||||||
#include "content/urldb.h"
|
#include "content/urldb.h"
|
||||||
#include "content/fetch.h"
|
#include "content/fetch.h"
|
||||||
#include "css/utils.h"
|
#include "css/utils.h"
|
||||||
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_private.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/mouse.h"
|
#include "desktop/mouse.h"
|
||||||
#include "desktop/netsurf.h"
|
#include "desktop/netsurf.h"
|
||||||
#include "utils/nsoption.h"
|
#include "utils/nsoption.h"
|
||||||
@ -342,8 +342,8 @@ static void nsws_window_update_forward_back(struct gui_window *w)
|
|||||||
if (w->bw == NULL)
|
if (w->bw == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
bool forward = history_forward_available(w->bw->history);
|
bool forward = browser_window_history_forward_available(w->bw);
|
||||||
bool back = history_back_available(w->bw->history);
|
bool back = browser_window_history_back_available(w->bw);
|
||||||
|
|
||||||
if (w->mainmenu != NULL) {
|
if (w->mainmenu != NULL) {
|
||||||
EnableMenuItem(w->mainmenu, IDM_NAV_FORWARD,
|
EnableMenuItem(w->mainmenu, IDM_NAV_FORWARD,
|
||||||
@ -851,16 +851,16 @@ nsws_window_command(HWND hwnd,
|
|||||||
|
|
||||||
case IDM_NAV_BACK:
|
case IDM_NAV_BACK:
|
||||||
if ((gw->bw != NULL) &&
|
if ((gw->bw != NULL) &&
|
||||||
(history_back_available(gw->bw->history))) {
|
(browser_window_history_back_available(gw->bw))) {
|
||||||
history_back(gw->bw->history, false);
|
browser_window_history_back(gw->bw, false);
|
||||||
}
|
}
|
||||||
nsws_window_update_forward_back(gw);
|
nsws_window_update_forward_back(gw);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IDM_NAV_FORWARD:
|
case IDM_NAV_FORWARD:
|
||||||
if ((gw->bw != NULL) &&
|
if ((gw->bw != NULL) &&
|
||||||
(history_forward_available(gw->bw->history))) {
|
(browser_window_history_forward_available(gw->bw))) {
|
||||||
history_forward(gw->bw->history, false);
|
browser_window_history_forward(gw->bw, false);
|
||||||
}
|
}
|
||||||
nsws_window_update_forward_back(gw);
|
nsws_window_update_forward_back(gw);
|
||||||
break;
|
break;
|
||||||
|
@ -22,8 +22,7 @@
|
|||||||
#include <windowsx.h>
|
#include <windowsx.h>
|
||||||
#include <commctrl.h>
|
#include <commctrl.h>
|
||||||
|
|
||||||
#include "desktop/browser_private.h"
|
#include "desktop/browser_history.h"
|
||||||
#include "desktop/local_history.h"
|
|
||||||
#include "desktop/plotters.h"
|
#include "desktop/plotters.h"
|
||||||
#include "utils/utils.h"
|
#include "utils/utils.h"
|
||||||
#include "utils/log.h"
|
#include "utils/log.h"
|
||||||
@ -56,7 +55,7 @@ static void nsws_localhistory_scroll_check(struct nsws_localhistory *l, struct g
|
|||||||
if ((gw->bw == NULL) || (l->hwnd == NULL))
|
if ((gw->bw == NULL) || (l->hwnd == NULL))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
history_size(gw->bw->history, &(l->width), &(l->height));
|
browser_window_history_size(gw->bw, &(l->width), &(l->height));
|
||||||
|
|
||||||
si.cbSize = sizeof(si);
|
si.cbSize = sizeof(si);
|
||||||
si.fMask = SIF_ALL;
|
si.fMask = SIF_ALL;
|
||||||
@ -97,7 +96,7 @@ static void nsws_localhistory_up(struct nsws_localhistory *l, struct gui_window
|
|||||||
tmp_hdc = plot_hdc;
|
tmp_hdc = plot_hdc;
|
||||||
plot_hdc = GetDC(l->hwnd);
|
plot_hdc = GetDC(l->hwnd);
|
||||||
|
|
||||||
history_redraw(gw->bw->history, &ctx);
|
browser_window_history_redraw(gw->bw, &ctx);
|
||||||
|
|
||||||
ReleaseDC(l->hwnd, plot_hdc);
|
ReleaseDC(l->hwnd, plot_hdc);
|
||||||
|
|
||||||
@ -167,7 +166,7 @@ nsws_localhistory_event_callback(HWND hwnd, UINT msg,
|
|||||||
x = GET_X_LPARAM(lparam);
|
x = GET_X_LPARAM(lparam);
|
||||||
y = GET_Y_LPARAM(lparam);
|
y = GET_Y_LPARAM(lparam);
|
||||||
|
|
||||||
if (history_click(gw->bw->history,
|
if (browser_window_history_click(gw->bw,
|
||||||
gw->localhistory->hscroll + x,
|
gw->localhistory->hscroll + x,
|
||||||
gw->localhistory->vscroll + y,
|
gw->localhistory->vscroll + y,
|
||||||
false)) {
|
false)) {
|
||||||
@ -179,8 +178,6 @@ nsws_localhistory_event_callback(HWND hwnd, UINT msg,
|
|||||||
case WM_MOUSEMOVE:
|
case WM_MOUSEMOVE:
|
||||||
x = GET_X_LPARAM(lparam);
|
x = GET_X_LPARAM(lparam);
|
||||||
y = GET_Y_LPARAM(lparam);
|
y = GET_Y_LPARAM(lparam);
|
||||||
/* if (gw->bw != NULL)
|
|
||||||
history_hover(gw->bw->history, x, y, (void *)hwnd);*/
|
|
||||||
return DefWindowProc(hwnd, msg, wparam, lparam);
|
return DefWindowProc(hwnd, msg, wparam, lparam);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -286,7 +283,7 @@ nsws_localhistory_event_callback(HWND hwnd, UINT msg,
|
|||||||
tmp_hdc = plot_hdc;
|
tmp_hdc = plot_hdc;
|
||||||
plot_hdc = hdc;
|
plot_hdc = hdc;
|
||||||
|
|
||||||
history_redraw_rectangle(gw->bw->history,
|
browser_window_history_redraw_rectangle(gw->bw,
|
||||||
gw->localhistory->hscroll + ps.rcPaint.left,
|
gw->localhistory->hscroll + ps.rcPaint.left,
|
||||||
gw->localhistory->vscroll + ps.rcPaint.top,
|
gw->localhistory->vscroll + ps.rcPaint.top,
|
||||||
gw->localhistory->hscroll + (ps.rcPaint.right - ps.rcPaint.left),
|
gw->localhistory->hscroll + (ps.rcPaint.right - ps.rcPaint.left),
|
||||||
@ -346,8 +343,8 @@ struct nsws_localhistory *nsws_window_create_localhistory(struct gui_window *gw)
|
|||||||
localhistory->width = 0;
|
localhistory->width = 0;
|
||||||
localhistory->height = 0;
|
localhistory->height = 0;
|
||||||
|
|
||||||
if ((gw->bw != NULL) && (gw->bw->history != NULL)) {
|
if (gw->bw != NULL) {
|
||||||
history_size(gw->bw->history,
|
browser_window_history_size(gw->bw,
|
||||||
&(localhistory->width),
|
&(localhistory->width),
|
||||||
&(localhistory->height));
|
&(localhistory->height));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user