diff options
author | Caolán McNamara <caolanm@redhat.com> | 2013-07-12 20:34:27 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-07-12 20:35:42 +0100 |
commit | 466545933a70716cb1ca132f7e61cc12c60acbb1 (patch) | |
tree | a174475a5ce11129ab197811fce47e4d6eec7a91 /vcl/unx/gtk | |
parent | 2cca46d54846b0cd7769b9287f17632a4258256d (diff) |
set primary and secondary text on the gtk overwrite querybox
Change-Id: Ie671ddaba0e749dd0714de589fbaa45d914ba5c9
Diffstat (limited to 'vcl/unx/gtk')
-rw-r--r-- | vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx | 38 | ||||
-rw-r--r-- | vcl/unx/gtk/fpicker/SalGtkPicker.hxx | 15 | ||||
-rw-r--r-- | vcl/unx/gtk/fpicker/resourceprovider.cxx | 3 |
3 files changed, 44 insertions, 12 deletions
diff --git a/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx b/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx index d237b8628a93..2f35174c7ab3 100644 --- a/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx +++ b/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx @@ -1011,7 +1011,6 @@ sal_Int16 SAL_CALL SalGtkFilePicker::execute() throw( uno::RuntimeException ) gchar *gFileName = g_filename_from_uri ( sFileName.getStr(), NULL, NULL ); if( g_file_test( gFileName, G_FILE_TEST_IS_REGULAR ) ) { - GtkWidget *dlg; INetURLObject aFileObj( sFileName ); OString baseName( @@ -1026,11 +1025,11 @@ sal_Int16 SAL_CALL SalGtkFilePicker::execute() throw( uno::RuntimeException ) ); OString aMsg( OUStringToOString( - getResString( FILE_PICKER_OVERWRITE ), + getResString( FILE_PICKER_OVERWRITE_PRIMARY ), RTL_TEXTENCODING_UTF8 ) ); - OString toReplace( RTL_CONSTASCII_STRINGPARAM( "$filename$" )); + OString toReplace("$filename$"); aMsg = aMsg.replaceAt( aMsg.indexOf( toReplace ), @@ -1038,7 +1037,7 @@ sal_Int16 SAL_CALL SalGtkFilePicker::execute() throw( uno::RuntimeException ) baseName ); - dlg = gtk_message_dialog_new( NULL, + GtkWidget *dlg = gtk_message_dialog_new( NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, @@ -1046,6 +1045,37 @@ sal_Int16 SAL_CALL SalGtkFilePicker::execute() throw( uno::RuntimeException ) aMsg.getStr() ); + sal_Int32 nSegmentCount = aFileObj.getSegmentCount(); + if (nSegmentCount >= 2) + { + OString dirName( + OUStringToOString( + aFileObj.getName( + nSegmentCount-2, + true, + INetURLObject::DECODE_WITH_CHARSET + ), + RTL_TEXTENCODING_UTF8 + ) + ); + + aMsg = + OUStringToOString( + getResString( FILE_PICKER_OVERWRITE_SECONDARY ), + RTL_TEXTENCODING_UTF8 + ); + + toReplace = "$dirname$"; + + aMsg = aMsg.replaceAt( + aMsg.indexOf( toReplace ), + toReplace.getLength(), + dirName + ); + + gtk_message_dialog_format_secondary_text( GTK_MESSAGE_DIALOG( dlg ), "%s", aMsg.getStr() ); + } + gtk_window_set_title( GTK_WINDOW( dlg ), OUStringToOString(getResString(FILE_PICKER_TITLE_SAVE ), RTL_TEXTENCODING_UTF8 ).getStr() ); diff --git a/vcl/unx/gtk/fpicker/SalGtkPicker.hxx b/vcl/unx/gtk/fpicker/SalGtkPicker.hxx index 477c707dd71f..fc8d2a2f2e83 100644 --- a/vcl/unx/gtk/fpicker/SalGtkPicker.hxx +++ b/vcl/unx/gtk/fpicker/SalGtkPicker.hxx @@ -31,13 +31,14 @@ #include <gtk/gtk.h> #include <gdk/gdkkeysyms.h> -#define FOLDERPICKER_TITLE 500 -#define FOLDER_PICKER_DEF_DESCRIPTION 501 -#define FILE_PICKER_TITLE_OPEN 502 -#define FILE_PICKER_TITLE_SAVE 503 -#define FILE_PICKER_FILE_TYPE 504 -#define FILE_PICKER_OVERWRITE 505 -#define FILE_PICKER_ALLFORMATS 506 +#define FOLDERPICKER_TITLE 500 +#define FOLDER_PICKER_DEF_DESCRIPTION 501 +#define FILE_PICKER_TITLE_OPEN 502 +#define FILE_PICKER_TITLE_SAVE 503 +#define FILE_PICKER_FILE_TYPE 504 +#define FILE_PICKER_OVERWRITE_PRIMARY 505 +#define FILE_PICKER_OVERWRITE_SECONDARY 506 +#define FILE_PICKER_ALLFORMATS 507 class SalGtkPicker { diff --git a/vcl/unx/gtk/fpicker/resourceprovider.cxx b/vcl/unx/gtk/fpicker/resourceprovider.cxx index ec588c1f00c3..b07e581b027e 100644 --- a/vcl/unx/gtk/fpicker/resourceprovider.cxx +++ b/vcl/unx/gtk/fpicker/resourceprovider.cxx @@ -51,7 +51,8 @@ static const struct { CHECKBOX_SELECTION, STR_FPICKER_SELECTION }, { FOLDERPICKER_TITLE, STR_FPICKER_FOLDER_DEFAULT_TITLE }, { FOLDER_PICKER_DEF_DESCRIPTION, STR_FPICKER_FOLDER_DEFAULT_DESCRIPTION }, - { FILE_PICKER_OVERWRITE, STR_FPICKER_ALREADYEXISTOVERWRITE }, + { FILE_PICKER_OVERWRITE_PRIMARY, STR_FPICKER_ALREADYEXISTOVERWRITE_PRIMARY }, + { FILE_PICKER_OVERWRITE_SECONDARY, STR_FPICKER_ALREADYEXISTOVERWRITE_SECONDARY }, { FILE_PICKER_ALLFORMATS, STR_FPICKER_ALLFORMATS }, { FILE_PICKER_TITLE_OPEN, STR_FPICKER_OPEN }, { FILE_PICKER_TITLE_SAVE, STR_FPICKER_SAVE }, |