]> git.saurik.com Git - wxWidgets.git/commitdiff
rewritten to use wxTheMimeTypesManager
authorVáclav Slavík <vslavik@fastmail.fm>
Wed, 19 Jan 2000 23:06:59 +0000 (23:06 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Wed, 19 Jan 2000 23:06:59 +0000 (23:06 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5539 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/filesys.h
src/common/filesys.cpp
src/generic/filedlgg.cpp

index a9b64d166724b44c4befbaa2de984dbcfdb0beed..30916ee6ef675248b9753be592f50c25d25046d6 100644 (file)
@@ -19,7 +19,6 @@
 #if (wxUSE_HTML || wxUSE_FS_INET || wxUSE_FS_ZIP) && wxUSE_STREAMS
 
 #include "wx/stream.h"
-#include "wx/mimetype.h"
 #include "wx/url.h"
 #include "wx/datetime.h"
 
@@ -128,17 +127,6 @@ class WXDLLEXPORT wxFileSystemHandler : public wxObject
         wxString GetMimeTypeFromExt(const wxString& location);
                 // Returns MIME type of the file - w/o need to open it
                 // (default behaviour is that it returns type based on extension)
-
-    public:
-        static void CleanUpStatics();
-            // deletes static members (m_MimeMng). It can be called
-        // as many times as you wish because m_MimeMng is created
-        // on demand
-
-    private:
-        static wxMimeTypesManager *m_MimeMng;
-                // MIME manager
-                // (it's static and thus shared by all instances and derived classes)
 };
 
 
index 159c29c6db40efe5dc09a66878e76a244b4e1ee6..d5a3bf6454a1b16cd49a1ae918a5034e632762c8 100644 (file)
 #include "wx/wfstream.h"
 #include "wx/module.h"
 #include "wx/filesys.h"
+#include "wx/mimetype.h"
+
+
+
 
 //--------------------------------------------------------------------------------
 // wxFileSystemHandler
 
 IMPLEMENT_ABSTRACT_CLASS(wxFileSystemHandler, wxObject)
 
-wxMimeTypesManager *wxFileSystemHandler::m_MimeMng = NULL;
-
-void wxFileSystemHandler::CleanUpStatics()
-{
-    if (m_MimeMng) delete m_MimeMng;
-    m_MimeMng = NULL;
-}
-
 
 wxString wxFileSystemHandler::GetMimeTypeFromExt(const wxString& location)
 {
@@ -58,9 +54,8 @@ wxString wxFileSystemHandler::GetMimeTypeFromExt(const wxString& location)
         if ((c == wxT('/')) || (c == wxT('\\')) || (c == wxT(':'))) {return wxEmptyString;}
     }
 
-    if (m_MimeMng == NULL) {
-        m_MimeMng = new wxMimeTypesManager;
-
+    static bool s_MinimalMimeEnsured = FALSE;
+    if (!s_MinimalMimeEnsured) {
         static const wxFileTypeInfo fallbacks[] =
         {
             wxFileTypeInfo("image/jpeg",
@@ -93,10 +88,10 @@ wxString wxFileSystemHandler::GetMimeTypeFromExt(const wxString& location)
             wxFileTypeInfo()
         };
 
-        m_MimeMng -> AddFallbacks(fallbacks);
+        wxTheMimeTypesManager -> AddFallbacks(fallbacks);
     }
 
-    ft = m_MimeMng -> GetFileTypeFromExtension(ext);
+    ft = wxTheMimeTypesManager -> GetFileTypeFromExtension(ext);
     if (ft && (ft -> GetMimeType(&mime))) {
         delete ft; 
         return mime;
@@ -412,7 +407,6 @@ class wxFileSystemModule : public wxModule
         }
         virtual void OnExit()
        {
-           wxFileSystemHandler::CleanUpStatics();
             wxFileSystem::CleanUpHandlers();
        }
 };
index ea76456652021c428679d7b8222ebd161dcdc53a..905f9d9bd900cb9205bf864bdf85ecfe179f92ff 100644 (file)
@@ -84,7 +84,6 @@ class wxFileIconsTable
     protected:        
         wxImageList m_ImageList;
         wxHashTable m_HashTable;
-        wxMimeTypesManager m_Mime;
 };
 
 static wxFileIconsTable *g_IconsTable = NULL;
@@ -95,8 +94,7 @@ static wxFileIconsTable *g_IconsTable = NULL;
 
 wxFileIconsTable::wxFileIconsTable() :
                     m_ImageList(16, 16),
-                    m_HashTable(wxKEY_STRING),
-                    m_Mime()
+                    m_HashTable(wxKEY_STRING)
 {
     m_HashTable.DeleteContents(TRUE);
     m_ImageList.Add(wxBitmap(folder_xpm));  // FI_FOLDER
@@ -172,8 +170,8 @@ int wxFileIconsTable::GetIconID(const wxString& extension, const wxString& mime)
     }
 
     wxFileType *ft = (mime.IsEmpty()) ? 
-                   m_Mime.GetFileTypeFromExtension(extension) :
-                   m_Mime.GetFileTypeFromMimeType(mime);
+                   wxTheMimeTypesManager -> GetFileTypeFromExtension(extension) :
+                   wxTheMimeTypesManager -> GetFileTypeFromMimeType(mime);
     wxIcon ic;
     if (ft == NULL || (!ft -> GetIcon(&ic)))
     {