gpg4libre: Encrypt with GPG checkbox in SaveAs file dialog, 1st stab

LibO's own file dialog only so far

Change-Id: Ic5f6c180afb5d4e0fc151ad57d769b99ad7fbdf3
Reviewed-on: https://gerrit.libreoffice.org/41292
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
diff --git a/fpicker/source/office/OfficeControlAccess.cxx b/fpicker/source/office/OfficeControlAccess.cxx
index 6d854304..475716c 100644
--- a/fpicker/source/office/OfficeControlAccess.cxx
+++ b/fpicker/source/office/OfficeControlAccess.cxx
@@ -405,6 +405,7 @@ namespace svt
                {
                    case CHECKBOX_AUTOEXTENSION:
                    case CHECKBOX_PASSWORD:
                    case CHECKBOX_GPGENCRYPTION:
                    case CHECKBOX_FILTEROPTIONS:
                    case CHECKBOX_READONLY:
                    case CHECKBOX_LINK:
diff --git a/fpicker/source/office/iodlg.cxx b/fpicker/source/office/iodlg.cxx
index f5f9660..5192f42 100644
--- a/fpicker/source/office/iodlg.cxx
+++ b/fpicker/source/office/iodlg.cxx
@@ -555,6 +555,7 @@ void SvtFileDialog::Init_Impl
    get(pImpl->_pBtnConnectToServer, "connect_to_server");
    get(pImpl->_pBtnNewFolder, "new_folder");
    get(pImpl->_pCbPassword, "password");
    get(pImpl->_pCbGPGEncrypt, "gpgencrypt");
    get(pImpl->_pCbAutoExtension, "extension");
    get(pImpl->_pFtFileVersion, "shared_label");
    get(pImpl->_pLbFileVersion, "shared");
@@ -638,6 +639,11 @@ void SvtFileDialog::Init_Impl
        pImpl->_pCbPassword->SetClickHdl( LINK( this, SvtFileDialog, ClickHdl_Impl ) );
        pImpl->_pCbPassword->Show();
    }
    if ( nStyle & PickerFlags::Password )
    {
        pImpl->_pCbGPGEncrypt->SetClickHdl( LINK( this, SvtFileDialog, ClickHdl_Impl ) );
        pImpl->_pCbGPGEncrypt->Show();
    }

    // set the ini file for extracting the size
    pImpl->_aIniKey = "FileDialog";
@@ -1529,6 +1535,8 @@ IMPL_LINK( SvtFileDialog, ClickHdl_Impl, Button*, pCheckBox, void )
        nId = CHECKBOX_READONLY;
    else if ( pCheckBox == pImpl->_pCbPassword )
        nId = CHECKBOX_PASSWORD;
    else if ( pCheckBox == pImpl->_pCbGPGEncrypt )
        nId = CHECKBOX_GPGENCRYPTION;
    else if ( pCheckBox == _pCbLinkBox )
        nId = CHECKBOX_LINK;
    else if ( pCheckBox == _pCbPreviewBox )
@@ -2318,6 +2326,10 @@ Control* SvtFileDialog::getControl( sal_Int16 _nControlId, bool _bLabelControl )
            pReturn = pImpl->_pCbPassword;
            break;

        case CHECKBOX_GPGENCRYPTION:
            pReturn = pImpl->_pCbGPGEncrypt;
            break;

        case CHECKBOX_FILTEROPTIONS:
            pReturn = pImpl->_pCbOptions;
            break;
diff --git a/fpicker/source/office/iodlgimp.cxx b/fpicker/source/office/iodlgimp.cxx
index f71356d..22ae71d 100644
--- a/fpicker/source/office/iodlgimp.cxx
+++ b/fpicker/source/office/iodlgimp.cxx
@@ -194,6 +194,7 @@ SvtExpFileDlg_Impl::SvtExpFileDlg_Impl()   :
    _pBtnUp             ( nullptr ),
    _pBtnNewFolder      ( nullptr ),
    _pCbPassword        ( nullptr ),
    _pCbGPGEncrypt      ( nullptr ),
    _pEdCurrentPath     ( nullptr ),
    _pCbAutoExtension   ( nullptr ),
    _pCbOptions         ( nullptr ),
diff --git a/fpicker/source/office/iodlgimp.hxx b/fpicker/source/office/iodlgimp.hxx
index 521871d..233beb8 100644
--- a/fpicker/source/office/iodlgimp.hxx
+++ b/fpicker/source/office/iodlgimp.hxx
@@ -145,6 +145,7 @@ public:
    VclPtr<SvtUpButton_Impl>               _pBtnUp;
    VclPtr<PushButton>                     _pBtnNewFolder;
    VclPtr<CheckBox>                       _pCbPassword;
    VclPtr<CheckBox>                       _pCbGPGEncrypt;
    VclPtr<SvtURLBox>                      _pEdCurrentPath;
    VclPtr<CheckBox>                       _pCbAutoExtension;
    VclPtr<CheckBox>                       _pCbOptions;
diff --git a/fpicker/uiconfig/ui/explorerfiledialog.ui b/fpicker/uiconfig/ui/explorerfiledialog.ui
index 58b268fc..8008e62 100644
--- a/fpicker/uiconfig/ui/explorerfiledialog.ui
+++ b/fpicker/uiconfig/ui/explorerfiledialog.ui
@@ -433,7 +433,7 @@
                                  </object>
                                  <packing>
                                    <property name="left_attach">0</property>
                                    <property name="top_attach">1</property>
                                    <property name="top_attach">2</property>
                                  </packing>
                                </child>
                                <child>
@@ -448,9 +448,25 @@
                                  </object>
                                  <packing>
                                    <property name="left_attach">1</property>
                                    <property name="top_attach">2</property>
                                  </packing>
                                </child>
                                <child>
                                  <object class="GtkCheckButton" id="gpgencrypt">
                                    <property name="label" translatable="yes">Encrypt with GPG key</property>
                                    <property name="visible">True</property>
                                    <property name="can_focus">True</property>
                                    <property name="receives_default">False</property>
                                    <property name="draw_indicator">True</property>
                                  </object>
                                  <packing>
                                    <property name="left_attach">0</property>
                                    <property name="top_attach">1</property>
                                  </packing>
                                </child>
                                <child>
                                  <placeholder/>
                                </child>
                              </object>
                              <packing>
                                <property name="left_attach">0</property>
diff --git a/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl b/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl
index f213b03..3464eb38 100644
--- a/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl
+++ b/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl
@@ -49,6 +49,7 @@ published constants ExtendedFilePickerElementIds
    const short LISTBOX_TEMPLATE_LABEL = 208;
    const short LISTBOX_IMAGE_TEMPLATE_LABEL = 209;
    const short LISTBOX_FILTER_SELECTOR = 210;
    const short CHECKBOX_GPGENCRYPTION = 211;
};