Advertisement
Guest User

userprintermargindialog.cpp

a guest
Feb 20th, 2013
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. /*
  2. For general Scribus (>=1.3.2) copyright and licensing information please refer
  3. to the COPYING file provided with the program. Following this notice may exist
  4. a copyright and/or license notice that predates the release of Scribus 1.3.2
  5. for which a new license (GPL+exception) is in place.
  6. */
  7. /***************************************************************************
  8. useprintermarginsdialog.cpp - description
  9. -------------------
  10. copyright : (C) 2006 by Craig Bradney
  11. email : cbradney@zip.com.au
  12. ***************************************************************************/
  13.  
  14. #include "useprintermarginsdialog.h"
  15.  
  16. #include <QComboBox>
  17. #include <QGroupBox>
  18. #include <QLineEdit>
  19. #include <QPushButton>
  20.  
  21. #include "util_printer.h"
  22.  
  23.  
  24.  
  25. // This class implements only the non-GUI parts of the
  26. // UsePrinterMargins dialog. Please use Qt Designer on
  27. // useprintermarginsdialog.ui if you need to modify the layout,
  28. // widget properties, etc.
  29.  
  30. UsePrinterMarginsDialog::UsePrinterMarginsDialog( QWidget* parent, const QString& pageSize, double unitRatio, const QString& suffix )
  31. : QDialog(parent)
  32. {
  33. setupUi(this);
  34. m_ptsTopMargin=m_ptsBottomMargin=m_ptsLeftMargin=m_ptsRightMargin=0.0;
  35. m_pageSize=pageSize;
  36. m_unitRatio=unitRatio;
  37. m_suffix=suffix;
  38. QStringList printerNames=PrinterUtil::getPrinterNames();
  39. printerComboBox->clear();
  40. if (printerNames.count()>0 && !pageSize.isEmpty())
  41. {
  42. printerComboBox->insertItems(0, printerNames);
  43. getPrinterMarginValues(printerNames.first());
  44. marginsGroupBox->setTitle( tr("Minimum Margins for Page Size %1").arg(pageSize));
  45. connect(printerComboBox, SIGNAL(activated(const QString&)), this, SLOT(getPrinterMarginValues(const QString&)));
  46. }
  47. connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
  48. connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
  49. }
  50.  
  51. UsePrinterMarginsDialog::~UsePrinterMarginsDialog()
  52. {
  53. }
  54.  
  55. void UsePrinterMarginsDialog::getNewPrinterMargins(double &topMargin,double &bottomMargin,double &leftMargin,double &rightMargin)
  56. {
  57. topMargin=m_ptsTopMargin;
  58. bottomMargin=m_ptsBottomMargin;
  59. leftMargin=m_ptsLeftMargin;
  60. rightMargin=m_ptsRightMargin;
  61. }
  62.  
  63. void UsePrinterMarginsDialog::getPrinterMarginValues(const QString& printerName)
  64. {
  65. m_ptsTopMargin=m_ptsBottomMargin=m_ptsLeftMargin=m_ptsRightMargin=0.0;
  66. bool foundSize=PrinterUtil::getPrinterMarginValues(printerName, m_pageSize, m_ptsTopMargin, m_ptsBottomMargin, m_ptsLeftMargin, m_ptsRightMargin);
  67.  
  68. topLineEdit->setEnabled(foundSize);
  69. bottomLineEdit->setEnabled(foundSize);
  70. leftLineEdit->setEnabled(foundSize);
  71. rightLineEdit->setEnabled(foundSize);
  72. okButton->setEnabled(foundSize);
  73.  
  74. topLineEdit->setText(QString::number(m_ptsTopMargin * m_unitRatio,'g',4)+m_suffix);
  75. bottomLineEdit->setText(QString::number(m_ptsBottomMargin * m_unitRatio,'g',4)+m_suffix);
  76. leftLineEdit->setText(QString::number(m_ptsLeftMargin * m_unitRatio,'g',4)+m_suffix);
  77. rightLineEdit->setText(QString::number(m_ptsRightMargin * m_unitRatio,'g',4)+m_suffix);
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement