Index: shell/source/backends/gconfbe/gconfbackend.cxx
===================================================================
RCS file: /cvs/gsl/shell/source/backends/gconfbe/gconfbackend.cxx,v
retrieving revision 1.7
diff -u -p -u -r1.7 gconfbackend.cxx
--- shell/source/backends/gconfbe/gconfbackend.cxx	22 Mar 2006 09:33:42 -0000	1.7
+++ shell/source/backends/gconfbe/gconfbackend.cxx	31 Jul 2006 11:53:50 -0000
@@ -266,7 +267,24 @@ static const ConfigurationValue CommonCo
         sal_True,
         SETTING_WORK_DIRECTORY, // so that the existence of the dir can be checked
     },
-
+	{
+		SETTING_SOURCEVIEWFONT_NAME,
+        "/desktop/gnome/interface/monospace_font_name",
+        "org.openoffice.Office.Common/Font/SourceViewFont/FontName",
+        "string",
+        sal_False,
+        sal_True,
+		SETTINGS_LAST
+	},
+	{
+		SETTING_SOURCEVIEWFONT_HEIGHT,
+        "/desktop/gnome/interface/monospace_font_name",
+        "org.openoffice.Office.Common/Font/SourceViewFont/FontHeight",
+        "short",
+        sal_False,
+        sal_True,
+		SETTINGS_LAST
+	},
 #ifdef ENABLE_LOCKDOWN
 
     {


Index: shell/source/backends/gconfbe/gconflayer.cxx
===================================================================
RCS file: /cvs/gsl/shell/source/backends/gconfbe/gconflayer.cxx,v
retrieving revision 1.6
diff -u -p -u -r1.6 gconflayer.cxx
--- shell/source/backends/gconfbe/gconflayer.cxx	22 Mar 2006 09:37:16 -0000	1.6
+++ shell/source/backends/gconfbe/gconflayer.cxx	31 Jul 2006 11:53:50 -0000
@@ -83,6 +83,22 @@ uno::Any makeAnyOfGconfValue( GConfValue
 
 //------------------------------------------------------------------------------
 
+static void splitFontName( GConfValue *aGconfValue, rtl::OUString &rName, sal_Int16 &rHeight)
+{
+       rtl::OString aFont( gconf_value_get_string( aGconfValue ) );
+       aFont.trim();
+       sal_Int32 nIdx = aFont.lastIndexOf( ' ' );
+       if (nIdx < 1) { // urk
+                       rHeight = 12;
+                       nIdx = aFont.getLength();
+       } else {
+               rtl::OString aSize = aFont.copy( nIdx + 1 );
+               rHeight = static_cast<sal_Int16>( aSize.toInt32() );
+       }
+
+       rName = rtl::OStringToOUString( aFont.copy( 0, nIdx ), RTL_TEXTENCODING_UTF8 );
+}
+
 uno::Any translateToOOo( const ConfigurationValue aValue, GConfValue *aGconfValue )
 {
     switch( aValue.nSettingId )
@@ -141,7 +157,21 @@ uno::Any translateToOOo( const Configura
             if ( aSecurity.getHomeDir( aDocumentsDirURL ) )
                 aDocumentsDirURL += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/Documents" ) );
             return uno::makeAny( aDocumentsDirURL );
-        }
+        } // foo
+
+               case SETTING_SOURCEVIEWFONT_NAME:
+               case SETTING_SOURCEVIEWFONT_HEIGHT:
+               {
+                       rtl::OUString aName;
+                       sal_Int16 nHeight;
+
+                       splitFontName (aGconfValue, aName, nHeight);
+                       if (aValue.nSettingId == SETTING_SOURCEVIEWFONT_NAME)
+                               return uno::makeAny( aName );
+                       else
+                               return uno::makeAny( nHeight );
+                       break;
+               }
 
         case SETTING_USER_GIVENNAME:
         {




Index: shell/source/backends/gconfbe/gconflayer.hxx
===================================================================
RCS file: /cvs/gsl/shell/source/backends/gconfbe/gconflayer.hxx,v
retrieving revision 1.5
diff -u -p -u -r1.5 gconflayer.hxx
--- shell/source/backends/gconfbe/gconflayer.hxx	22 Mar 2006 09:37:42 -0000	1.5
+++ shell/source/backends/gconfbe/gconflayer.hxx	31 Jul 2006 11:53:50 -0000
@@ -38,6 +38,8 @@ enum ConfigurationSetting
     SETTING_ENABLE_ACCESSIBILITY,
     SETTING_MAILER_PROGRAM,
     SETTING_WORK_DIRECTORY,
+	SETTING_SOURCEVIEWFONT_NAME,
+	SETTING_SOURCEVIEWFONT_HEIGHT,
     SETTING_USER_GIVENNAME,
     SETTING_USER_SURNAME,
 
