Reverting clipboard changes pushed by mistake. These are commits 23565cfd48 and a7e4092b0e.

This commit is contained in:
Tomeu Vizoso
2006-11-10 14:14:15 +01:00
parent d958e20df7
commit 61f24de748
34 changed files with 138 additions and 780 deletions
+9 -9
View File
@@ -35,11 +35,11 @@
(gtype-id "SUGAR_TYPE_PUSH_SCROLLER")
)
(define-object DownloadManager
(define-object BrowserChandler
(in-module "Sugar")
(parent "GObject")
(c-name "SugarDownloadManager")
(gtype-id "SUGAR_TYPE_DOWNLOAD_MANAGER")
(c-name "SugarBrowserChandler")
(gtype-id "SUGAR_TYPE_BROWSER_CHANDLER")
)
;; Enumerations and flags ...
@@ -181,14 +181,14 @@
)
)
;; From sugar-download-manager.h
;; From sugar-browser-chandler.h
(define-function sugar_download_manager_get_type
(c-name "sugar_download_manager_get_type")
(define-function sugar_browser_chandler_get_type
(c-name "sugar_browser_chandler_get_type")
(return-type "GType")
)
(define-function get_download_manager
(c-name "sugar_get_download_manager")
(return-type "SugarDownloadManager*")
(define-function get_browser_chandler
(c-name "sugar_get_browser_chandler")
(return-type "SugarBrowserChandler*")
)
+1 -1
View File
@@ -9,7 +9,7 @@ headers
#include "sugar-address-entry.h"
#include "sugar-tray-manager.h"
#include "sugar-push-scroller.h"
#include "sugar-download-manager.h"
#include "sugar-browser-chandler.h"
%%
modulename gecko
+2 -2
View File
@@ -19,8 +19,8 @@ libsugarprivate_la_SOURCES = \
sugar-address-entry.c \
sugar-browser.h \
sugar-browser.cpp \
sugar-download-manager.h \
sugar-download-manager.c \
sugar-browser-chandler.h \
sugar-browser-chandler.c \
SugarContentHandler.h \
SugarContentHandler.cpp \
SugarDownload.h \
+3
View File
@@ -1,6 +1,9 @@
#include <nsCExternalHandlerService.h>
#include <nsIFile.h>
#include "sugar-browser-chandler.h"
#include "SugarDownload.h"
#include "SugarContentHandler.h"
GSugarContentHandler::GSugarContentHandler()
+17 -37
View File
@@ -1,4 +1,4 @@
#include "sugar-download-manager.h"
#include "sugar-browser-chandler.h"
#include "SugarDownload.h"
@@ -35,39 +35,27 @@ GSugarDownload::Init (nsIURI *aSource,
NS_IMETHODIMP
GSugarDownload::OnStateChange (nsIWebProgress *aWebProgress, nsIRequest *aRequest,
PRUint32 aStateFlags, nsresult aStatus)
{
SugarDownloadManager *download_manager = sugar_get_download_manager();
if (((aStateFlags & STATE_IS_REQUEST) &&
(aStateFlags & STATE_IS_NETWORK) &&
(aStateFlags & STATE_START)) ||
aStateFlags == STATE_START) {
{
nsCString url;
nsCString mimeType;
nsCString targetURI;
nsCString url;
nsCString mimeType;
if ((((aStateFlags & STATE_IS_REQUEST) &&
(aStateFlags & STATE_IS_NETWORK) &&
(aStateFlags & STATE_STOP)) ||
aStateFlags == STATE_STOP) &&
NS_SUCCEEDED (aStatus)) {
mMIMEInfo->GetMIMEType(mimeType);
mSource->GetSpec(url);
sugar_download_manager_download_started(download_manager,
url.get(),
mimeType.get(),
mTargetFileName.get());
} else if (((aStateFlags & STATE_IS_REQUEST) &&
(aStateFlags & STATE_IS_NETWORK) &&
(aStateFlags & STATE_STOP)) ||
aStateFlags == STATE_STOP) {
if (NS_SUCCEEDED (aStatus)) {
sugar_download_manager_download_completed(download_manager,
mTargetFileName.get());
} else {
sugar_download_manager_download_cancelled(download_manager,
mTargetFileName.get());
}
SugarBrowserChandler *browser_chandler = sugar_get_browser_chandler();
sugar_browser_chandler_handle_content(browser_chandler,
url.get(),
mimeType.get(),
mTargetFileName.get());
}
return NS_OK;
}
@@ -91,15 +79,7 @@ GSugarDownload::OnProgressChange64 (nsIWebProgress *aWebProgress,
PRInt64 aMaxSelfProgress,
PRInt64 aCurTotalProgress,
PRInt64 aMaxTotalProgress)
{
SugarDownloadManager *download_manager = sugar_get_download_manager();
PRInt32 percentComplete =
(PRInt32)(((float)aCurSelfProgress / (float)aMaxSelfProgress) * 100.0);
sugar_download_manager_update_progress(download_manager,
mTargetFileName.get(),
percentComplete);
{
return NS_OK;
}
+56
View File
@@ -0,0 +1,56 @@
#include "sugar-marshal.h"
#include "sugar-browser-chandler.h"
enum {
HANDLE_CONTENT,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL] = { 0 };
G_DEFINE_TYPE(SugarBrowserChandler, sugar_browser_chandler, G_TYPE_OBJECT)
SugarBrowserChandler *browserChandler = NULL;
static void
sugar_browser_chandler_init(SugarBrowserChandler *browserChandler)
{
}
static void
sugar_browser_chandler_class_init(SugarBrowserChandlerClass *browser_chandler_class)
{
signals[HANDLE_CONTENT] =
g_signal_new ("handle-content",
G_OBJECT_CLASS_TYPE (browser_chandler_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (SugarBrowserChandlerClass, handle_content),
NULL, NULL,
sugar_marshal_VOID__STRING_STRING_STRING,
G_TYPE_NONE, 3,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING);
}
SugarBrowserChandler *
sugar_get_browser_chandler()
{
if(browserChandler == NULL)
browserChandler = g_object_new(SUGAR_TYPE_BROWSER_CHANDLER, NULL);
return browserChandler;
}
void
sugar_browser_chandler_handle_content (SugarBrowserChandler *browser_chandler,
const char *url,
const char *mime_type,
const char *tmp_file_name)
{
g_signal_emit(browser_chandler,
signals[HANDLE_CONTENT],
0 /* details */,
url,
mime_type,
tmp_file_name);
}
+39
View File
@@ -0,0 +1,39 @@
#ifndef __SUGAR_BROWSER_CHANDLER_H__
#define __SUGAR_BROWSER_CHANDLER_H__
#include <glib-object.h>
#include <glib.h>
G_BEGIN_DECLS
typedef struct _SugarBrowserChandler SugarBrowserChandler;
typedef struct _SugarBrowserChandlerClass SugarBrowserChandlerClass;
#define SUGAR_TYPE_BROWSER_CHANDLER (sugar_browser_chandler_get_type())
#define SUGAR_BROWSER_CHANDLER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), SUGAR_TYPE_BROWSER_CHANDLER, SugarBrowserChandler))
#define SUGAR_BROWSER_CHANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SUGAR_TYPE_BROWSER_CHANDLER, SugarBrowserChandlerClass))
#define SUGAR_IS_BROWSER_CHANDLER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), SUGAR_TYPE_BROWSER_CHANDLER))
#define SUGAR_IS_BROWSER_CHANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SUGAR_TYPE_BROWSER_CHANDLER))
#define SUGAR_BROWSER_CHANDLER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), SUGAR_TYPE_BROWSER_CHANDLER, SugarBrowserChandlerClass))
struct _SugarBrowserChandler {
GObject base_instance;
};
struct _SugarBrowserChandlerClass {
GObjectClass base_class;
void (* handle_content) (char *url, char *tmp_file_name);
};
GType sugar_browser_chandler_get_type (void);
SugarBrowserChandler *sugar_get_browser_chandler (void);
void sugar_browser_chandler_handle_content (SugarBrowserChandler *chandler,
const char *url,
const char *mime_type,
const char *tmp_file_name);
G_END_DECLS
#endif
+1 -1
View File
@@ -78,7 +78,7 @@ sugar_browser_startup(void)
PR_TRUE, getter_AddRefs(file));
NS_ENSURE_TRUE(file, FALSE);
rv = prefService->ReadUserPrefs (file);
rv = prefService->ReadUserPrefs (file);
if (NS_FAILED(rv)) {
g_warning ("failed to read default preferences, error: %x", rv);
return FALSE;
-121
View File
@@ -1,121 +0,0 @@
#include "sugar-marshal.h"
#include "sugar-download-manager.h"
enum {
DOWNLOAD_STARTED,
DOWNLOAD_COMPLETED,
DOWNLOAD_CANCELLED,
DOWNLOAD_PROGRESS,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL] = { 0 };
G_DEFINE_TYPE(SugarDownloadManager, sugar_download_manager, G_TYPE_OBJECT)
SugarDownloadManager *DownloadManager = NULL;
static void
sugar_download_manager_init(SugarDownloadManager *DownloadManager)
{
}
static void
sugar_download_manager_class_init(SugarDownloadManagerClass *download_manager_class)
{
signals[DOWNLOAD_STARTED] =
g_signal_new ("download-started",
G_OBJECT_CLASS_TYPE (download_manager_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (SugarDownloadManagerClass, handle_content),
NULL, NULL,
sugar_marshal_VOID__STRING_STRING_STRING,
G_TYPE_NONE, 3,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING);
signals[DOWNLOAD_COMPLETED] =
g_signal_new ("download-completed",
G_OBJECT_CLASS_TYPE (download_manager_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (SugarDownloadManagerClass, handle_content),
NULL, NULL,
sugar_marshal_VOID__STRING,
G_TYPE_NONE, 1,
G_TYPE_STRING);
signals[DOWNLOAD_CANCELLED] =
g_signal_new ("download-cancelled",
G_OBJECT_CLASS_TYPE (download_manager_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (SugarDownloadManagerClass, handle_content),
NULL, NULL,
sugar_marshal_VOID__STRING,
G_TYPE_NONE, 1,
G_TYPE_STRING);
signals[DOWNLOAD_PROGRESS] =
g_signal_new ("download-progress",
G_OBJECT_CLASS_TYPE (download_manager_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (SugarDownloadManagerClass, handle_content),
NULL, NULL,
sugar_marshal_VOID__STRING_INT,
G_TYPE_NONE, 2,
G_TYPE_STRING,
G_TYPE_INT);
}
SugarDownloadManager *
sugar_get_download_manager()
{
if(DownloadManager == NULL)
DownloadManager = g_object_new(SUGAR_TYPE_DOWNLOAD_MANAGER, NULL);
return DownloadManager;
}
void
sugar_download_manager_download_started (SugarDownloadManager *download_manager,
const char *url,
const char *mime_type,
const char *tmp_file_name)
{
g_signal_emit(download_manager,
signals[DOWNLOAD_STARTED],
0 /* details */,
url,
mime_type,
tmp_file_name);
}
void
sugar_download_manager_download_completed (SugarDownloadManager *download_manager,
const char *tmp_file_name)
{
g_signal_emit(download_manager,
signals[DOWNLOAD_COMPLETED],
0 /* details */,
tmp_file_name);
}
void sugar_download_manager_download_cancelled (SugarDownloadManager *download_manager,
const char *tmp_file_name)
{
g_signal_emit(download_manager,
signals[DOWNLOAD_CANCELLED],
0 /* details */,
tmp_file_name);
}
void
sugar_download_manager_update_progress (SugarDownloadManager *download_manager,
const char *tmp_file_name,
const int percent)
{
g_signal_emit(download_manager,
signals[DOWNLOAD_PROGRESS],
0 /* details */,
tmp_file_name,
percent);
}
-55
View File
@@ -1,55 +0,0 @@
#ifndef __SUGAR_DOWNLOAD_MANAGER_H__
#define __SUGAR_DOWNLOAD_MANAGER_H__
#include <glib-object.h>
#include <glib.h>
G_BEGIN_DECLS
typedef struct _SugarDownloadManager SugarDownloadManager;
typedef struct _SugarDownloadManagerClass SugarDownloadManagerClass;
#define SUGAR_TYPE_DOWNLOAD_MANAGER (sugar_download_manager_get_type())
#define SUGAR_DOWNLOAD_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), SUGAR_TYPE_DOWNLOAD_MANAGER, SugarDownloadManager))
#define SUGAR_DOWNLOAD_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SUGAR_TYPE_DOWNLOAD_MANAGER, SugarDownloadManagerClass))
#define SUGAR_IS_DOWNLOAD_MANAGER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), SUGAR_TYPE_DOWNLOAD_MANAGER))
#define SUGAR_IS_DOWNLOAD_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SUGAR_TYPE_DOWNLOAD_MANAGER))
#define SUGAR_DOWNLOAD_MANAGER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), SUGAR_TYPE_DOWNLOAD_MANAGER, SugarDownloadManagerClass))
struct _SugarDownloadManager {
GObject base_instance;
};
struct _SugarDownloadManagerClass {
GObjectClass base_class;
void (* handle_content) (char *url, char *tmp_file_name);
};
GType sugar_download_manager_get_type(void);
SugarDownloadManager *sugar_get_download_manager(void);
void sugar_download_manager_download_started(
SugarDownloadManager *download_manager,
const char *url,
const char *mime_type,
const char *tmp_file_name);
void sugar_download_manager_download_completed(
SugarDownloadManager *download_manager,
const char *tmp_file_name);
void sugar_download_manager_download_cancelled(
SugarDownloadManager *download_manager,
const char *tmp_file_name);
void sugar_download_manager_update_progress(
SugarDownloadManager *download_manager,
const char *tmp_file_name,
const int percent);
G_END_DECLS
#endif
-2
View File
@@ -1,5 +1,3 @@
VOID:OBJECT,STRING,LONG,LONG
VOID:OBJECT,LONG
VOID:STRING,STRING,STRING
VOID:STRING,INT
VOID:STRING