[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - vcl/unx

Caolán McNamara caolanm at redhat.com
Sat Feb 16 03:40:42 PST 2013


 vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx |   13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

New commits:
commit f27f13b8e8865f0e39fbb9489ed1c0b65857b90e
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Feb 15 13:41:11 2013 +0000

    Resolves: rhbz#910176 cannot select directory with gnome folder picker
    
    << gtk documentation
    gtk_file_chooser_get_current_folder_uri ()
    
    Gets the current folder of chooser as an URI.
    
    Note that this is the folder that the file chooser is currently displaying ...
    which is not the same as the currently-selected folder if the chooser is in
    GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER mode ... to get the currently-selected
    folder in that mode, use gtk_file_chooser_get_uri() as the usual way to get the
    selection.
    >>
    
    << offapi documentation
    XFolderPicker
    
    getDisplayDirectory:
        Returns the root directory that the FolderPicker is showing.
    getDirectory
        Returns the selected directory
    >>
    
    so  getDisplayDirectory <-> gtk_file_chooser_get_current_folder_uri
    and getDirectory <-> gtk_file_chooser_get_uri
    
    Change-Id: Iaa5ab16a250cd59fe5e8bd02149298eef6d1dec2
    (cherry picked from commit 914de32b27c7fe164b21f9247275ee3117c0864b)
    Reviewed-on: https://gerrit.libreoffice.org/2170
    Reviewed-by: Björn Michaelsen <bjoern.michaelsen at canonical.com>
    Tested-by: Björn Michaelsen <bjoern.michaelsen at canonical.com>

diff --git a/vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx b/vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx
index 931f197..d062cda 100644
--- a/vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx
+++ b/vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx
@@ -95,7 +95,7 @@ rtl::OUString SAL_CALL SalGtkFolderPicker::getDisplayDirectory() throw( uno::Run
 
     gchar* pCurrentFolder =
         gtk_file_chooser_get_current_folder_uri( GTK_FILE_CHOOSER( m_pDialog ) );
-    ::rtl::OUString aCurrentFolderName = uritounicode(pCurrentFolder);
+    OUString aCurrentFolderName = uritounicode(pCurrentFolder);
     g_free( pCurrentFolder );
 
     return aCurrentFolderName;
@@ -103,7 +103,16 @@ rtl::OUString SAL_CALL SalGtkFolderPicker::getDisplayDirectory() throw( uno::Run
 
 rtl::OUString SAL_CALL SalGtkFolderPicker::getDirectory() throw( uno::RuntimeException )
 {
-    return getDisplayDirectory();
+    SolarMutexGuard g;
+
+    OSL_ASSERT( m_pDialog != NULL );
+
+    gchar* pSelectedFolder =
+        gtk_file_chooser_get_uri( GTK_FILE_CHOOSER( m_pDialog ) );
+    OUString aSelectedFolderName = uritounicode(pSelectedFolder);
+    g_free( pSelectedFolder );
+
+    return aSelectedFolderName;
 }
 
 void SAL_CALL SalGtkFolderPicker::setDescription( const rtl::OUString& rDescription )


More information about the Libreoffice-commits mailing list