diff options
author | Kevin Hunter <hunteke@earlham.edu> | 2011-02-24 14:23:10 -0500 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2011-02-24 20:50:32 +0000 |
commit | a6f80efc530122c0ecc0d8414785769134032ed7 (patch) | |
tree | cd26731f85de724d272ff2e5715989ab96891008 /fpicker | |
parent | remove empty TESTSHL2LIB (diff) | |
download | core-a6f80efc530122c0ecc0d8414785769134032ed7.tar.gz core-a6f80efc530122c0ecc0d8414785769134032ed7.zip |
Fix GTK dialog replacement of $filename$
When using GTK dialogs on a *nix system, the dialog box was displaying
"Overwrite '$filename$'?" instead of replacing '$filename$' with an
actual file name. This ammends that to be in league with out the
"native" LibreOffice dialogs do it.
Diffstat (limited to 'fpicker')
-rw-r--r-- | fpicker/source/unx/gnome/SalGtkFilePicker.cxx | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/fpicker/source/unx/gnome/SalGtkFilePicker.cxx b/fpicker/source/unx/gnome/SalGtkFilePicker.cxx index 485f968ab1cb..6bd16bfbb567 100644 --- a/fpicker/source/unx/gnome/SalGtkFilePicker.cxx +++ b/fpicker/source/unx/gnome/SalGtkFilePicker.cxx @@ -51,6 +51,7 @@ #include <SalGtkFilePicker.hxx> #include <tools/string.hxx> +#include <tools/urlobj.hxx> #include <algorithm> #include <set> @@ -1002,13 +1003,39 @@ sal_Int16 SAL_CALL SalGtkFilePicker::execute() throw( uno::RuntimeException ) CResourceProvider aResProvider; GtkWidget *dlg; + + INetURLObject aFileObj( sFileName ); + + OString baseName( + OUStringToOString( + aFileObj.getName( + INetURLObject::LAST_SEGMENT, + true, + INetURLObject::DECODE_WITH_CHARSET + ), + RTL_TEXTENCODING_UTF8 + ) + ); + OString aMsg( + OUStringToOString( + aResProvider.getResString( FILE_PICKER_OVERWRITE ), + RTL_TEXTENCODING_UTF8 + ) + ); + OString toReplace( RTL_CONSTASCII_STRINGPARAM( "$filename$" )); + + aMsg = aMsg.replaceAt( + aMsg.indexOf( toReplace ), + toReplace.getLength(), + baseName + ); + dlg = gtk_message_dialog_new( NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, - OUStringToOString( - aResProvider.getResString( FILE_PICKER_OVERWRITE ), - RTL_TEXTENCODING_UTF8 ).getStr() ); + aMsg.getStr() + ); gtk_window_set_title( GTK_WINDOW( dlg ), OUStringToOString(aResProvider.getResString(FILE_PICKER_TITLE_SAVE ), |