Convert RID_SANE_DIALOG to .ui

Change-Id: I1f08493cdc18f4c0691a8436368432fe4e94dec3
Reviewed-on: https://gerrit.libreoffice.org/9696
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
Palenik Mihály
2014-06-09 15:37:25 +02:00
committed by Caolán McNamara
parent a533f986f9
commit f188c982d5
10 changed files with 617 additions and 728 deletions

View File

@@ -26,7 +26,6 @@ $(eval $(call gb_SrsTarget_set_include,scn/res,\
$(eval $(call gb_SrsTarget_add_files,scn/res,\
extensions/source/scanner/grid.src \
extensions/source/scanner/sanedlg.src \
))
# vim:set noet sw=4 ts=4:

View File

@@ -22,6 +22,7 @@ $(eval $(call gb_Module_add_l10n_targets,extensions,\
AllLangResTarget_scn \
AllLangResTarget_upd \
UIConfig_sabpilot \
UIConfig_scanner \
))
ifneq ($(filter-out IOS ANDROID,$(OS)),)

View File

@@ -0,0 +1,16 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_UIConfig_UIConfig,modules/scanner))
$(eval $(call gb_UIConfig_add_uifiles,modules/scanner,\
extensions/uiconfig/scanner/ui/sanedialog \
))
# vim: set noet sw=4 ts=4:

View File

@@ -37,7 +37,7 @@ ResId SaneResId( sal_uInt32 nID )
}
SaneDlg::SaneDlg( Window* pParent, Sane& rSane, bool bScanEnabled ) :
ModalDialog( pParent, SaneResId( RID_SANE_DIALOG ) ),
ModalDialog(pParent, "SaneDialog", "modules/scanner/ui/sanedialog.ui"),
mrSane( rSane ),
mbDragEnable( false ),
mbIsDragging( false ),
@@ -45,39 +45,6 @@ SaneDlg::SaneDlg( Window* pParent, Sane& rSane, bool bScanEnabled ) :
mbDragDrawn( false ),
meDragDirection( TopLeft ),
maMapMode( MAP_APPFONT ),
maOKButton( this, SaneResId( RID_SCAN_OK ) ),
maCancelButton( this, SaneResId( RID_SCAN_CANCEL ) ),
maDeviceInfoButton( this, SaneResId( RID_DEVICEINFO_BTN ) ),
maPreviewButton( this, SaneResId( RID_PREVIEW_BTN ) ),
maScanButton( this, SaneResId( RID_SCAN_BTN ) ),
maButtonOption( this, SaneResId( RID_SCAN_BUTTON_OPTION_BTN ) ),
maOptionsTxt( this, SaneResId( RID_SCAN_OPTION_TXT ) ),
maOptionTitle( this, SaneResId( RID_SCAN_OPTIONTITLE_TXT ) ),
maOptionDescTxt( this, SaneResId( RID_SCAN_OPTION_DESC_TXT ) ),
maVectorTxt( this, SaneResId( RID_SCAN_NUMERIC_VECTOR_TXT ) ),
maScanLeftTxt( this, SaneResId( RID_SCAN_LEFT_TXT ) ),
maLeftField( this, SaneResId( RID_SCAN_LEFT_BOX ) ),
maScanTopTxt( this, SaneResId( RID_SCAN_TOP_TXT ) ),
maTopField( this, SaneResId( RID_SCAN_TOP_BOX ) ),
maRightTxt( this, SaneResId( RID_SCAN_RIGHT_TXT ) ),
maRightField( this, SaneResId( RID_SCAN_RIGHT_BOX ) ),
maBottomTxt( this, SaneResId( RID_SCAN_BOTTOM_TXT ) ),
maBottomField( this, SaneResId( RID_SCAN_BOTTOM_BOX ) ),
maDeviceBoxTxt( this, SaneResId( RID_DEVICE_BOX_TXT ) ),
maDeviceBox( this, SaneResId( RID_DEVICE_BOX ) ),
maReslTxt( this, SaneResId( RID_SCAN_RESOLUTION_TXT ) ),
maReslBox( this, SaneResId( RID_SCAN_RESOLUTION_BOX ) ),
maAdvancedTxt( this, SaneResId( RID_SCAN_ADVANCED_TXT ) ),
maAdvancedBox( this, SaneResId( RID_SCAN_ADVANCED_BOX ) ),
maVectorBox( this, SaneResId( RID_SCAN_NUMERIC_VECTOR_BOX ) ),
maQuantumRangeBox( this, SaneResId( RID_SCAN_QUANTUM_RANGE_BOX ) ),
maStringRangeBox( this, SaneResId( RID_SCAN_STRING_RANGE_BOX ) ),
maPreviewBox( this, SaneResId( RID_PREVIEW_BOX ) ),
maAreaBox( this, SaneResId( RID_SCANAREA_BOX ) ),
maBoolCheckBox( this, SaneResId( RID_SCAN_BOOL_OPTION_BOX ) ),
maStringEdit( this, SaneResId( RID_SCAN_STRING_OPTION_EDT ) ),
maNumericEdit( this, SaneResId( RID_SCAN_NUMERIC_OPTION_EDT ) ),
maOptionBox( this, SaneResId( RID_SCAN_OPTION_BOX ) ),
mnCurrentOption(0),
mnCurrentElement(0),
mpRange(0),
@@ -85,6 +52,39 @@ SaneDlg::SaneDlg( Window* pParent, Sane& rSane, bool bScanEnabled ) :
mfMax(0.0),
doScan(false)
{
get(mpOKButton, "ok");
get(mpCancelButton, "cancel");
get(mpDeviceInfoButton, "deviceInfoButton");
get(mpPreviewButton, "previewButton");
get(mpScanButton, "scanButton");
get(mpButtonOption, "optionsButton");
get(mpOptionTitle, "optionTitleLabel");
Size aSize(LogicToPixel(Size(130, 102), MAP_APPFONT));
mpOptionTitle->set_width_request(aSize.Width());
mpOptionTitle->set_height_request(aSize.Height() / 2);
get(mpOptionDescTxt, "optionsDescLabel");
get(mpVectorTxt, "vectorLabel");
get(mpLeftField, "leftSpinbutton");
get(mpTopField, "topSpinbutton");
get(mpRightField, "rightSpinbutton");
get(mpBottomField, "bottomSpinbutton");
get(mpDeviceBox, "deviceCombobox");
mpDeviceBox->SetStyle(mpDeviceBox->GetStyle() | WB_SORT);
get(mpReslBox, "reslCombobox");
get(mpAdvancedBox, "advancedCheckbutton");
get(mpVectorBox, "vectorSpinbutton-nospin");
get(mpQuantumRangeBox, "quantumRangeCombobox");
get(mpStringRangeBox, "stringRangeCombobox");
get(mpStringEdit, "stringEntry");
get(mpNumericEdit, "numericEntry");
get(mpOptionBox, "optionSvTreeListBox");
mpOptionBox->set_width_request(aSize.Width());
mpOptionBox->set_height_request(aSize.Height());
get(mpBoolCheckBox, "boolCheckbutton");
get(mpPreview, "preview");
aSize = LogicToPixel(Size(PREVIEW_WIDTH, PREVIEW_HEIGHT), MAP_APPFONT);
mpPreview->set_width_request(aSize.Width());
mpPreview->set_height_request(aSize.Height());
if( Sane::IsSane() )
{
InitDevices(); // opens first sane device
@@ -92,41 +92,38 @@ SaneDlg::SaneDlg( Window* pParent, Sane& rSane, bool bScanEnabled ) :
InitFields();
}
maDeviceInfoButton.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
maPreviewButton.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
maScanButton.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
maButtonOption.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
maDeviceBox.SetSelectHdl( LINK( this, SaneDlg, SelectHdl ) );
maOptionBox.SetSelectHdl( LINK( this, SaneDlg, OptionsBoxSelectHdl ) );
maOKButton.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
maCancelButton.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
maBoolCheckBox.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
maStringEdit.SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
maNumericEdit.SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
maVectorBox.SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
maReslBox.SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
maStringRangeBox.SetSelectHdl( LINK( this, SaneDlg, SelectHdl ) );
maQuantumRangeBox.SetSelectHdl( LINK( this, SaneDlg, SelectHdl ) );
maLeftField.SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
maRightField.SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
maTopField.SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
maBottomField.SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
maAdvancedBox.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
mpDeviceInfoButton->SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
mpPreviewButton->SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
mpScanButton->SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
mpButtonOption->SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
mpDeviceBox->SetSelectHdl( LINK( this, SaneDlg, SelectHdl ) );
mpOptionBox->SetSelectHdl( LINK( this, SaneDlg, OptionsBoxSelectHdl ) );
mpOKButton->SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
mpCancelButton->SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
mpBoolCheckBox->SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
mpStringEdit->SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
mpNumericEdit->SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
mpVectorBox->SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
mpReslBox->SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
mpStringRangeBox->SetSelectHdl( LINK( this, SaneDlg, SelectHdl ) );
mpQuantumRangeBox->SetSelectHdl( LINK( this, SaneDlg, SelectHdl ) );
mpLeftField->SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
mpRightField->SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
mpTopField->SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
mpBottomField->SetModifyHdl( LINK( this, SaneDlg, ModifyHdl ) );
mpAdvancedBox->SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
maOldLink = mrSane.SetReloadOptionsHdl( LINK( this, SaneDlg, ReloadSaneOptionsHdl ) );
maOptionBox.SetNodeBitmaps(
Image(Bitmap( SaneResId(RID_SCAN_BITMAP_PLUS) )),
Image(Bitmap( SaneResId(RID_SCAN_BITMAP_MINUS) ))
);
maOptionBox.SetStyle( maOptionBox.GetStyle()|
mpOptionBox->SetNodeBitmaps(get<FixedImage>("plus")->GetImage(),
get<FixedImage>("minus")->GetImage());
mpOptionBox->SetStyle( mpOptionBox->GetStyle()|
WB_HASLINES |
WB_HASBUTTONS |
WB_NOINITIALSELECTION |
WB_HASBUTTONSATROOT |
WB_HASLINESATROOT
);
FreeResource();
}
SaneDlg::~SaneDlg()
@@ -139,7 +136,7 @@ short SaneDlg::Execute()
if( ! Sane::IsSane() )
{
ErrorBox aErrorBox( NULL, WB_OK | WB_DEF_OK,
SaneResId(RID_SANE_NOSANELIB_TXT).toString() );
"The SANE interface could not be initialized. Scanning is not possible." );
aErrorBox.Execute();
return sal_False;
}
@@ -155,13 +152,13 @@ void SaneDlg::InitDevices()
if( mrSane.IsOpen() )
mrSane.Close();
mrSane.ReloadDevices();
maDeviceBox.Clear();
mpDeviceBox->Clear();
for( int i = 0; i < Sane::CountDevices(); i++ )
maDeviceBox.InsertEntry( Sane::GetName( i ) );
mpDeviceBox->InsertEntry( Sane::GetName( i ) );
if( Sane::CountDevices() )
{
mrSane.Open( 0 );
maDeviceBox.SelectEntry( Sane::GetName( 0 ) );
mpDeviceBox->SelectEntry( Sane::GetName( 0 ) );
}
}
@@ -184,10 +181,10 @@ void SaneDlg::InitFields()
};
mbDragEnable = true;
maReslBox.Clear();
mpReslBox->Clear();
maMinTopLeft = Point( 0, 0 );
maMaxBottomRight = Point( PREVIEW_WIDTH, PREVIEW_HEIGHT );
maScanButton.Show( mbScanEnabled );
mpScanButton->Show( mbScanEnabled );
if( ! mrSane.IsOpen() )
return;
@@ -201,28 +198,28 @@ void SaneDlg::InitFields()
bSuccess = mrSane.GetOptionValue( nOption, fRes );
if( bSuccess )
{
maReslBox.Enable( true );
mpReslBox->Enable( true );
maReslBox.SetValue( (long)fRes );
mpReslBox->SetValue( (long)fRes );
double *pDouble = NULL;
nValue = mrSane.GetRange( nOption, pDouble );
if( nValue > -1 )
{
if( nValue )
{
maReslBox.SetMin( (long)pDouble[0] );
maReslBox.SetMax( (long)pDouble[ nValue-1 ] );
mpReslBox->SetMin( (long)pDouble[0] );
mpReslBox->SetMax( (long)pDouble[ nValue-1 ] );
for( i=0; i<nValue; i++ )
{
if( i == 0 || i == nValue-1 || ! ( ((int)pDouble[i]) % 20) )
maReslBox.InsertValue( (long)pDouble[i] );
mpReslBox->InsertValue( (long)pDouble[i] );
}
}
else
{
maReslBox.SetMin( (long)pDouble[0] );
maReslBox.SetMax( (long)pDouble[1] );
maReslBox.InsertValue( (long)pDouble[0] );
mpReslBox->SetMin( (long)pDouble[0] );
mpReslBox->SetMax( (long)pDouble[1] );
mpReslBox->InsertValue( (long)pDouble[0] );
// Can only select 75 and 2400 dpi in Scanner dialogue
// scanner allows random setting of dpi resolution, a slider might be useful
// support that
@@ -234,18 +231,18 @@ void SaneDlg::InitFields()
if ( !bGot300 && nRes > 300 ) {
nRes = 300; bGot300 = 1;
}
maReslBox.InsertValue(nRes);
mpReslBox->InsertValue(nRes);
}
maReslBox.InsertValue( (long)pDouble[1] );
mpReslBox->InsertValue( (long)pDouble[1] );
}
}
else
maReslBox.Enable( false );
mpReslBox->Enable( false );
delete [] pDouble;
}
}
else
maReslBox.Enable( false );
mpReslBox->Enable( false );
// set scan area
for( i = 0; i < 4; i++ )
@@ -256,19 +253,19 @@ void SaneDlg::InitFields()
{
case 0:
pOptionName = "tl-x";
pField = &maLeftField;
pField = mpLeftField;
break;
case 1:
pOptionName = "tl-y";
pField = &maTopField;
pField = mpTopField;
break;
case 2:
pOptionName = "br-x";
pField = &maRightField;
pField = mpRightField;
break;
case 3:
pOptionName = "br-y";
pField = &maBottomField;
pField = mpBottomField;
}
nOption = pOptionName ? mrSane.GetOptionByName( pOptionName ) : -1;
bSuccess = false;
@@ -365,7 +362,7 @@ void SaneDlg::InitFields()
maBottomRight.Y() - maTopLeft.Y() )
);
// fill OptionBox
maOptionBox.Clear();
mpOptionBox->Clear();
SvTreeListEntry* pParentEntry = 0;
bool bGroupRejected = false;
for( i = 1; i < mrSane.CountOptions(); i++ )
@@ -373,13 +370,13 @@ void SaneDlg::InitFields()
OUString aOption=mrSane.GetOptionName( i );
bool bInsertAdvanced =
mrSane.GetOptionCap( i ) & SANE_CAP_ADVANCED &&
! maAdvancedBox.IsChecked() ? sal_False : sal_True;
! mpAdvancedBox->IsChecked() ? sal_False : sal_True;
if( mrSane.GetOptionType( i ) == SANE_TYPE_GROUP )
{
if( bInsertAdvanced )
{
aOption = mrSane.GetOptionTitle( i );
pParentEntry = maOptionBox.InsertEntry( aOption );
pParentEntry = mpOptionBox->InsertEntry( aOption );
bGroupRejected = false;
}
else
@@ -403,9 +400,9 @@ void SaneDlg::InitFields()
if( ! bIsSpecial )
{
if( pParentEntry )
maOptionBox.InsertEntry( aOption, pParentEntry );
mpOptionBox->InsertEntry( aOption, pParentEntry );
else
maOptionBox.InsertEntry( aOption );
mpOptionBox->InsertEntry( aOption );
}
}
}
@@ -415,9 +412,9 @@ IMPL_LINK( SaneDlg, ClickBtnHdl, Button*, pButton )
{
if( mrSane.IsOpen() )
{
if( pButton == &maDeviceInfoButton )
if( pButton == mpDeviceInfoButton )
{
OUString aString(SaneResId(RID_SANE_DEVICEINFO_TXT).toString());
OUString aString("Device: %s\nVendor: %s\nModel: %s\nType: %s");
aString = aString.replaceFirst( "%s", Sane::GetName( mrSane.GetDeviceNumber() ) );
aString = aString.replaceFirst( "%s", Sane::GetVendor( mrSane.GetDeviceNumber() ) );
aString = aString.replaceFirst( "%s", Sane::GetModel( mrSane.GetDeviceNumber() ) );
@@ -425,14 +422,14 @@ IMPL_LINK( SaneDlg, ClickBtnHdl, Button*, pButton )
InfoBox aInfoBox( this, aString );
aInfoBox.Execute();
}
else if( pButton == &maPreviewButton )
else if( pButton == mpPreviewButton )
AcquirePreview();
else if( pButton == &maBoolCheckBox )
else if( pButton == mpBoolCheckBox )
{
mrSane.SetOptionValue( mnCurrentOption,
maBoolCheckBox.IsChecked() );
mpBoolCheckBox->IsChecked() );
}
else if( pButton == &maButtonOption )
else if( pButton == mpButtonOption )
{
SANE_Value_Type nType = mrSane.GetOptionType( mnCurrentOption );
@@ -464,21 +461,21 @@ IMPL_LINK( SaneDlg, ClickBtnHdl, Button*, pButton )
break;
}
}
else if( pButton == &maAdvancedBox )
else if( pButton == mpAdvancedBox )
{
ReloadSaneOptionsHdl( NULL );
}
}
if( pButton == &maOKButton || pButton == &maScanButton )
if( pButton == mpOKButton || pButton == mpScanButton )
{
double fRes = (double)maReslBox.GetValue();
double fRes = (double)mpReslBox->GetValue();
SetAdjustedNumericalValue( "resolution", fRes );
UpdateScanArea( true );
SaveState();
EndDialog( mrSane.IsOpen() ? 1 : 0 );
doScan = (pButton == &maScanButton);
doScan = (pButton == mpScanButton);
}
else if( pButton == &maCancelButton )
else if( pButton == mpCancelButton )
{
mrSane.Close();
EndDialog( 0 );
@@ -488,9 +485,9 @@ IMPL_LINK( SaneDlg, ClickBtnHdl, Button*, pButton )
IMPL_LINK( SaneDlg, SelectHdl, ListBox*, pListBox )
{
if( pListBox == &maDeviceBox && Sane::IsSane() && Sane::CountDevices() )
if( pListBox == mpDeviceBox && Sane::IsSane() && Sane::CountDevices() )
{
OUString aNewDevice = maDeviceBox.GetSelectEntry();
OUString aNewDevice = mpDeviceBox->GetSelectEntry();
int nNumber;
if( aNewDevice == Sane::GetName( nNumber = mrSane.GetDeviceNumber() ) )
{
@@ -501,16 +498,16 @@ IMPL_LINK( SaneDlg, SelectHdl, ListBox*, pListBox )
}
if( mrSane.IsOpen() )
{
if( pListBox == &maQuantumRangeBox )
if( pListBox == mpQuantumRangeBox )
{
OString aValue(OUStringToOString(maQuantumRangeBox.GetSelectEntry(),
OString aValue(OUStringToOString(mpQuantumRangeBox->GetSelectEntry(),
osl_getThreadTextEncoding()));
double fValue = atof(aValue.getStr());
mrSane.SetOptionValue( mnCurrentOption, fValue, mnCurrentElement );
}
else if( pListBox == &maStringRangeBox )
else if( pListBox == mpStringRangeBox )
{
mrSane.SetOptionValue( mnCurrentOption, maStringRangeBox.GetSelectEntry() );
mrSane.SetOptionValue( mnCurrentOption, mpStringRangeBox->GetSelectEntry() );
}
}
return 0;
@@ -518,17 +515,17 @@ IMPL_LINK( SaneDlg, SelectHdl, ListBox*, pListBox )
IMPL_LINK( SaneDlg, OptionsBoxSelectHdl, SvTreeListBox*, pBox )
{
if( pBox == &maOptionBox && Sane::IsSane() )
if( pBox == mpOptionBox && Sane::IsSane() )
{
OUString aOption =
maOptionBox.GetEntryText( maOptionBox.FirstSelected() );
mpOptionBox->GetEntryText( mpOptionBox->FirstSelected() );
int nOption = mrSane.GetOptionByName(OUStringToOString(aOption,
osl_getThreadTextEncoding()).getStr());
if( nOption != -1 && nOption != mnCurrentOption )
{
DisableOption();
mnCurrentOption = nOption;
maOptionTitle.SetText( mrSane.GetOptionTitle( mnCurrentOption ) );
mpOptionTitle->SetText( mrSane.GetOptionTitle( mnCurrentOption ) );
SANE_Value_Type nType = mrSane.GetOptionType( mnCurrentOption );
SANE_Constraint_Type nConstraint;
switch( nType )
@@ -559,12 +556,12 @@ IMPL_LINK( SaneDlg, OptionsBoxSelectHdl, SvTreeListBox*, pBox )
{
if( nElements <= 10 )
{
maVectorBox.SetValue( 1 );
maVectorBox.SetMin( 1 );
maVectorBox.SetMax(
mpVectorBox->SetValue( 1 );
mpVectorBox->SetMin( 1 );
mpVectorBox->SetMax(
mrSane.GetOptionElements( mnCurrentOption ) );
maVectorBox.Show( true );
maVectorTxt.Show( true );
mpVectorBox->Show( true );
mpVectorTxt->Show( true );
}
else
{
@@ -589,13 +586,13 @@ IMPL_LINK( SaneDlg, ModifyHdl, Edit*, pEdit )
{
if( mrSane.IsOpen() )
{
if( pEdit == &maStringEdit )
if( pEdit == mpStringEdit )
{
mrSane.SetOptionValue( mnCurrentOption, maStringEdit.GetText() );
mrSane.SetOptionValue( mnCurrentOption, mpStringEdit->GetText() );
}
else if( pEdit == &maReslBox )
else if( pEdit == mpReslBox )
{
double fRes = (double)maReslBox.GetValue();
double fRes = (double)mpReslBox->GetValue();
int nOption = mrSane.GetOptionByName( "resolution" );
if( nOption != -1 )
{
@@ -620,13 +617,13 @@ IMPL_LINK( SaneDlg, ModifyHdl, Edit*, pEdit )
fRes = pDouble[ 1 ];
}
delete[] pDouble;
maReslBox.SetValue( (sal_uLong)fRes );
mpReslBox->SetValue( (sal_uLong)fRes );
}
}
else if( pEdit == &maNumericEdit )
else if( pEdit == mpNumericEdit )
{
double fValue;
OString aContents(OUStringToOString(maNumericEdit.GetText(),
OString aContents(OUStringToOString(mpNumericEdit->GetText(),
osl_getThreadTextEncoding()));
fValue = atof(aContents.getStr());
if( mfMin != mfMax && ( fValue < mfMin || fValue > mfMax ) )
@@ -637,45 +634,45 @@ IMPL_LINK( SaneDlg, ModifyHdl, Edit*, pEdit )
else if( fValue > mfMax )
fValue = mfMax;
sprintf( pBuf, "%g", fValue );
maNumericEdit.SetText( OUString( pBuf, strlen(pBuf), osl_getThreadTextEncoding() ) );
mpNumericEdit->SetText( OUString( pBuf, strlen(pBuf), osl_getThreadTextEncoding() ) );
}
mrSane.SetOptionValue( mnCurrentOption, fValue, mnCurrentElement );
}
else if( pEdit == &maVectorBox )
else if( pEdit == mpVectorBox )
{
char pBuf[256];
mnCurrentElement = maVectorBox.GetValue()-1;
mnCurrentElement = mpVectorBox->GetValue()-1;
double fValue;
mrSane.GetOptionValue( mnCurrentOption, fValue, mnCurrentElement );
sprintf( pBuf, "%g", fValue );
OUString aValue( pBuf, strlen(pBuf), osl_getThreadTextEncoding() );
maNumericEdit.SetText( aValue );
maQuantumRangeBox.SelectEntry( aValue );
mpNumericEdit->SetText( aValue );
mpQuantumRangeBox->SelectEntry( aValue );
}
else if( pEdit == &maTopField )
else if( pEdit == mpTopField )
{
Point aPoint( 0, maTopField.GetValue() );
Point aPoint( 0, mpTopField->GetValue() );
aPoint = GetPixelPos( aPoint );
maTopLeft.Y() = aPoint.Y();
DrawDrag();
}
else if( pEdit == &maLeftField )
else if( pEdit == mpLeftField )
{
Point aPoint( maLeftField.GetValue(), 0 );
Point aPoint( mpLeftField->GetValue(), 0 );
aPoint = GetPixelPos( aPoint );
maTopLeft.X() = aPoint.X();
DrawDrag();
}
else if( pEdit == &maBottomField )
else if( pEdit == mpBottomField )
{
Point aPoint( 0, maBottomField.GetValue() );
Point aPoint( 0, mpBottomField->GetValue() );
aPoint = GetPixelPos( aPoint );
maBottomRight.Y() = aPoint.Y();
DrawDrag();
}
else if( pEdit == &maRightField )
else if( pEdit == mpRightField )
{
Point aPoint( maRightField.GetValue(), 0 );
Point aPoint( mpRightField->GetValue(), 0 );
aPoint = GetPixelPos( aPoint );
maBottomRight.X() = aPoint.X();
DrawDrag();
@@ -706,13 +703,13 @@ void SaneDlg::AcquirePreview()
UpdateScanArea( true );
// set small resolution for preview
double fResl = (double)maReslBox.GetValue();
double fResl = (double)mpReslBox->GetValue();
SetAdjustedNumericalValue( "resolution", 30.0 );
int nOption = mrSane.GetOptionByName( "preview" );
if( nOption == -1 )
{
OUString aString(SaneResId(RID_SANE_NORESOLUTIONOPTION_TXT).toString());
OUString aString("The device does not offer a preview option. Therefore, a normal scan will be used as a preview instead. This may take a considerable amount of time." );
WarningBox aBox( this, WB_OK_CANCEL | WB_DEF_OK, aString );
if( aBox.Execute() == RET_CANCEL )
return;
@@ -724,7 +721,7 @@ void SaneDlg::AcquirePreview()
if( ! mrSane.Start( aTransporter ) )
{
ErrorBox aErrorBox( this, WB_OK | WB_DEF_OK,
SaneResId( RID_SANE_SCANERROR_TXT).toString() );
"An error occurred while scanning." );
aErrorBox.Execute();
}
else
@@ -738,7 +735,7 @@ void SaneDlg::AcquirePreview()
}
SetAdjustedNumericalValue( "resolution", fResl );
maReslBox.SetValue( (sal_uLong)fResl );
mpReslBox->SetValue( (sal_uLong)fResl );
if( mbDragEnable )
{
@@ -789,15 +786,15 @@ void SaneDlg::Paint( const Rectangle& rRect )
void SaneDlg::DisableOption()
{
maBoolCheckBox.Show( false );
maStringEdit.Show( false );
maNumericEdit.Show( false );
maQuantumRangeBox.Show( false );
maStringRangeBox.Show( false );
maButtonOption.Show( false );
maVectorBox.Show( false );
maVectorTxt.Show( false );
maOptionDescTxt.Show( false );
mpBoolCheckBox->Show( false );
mpStringEdit->Show( false );
mpNumericEdit->Show( false );
mpQuantumRangeBox->Show( false );
mpStringRangeBox->Show( false );
mpButtonOption->Show( false );
mpVectorBox->Show( false );
mpVectorTxt->Show( false );
mpOptionDescTxt->Show( false );
}
void SaneDlg::EstablishBoolOption()
@@ -807,10 +804,9 @@ void SaneDlg::EstablishBoolOption()
bSuccess = mrSane.GetOptionValue( mnCurrentOption, bValue );
if( bSuccess )
{
maOptionDescTxt.SetText( mrSane.GetOptionName( mnCurrentOption ) );
maOptionDescTxt.Show( true );
maBoolCheckBox.Check( bValue );
maBoolCheckBox.Show( true );
mpBoolCheckBox->SetText( mrSane.GetOptionName( mnCurrentOption ) );
mpBoolCheckBox->Check( bValue );
mpBoolCheckBox->Show( true );
}
}
@@ -822,25 +818,25 @@ void SaneDlg::EstablishStringOption()
bSuccess = mrSane.GetOptionValue( mnCurrentOption, aValue );
if( bSuccess )
{
maOptionDescTxt.SetText( mrSane.GetOptionName( mnCurrentOption ) );
maOptionDescTxt.Show( true );
maStringEdit.SetText(OStringToOUString(aValue, osl_getThreadTextEncoding()));
maStringEdit.Show( true );
mpOptionDescTxt->SetText( mrSane.GetOptionName( mnCurrentOption ) );
mpOptionDescTxt->Show( true );
mpStringEdit->SetText(OStringToOUString(aValue, osl_getThreadTextEncoding()));
mpStringEdit->Show( true );
}
}
void SaneDlg::EstablishStringRange()
{
const char** ppStrings = mrSane.GetStringConstraint( mnCurrentOption );
maStringRangeBox.Clear();
mpStringRangeBox->Clear();
for( int i = 0; ppStrings[i] != 0; i++ )
maStringRangeBox.InsertEntry( OUString( ppStrings[i], strlen(ppStrings[i]), osl_getThreadTextEncoding() ) );
mpStringRangeBox->InsertEntry( OUString( ppStrings[i], strlen(ppStrings[i]), osl_getThreadTextEncoding() ) );
OString aValue;
mrSane.GetOptionValue( mnCurrentOption, aValue );
maStringRangeBox.SelectEntry(OStringToOUString(aValue, osl_getThreadTextEncoding()));
maStringRangeBox.Show( true );
maOptionDescTxt.SetText( mrSane.GetOptionName( mnCurrentOption ) );
maOptionDescTxt.Show( true );
mpStringRangeBox->SelectEntry(OStringToOUString(aValue, osl_getThreadTextEncoding()));
mpStringRangeBox->Show( true );
mpOptionDescTxt->SetText( mrSane.GetOptionName( mnCurrentOption ) );
mpOptionDescTxt->Show( true );
}
void SaneDlg::EstablishQuantumRange()
@@ -862,26 +858,26 @@ void SaneDlg::EstablishQuantumRange()
else if( nValues > 0 )
{
char pBuf[ 256 ];
maQuantumRangeBox.Clear();
mpQuantumRangeBox->Clear();
mfMin = mpRange[ 0 ];
mfMax = mpRange[ nValues-1 ];
for( int i = 0; i < nValues; i++ )
{
sprintf( pBuf, "%g", mpRange[ i ] );
maQuantumRangeBox.InsertEntry( OUString( pBuf, strlen(pBuf), osl_getThreadTextEncoding() ) );
mpQuantumRangeBox->InsertEntry( OUString( pBuf, strlen(pBuf), osl_getThreadTextEncoding() ) );
}
double fValue;
if( mrSane.GetOptionValue( mnCurrentOption, fValue, mnCurrentElement ) )
{
sprintf( pBuf, "%g", fValue );
maQuantumRangeBox.SelectEntry( OUString( pBuf, strlen(pBuf), osl_getThreadTextEncoding() ) );
mpQuantumRangeBox->SelectEntry( OUString( pBuf, strlen(pBuf), osl_getThreadTextEncoding() ) );
}
maQuantumRangeBox.Show( true );
mpQuantumRangeBox->Show( true );
OUString aText( mrSane.GetOptionName( mnCurrentOption ) );
aText += " ";
aText += mrSane.GetOptionUnitName( mnCurrentOption );
maOptionDescTxt.SetText( aText );
maOptionDescTxt.Show( true );
mpOptionDescTxt->SetText( aText );
mpOptionDescTxt->Show( true );
}
}
@@ -903,18 +899,18 @@ void SaneDlg::EstablishNumericOption()
sprintf( pBuf, " < %g ; %g >", mfMin, mfMax );
aText += OUString( pBuf, strlen(pBuf), osl_getThreadTextEncoding() );
}
maOptionDescTxt.SetText( aText );
maOptionDescTxt.Show( true );
mpOptionDescTxt->SetText( aText );
mpOptionDescTxt->Show( true );
sprintf( pBuf, "%g", fValue );
maNumericEdit.SetText( OUString( pBuf, strlen(pBuf), osl_getThreadTextEncoding() ) );
maNumericEdit.Show( true );
mpNumericEdit->SetText( OUString( pBuf, strlen(pBuf), osl_getThreadTextEncoding() ) );
mpNumericEdit->Show( true );
}
void SaneDlg::EstablishButtonOption()
{
maOptionDescTxt.SetText( mrSane.GetOptionName( mnCurrentOption ) );
maOptionDescTxt.Show( true );
maButtonOption.Show( true );
mpOptionDescTxt->SetText( mrSane.GetOptionName( mnCurrentOption ) );
mpOptionDescTxt->Show( true );
mpButtonOption->Show( true );
}
#define RECT_SIZE_PIX 7
@@ -1149,10 +1145,10 @@ void SaneDlg::UpdateScanArea( bool bSend )
Point aUL = GetLogicPos( maTopLeft );
Point aBR = GetLogicPos( maBottomRight );
maLeftField.SetValue( aUL.X() );
maTopField.SetValue( aUL.Y() );
maRightField.SetValue( aBR.X() );
maBottomField.SetValue( aBR.Y() );
mpLeftField->SetValue( aUL.X() );
mpTopField->SetValue( aUL.Y() );
mpRightField->SetValue( aBR.X() );
mpBottomField->SetValue( aBR.Y() );
if( ! bSend )
return;
@@ -1255,7 +1251,7 @@ void SaneDlg::SaveState()
aConfig.DeleteGroup( "SANE" );
aConfig.SetGroup( "SANE" );
aConfig.WriteKey( "SO_LastSANEDevice",
OUStringToOString(maDeviceBox.GetSelectEntry(), RTL_TEXTENCODING_UTF8) );
OUStringToOString(mpDeviceBox->GetSelectEntry(), RTL_TEXTENCODING_UTF8) );
static char const* pSaveOptions[] = {
"resolution",

View File

@@ -19,56 +19,12 @@
#ifndef _SVT_SANEDLG_HRC
#define _SVT_SANEDLG_HRC
#define RID_SANE_DIALOG 1000
#define RID_SCAN_OK 1
#define RID_SCAN_CANCEL 2
#define RID_DEVICEINFO_BTN 3
#define RID_PREVIEW_BOX 4
#define RID_DEVICE_BOX_TXT 5
#define RID_DEVICE_BOX 6
#define RID_SCANAREA_BOX 7
#define RID_SCAN_LEFT_TXT 8
#define RID_SCAN_LEFT_BOX 9
#define RID_SCAN_TOP_BOX 10
#define RID_SCAN_TOP_TXT 11
#define RID_SCAN_RIGHT_TXT 12
#define RID_SCAN_RIGHT_BOX 13
#define RID_SCAN_BOTTOM_TXT 14
#define RID_SCAN_BOTTOM_BOX 15
#define RID_SCAN_RESOLUTION_TXT 16
#define RID_SCAN_RESOLUTION_BOX 17
#define RID_PREVIEW_BTN 18
#define RID_SCAN_OPTION_BOX 19
#define RID_SCAN_OPTIONTITLE_TXT 20
#define RID_SCAN_OPTION_DESC_TXT 21
#define RID_SCAN_BOOL_OPTION_BOX 22
#define RID_SCAN_OPTION_TXT 23
#define RID_SCAN_STRING_OPTION_EDT 24
#define RID_SCAN_QUANTUM_RANGE_BOX 25
#define RID_SCAN_STRING_RANGE_BOX 26
#define RID_SCAN_NUMERIC_OPTION_EDT 27
#define RID_SCAN_BUTTON_OPTION_BTN 28
#define RID_SCAN_NUMERIC_VECTOR_BOX 29
#define RID_SCAN_NUMERIC_VECTOR_TXT 30
#define RID_SCAN_BITMAP_PLUS 31
#define RID_SCAN_BITMAP_MINUS 32
#define RID_SCAN_ADVANCED_BOX 33
#define RID_SCAN_ADVANCED_TXT 34
#define RID_SCAN_BTN 35
#define RID_SANE_DEVICEINFO_TXT 1001
#define RID_SANE_SCANERROR_TXT 1002
#define RID_SANE_NORESOLUTIONOPTION_TXT 1003
#define RID_SANE_NOSANELIB_TXT 1004
#define SCAN_AREA_TOP 17
#define SCAN_AREA_LEFT 8
#define PREVIEW_UPPER_LEFT SCAN_AREA_LEFT
#define PREVIEW_UPPER_TOP SCAN_AREA_TOP + 80
#define PREVIEW_WIDTH 113
#define PREVIEW_HEIGHT 160
#define SECOND_COLUMN PREVIEW_WIDTH + 20
#define THIRD_COLUMN SECOND_COLUMN + 135
#endif

View File

@@ -51,47 +51,38 @@ private:
Link maOldLink;
OKButton maOKButton;
CancelButton maCancelButton;
PushButton maDeviceInfoButton;
PushButton maPreviewButton;
PushButton maScanButton;
PushButton maButtonOption;
OKButton* mpOKButton;
CancelButton* mpCancelButton;
PushButton* mpDeviceInfoButton;
PushButton* mpPreviewButton;
PushButton* mpScanButton;
PushButton* mpButtonOption;
FixedText maOptionsTxt;
FixedText maOptionTitle;
FixedText maOptionDescTxt;
FixedText maVectorTxt;
FixedText* mpOptionTitle;
FixedText* mpOptionDescTxt;
FixedText* mpVectorTxt;
FixedText maScanLeftTxt;
MetricField maLeftField;
FixedText maScanTopTxt;
MetricField maTopField;
FixedText maRightTxt;
MetricField maRightField;
FixedText maBottomTxt;
MetricField maBottomField;
MetricField* mpLeftField;
MetricField* mpTopField;
MetricField* mpRightField;
MetricField* mpBottomField;
FixedText maDeviceBoxTxt;
ListBox maDeviceBox;
FixedText maReslTxt;
NumericBox maReslBox;
FixedText maAdvancedTxt;
CheckBox maAdvancedBox;
ListBox* mpDeviceBox;
NumericBox* mpReslBox;
CheckBox* mpAdvancedBox;
NumericField maVectorBox;
ListBox maQuantumRangeBox;
ListBox maStringRangeBox;
NumericField* mpVectorBox;
ListBox* mpQuantumRangeBox;
ListBox* mpStringRangeBox;
FixedLine maPreviewBox;
FixedLine maAreaBox;
CheckBox* mpBoolCheckBox;
CheckBox maBoolCheckBox;
Edit* mpStringEdit;
Edit* mpNumericEdit;
Edit maStringEdit;
Edit maNumericEdit;
SvTreeListBox* mpOptionBox;
SvTreeListBox maOptionBox;
Window* mpPreview;
int mnCurrentOption;
int mnCurrentElement;

View File

@@ -1,283 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <sanedlg.hrc>
ModalDialog RID_SANE_DIALOG
{
HelpID = "extensions:ModalDialog:RID_SANE_DIALOG";
OutputSize = TRUE ;
SVLook = TRUE ;
Pos = MAP_APPFONT ( 10 , 10 ) ;
Size = MAP_APPFONT ( THIRD_COLUMN + 60 , 268 ) ;
Moveable = TRUE ;
Closeable = TRUE ;
OKButton RID_SCAN_OK
{
Pos = MAP_APPFONT ( THIRD_COLUMN , 6 ) ;
Size = MAP_APPFONT ( 55 , 14 ) ;
DefButton = TRUE;
};
CancelButton RID_SCAN_CANCEL
{
Pos = MAP_APPFONT ( THIRD_COLUMN , 25 ) ;
Size = MAP_APPFONT ( 55 , 14 ) ;
};
PushButton RID_DEVICEINFO_BTN
{
HelpID = "extensions:PushButton:RID_SANE_DIALOG:RID_DEVICEINFO_BTN";
Pos = MAP_APPFONT ( THIRD_COLUMN , 44 ) ;
Size = MAP_APPFONT ( 55 , 22 ) ;
Text [ en-US ] = "About\n Dev~ice" ;
};
PushButton RID_PREVIEW_BTN
{
HelpID = "extensions:PushButton:RID_SANE_DIALOG:RID_PREVIEW_BTN";
Pos = MAP_APPFONT ( THIRD_COLUMN , 71 ) ;
Size = MAP_APPFONT ( 55 , 22 ) ;
Text [ en-US ] = "Create\nPreview" ;
};
PushButton RID_SCAN_BTN
{
HelpID = "extensions:PushButton:RID_SANE_DIALOG:RID_SCAN_BTN";
Pos = MAP_APPFONT ( THIRD_COLUMN , 98 ) ;
Size = MAP_APPFONT ( 55 , 14 ) ;
Text [ en-US ] = "Scan" ;
};
FixedLine RID_PREVIEW_BOX
{
Pos = MAP_APPFONT ( PREVIEW_UPPER_LEFT - 5 , PREVIEW_UPPER_TOP - 8 ) ;
Size = MAP_APPFONT ( PREVIEW_WIDTH + 10 , 8 ) ;
Text [ en-US ] = "Preview" ;
};
FixedLine RID_SCANAREA_BOX
{
Pos = MAP_APPFONT ( SCAN_AREA_LEFT - 5 , SCAN_AREA_TOP - 12 ) ;
Size = MAP_APPFONT ( PREVIEW_WIDTH + 10 , 8 ) ;
Text [ en-US ] = "Scan area" ;
};
FixedText RID_SCAN_LEFT_TXT
{
Pos = MAP_APPFONT ( SCAN_AREA_LEFT , SCAN_AREA_TOP ) ;
Size = MAP_APPFONT ( 50 , 8 ) ;
Text [ en-US ] = "Left:" ;
};
MetricField RID_SCAN_LEFT_BOX
{
HelpID = "extensions:MetricField:RID_SANE_DIALOG:RID_SCAN_LEFT_BOX";
Spin = TRUE ;
Repeat = TRUE ;
Border = TRUE ;
Pos = MAP_APPFONT ( SCAN_AREA_LEFT + 50 , SCAN_AREA_TOP - 2 ) ;
Size = MAP_APPFONT ( PREVIEW_WIDTH - 50 , 12 ) ;
};
FixedText RID_SCAN_TOP_TXT
{
Pos = MAP_APPFONT ( SCAN_AREA_LEFT , SCAN_AREA_TOP + 17 ) ;
Size = MAP_APPFONT ( 50 , 8 ) ;
Text [ en-US ] = "Top:" ;
};
MetricField RID_SCAN_TOP_BOX
{
HelpID = "extensions:MetricField:RID_SANE_DIALOG:RID_SCAN_TOP_BOX";
Spin = TRUE ;
Repeat = TRUE ;
Border = TRUE ;
Pos = MAP_APPFONT ( SCAN_AREA_LEFT + 50 , SCAN_AREA_TOP + 15 ) ;
Size = MAP_APPFONT ( PREVIEW_WIDTH - 50 , 12 ) ;
};
FixedText RID_SCAN_RIGHT_TXT
{
Pos = MAP_APPFONT ( SCAN_AREA_LEFT , SCAN_AREA_TOP + 34 ) ;
Size = MAP_APPFONT ( 50 , 8 ) ;
Text [ en-US ] = "Right:" ;
};
MetricField RID_SCAN_RIGHT_BOX
{
HelpID = "extensions:MetricField:RID_SANE_DIALOG:RID_SCAN_RIGHT_BOX";
Spin = TRUE ;
Repeat = TRUE ;
Border = TRUE ;
Pos = MAP_APPFONT ( SCAN_AREA_LEFT + 50 , SCAN_AREA_TOP + 32 ) ;
Size = MAP_APPFONT ( PREVIEW_WIDTH - 50 , 12 ) ;
};
FixedText RID_SCAN_BOTTOM_TXT
{
Pos = MAP_APPFONT ( SCAN_AREA_LEFT , SCAN_AREA_TOP + 51 ) ;
Size = MAP_APPFONT ( 50 , 8 ) ;
Text [ en-US ] = "Bottom:" ;
};
MetricField RID_SCAN_BOTTOM_BOX
{
HelpID = "extensions:MetricField:RID_SANE_DIALOG:RID_SCAN_BOTTOM_BOX";
Spin = TRUE ;
Repeat = TRUE ;
Border = TRUE ;
Pos = MAP_APPFONT ( SCAN_AREA_LEFT + 50 , SCAN_AREA_TOP + 49 ) ;
Size = MAP_APPFONT ( PREVIEW_WIDTH - 50 , 12 ) ;
};
FixedText RID_DEVICE_BOX_TXT
{
Pos = MAP_APPFONT ( SECOND_COLUMN , 8 ) ;
Size = MAP_APPFONT ( 70 , 8 ) ;
Text [ en-US ] = "Device used:" ;
};
ListBox RID_DEVICE_BOX
{
HelpID = "extensions:ListBox:RID_SANE_DIALOG:RID_DEVICE_BOX";
Border = TRUE ;
Dropdown = TRUE ;
Sort = TRUE ;
Pos = MAP_APPFONT ( SECOND_COLUMN + 70 , 6 ) ;
Size = MAP_APPFONT ( 60 , 80 ) ;
};
FixedText RID_SCAN_RESOLUTION_TXT
{
Pos = MAP_APPFONT ( SECOND_COLUMN , 25 ) ;
Size = MAP_APPFONT ( 70 , 8 ) ;
Text [ en-US ] = "Resolution [~DPI]" ;
};
NumericBox RID_SCAN_RESOLUTION_BOX
{
HelpID = "extensions:NumericBox:RID_SANE_DIALOG:RID_SCAN_RESOLUTION_BOX";
Dropdown = TRUE ;
Pos = MAP_APPFONT ( SECOND_COLUMN + 70 , 23 ) ;
Size = MAP_APPFONT ( 60 , 80 ) ;
};
FixedText RID_SCAN_ADVANCED_TXT
{
Pos = MAP_APPFONT ( SECOND_COLUMN , 40 ) ;
Size = MAP_APPFONT ( 120 , 8 ) ;
Text [ en-US ] = "Show advanced options" ;
};
CheckBox RID_SCAN_ADVANCED_BOX
{
HelpID = "extensions:CheckBox:RID_SANE_DIALOG:RID_SCAN_ADVANCED_BOX";
Check = FALSE ;
Pos = MAP_APPFONT ( SECOND_COLUMN + 120 , 40 ) ;
Size = MAP_APPFONT ( 8 , 8 ) ;
};
FixedText RID_SCAN_OPTION_TXT
{
Pos = MAP_APPFONT ( SECOND_COLUMN , 54 ) ;
Size = MAP_APPFONT ( 130 , 8 ) ;
Text [ en-US ] = "Options:" ;
};
Control RID_SCAN_OPTION_BOX
{
Border = TRUE ;
Pos = MAP_APPFONT ( SECOND_COLUMN , 63 ) ;
Size = MAP_APPFONT ( 130 , 102 ) ;
};
FixedText RID_SCAN_OPTIONTITLE_TXT
{
WordBreak = TRUE ;
Border = TRUE ;
Pos = MAP_APPFONT ( SECOND_COLUMN , 170 ) ;
Size = MAP_APPFONT ( 130 , 50 ) ;
};
FixedText RID_SCAN_OPTION_DESC_TXT
{
Pos = MAP_APPFONT ( SECOND_COLUMN , 225 ) ;
Size = MAP_APPFONT ( 120 , 8 ) ;
};
CheckBox RID_SCAN_BOOL_OPTION_BOX
{
HelpID = "extensions:CheckBox:RID_SANE_DIALOG:RID_SCAN_BOOL_OPTION_BOX";
Pos = MAP_APPFONT ( SECOND_COLUMN + 120 , 225 ) ;
Size = MAP_APPFONT ( 8 , 8 ) ;
};
Edit RID_SCAN_STRING_OPTION_EDT
{
HelpID = "extensions:Edit:RID_SANE_DIALOG:RID_SCAN_STRING_OPTION_EDT";
Border = TRUE ;
Pos = MAP_APPFONT ( SECOND_COLUMN , 234 ) ;
Size = MAP_APPFONT ( 130 , 12 ) ;
};
ListBox RID_SCAN_QUANTUM_RANGE_BOX
{
HelpID = "extensions:ListBox:RID_SANE_DIALOG:RID_SCAN_QUANTUM_RANGE_BOX";
Border = TRUE ;
Dropdown = TRUE ;
Pos = MAP_APPFONT ( SECOND_COLUMN , 234 ) ;
Size = MAP_APPFONT ( 130 , 80 ) ;
};
ListBox RID_SCAN_STRING_RANGE_BOX
{
HelpID = "extensions:ListBox:RID_SANE_DIALOG:RID_SCAN_STRING_RANGE_BOX";
Border = TRUE ;
Dropdown = TRUE ;
Pos = MAP_APPFONT ( SECOND_COLUMN , 234 ) ;
Size = MAP_APPFONT ( 130 , 80 ) ;
};
Edit RID_SCAN_NUMERIC_OPTION_EDT
{
HelpID = "extensions:Edit:RID_SANE_DIALOG:RID_SCAN_NUMERIC_OPTION_EDT";
Border = TRUE ;
Pos = MAP_APPFONT ( SECOND_COLUMN , 234 ) ;
Size = MAP_APPFONT ( 130 , 12 ) ;
};
FixedText RID_SCAN_NUMERIC_VECTOR_TXT
{
Pos = MAP_APPFONT ( SECOND_COLUMN , 253 ) ;
Size = MAP_APPFONT ( 90 , 8 ) ;
Text [ en-US ] = "Vector element" ;
};
NumericField RID_SCAN_NUMERIC_VECTOR_BOX
{
HelpID = "extensions:NumericField:RID_SANE_DIALOG:RID_SCAN_NUMERIC_VECTOR_BOX";
Border = TRUE ;
Spin = TRUE ;
Repeat = TRUE ;
Pos = MAP_APPFONT ( SECOND_COLUMN + 90 , 251 ) ;
Size = MAP_APPFONT ( 40 , 12 ) ;
};
PushButton RID_SCAN_BUTTON_OPTION_BTN
{
HelpID = "extensions:PushButton:RID_SANE_DIALOG:RID_SCAN_BUTTON_OPTION_BTN";
Pos = MAP_APPFONT ( SECOND_COLUMN , 234 ) ;
Size = MAP_APPFONT ( 130 , 14 ) ;
Text [ en-US ] = "Set" ;
};
Bitmap RID_SCAN_BITMAP_PLUS
{
File = "plus.bmp" ;
};
Bitmap RID_SCAN_BITMAP_MINUS
{
File = "minus.bmp" ;
};
Text [ en-US ] = "Scanner" ;
};
String RID_SANE_DEVICEINFO_TXT
{
Text [ en-US ] = "Device: %s\nVendor: %s\nModel: %s\nType: %s" ;
};
String RID_SANE_SCANERROR_TXT
{
Text [ en-US ] = "An error occurred while scanning." ;
};
String RID_SANE_NORESOLUTIONOPTION_TXT
{
Text [ en-US ] = "The device does not offer a preview option. Therefore, a normal scan will be used as a preview instead. This may take a considerable amount of time." ;
};
String RID_SANE_NOSANELIB_TXT
{
Text [ en-US ] = "The SANE interface could not be initialized. Scanning is not possible." ;
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,105 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkAction" id="action1"/>
<object class="GtkDialog" id="Scanner">
<requires lib="gtk+" version="3.0"/>
<!-- interface-requires LibreOffice 1.0 -->
<object class="GtkDialog" id="SaneDialog">
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="border_width">6</property>
<property name="title" translatable="yes">Scanner</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="layout_style">start</property>
<child>
<object class="GtkButton" id="ok">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="cancel">
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button3">
<property name="label" translatable="yes">About
Dev_ice</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button4">
<property name="label" translatable="yes">Create
Previe_w</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button5">
<property name="label" translatable="yes">_Scan</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<property name="spacing">12</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkFrame" id="frame1">
<property name="visible">True</property>
@@ -110,13 +30,14 @@ Previe_w</property>
<object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="can_focus">False</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">15</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
@@ -124,6 +45,7 @@ Previe_w</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Left:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">leftSpinbutton:0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -139,6 +61,7 @@ Previe_w</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">To_p:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">topSpinbutton:0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -154,6 +77,7 @@ Previe_w</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Right:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">rightSpinbutton:0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -169,6 +93,7 @@ Previe_w</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Bottom:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">bottomSpinbutton:0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -178,23 +103,10 @@ Previe_w</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spinbutton1">
<object class="GtkSpinButton" id="topSpinbutton:0">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">•</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="GtkSpinButton" id="spinbutton2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">•</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -204,10 +116,10 @@ Previe_w</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spinbutton3">
<object class="GtkSpinButton" id="rightSpinbutton:0">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">•</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -217,10 +129,10 @@ Previe_w</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spinbutton4">
<object class="GtkSpinButton" id="bottomSpinbutton:0">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">•</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -229,6 +141,19 @@ Previe_w</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="leftSpinbutton:0">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">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>
</object>
</child>
</object>
@@ -237,6 +162,7 @@ Previe_w</property>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Scan area</property>
</object>
</child>
@@ -251,21 +177,24 @@ Previe_w</property>
<object class="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow1">
<object class="GtkDrawingArea" id="preview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<placeholder/>
</child>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
</object>
</child>
</object>
@@ -288,7 +217,7 @@ Previe_w</property>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">0</property>
</packing>
</child>
<child>
@@ -296,13 +225,13 @@ Previe_w</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<property name="spacing">12</property>
<child>
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="label7">
<property name="visible">True</property>
@@ -310,6 +239,7 @@ Previe_w</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Device _used</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">deviceCombobox</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -325,6 +255,7 @@ Previe_w</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Resolution [_DPI]</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">reslCombobox</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -334,25 +265,10 @@ Previe_w</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label9">
<object class="GtkComboBox" id="deviceCombobox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Show advanced options</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="GtkComboBoxText" id="comboboxtext1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -362,9 +278,10 @@ Previe_w</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="combobox1">
<object class="VclComboBoxNumeric" id="reslCombobox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -373,22 +290,6 @@ Previe_w</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkbutton1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="xalign">0</property>
<property name="image_position">right</property>
<property name="draw_indicator">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>
</object>
<packing>
<property name="expand">False</property>
@@ -400,41 +301,20 @@ Previe_w</property>
<object class="GtkBox" id="box4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox" id="box5">
<object class="GtkCheckButton" id="advancedCheckbutton">
<property name="label" translatable="yes">Show advanced options</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="label10">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Options:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="xalign">0</property>
<property name="image_position">right</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
@@ -443,9 +323,246 @@ Previe_w</property>
</packing>
</child>
<child>
<object class="GtkDrawingArea" id="drawingarea1">
<object class="GtkBox" id="box3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkGrid" id="grid3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<child>
<object class="GtkLabel" id="label10">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Options:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">optionSvTreeListBox:border</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="svtlo-SvTreeListBox" id="optionSvTreeListBox:border">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="Tree List-selection"/>
</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>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<child>
<object class="GtkLabel" id="optionTitleLabel:border">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">start</property>
<property name="xalign">0</property>
<property name="yalign">0</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="optionsDescLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="xalign">0</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="optionsButton">
<property name="label" translatable="yes">Se_t</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</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="GtkComboBox" id="quantumRangeCombobox">
<property name="visible">True</property>
<property name="can_focus">False</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>
<child>
<object class="GtkComboBox" id="stringRangeCombobox">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="boolCheckbutton">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="stringEntry">
<property name="visible">True</property>
<property name="can_focus">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">6</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="numericEntry">
<property name="visible">True</property>
<property name="can_focus">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">7</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="vectorLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Vector element</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">vectorSpinbutton-nospin</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">8</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="vectorSpinbutton-nospin">
<property name="visible">True</property>
<property name="can_focus">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">9</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid5">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<child>
<object class="GtkImage" id="plus">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">extensions/source/scanner/plus.png</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="GtkImage" id="minus">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">extensions/source/scanner/minus.png</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>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">10</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
@@ -464,6 +581,97 @@ Previe_w</property>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="homogeneous">True</property>
<property name="layout_style">start</property>
<child>
<object class="GtkButton" id="ok">
<property name="label">gtk-ok</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="has_default">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="cancel">
<property name="label">gtk-cancel</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="deviceInfoButton">
<property name="label" translatable="yes">About Dev_ice</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="previewButton">
<property name="label" translatable="yes">Create Previe_w</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkButton" id="scanButton">
<property name="label" translatable="yes">_Scan</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
@@ -472,9 +680,9 @@ Previe_w</property>
<action-widgets>
<action-widget response="0">ok</action-widget>
<action-widget response="0">cancel</action-widget>
<action-widget response="0">button3</action-widget>
<action-widget response="0">button4</action-widget>
<action-widget response="0">button5</action-widget>
<action-widget response="0">deviceInfoButton</action-widget>
<action-widget response="0">previewButton</action-widget>
<action-widget response="0">scanButton</action-widget>
</action-widgets>
</object>
</interface>

View File

@@ -499,6 +499,7 @@ UI_FILELIST(dbtdata, "UIConfig/modules/dbtdata.filelist")
UI_FILELIST(desktop, "UIConfig/desktop.filelist")
UI_FILELIST(filter, "UIConfig/filter.filelist")
UI_FILELIST(sabpilot, "UIConfig/modules/sabpilot.filelist")
UI_FILELIST(scanner, "UIConfig/modules/scanner.filelist")
#ifdef DBCONNECTIVITY
UI_FILELIST(sbibliography, "UIConfig/modules/sbibliography.filelist")
UI_FILELIST(spropctrlr, "UIConfig/modules/spropctrlr.filelist")

View File

@@ -1420,11 +1420,15 @@ Window *VclBuilder::makeObject(Window *pParent, const OString &name, const OStri
}
else if (name == "GtkLabel")
{
WinBits nWinStyle = WB_CENTER|WB_VCENTER|WB_3DLOOK;
OString sBorder = extractCustomProperty(rMap);
if (!sBorder.isEmpty())
nWinStyle |= WB_BORDER;
extractMnemonicWidget(id, rMap);
if (extractSelectable(rMap))
pWindow = new SelectableFixedText(pParent, WB_CENTER|WB_VCENTER|WB_3DLOOK);
pWindow = new SelectableFixedText(pParent, nWinStyle);
else
pWindow = new FixedText(pParent, WB_CENTER|WB_VCENTER|WB_3DLOOK);
pWindow = new FixedText(pParent, nWinStyle);
}
else if (name == "GtkImage")
{