summaryrefslogtreecommitdiff
path: root/vcl/unx/gtk
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2013-02-15 13:41:11 +0000
committerBjörn Michaelsen <bjoern.michaelsen@canonical.com>2013-02-16 11:40:22 +0000
commitf27f13b8e8865f0e39fbb9489ed1c0b65857b90e (patch)
tree6ea4da9dc40faacc4723b26823f24fde5daa9016 /vcl/unx/gtk
parent1df9b405746bac58cabe8c5355c1c085b360a189 (diff)
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@canonical.com> Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Diffstat (limited to 'vcl/unx/gtk')
-rw-r--r--vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx b/vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx
index 931f197a9242..d062cda4a277 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 )