|
From: CVS C. to T. <the...@li...> - 2011-01-09 17:48:46
|
Revision: 600
http://themis.svn.sourceforge.net/themis/?rev=600&view=rev
Author: mark_hellegers
Date: 2011-01-09 17:48:40 +0000 (Sun, 09 Jan 2011)
Log Message:
-----------
Moved sending the retrieve request from the SiteHandler to the window.
Modified Paths:
--------------
trunk/themis/framework/SiteHandler.cpp
trunk/themis/framework/SiteHandler.h
trunk/themis/framework/win.cpp
Modified: trunk/themis/framework/SiteHandler.cpp
===================================================================
--- trunk/themis/framework/SiteHandler.cpp 2011-01-09 16:23:31 UTC (rev 599)
+++ trunk/themis/framework/SiteHandler.cpp 2011-01-09 17:48:40 UTC (rev 600)
@@ -93,13 +93,13 @@
}
-SiteEntry * SiteHandler :: AddEntry(int32 aSiteID, const char * aUrl) {
-
- SiteEntry * entry = new SiteEntry(aSiteID, aUrl);
- fEntryList.push_back(entry);
+void SiteHandler :: AddEntry(SiteEntry * aEntry) {
- return entry;
-
+ fLocker->Lock();
+
+ fEntryList.push_back(aEntry);
+
+ fLocker->Unlock();
}
BBitmap * SiteHandler :: GetFavIconFor(int32 id) {
@@ -202,46 +202,9 @@
}
break;
}
- case SH_LOAD_NEW_PAGE:
- case SH_RELOAD_PAGE: {
- /* create a SiteEntry, and add it to fEntryList */
- int32 siteID;
- BString url;
- msg->FindInt32("site_id", &siteID);
- msg->FindString("url", &url);
-
- printf( "SiteHandler: adding following item: ID[%ld] URL[%s]\n", siteID, url.String() );
-
- SiteEntry * entry = AddEntry(siteID, url.String());
- /* Get an unique ID from the app */
- int32 urlID = ((App *)be_app)->GetNewID();
- UrlEntry * urlEntry = new UrlEntry(urlID, url.String());
- entry->addEntry(urlEntry);
-
- /*
- * Inform the protocol(s) to retrieve the site.
- * Remember, this is the workaround way, with an url_id > 0.
- */
-
- BMessage* retrieve = new BMessage(SH_RETRIEVE_START);
- retrieve->AddInt32("command", COMMAND_RETRIEVE);
- retrieve->AddInt32("site_id", siteID);
- retrieve->AddInt32("url_id", urlID);
- retrieve->AddString("url", url.String());
- if (msg->what == SH_RELOAD_PAGE)
- retrieve->AddBool("reload", true);
-
- Broadcast(MS_TARGET_PROTOCOL, retrieve);
- delete retrieve;
-
- break;
- }
}
break;
}
- case COMMAND_RETRIEVE: {
- break;
- }
}
return B_OK;
Modified: trunk/themis/framework/SiteHandler.h
===================================================================
--- trunk/themis/framework/SiteHandler.h 2011-01-09 16:23:31 UTC (rev 599)
+++ trunk/themis/framework/SiteHandler.h 2011-01-09 17:48:40 UTC (rev 600)
@@ -34,7 +34,7 @@
~SiteHandler();
SiteEntry * GetEntry(int32 id);
- SiteEntry * AddEntry(int32 aSiteID, const char * aUrl);
+ void AddEntry(SiteEntry * aEntry);
void BroadcastFinished();
uint32 BroadcastTarget();
status_t BroadcastReply(BMessage * msg);
Modified: trunk/themis/framework/win.cpp
===================================================================
--- trunk/themis/framework/win.cpp 2011-01-09 16:23:31 UTC (rev 599)
+++ trunk/themis/framework/win.cpp 2011-01-09 17:48:40 UTC (rev 600)
@@ -367,17 +367,24 @@
break;
uint32 selection = tabview->Selection();
- int32 site_id = ((App *)be_app)->GetNewID();
+ /* Get an unique ID from the app for the site entry*/
+ int32 siteId = ((App *)be_app)->GetNewID();
+ SiteEntry * siteEntry = new SiteEntry(siteId, url.String());
+ /* Get an unique ID from the app for the url entry */
+ int32 urlId = ((App *)be_app)->GetNewID();
+ UrlEntry * urlEntry = new UrlEntry(urlId, url.String());
+ siteEntry->addEntry(urlEntry);
+ ((App *)be_app)->GetSiteHandler()->AddEntry(siteEntry);
if (msg->HasInt32("tab_to_open_in")) {
int32 tab_index = msg->FindInt32("tab_to_open_in");
- ((ThemisTab *)tabview->TabAt(tab_index))->SetSiteID(site_id);
+ ((ThemisTab *)tabview->TabAt(tab_index))->SetSiteID(siteId);
// add history entry for tab
if (msg->HasBool("no_history_add") == false)
((ThemisTab *)tabview->TabAt(tab_index))->GetHistory()->AddEntry(url.String());
}
else {
- ((ThemisTab *)tabview->TabAt(selection))->SetSiteID(site_id);
+ ((ThemisTab *)tabview->TabAt(selection))->SetSiteID(siteId);
// add history entry for tab
if(msg->HasBool("no_history_add") == false)
((ThemisTab *)tabview->TabAt(selection))->GetHistory()->AddEntry(url.String());
@@ -395,19 +402,15 @@
// I don't want to destroy anything working right now. So let's just
// get something new in.
- BMessage * load = NULL;
- if (msg->what == URL_OPEN)
- load = new BMessage(SH_LOAD_NEW_PAGE);
- else
- load = new BMessage(SH_RELOAD_PAGE);
-
- load->AddInt32("command", COMMAND_INFO);
- load->AddInt32("site_id", site_id);
+ BMessage * load = new BMessage(SH_RETRIEVE_START);
+ load->AddInt32("command", COMMAND_RETRIEVE);
+ load->AddInt32("site_id", siteId);
+ load->AddInt32("url_id", urlId);
load->AddString("url", url.String());
+ if (msg->what != URL_OPEN)
+ load->AddBool("reload", true);
- /* We need to directly trigger the SiteHandler. Yap, bad. */
- ((App *)be_app)->GetSiteHandler()->ReceiveBroadcast(load);
-
+ Broadcast(MS_TARGET_PROTOCOL, load);
delete load;
/*
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|