]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/mimecmn.cpp
better attempts to try .utf-8 suffix
[wxWidgets.git] / src / common / mimecmn.cpp
index ec98e8097c923002cc62538dea22fb719b78640b..1510e92b2fabf6311bd493f55de7e48ecc1e35f2 100644 (file)
 
 #if wxUSE_MIMETYPE
 
-#ifndef WX_PRECOMP
-    #include "wx/module.h"
-#endif
-// this one is needed for MSVC5
-#include "wx/module.h"
-
 #ifndef WX_PRECOMP
   #include "wx/string.h"
 #endif //WX_PRECOMP
 
+#include "wx/module.h"
 #include "wx/log.h"
 #include "wx/file.h"
 #include "wx/iconloc.h"
@@ -285,6 +280,25 @@ bool wxFileType::GetIcon(wxIconLocation *iconLoc) const
     return m_impl->GetIcon(iconLoc);
 }
 
+bool
+wxFileType::GetIcon(wxIconLocation *iconloc,
+                    const MessageParameters& params) const
+{
+    if ( !GetIcon(iconloc) )
+    {
+        return false;
+    }
+
+    // we may have "%s" in the icon location string, at least under Windows, so
+    // expand this
+    if ( iconloc )
+    {
+        iconloc->SetFileName(ExpandCommand(iconloc->GetFileName(), params));
+    }
+
+    return true;
+}
+
 bool wxFileType::GetDescription(wxString *desc) const
 {
     wxCHECK_MSG( desc, FALSE, _T("invalid parameter in GetDescription") );
@@ -524,11 +538,11 @@ wxMimeTypesManager::GetFileTypeFromMimeType(const wxString& mimeType)
     EnsureImpl();
     wxFileType *ft = m_impl->GetFileTypeFromMimeType(mimeType);
 
-    if ( ft ) {
+    if ( !ft ) {
         // check the fallbacks
         //
-        // TODO linear search is potentially slow, perhaps we should use a sorted
-        //      array?
+        // TODO linear search is potentially slow, perhaps we should use a
+        //      sorted array?
         size_t count = m_fallbacks.GetCount();
         for ( size_t n = 0; n < count; n++ ) {
             if ( wxMimeTypesManager::IsOfType(mimeType,