Kaydet (Commit) 29b92329 authored tarafından Katarina Behrens's avatar Katarina Behrens

tdf#94097: Move 'Print to file' option to the front page

Change-Id: I4acc09d0a46d82cfc9a63cbffe8e53a1b86f3acd
Reviewed-on: https://gerrit.libreoffice.org/21908Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarKatarina Behrens <Katarina.Behrens@cib.de>
üst 39eef4c5
...@@ -163,7 +163,6 @@ namespace vcl ...@@ -163,7 +163,6 @@ namespace vcl
class OutputOptPage class OutputOptPage
{ {
public: public:
VclPtr<CheckBox> mpToFileBox;
VclPtr<CheckBox> mpCollateSingleJobsBox; VclPtr<CheckBox> mpCollateSingleJobsBox;
VclPtr<CheckBox> mpPapersizeFromSetup; VclPtr<CheckBox> mpPapersizeFromSetup;
......
...@@ -484,7 +484,6 @@ PrintDialog::JobTabPage::JobTabPage( VclBuilder* pUIBuilder ) ...@@ -484,7 +484,6 @@ PrintDialog::JobTabPage::JobTabPage( VclBuilder* pUIBuilder )
, mnCollateUIMode( 0 ) , mnCollateUIMode( 0 )
{ {
pUIBuilder->get(mpPrinters, "printers"); pUIBuilder->get(mpPrinters, "printers");
mpPrinters->SetStyle(mpPrinters->GetStyle() | WB_SORT);
pUIBuilder->get(mpStatusTxt, "status"); pUIBuilder->get(mpStatusTxt, "status");
pUIBuilder->get(mpLocationTxt, "location"); pUIBuilder->get(mpLocationTxt, "location");
pUIBuilder->get(mpCommentTxt, "comment"); pUIBuilder->get(mpCommentTxt, "comment");
...@@ -535,7 +534,6 @@ void PrintDialog::JobTabPage::storeToSettings() ...@@ -535,7 +534,6 @@ void PrintDialog::JobTabPage::storeToSettings()
PrintDialog::OutputOptPage::OutputOptPage( VclBuilder *pUIBuilder ) PrintDialog::OutputOptPage::OutputOptPage( VclBuilder *pUIBuilder )
{ {
pUIBuilder->get(mpToFileBox, "printtofile");
pUIBuilder->get(mpCollateSingleJobsBox, "singleprintjob"); pUIBuilder->get(mpCollateSingleJobsBox, "singleprintjob");
pUIBuilder->get(mpPapersizeFromSetup, "papersizefromsetup"); pUIBuilder->get(mpPapersizeFromSetup, "papersizefromsetup");
} }
...@@ -559,16 +557,19 @@ void PrintDialog::OutputOptPage::readFromSettings() ...@@ -559,16 +557,19 @@ void PrintDialog::OutputOptPage::readFromSettings()
void PrintDialog::OutputOptPage::storeToSettings() void PrintDialog::OutputOptPage::storeToSettings()
{ {
SettingsConfigItem* pItem = SettingsConfigItem::get(); SettingsConfigItem* pItem = SettingsConfigItem::get();
pItem->setValue( "PrintDialog",
"ToFile",
mpToFileBox->IsChecked() ? OUString("true")
: OUString("false") );
pItem->setValue( "PrintDialog", pItem->setValue( "PrintDialog",
"CollateSingleJobs", "CollateSingleJobs",
mpCollateSingleJobsBox->IsChecked() ? OUString("true") : mpCollateSingleJobsBox->IsChecked() ? OUString("true") :
OUString("false") ); OUString("false") );
} }
namespace {
bool lcl_ListBoxCompare( const OUString& rStr1, const OUString& rStr2 )
{
return ListBox::NaturalSortCompare( rStr1, rStr2 ) < 0;
}
}
PrintDialog::PrintDialog( vcl::Window* i_pParent, const std::shared_ptr<PrinterController>& i_rController ) PrintDialog::PrintDialog( vcl::Window* i_pParent, const std::shared_ptr<PrinterController>& i_rController )
: ModalDialog(i_pParent, "PrintDialog", "vcl/ui/printdialog.ui") : ModalDialog(i_pParent, "PrintDialog", "vcl/ui/printdialog.ui")
, mpCustomOptionsUIBuilder(nullptr) , mpCustomOptionsUIBuilder(nullptr)
...@@ -607,8 +608,10 @@ PrintDialog::PrintDialog( vcl::Window* i_pParent, const std::shared_ptr<PrinterC ...@@ -607,8 +608,10 @@ PrintDialog::PrintDialog( vcl::Window* i_pParent, const std::shared_ptr<PrinterC
Printer::updatePrinters(); Printer::updatePrinters();
maJobPage.mpPrinters->InsertEntry( maPrintToFileText );
// fill printer listbox // fill printer listbox
const std::vector< OUString >& rQueues( Printer::GetPrinterQueues() ); std::vector< OUString > rQueues( Printer::GetPrinterQueues() );
std::sort( rQueues.begin(), rQueues.end(), lcl_ListBoxCompare );
for( std::vector< OUString >::const_iterator it = rQueues.begin(); for( std::vector< OUString >::const_iterator it = rQueues.begin();
it != rQueues.end(); ++it ) it != rQueues.end(); ++it )
{ {
...@@ -676,7 +679,6 @@ PrintDialog::PrintDialog( vcl::Window* i_pParent, const std::shared_ptr<PrinterC ...@@ -676,7 +679,6 @@ PrintDialog::PrintDialog( vcl::Window* i_pParent, const std::shared_ptr<PrinterC
maJobPage.mpCollateBox->SetToggleHdl( LINK( this, PrintDialog, ToggleHdl ) ); maJobPage.mpCollateBox->SetToggleHdl( LINK( this, PrintDialog, ToggleHdl ) );
maJobPage.mpSetupButton->SetClickHdl( LINK( this, PrintDialog, ClickHdl ) ); maJobPage.mpSetupButton->SetClickHdl( LINK( this, PrintDialog, ClickHdl ) );
maNUpPage.mpBorderCB->SetClickHdl( LINK( this, PrintDialog, ClickHdl ) ); maNUpPage.mpBorderCB->SetClickHdl( LINK( this, PrintDialog, ClickHdl ) );
maOptionsPage.mpToFileBox->SetToggleHdl( LINK( this, PrintDialog, ToggleHdl ) );
maOptionsPage.mpPapersizeFromSetup->SetToggleHdl( LINK( this, PrintDialog, ToggleHdl ) ); maOptionsPage.mpPapersizeFromSetup->SetToggleHdl( LINK( this, PrintDialog, ToggleHdl ) );
maJobPage.mpReverseOrderBox->SetToggleHdl( LINK( this, PrintDialog, ToggleHdl ) ); maJobPage.mpReverseOrderBox->SetToggleHdl( LINK( this, PrintDialog, ToggleHdl ) );
maOptionsPage.mpCollateSingleJobsBox->SetToggleHdl( LINK( this, PrintDialog, ToggleHdl ) ); maOptionsPage.mpCollateSingleJobsBox->SetToggleHdl( LINK( this, PrintDialog, ToggleHdl ) );
...@@ -756,19 +758,12 @@ void PrintDialog::readFromSettings() ...@@ -756,19 +758,12 @@ void PrintDialog::readFromSettings()
break; break;
} }
} }
mpOKButton->SetText( maOptionsPage.mpToFileBox->IsChecked() ? maPrintToFileText : maPrintText );
// persistent window state // persistent window state
OUString aWinState( pItem->getValue( "PrintDialog", OUString aWinState( pItem->getValue( "PrintDialog",
"WindowState" ) ); "WindowState" ) );
if( !aWinState.isEmpty() ) if( !aWinState.isEmpty() )
SetWindowState( OUStringToOString( aWinState, RTL_TEXTENCODING_UTF8 ) ); SetWindowState( OUStringToOString( aWinState, RTL_TEXTENCODING_UTF8 ) );
if( maOptionsPage.mpToFileBox->IsChecked() )
{
maPController->resetPrinterOptions( true );
preparePreview( true, true );
}
} }
void PrintDialog::storeToSettings() void PrintDialog::storeToSettings()
...@@ -778,9 +773,14 @@ void PrintDialog::storeToSettings() ...@@ -778,9 +773,14 @@ void PrintDialog::storeToSettings()
// store last selected printer // store last selected printer
SettingsConfigItem* pItem = SettingsConfigItem::get(); SettingsConfigItem* pItem = SettingsConfigItem::get();
pItem->setValue( "PrintDialog",
"ToFile",
isPrintToFile() ? OUString("true")
: OUString("false") );
pItem->setValue( "PrintDialog", pItem->setValue( "PrintDialog",
"LastPrinter", "LastPrinter",
maJobPage.mpPrinters->GetSelectEntry() ); isPrintToFile() ? Printer::GetDefaultPrinterName()
: maJobPage.mpPrinters->GetSelectEntry() );
pItem->setValue( "PrintDialog", pItem->setValue( "PrintDialog",
"LastPage", "LastPage",
...@@ -794,7 +794,7 @@ void PrintDialog::storeToSettings() ...@@ -794,7 +794,7 @@ void PrintDialog::storeToSettings()
bool PrintDialog::isPrintToFile() bool PrintDialog::isPrintToFile()
{ {
return maOptionsPage.mpToFileBox->IsChecked(); return ( maJobPage.mpPrinters->GetSelectEntryPos() == 0 );
} }
bool PrintDialog::isCollate() bool PrintDialog::isCollate()
...@@ -1521,13 +1521,26 @@ IMPL_LINK_TYPED( PrintDialog, SelectHdl, ListBox&, rBox, void ) ...@@ -1521,13 +1521,26 @@ IMPL_LINK_TYPED( PrintDialog, SelectHdl, ListBox&, rBox, void )
{ {
if( &rBox == maJobPage.mpPrinters ) if( &rBox == maJobPage.mpPrinters )
{ {
OUString aNewPrinter( rBox.GetSelectEntry() );
// set new printer if ( rBox.GetSelectEntryPos() != 0)
maPController->setPrinter( VclPtrInstance<Printer>( aNewPrinter ) ); {
maPController->resetPrinterOptions( maOptionsPage.mpToFileBox->IsChecked() ); OUString aNewPrinter( rBox.GetSelectEntry() );
// update text fields // set new printer
updatePrinterText(); maPController->setPrinter( VclPtrInstance<Printer>( aNewPrinter ) );
preparePreview(); maPController->resetPrinterOptions( false );
// update text fields
mpOKButton->SetText( maPrintText );
updatePrinterText();
preparePreview();
}
else // print to file
{
// use the default printer or FIXME: the last used one?
maPController->setPrinter( VclPtrInstance<Printer>( Printer::GetDefaultPrinterName() ) );
mpOKButton->SetText( maPrintToFileText );
maPController->resetPrinterOptions( true );
preparePreview( true, true );
}
} }
else if( &rBox == maNUpPage.mpNupOrientationBox || &rBox == maNUpPage.mpNupOrderBox ) else if( &rBox == maNUpPage.mpNupOrientationBox || &rBox == maNUpPage.mpNupOrderBox )
{ {
...@@ -1575,12 +1588,6 @@ IMPL_LINK_TYPED( PrintDialog, ClickHdl, Button*, pButton, void ) ...@@ -1575,12 +1588,6 @@ IMPL_LINK_TYPED( PrintDialog, ClickHdl, Button*, pButton, void )
{ {
previewBackward(); previewBackward();
} }
else if( pButton == maOptionsPage.mpToFileBox )
{
mpOKButton->SetText( maOptionsPage.mpToFileBox->IsChecked() ? maPrintToFileText : maPrintText );
maPController->resetPrinterOptions( maOptionsPage.mpToFileBox->IsChecked() );
preparePreview( true, true );
}
else if( pButton == maOptionsPage.mpPapersizeFromSetup ) else if( pButton == maOptionsPage.mpPapersizeFromSetup )
{ {
bool bChecked = maOptionsPage.mpPapersizeFromSetup->IsChecked(); bool bChecked = maOptionsPage.mpPapersizeFromSetup->IsChecked();
......
...@@ -1511,22 +1511,6 @@ ...@@ -1511,22 +1511,6 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="row_spacing">6</property> <property name="row_spacing">6</property>
<child>
<object class="GtkCheckButton" id="printtofile">
<property name="label" translatable="yes">Print to file</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">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child> <child>
<object class="GtkCheckButton" id="singleprintjob"> <object class="GtkCheckButton" id="singleprintjob">
<property name="label" translatable="yes">Create single print jobs for collated output</property> <property name="label" translatable="yes">Create single print jobs for collated output</property>
...@@ -1538,7 +1522,7 @@ ...@@ -1538,7 +1522,7 @@
</object> </object>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">1</property> <property name="top_attach">0</property>
<property name="width">1</property> <property name="width">1</property>
<property name="height">1</property> <property name="height">1</property>
</packing> </packing>
...@@ -1553,7 +1537,7 @@ ...@@ -1553,7 +1537,7 @@
</object> </object>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">2</property> <property name="top_attach">1</property>
<property name="width">1</property> <property name="width">1</property>
<property name="height">1</property> <property name="height">1</property>
</packing> </packing>
...@@ -1570,7 +1554,7 @@ ...@@ -1570,7 +1554,7 @@
</object> </object>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
<property name="top_attach">3</property> <property name="top_attach">2</property>
<property name="width">1</property> <property name="width">1</property>
<property name="height">1</property> <property name="height">1</property>
</packing> </packing>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment