summaryrefslogtreecommitdiff
path: root/fpicker
diff options
context:
space:
mode:
authorKevin Hunter <hunteke@earlham.edu>2011-02-24 14:23:10 -0500
committerCaolán McNamara <caolanm@redhat.com>2011-02-24 20:50:32 +0000
commita6f80efc530122c0ecc0d8414785769134032ed7 (patch)
treecd26731f85de724d272ff2e5715989ab96891008 /fpicker
parent83cfca7c9c0f3dee4966db2bebf7dcab9c48ff42 (diff)
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.cxx33
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 ),