Reverting clipboard changes pushed by mistake. These are commits 23565cfd48 and a7e4092b0e.
This commit is contained in:
@@ -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*")
|
||||
)
|
||||
|
||||
@@ -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
@@ -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 \
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
@@ -1,5 +1,3 @@
|
||||
VOID:OBJECT,STRING,LONG,LONG
|
||||
VOID:OBJECT,LONG
|
||||
VOID:STRING,STRING,STRING
|
||||
VOID:STRING,INT
|
||||
VOID:STRING
|
||||
|
||||
Reference in New Issue
Block a user