From a7e4092b0e4f3d30a21ee5a7982aecd5252a0822 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Sun, 05 Nov 2006 18:52:46 +0000 Subject: Created SugarDownloadManager and ClipboardService's wrapper. Show and hide the frame when adding an object to the clipboard. --- (limited to 'lib') diff --git a/lib/python/_sugar.defs b/lib/python/_sugar.defs index 5a31c91..6a42d96 100644 --- a/lib/python/_sugar.defs +++ b/lib/python/_sugar.defs @@ -35,11 +35,11 @@ (gtype-id "SUGAR_TYPE_PUSH_SCROLLER") ) -(define-object BrowserChandler +(define-object DownloadManager (in-module "Sugar") (parent "GObject") - (c-name "SugarBrowserChandler") - (gtype-id "SUGAR_TYPE_BROWSER_CHANDLER") + (c-name "SugarDownloadManager") + (gtype-id "SUGAR_TYPE_DOWNLOAD_MANAGER") ) ;; Enumerations and flags ... @@ -181,14 +181,14 @@ ) ) -;; From sugar-browser-chandler.h +;; From sugar-download-manager.h -(define-function sugar_browser_chandler_get_type - (c-name "sugar_browser_chandler_get_type") +(define-function sugar_download_manager_get_type + (c-name "sugar_download_manager_get_type") (return-type "GType") ) -(define-function get_browser_chandler - (c-name "sugar_get_browser_chandler") - (return-type "SugarBrowserChandler*") +(define-function get_download_manager + (c-name "sugar_get_download_manager") + (return-type "SugarDownloadManager*") ) diff --git a/lib/python/_sugar.override b/lib/python/_sugar.override index 9d27bbe..f1f5cd7 100644 --- a/lib/python/_sugar.override +++ b/lib/python/_sugar.override @@ -9,7 +9,7 @@ headers #include "sugar-address-entry.h" #include "sugar-tray-manager.h" #include "sugar-push-scroller.h" -#include "sugar-browser-chandler.h" +#include "sugar-download-manager.h" %% modulename gecko diff --git a/lib/src/Makefile.am b/lib/src/Makefile.am index 0224885..7416f83 100644 --- a/lib/src/Makefile.am +++ b/lib/src/Makefile.am @@ -19,8 +19,8 @@ libsugarprivate_la_SOURCES = \ sugar-address-entry.c \ sugar-browser.h \ sugar-browser.cpp \ - sugar-browser-chandler.h \ - sugar-browser-chandler.c \ + sugar-download-manager.h \ + sugar-download-manager.c \ SugarContentHandler.h \ SugarContentHandler.cpp \ SugarDownload.h \ diff --git a/lib/src/SugarContentHandler.cpp b/lib/src/SugarContentHandler.cpp index b39b20b..de30aec 100644 --- a/lib/src/SugarContentHandler.cpp +++ b/lib/src/SugarContentHandler.cpp @@ -1,9 +1,6 @@ #include #include -#include "sugar-browser-chandler.h" -#include "SugarDownload.h" - #include "SugarContentHandler.h" GSugarContentHandler::GSugarContentHandler() diff --git a/lib/src/SugarDownload.cpp b/lib/src/SugarDownload.cpp index 62ca5ac..b087670 100644 --- a/lib/src/SugarDownload.cpp +++ b/lib/src/SugarDownload.cpp @@ -1,4 +1,4 @@ -#include "sugar-browser-chandler.h" +#include "sugar-download-manager.h" #include "SugarDownload.h" @@ -36,7 +36,7 @@ NS_IMETHODIMP GSugarDownload::OnStateChange (nsIWebProgress *aWebProgress, nsIRequest *aRequest, PRUint32 aStateFlags, nsresult aStatus) { - SugarBrowserChandler *browser_chandler = sugar_get_browser_chandler(); + SugarDownloadManager *download_manager = sugar_get_download_manager(); if (((aStateFlags & STATE_IS_REQUEST) && (aStateFlags & STATE_IS_NETWORK) && @@ -49,7 +49,7 @@ GSugarDownload::OnStateChange (nsIWebProgress *aWebProgress, nsIRequest *aReques mMIMEInfo->GetMIMEType(mimeType); mSource->GetSpec(url); - sugar_browser_chandler_download_started(browser_chandler, + sugar_download_manager_download_started(download_manager, url.get(), mimeType.get(), mTargetFileName.get()); @@ -60,10 +60,10 @@ GSugarDownload::OnStateChange (nsIWebProgress *aWebProgress, nsIRequest *aReques aStateFlags == STATE_STOP) { if (NS_SUCCEEDED (aStatus)) { - sugar_browser_chandler_download_completed(browser_chandler, + sugar_download_manager_download_completed(download_manager, mTargetFileName.get()); } else { - sugar_browser_chandler_download_cancelled(browser_chandler, + sugar_download_manager_download_cancelled(download_manager, mTargetFileName.get()); } } @@ -92,11 +92,11 @@ GSugarDownload::OnProgressChange64 (nsIWebProgress *aWebProgress, PRInt64 aCurTotalProgress, PRInt64 aMaxTotalProgress) { - SugarBrowserChandler *browser_chandler = sugar_get_browser_chandler(); + SugarDownloadManager *download_manager = sugar_get_download_manager(); PRInt32 percentComplete = (PRInt32)(((float)aCurSelfProgress / (float)aMaxSelfProgress) * 100.0); - sugar_browser_chandler_update_progress(browser_chandler, + sugar_download_manager_update_progress(download_manager, mTargetFileName.get(), percentComplete); diff --git a/lib/src/sugar-browser-chandler.h b/lib/src/sugar-browser-chandler.h deleted file mode 100644 index f851b70..0000000 --- a/lib/src/sugar-browser-chandler.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef __SUGAR_BROWSER_CHANDLER_H__ -#define __SUGAR_BROWSER_CHANDLER_H__ - -#include -#include - -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_download_started (SugarBrowserChandler *chandler, - const char *url, - const char *mime_type, - const char *tmp_file_name); -void sugar_browser_chandler_download_completed (SugarBrowserChandler *chandler, - const char *tmp_file_name); -void sugar_browser_chandler_download_cancelled (SugarBrowserChandler *chandler, - const char *tmp_file_name); -void sugar_browser_chandler_update_progress (SugarBrowserChandler *chandler, - const char *tmp_file_name, - const int percent); - -G_END_DECLS - -#endif diff --git a/lib/src/sugar-browser-chandler.c b/lib/src/sugar-download-manager.c index da6e9d0..c3ffcf2 100644 --- a/lib/src/sugar-browser-chandler.c +++ b/lib/src/sugar-download-manager.c @@ -1,5 +1,5 @@ #include "sugar-marshal.h" -#include "sugar-browser-chandler.h" +#include "sugar-download-manager.h" enum { DOWNLOAD_STARTED, @@ -10,23 +10,23 @@ enum { }; static guint signals[LAST_SIGNAL] = { 0 }; -G_DEFINE_TYPE(SugarBrowserChandler, sugar_browser_chandler, G_TYPE_OBJECT) +G_DEFINE_TYPE(SugarDownloadManager, sugar_download_manager, G_TYPE_OBJECT) -SugarBrowserChandler *browserChandler = NULL; +SugarDownloadManager *DownloadManager = NULL; static void -sugar_browser_chandler_init(SugarBrowserChandler *browserChandler) +sugar_download_manager_init(SugarDownloadManager *DownloadManager) { } static void -sugar_browser_chandler_class_init(SugarBrowserChandlerClass *browser_chandler_class) +sugar_download_manager_class_init(SugarDownloadManagerClass *download_manager_class) { signals[DOWNLOAD_STARTED] = g_signal_new ("download-started", - G_OBJECT_CLASS_TYPE (browser_chandler_class), + G_OBJECT_CLASS_TYPE (download_manager_class), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (SugarBrowserChandlerClass, handle_content), + G_STRUCT_OFFSET (SugarDownloadManagerClass, handle_content), NULL, NULL, sugar_marshal_VOID__STRING_STRING_STRING, G_TYPE_NONE, 3, @@ -36,9 +36,9 @@ sugar_browser_chandler_class_init(SugarBrowserChandlerClass *browser_chandler_cl signals[DOWNLOAD_COMPLETED] = g_signal_new ("download-completed", - G_OBJECT_CLASS_TYPE (browser_chandler_class), + G_OBJECT_CLASS_TYPE (download_manager_class), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (SugarBrowserChandlerClass, handle_content), + G_STRUCT_OFFSET (SugarDownloadManagerClass, handle_content), NULL, NULL, sugar_marshal_VOID__STRING, G_TYPE_NONE, 1, @@ -46,9 +46,9 @@ sugar_browser_chandler_class_init(SugarBrowserChandlerClass *browser_chandler_cl signals[DOWNLOAD_CANCELLED] = g_signal_new ("download-cancelled", - G_OBJECT_CLASS_TYPE (browser_chandler_class), + G_OBJECT_CLASS_TYPE (download_manager_class), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (SugarBrowserChandlerClass, handle_content), + G_STRUCT_OFFSET (SugarDownloadManagerClass, handle_content), NULL, NULL, sugar_marshal_VOID__STRING, G_TYPE_NONE, 1, @@ -56,9 +56,9 @@ sugar_browser_chandler_class_init(SugarBrowserChandlerClass *browser_chandler_cl signals[DOWNLOAD_PROGRESS] = g_signal_new ("download-progress", - G_OBJECT_CLASS_TYPE (browser_chandler_class), + G_OBJECT_CLASS_TYPE (download_manager_class), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (SugarBrowserChandlerClass, handle_content), + G_STRUCT_OFFSET (SugarDownloadManagerClass, handle_content), NULL, NULL, sugar_marshal_VOID__STRING_INT, G_TYPE_NONE, 2, @@ -66,22 +66,22 @@ sugar_browser_chandler_class_init(SugarBrowserChandlerClass *browser_chandler_cl G_TYPE_INT); } -SugarBrowserChandler * -sugar_get_browser_chandler() +SugarDownloadManager * +sugar_get_download_manager() { - if(browserChandler == NULL) - browserChandler = g_object_new(SUGAR_TYPE_BROWSER_CHANDLER, NULL); + if(DownloadManager == NULL) + DownloadManager = g_object_new(SUGAR_TYPE_DOWNLOAD_MANAGER, NULL); - return browserChandler; + return DownloadManager; } void -sugar_browser_chandler_download_started (SugarBrowserChandler *browser_chandler, +sugar_download_manager_download_started (SugarDownloadManager *download_manager, const char *url, const char *mime_type, const char *tmp_file_name) { - g_signal_emit(browser_chandler, + g_signal_emit(download_manager, signals[DOWNLOAD_STARTED], 0 /* details */, url, @@ -90,30 +90,30 @@ sugar_browser_chandler_download_started (SugarBrowserChandler *browser_chandler, } void -sugar_browser_chandler_download_completed (SugarBrowserChandler *browser_chandler, +sugar_download_manager_download_completed (SugarDownloadManager *download_manager, const char *tmp_file_name) { - g_signal_emit(browser_chandler, + g_signal_emit(download_manager, signals[DOWNLOAD_COMPLETED], 0 /* details */, tmp_file_name); } -void sugar_browser_chandler_download_cancelled (SugarBrowserChandler *browser_chandler, +void sugar_download_manager_download_cancelled (SugarDownloadManager *download_manager, const char *tmp_file_name) { - g_signal_emit(browser_chandler, + g_signal_emit(download_manager, signals[DOWNLOAD_CANCELLED], 0 /* details */, tmp_file_name); } void -sugar_browser_chandler_update_progress (SugarBrowserChandler *browser_chandler, +sugar_download_manager_update_progress (SugarDownloadManager *download_manager, const char *tmp_file_name, const int percent) { - g_signal_emit(browser_chandler, + g_signal_emit(download_manager, signals[DOWNLOAD_PROGRESS], 0 /* details */, tmp_file_name, diff --git a/lib/src/sugar-download-manager.h b/lib/src/sugar-download-manager.h new file mode 100644 index 0000000..2d112d8 --- /dev/null +++ b/lib/src/sugar-download-manager.h @@ -0,0 +1,55 @@ +#ifndef __SUGAR_DOWNLOAD_MANAGER_H__ +#define __SUGAR_DOWNLOAD_MANAGER_H__ + +#include +#include + +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 -- cgit v0.9.1