/safeFatPrinter/trunk/src/startdlg.cpp

http://cupsfilter.googlecode.com/ · C++ · 139 lines · 94 code · 20 blank · 25 comment · 6 complexity · 5adc2cfb3934f2d780516b2072a8f471 MD5 · raw file

  1. #include "startdlg.h"
  2. #include "ui_startdlg.h"
  3. StartDlg::StartDlg(QWidget *parent)
  4. : QDialog(parent), ui(new Ui::StartDlg)
  5. {
  6. ui->setupUi(this);
  7. setPrinterList();
  8. cnv=false;
  9. merge=false;
  10. connect (ui->markPaperBtn,SIGNAL(clicked()),this,SLOT(markPaper()));
  11. connect (ui->printOnMarkPaperBtn,SIGNAL(clicked()),this,SLOT(printOnMarkPaper()));
  12. connect (ui->printerCBox,SIGNAL(currentIndexChanged(QString)),this,SIGNAL(printerSelected(QString)));
  13. }
  14. void StartDlg::setPrinterList()
  15. {
  16. QList<QPrinterInfo> plist;
  17. plist = QPrinterInfo::availablePrinters () ;
  18. for (int i = 0; i < plist.size(); ++i) {
  19. if (plist.at(i).printerName()!="?????????? ???????"){
  20. ui->printerCBox->addItem(plist.at(i).printerName());
  21. }
  22. }
  23. ui->printerCBox->setCurrentIndex(-1);
  24. /*
  25. if (plist.size() !=-1){
  26. QPrinterInfo printer=plist.at(0);
  27. ui->printerCBox->setCurrentIndex(0);
  28. qDebug() << "emit printerSelected (printer.printerName())" <<printer.printerName();
  29. emit printerSelected (printer.printerName());
  30. }
  31. */
  32. }
  33. void StartDlg::printOnMarkPaper()
  34. {
  35. qDebug() << Q_FUNC_INFO;
  36. askDlg.setWindowTitle("?????? ?? ?????????????? ???????? ??????");
  37. askDlg.setViewMode(2); // ??????????????? ???? ?????? ???????? ?????? ?????? ??????? ?????
  38. askDlg.setModel(d_ctrl->document_model());
  39. //askDlg->setAttribute(Qt::WA_DeleteOnClose);
  40. qDebug()<< "After setModel";
  41. //askDlg.show();
  42. if (askDlg.exec()==QDialog::Accepted){
  43. //askDlg->close();
  44. }
  45. }
  46. void StartDlg::markPaper()
  47. {
  48. //askDlg.show();
  49. //TODO remove after debug
  50. //askDlg.setMBCompleter(QStringList() <<tr("?? 12/12-1")<<tr("?? 132/12-122")<<tr("?? 32/12-1"));
  51. askDlg.setWindowTitle("??????????????? ???? ??????");
  52. askDlg.setViewMode(1); // ??????????????? ???? ?????? ???????? ?????? ?????? ??????? ?????
  53. // d_ctrl->insertDocToModel();
  54. askDlg.setModel(d_ctrl->document_model());
  55. if (askDlg.exec()==QDialog::Accepted){
  56. //askDlg->close();
  57. }
  58. }
  59. void StartDlg::setController(dController *ctrl)
  60. {
  61. d_ctrl= ctrl;
  62. connect (d_ctrl,SIGNAL(error(int,QString)),this,SLOT(error(int,QString)));
  63. connect (d_ctrl,SIGNAL(inputFileConverted()),this,SLOT(convertDone()));
  64. connect (d_ctrl,SIGNAL(inputFileMerged()),this,SLOT(mergeDone()));
  65. connect (d_ctrl,SIGNAL(connect2Demon()),this,SLOT(connectToDemon()));
  66. connect (d_ctrl,SIGNAL(sayMeGood()),&reportDlg,SLOT(show()));
  67. connect (d_ctrl,SIGNAL(mbNumberExist(int)),&askDlg,SLOT(extenedAnswerMB(int)));
  68. connect (&askDlg,SIGNAL(isMBExist(QString)),d_ctrl,SLOT(checkMB(QString)));
  69. connect (d_ctrl,SIGNAL(mbNumberChecked(QString &)),&askDlg,SLOT(confirmMB(QString &)));
  70. connect (this,SIGNAL(printerSelected(QString)),d_ctrl,SLOT(setPrinter(QString)));
  71. //connect (askDlg,SIGNAL(printOverSidePage(int)),d_ctrl,SLOT(printOverSide(int)));
  72. //connect (askDlg,SIGNAL(printWithTemplate(int)),d_ctrl,SLOT(printWithTemplate(int)));
  73. /*
  74. connect (askDlg,SIGNAL(save2base(QString)),d_ctrl,SLOT(saveBase(QString)));
  75. connect (d_ctrl,SIGNAL(exchangeData2MB(QString)),askDlg,SLOT(parserDocData(QString)));
  76. */
  77. }
  78. void StartDlg::enableGUI()
  79. {
  80. ui->printerCBox->setEnabled(true);
  81. ui->printOnMarkPaperBtn->setEnabled(true);
  82. ui->printWithAutoMarkPaperBtn->setEnabled(true);
  83. ui->markPaperBtn->setEnabled(true);
  84. }
  85. void StartDlg::convertToPDF(QString &in_file)
  86. {
  87. d_ctrl->convert2PDF(in_file);
  88. }
  89. StartDlg::~StartDlg()
  90. {
  91. d_ctrl->write_settings();
  92. delete ui;
  93. }
  94. // SLOTS
  95. void StartDlg::error(int ErrorCode,QString ErrorString)
  96. {
  97. if (ErrorCode != QProcess::NormalExit) {
  98. QMessageBox::critical(this, QObject::trUtf8("?????????? ? ?????????? ??????????????"),
  99. QObject::trUtf8("?????? ???????????? ??????????.\n%1:\n??? %2").arg(ErrorString).arg(ErrorCode,0,10));
  100. this->close(); // TODO ??? ????????? ????????? ???????????
  101. }
  102. }
  103. void StartDlg::convertDone()
  104. {
  105. cnv=true;
  106. ui->logList->addItem(QString("%1 ??????? ????????? ??????????? ????????? ????? ? pdf.").arg(QDateTime::currentDateTime ().toString("dd.MM.yyyy hh:mm:ss")));
  107. }
  108. void StartDlg::mergeDone()
  109. {
  110. merge=true;
  111. ui->logList->addItem(QString("%1 ??????? ????????? ????????? ???????.").arg(QDateTime::currentDateTime ().toString("dd.MM.yyyy hh:mm:ss")));
  112. }
  113. void StartDlg::connectToDemon()
  114. {
  115. ui->logList->addItem(QString("%1 ??????????? ?? ??????? ???????????? ???????????.").arg(QDateTime::currentDateTime ().toString("dd.MM.yyyy hh:mm:ss")));
  116. this->enableGUI();
  117. }