convert pdf signing page to .ui format

Change-Id: I037036e410a6f9d7da7bc34721c105e81470d5d9
This commit is contained in:
Caolán McNamara
2013-07-08 13:38:53 +01:00
parent aa78d6ff4a
commit 0c68a3867f
9 changed files with 330 additions and 201 deletions

View File

@@ -14,6 +14,7 @@ $(eval $(call gb_UIConfig_add_uifiles,filter,\
filter/uiconfig/ui/pdflinkspage \
filter/uiconfig/ui/pdfoptionsdialog \
filter/uiconfig/ui/pdfsecuritypage \
filter/uiconfig/ui/pdfsignpage \
filter/uiconfig/ui/pdfuserinterfacepage \
filter/uiconfig/ui/pdfviewpage \
filter/uiconfig/ui/testxmlfilter \

View File

@@ -31,8 +31,6 @@
// warning, next range is RID_FILTER_START + 100 !
#define HID_FILTER_PDF_SIGNING "HID_FILTER_PDF_SIGNING"
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -257,16 +257,18 @@ ImpPDFTabDialog::ImpPDFTabDialog(Window* pParent, Sequence< PropertyValue >& rFi
if (!aMiscOptions.IsExperimentalMode())
RemoveTabPage(mnSigningPageId);
//last queued is the first to be displayed (or so it seems..)
//last queued is the first to be displayed (or so it seems..)
mnGeneralPageId = AddTabPage("general", ImpPDFTabGeneralPage::Create, 0 );
//get the string property value (from sfx2/source/dialog/mailmodel.cxx) to overwrite the text for the Ok button
//get the string property value (from sfx2/source/dialog/mailmodel.cxx) to overwrite the text for the Ok button
OUString sOkButtonText = maConfigItem.ReadString( "_OkButtonString", OUString() );
//change text on the Ok button: get the relevant string from resources, update it on the button
//according to the exported pdf file destination: send as e-mail or write to file?
GetOKButton().SetText( ( sOkButtonText.isEmpty() ) ?
OUString( String( PDFFilterResId( STR_PDF_EXPORT ) ) ) : sOkButtonText );
//change text on the Ok button: get the relevant string from resources, update it on the button
//according to the exported pdf file destination: send as e-mail or write to file?
if (!sOkButtonText.isEmpty())
{
GetOKButton().SetText(sOkButtonText);
}
GetCancelButton().SetClickHdl(LINK(this, ImpPDFTabDialog, CancelHdl));
@@ -511,7 +513,6 @@ Sequence< PropertyValue > ImpPDFTabDialog::GetFilterData()
// -----------------------------------------------------------------------------
ImpPDFTabGeneralPage::ImpPDFTabGeneralPage(Window* pParent, const SfxItemSet& rCoreSet)
: SfxTabPage(pParent, "PdfGeneralPage","filter/ui/pdfgeneralpage.ui", rCoreSet)
, mbTaggedPDFUserSelection(false)
, mbExportFormFieldsUserSelection(false)
, mbIsPresentation(false)
@@ -846,7 +847,6 @@ ImpPDFTabOpnFtrPage::ImpPDFTabOpnFtrPage(Window* pParent, const SfxItemSet& rCor
mpRbMagnFitWidth->SetToggleHdl( LINK( this, ImpPDFTabOpnFtrPage, ToggleRbMagnHdl ) );
mpRbMagnFitVisible->SetToggleHdl( LINK( this, ImpPDFTabOpnFtrPage, ToggleRbMagnHdl ) );
mpRbMagnZoom->SetToggleHdl( LINK( this, ImpPDFTabOpnFtrPage, ToggleRbMagnHdl ) );
mpNumZoom->SetAccessibleName(mpRbMagnZoom->GetText());
}
// -----------------------------------------------------------------------------
@@ -1003,8 +1003,6 @@ ImpPDFTabViewerPage::ImpPDFTabViewerPage( Window* pParent,
m_pRbAllBookmarkLevels->SetToggleHdl( LINK( this, ImpPDFTabViewerPage, ToggleRbBookmarksHdl ) );
m_pRbVisibleBookmarkLevels->SetToggleHdl( LINK( this, ImpPDFTabViewerPage, ToggleRbBookmarksHdl ) );
m_pNumBookmarkLevels->SetAccessibleName(m_pRbVisibleBookmarkLevels->GetText());
m_pNumBookmarkLevels->SetAccessibleRelationLabeledBy(m_pRbVisibleBookmarkLevels);
}
// -----------------------------------------------------------------------------
@@ -1556,29 +1554,21 @@ IMPL_LINK_NOARG(ImplErrorDialog, SelectHdl)
////////////////////////////////////////////////////////
// The digital signatures tab page
// -----------------------------------------------------------------------------
ImpPDFTabSigningPage::ImpPDFTabSigningPage( Window* pParent,
const SfxItemSet& rCoreSet ) :
SfxTabPage( pParent, PDFFilterResId( RID_PDF_TAB_SIGNING ), rCoreSet ),
maFtSignCert( this, PDFFilterResId( FT_SIGN_CERT_TEXT ) ),
maEdSignCert( this, PDFFilterResId( ED_SIGN_CERT ) ),
maPbSignCertSelect( this, PDFFilterResId( BTN_SIGN_CERT_SELECT ) ),
maPbSignCertClear( this, PDFFilterResId( BTN_SIGN_CERT_CLEAR ) ),
maFtSignPassword( this, PDFFilterResId( FT_SIGN_PASSWORD ) ),
maEdSignPassword( this, PDFFilterResId( ED_SIGN_PASSWORD ) ),
maFtSignLocation( this, PDFFilterResId( FT_SIGN_LOCATION ) ),
maEdSignLocation( this, PDFFilterResId( ED_SIGN_LOCATION ) ),
maFtSignContactInfo( this, PDFFilterResId( FT_SIGN_CONTACT ) ),
maEdSignContactInfo( this, PDFFilterResId( ED_SIGN_CONTACT ) ),
maFtSignReason( this, PDFFilterResId( FT_SIGN_REASON ) ),
maEdSignReason( this, PDFFilterResId( ED_SIGN_REASON ) ),
maSignCertificate()
ImpPDFTabSigningPage::ImpPDFTabSigningPage(Window* pParent, const SfxItemSet& rCoreSet)
: SfxTabPage(pParent, "PdfSignPage","filter/ui/pdfsignpage.ui", rCoreSet)
, maSignCertificate()
{
FreeResource();
get(mpEdSignCert, "cert");
get(mpPbSignCertSelect, "select");
get(mpPbSignCertClear, "clear");
get(mpEdSignPassword, "password");
get(mpEdSignLocation, "location");
get(mpEdSignContactInfo, "contact");
get(mpEdSignReason, "reason");
maPbSignCertSelect.Enable( true );
maPbSignCertSelect.SetClickHdl( LINK( this, ImpPDFTabSigningPage, ClickmaPbSignCertSelect ) );
maPbSignCertClear.SetClickHdl( LINK( this, ImpPDFTabSigningPage, ClickmaPbSignCertClear ) );
mpPbSignCertSelect->Enable( true );
mpPbSignCertSelect->SetClickHdl( LINK( this, ImpPDFTabSigningPage, ClickmaPbSignCertSelect ) );
mpPbSignCertClear->SetClickHdl( LINK( this, ImpPDFTabSigningPage, ClickmaPbSignCertClear ) );
}
// -----------------------------------------------------------------------------
@@ -1597,12 +1587,12 @@ IMPL_LINK_NOARG( ImpPDFTabSigningPage, ClickmaPbSignCertSelect )
if (maSignCertificate.is())
{
maEdSignCert.SetText(maSignCertificate->getSubjectName());
maPbSignCertClear.Enable( true );
maEdSignLocation.Enable( true );
maEdSignPassword.Enable( true );
maEdSignContactInfo.Enable( true );
maEdSignReason.Enable( true );
mpEdSignCert->SetText(maSignCertificate->getSubjectName());
mpPbSignCertClear->Enable( true );
mpEdSignLocation->Enable( true );
mpEdSignPassword->Enable( true );
mpEdSignContactInfo->Enable( true );
mpEdSignReason->Enable( true );
}
return 0;
@@ -1610,13 +1600,13 @@ IMPL_LINK_NOARG( ImpPDFTabSigningPage, ClickmaPbSignCertSelect )
IMPL_LINK_NOARG( ImpPDFTabSigningPage, ClickmaPbSignCertClear )
{
maEdSignCert.SetText(OUString(""));
mpEdSignCert->SetText(OUString(""));
maSignCertificate.clear();
maPbSignCertClear.Enable( false );
maEdSignLocation.Enable( false );
maEdSignPassword.Enable( false );
maEdSignContactInfo.Enable( false );
maEdSignReason.Enable( false );
mpPbSignCertClear->Enable( false );
mpEdSignLocation->Enable( false );
mpEdSignPassword->Enable( false );
mpEdSignContactInfo->Enable( false );
mpEdSignReason->Enable( false );
return 0;
}
@@ -1633,10 +1623,10 @@ void ImpPDFTabSigningPage::GetFilterConfigItem( ImpPDFTabDialog* paParent )
{
paParent->mbSignPDF = maSignCertificate.is();
paParent->maSignCertificate = maSignCertificate;
paParent->msSignLocation = maEdSignLocation.GetText();
paParent->msSignPassword = maEdSignPassword.GetText();
paParent->msSignContact = maEdSignContactInfo.GetText();
paParent->msSignReason = maEdSignReason.GetText();
paParent->msSignLocation = mpEdSignLocation->GetText();
paParent->msSignPassword = mpEdSignPassword->GetText();
paParent->msSignContact = mpEdSignContactInfo->GetText();
paParent->msSignReason = mpEdSignReason->GetText();
}
@@ -1644,18 +1634,18 @@ void ImpPDFTabSigningPage::GetFilterConfigItem( ImpPDFTabDialog* paParent )
void ImpPDFTabSigningPage::SetFilterConfigItem( const ImpPDFTabDialog* paParent )
{
maEdSignLocation.Enable( false );
maEdSignPassword.Enable( false );
maEdSignContactInfo.Enable( false );
maEdSignReason.Enable( false );
maPbSignCertClear.Enable( false );
mpEdSignLocation->Enable( false );
mpEdSignPassword->Enable( false );
mpEdSignContactInfo->Enable( false );
mpEdSignReason->Enable( false );
mpPbSignCertClear->Enable( false );
if (paParent->mbSignPDF)
{
maEdSignPassword.SetText(paParent->msSignPassword);
maEdSignLocation.SetText(paParent->msSignLocation);
maEdSignContactInfo.SetText(paParent->msSignContact);
maEdSignReason.SetText(paParent->msSignReason);
mpEdSignPassword->SetText(paParent->msSignPassword);
mpEdSignLocation->SetText(paParent->msSignLocation);
mpEdSignContactInfo->SetText(paParent->msSignContact);
mpEdSignReason->SetText(paParent->msSignReason);
maSignCertificate = paParent->maSignCertificate;
}
}

View File

@@ -19,17 +19,8 @@
#include <filter.hrc>
#define RID_PDF_TAB_GENER (RID_PDF_DIALOG_START + 1)
#define RID_PDF_TAB_VPREFER (RID_PDF_DIALOG_START + 2)
#define RID_PDF_TAB_OPNFTR (RID_PDF_DIALOG_START + 3)
#define RID_PDF_TAB_SECURITY (RID_PDF_DIALOG_START + 4)
#define RID_PDF_TAB_LINKS (RID_PDF_DIALOG_START + 12)
#define RID_PDF_TAB_SIGNING (RID_PDF_DIALOG_START + 13)
#define RID_PDF_WARNPDFAPASSWORD (RID_PDF_DIALOG_START + 6)
//strings
#define STR_PDF_EXPORT (RID_PDF_DIALOG_START + 5)
//strings for PDF security, user password management
#define STR_PDF_EXPORT_UDPWD (RID_PDF_DIALOG_START + 7)
@@ -56,18 +47,4 @@
#define FL_VPREFER_VERTICAL 158
#define FL_SECURITY_VERTICAL 160
//controls for digital signatures tab page
#define FT_SIGN_CERT_TEXT 170
#define ED_SIGN_CERT 171
#define BTN_SIGN_CERT_SELECT 172
#define BTN_SIGN_CERT_CLEAR 173
#define FT_SIGN_PASSWORD 174
#define ED_SIGN_PASSWORD 175
#define FT_SIGN_LOCATION 176
#define ED_SIGN_LOCATION 177
#define FT_SIGN_CONTACT 178
#define ED_SIGN_CONTACT 179
#define FT_SIGN_REASON 180
#define ED_SIGN_REASON 181
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -420,18 +420,13 @@ public:
//class to implement the digital signing
class ImpPDFTabSigningPage : public SfxTabPage
{
FixedText maFtSignCert;
Edit maEdSignCert;
PushButton maPbSignCertSelect;
PushButton maPbSignCertClear;
FixedText maFtSignPassword;
Edit maEdSignPassword;
FixedText maFtSignLocation;
Edit maEdSignLocation;
FixedText maFtSignContactInfo;
Edit maEdSignContactInfo;
FixedText maFtSignReason;
Edit maEdSignReason;
Edit* mpEdSignCert;
PushButton* mpPbSignCertSelect;
PushButton* mpPbSignCertClear;
Edit* mpEdSignPassword;
Edit* mpEdSignLocation;
Edit* mpEdSignContactInfo;
Edit* mpEdSignReason;
com::sun::star::uno::Reference< com::sun::star::security::XCertificate > maSignCertificate;
DECL_LINK( ClickmaPbSignCertSelect, void* );

View File

@@ -19,13 +19,6 @@
#include "impdialog.hrc"
#define TAB_PDF_SIZE Size = MAP_APPFONT ( 352, 180 )
//string for TabDialog standard buttons
String STR_PDF_EXPORT
{
Text[ en-US ] = "E~xport";
};
//strings used in encryption UI
//password dialog title
@@ -46,105 +39,6 @@ WarningBox RID_PDF_WARNPDFAPASSWORD
Message[ en-US ] = "PDF/A does not allow encryption. The exported PDF file will not be password protected.";
};
//----------------------------------------------------------
//tab page for PDF Export, digital signatures
TabPage RID_PDF_TAB_SIGNING
{
HelpId = HID_FILTER_PDF_SIGNING ;
Text [ en-US ] = "Digital Signatures";
TAB_PDF_SIZE;
Hide = TRUE;
FixedText FT_SIGN_CERT_TEXT
{
Pos = MAP_APPFONT( 6, 3 );
Size = MAP_APPFONT( 250, 10 );
Text[ en-US ] = "Use this certificate to digitally sign PDF documents:";
};
Edit ED_SIGN_CERT
{
Border = TRUE ;
Disable = TRUE ;
Pos = MAP_APPFONT ( 6, 17 ) ;
Size = MAP_APPFONT ( 120 , 13 ) ;
};
PushButton BTN_SIGN_CERT_SELECT
{
TabStop = TRUE ;
Pos = MAP_APPFONT ( 130, 17 ) ;
Size = MAP_APPFONT ( 40 , 13 ) ;
Text[ en-US ] = "~Select...";
};
PushButton BTN_SIGN_CERT_CLEAR
{
TabStop = TRUE ;
Pos = MAP_APPFONT ( 175, 17 ) ;
Size = MAP_APPFONT ( 40 , 13 ) ;
Text[ en-US ] = "Clear";
};
FixedText FT_SIGN_PASSWORD
{
Pos = MAP_APPFONT( 6, 35 );
Size = MAP_APPFONT( 109, 10 );
Text[ en-US ] = "Certificate Password";
};
Edit ED_SIGN_PASSWORD
{
Border = TRUE ;
Pos = MAP_APPFONT ( 102, 35 ) ;
PassWord = TRUE;
Size = MAP_APPFONT ( 68 , 12 ) ;
};
FixedText FT_SIGN_LOCATION
{
Pos = MAP_APPFONT( 6, 48 );
Size = MAP_APPFONT( 109, 10 );
Text[ en-US ] = "Location";
};
Edit ED_SIGN_LOCATION
{
Border = TRUE ;
Pos = MAP_APPFONT ( 102, 48 ) ;
Size = MAP_APPFONT ( 68 , 12 ) ;
};
FixedText FT_SIGN_CONTACT
{
Pos = MAP_APPFONT( 6, 61 );
Size = MAP_APPFONT( 109, 10 );
Text[ en-US ] = "Contact Information";
};
Edit ED_SIGN_CONTACT
{
Border = TRUE ;
Pos = MAP_APPFONT ( 102, 61 ) ;
Size = MAP_APPFONT ( 68 , 12 ) ;
};
FixedText FT_SIGN_REASON
{
Pos = MAP_APPFONT( 6, 74 );
Size = MAP_APPFONT( 109, 10 );
Text[ en-US ] = "Reason";
};
Edit ED_SIGN_REASON
{
Border = TRUE ;
Pos = MAP_APPFONT ( 102, 74 ) ;
Size = MAP_APPFONT ( 68 , 12 ) ;
};
};
ModalDialog RID_PDF_ERROR_DLG
{
HelpID = "filter:ModalDialog:RID_PDF_ERROR_DLG";

View File

@@ -16,7 +16,7 @@
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<object class="GtkButton" id="export">
<object class="GtkButton" id="ok">
<property name="label" translatable="yes">E_xport</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -166,7 +166,7 @@
</object>
</child>
<action-widgets>
<action-widget response="0">export</action-widget>
<action-widget response="0">ok</action-widget>
<action-widget response="0">cancel</action-widget>
<action-widget response="0">help</action-widget>
</action-widgets>

View File

@@ -0,0 +1,268 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkFrame" id="PdfSignPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Use this certificate to digitally sign PDF documents:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">cert</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="cert">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="invisible_char">●</property>
<property name="invisible_char_set">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="select">
<property name="label" translatable="yes">Select...</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="valign">center</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="clear">
<property name="label">gtk-clear</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="valign">center</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkEntry" id="password">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="visibility">False</property>
<property name="invisible_char">●</property>
<property name="invisible_char_set">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="location">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="invisible_char">●</property>
<property name="invisible_char_set">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="contact">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="invisible_char">●</property>
<property name="invisible_char_set">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="reason">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="invisible_char">●</property>
<property name="invisible_char_set">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label7">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Certificate Password</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">password</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label12">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Location</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">location</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label13">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Contact Information</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">contact</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label14">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Reason</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">reason</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Certificate</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<object class="GtkSizeGroup" id="sizegroup1">
<widgets>
<widget name="select"/>
<widget name="clear"/>
</widgets>
</object>
</interface>

View File

@@ -329,6 +329,9 @@
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">allbookmarks</property>
<accessibility>
<relation type="label-for" target="visiblelevel"/>
</accessibility>
</object>
<packing>
<property name="left_attach">0</property>
@@ -344,6 +347,9 @@
<property name="invisible_char">•</property>
<property name="invisible_char_set">True</property>
<property name="adjustment">adjustment1</property>
<accessibility>
<relation type="labelled-by" target="visiblebookmark"/>
</accessibility>
</object>
<packing>
<property name="left_attach">1</property>