]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/mimetype.cpp
Fixed some problems in converting existing static libs into DLLs.
[wxWidgets.git] / src / unix / mimetype.cpp
index 50b119f15846a254d089d6c848c05d482fc73859..367879ce18cf50508bf393e97f2a5d9cdeb4bc4f 100644 (file)
@@ -776,7 +776,13 @@ void wxMimeTypesManagerImpl::LoadGnomeMimeFilesFromDir(
     wxString strDesc;
     
     if ( !wxDir::Exists(dirname) )
-        return;
+    {
+        // Jst test for default GPE dir also
+        dirname = wxT("/usr/share/gpe/pixmaps/default/filemanager/document-icons");
+        
+        if ( !wxDir::Exists(dirname) )
+           return;
+    }
 
     wxDir dir2( dirname );
 
@@ -1063,7 +1069,8 @@ void wxMimeTypesManagerImpl::LoadKDELinksForMimeSubtype(const wxString& dirbase,
                 size_t nDir, nDirs = icondirs.GetCount();
                 for ( nDir = 0; nDir < nDirs; nDir++ )
                 {
-                    wxFileName fname( icondirs[nDir], strIcon );
+                    wxFileName fnameIcon( strIcon );
+                    wxFileName fname( icondirs[nDir], fnameIcon.GetName() );
                     fname.SetExt( wxT("png") );
                     if (fname.FileExists())
                     {
@@ -1204,39 +1211,39 @@ void wxMimeTypesManagerImpl::GetKDEMimeInfo(const wxString& sExtraDir)
         }
         
         configFile.SetName( wxEmptyString );
+        configFile.AppendDir( wxT("32x32") );
+        configFile.AppendDir( wxT("mimetypes") );
         
         // Just try a few likely icons theme names
-
+        
+        int pos = configFile.GetDirCount()-3;
+        
         if (!wxDir::Exists(configFile.GetPath()))
         {
-            configFile.RemoveDir( configFile.GetDirCount()-1 );
-            configFile.AppendDir( wxT("default.kde") );
+            configFile.RemoveDir( pos );
+            configFile.InsertDir( pos, wxT("default.kde") );
         }
         
         if (!wxDir::Exists(configFile.GetPath()))
         {
-            configFile.RemoveDir( configFile.GetDirCount()-1 );
-            configFile.AppendDir( wxT("default") );
+            configFile.RemoveDir( pos );
+            configFile.InsertDir( pos, wxT("default") );
         }
         
         if (!wxDir::Exists(configFile.GetPath()))
         {
-            configFile.RemoveDir( configFile.GetDirCount()-1 );
-            configFile.AppendDir( wxT("crystalsvg") );
+            configFile.RemoveDir( pos );
+            configFile.InsertDir( pos, wxT("crystalsvg") );
         }
         
         if (!wxDir::Exists(configFile.GetPath()))
         {
-            configFile.RemoveDir( configFile.GetDirCount()-1 );
-            configFile.AppendDir( wxT("crystal") );
+            configFile.RemoveDir( pos );
+            configFile.InsertDir( pos, wxT("crystal") );
         }
         
         if (wxDir::Exists(configFile.GetPath()))
-        {
-            configFile.AppendDir( wxT("32x32") );
-            configFile.AppendDir( wxT("mimetypes") );
             icondirs.Add( configFile.GetFullPath() );
-        }
     }
 
     // settings in ~/.kde have maximal priority