Advertisement
Guest User

Untitled

a guest
Jul 19th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 10.79 KB | None | 0 0
  1. ////////// form.cpp
  2.  
  3. #include "calform.h"
  4. #include "ui_calform.h"
  5. #include "mainwindow.h"
  6. #include "ui_mainwindow.h"
  7.  
  8. #include <QFile>
  9. #include <QFileDialog>
  10. #include <QFileInfo>
  11. #include <QDebug>
  12. #include <QMessageBox>
  13. CalForm::CalForm(QWidget *parent) :
  14.     QWidget(parent),
  15.     ui(new Ui::CalForm)
  16. {
  17.     ui->setupUi(this);
  18. }
  19.  
  20. CalForm::~CalForm()
  21. {
  22.     delete ui;
  23.  
  24.     ui->dateEdit_1->setDate(QDate::currentDate());
  25.     ui->dateEdit_2->setDate(QDate::currentDate());
  26.  
  27. }
  28.  
  29.  
  30. void CalForm::on_pushButton_submit_clicked()
  31. {
  32.     MainWindow *mainwindow = new MainWindow();
  33.  
  34.     qDebug() << "submit clicked";
  35.  
  36. //    int i = mainwindow->ui->tabWidget->indexOf(mainwindow->ui->tabWidget->setCurrentWidget(mainwindow->ui->tab));
  37.     qDebug() << "tab num." ;
  38.     QDate Mydate1 = ui->dateEdit_1->date();
  39.     QDate Mydate2 = ui->dateEdit_2->date();
  40. //    int year1 = Mydate1.year();
  41. //    int month1 = Mydate1.month();
  42. //    int day1 = Mydate1.day();
  43. //    int year2 = Mydate2.year();
  44. //    int month2 = Mydate2.month();
  45. //    int day2 = Mydate2.day();
  46. //    int first_day = Mydate1.dayOfWeek();
  47. //    int first_friday = 5;
  48.  
  49.  
  50.     QString year1 = QString::number(Mydate1.year());
  51.     QString year2 = QString::number(Mydate2.year());
  52.     QString month1 = QString::number(Mydate1.month());
  53.     QString month2 = QString::number(Mydate2.month());
  54.     QString day1 = QString::number(Mydate1.day());
  55.     QString day2 = QString::number(Mydate2.day());
  56.  
  57.  
  58.  
  59.     int day_of_week1 = Mydate1.dayOfWeek();
  60.     int firstFriday_int = Mydate1.day() - day_of_week1 + 5;
  61.     firstFriday_int = (firstFriday_int <= 0) ? firstFriday_int + 7 : firstFriday_int % 7;
  62.     QString firstFriday = QString::number(firstFriday_int);
  63.  
  64.     QString group = ui->lineEdit_1->text();
  65.     QString course = ui->lineEdit_2->text();
  66.     QString class_time = ""; //ui->lineEdit_3->text();
  67.     QString class_day = "";
  68.     QString time_tmp = "";
  69.     QString day_tmp = "";
  70.     QString class_day_sep = ",";
  71.     QString class_time_sep = "";
  72.     QString num_credits = QString::number(ui->spinBox_1->value());
  73.     QString num_classes = QString::number(ui->spinBox_2->value());
  74.  
  75. //    qDebug() << "years: " << year1 << year2;
  76. //    qDebug() << "months: " << month1 << month2;
  77. //    qDebug() << "days: " << day1 << day2;
  78. //    qDebug() << "dias de aula: " << dias_de_aula;
  79. //    qDebug() << "1a sexta: " << firstFriday;
  80.  
  81.     QFile cal_file("current.tex");
  82.  
  83.     if (cal_file.open(QIODevice::WriteOnly)) {
  84.         QTextStream out(&cal_file);
  85.  
  86.         if (ui->checkBox_1->isChecked()){
  87.             class_time = ui->lineEdit_3->text();
  88.             if (class_day == ""){
  89.                 class_day = "\\segunda";
  90.                 day_tmp = "seg";
  91.             } else {
  92.                 class_day = class_day+class_day_sep+"\\segunda";
  93.                 day_tmp = day_tmp+"/seg";
  94. //                class_time = class_time+ui->lineEdit_3->text();
  95.             }
  96.         }
  97.  
  98.         if (ui->checkBox_2->isChecked()){
  99.             if (class_time != ""){
  100.                 class_time_sep = "/";
  101.             }
  102.             class_time += class_time_sep+ui->lineEdit_4->text();
  103.  
  104.             if (class_day == ""){
  105.                 class_day = "\\terca";
  106.                 day_tmp = "ter";
  107.             } else {
  108.                 class_day = class_day+class_day_sep+"\\terca";
  109.                 day_tmp = day_tmp+"/ter";
  110.             }
  111.         }
  112.  
  113.         if (ui->checkBox_3->isChecked()){
  114.             if (class_time != ""){
  115.                 class_time_sep = "/";
  116.             }
  117.             class_time += class_time_sep+ui->lineEdit_5->text();
  118.             if (class_day == ""){
  119.                 class_day = "\\quarta";
  120.                 day_tmp = "qua";
  121.             } else {
  122.                 class_day = class_day+class_day_sep+"\\quarta";
  123.                 day_tmp = day_tmp+"/qua";
  124.             }
  125.         }
  126.  
  127.         if (ui->checkBox_4->isChecked()){
  128.             if (class_time != ""){
  129.                 class_time_sep = "/";
  130.             }
  131.             class_time += class_time_sep+ui->lineEdit_6->text();
  132.             if (class_day == ""){
  133.                 class_day = "\\quinta";
  134.                 day_tmp = "qui";
  135.             } else {
  136.                 class_day = class_day+class_day_sep+"\\quinta";
  137.                 day_tmp = day_tmp+"/qui";
  138.             }
  139.         }
  140.  
  141.         if (ui->checkBox_5->isChecked()){
  142.             if (class_time != ""){
  143.                 class_time_sep = "/";
  144.             }
  145.             class_time += class_time_sep+ui->lineEdit_7->text();
  146.             if (class_day == ""){
  147.                 class_day = "\\sexta";
  148.                 day_tmp = "sex";
  149.             } else {
  150.                 class_day = class_day+class_day_sep+"\\sexta";
  151.                 day_tmp = day_tmp+"/sex";
  152.             }
  153.         }
  154.  
  155.         if (ui->checkBox_6->isChecked()){
  156.             if (class_time != ""){
  157.                 class_time_sep = "/";
  158.             }
  159.             class_time += class_time_sep+ui->lineEdit_8->text();
  160.             if (class_day == ""){
  161.                 class_day = "\\sabado";
  162.                 day_tmp = "sab";
  163.             } else {
  164.                 class_day = class_day+class_day_sep+"\\sabado";
  165.                 day_tmp = day_tmp+"/sab";
  166.             }
  167.         }
  168.  
  169.         if (ui->checkBox_7->isChecked()){
  170.             if (class_time != ""){
  171.                 class_time_sep = "/";
  172.             }
  173.             class_time += class_time_sep+ui->lineEdit_9->text();
  174.             if (class_day == ""){
  175.                 class_day = "\\domingo";
  176.                 day_tmp = "dom";
  177.             } else {
  178.                 class_day = class_day+class_day_sep+"\\domingo";
  179.                 day_tmp = day_tmp+"/dom";
  180.             }
  181.         }
  182.  
  183.         out << "\\ano{"+QString(year1)+"}" << endl;
  184.         out << "\\PeriodoLetivo{"+day1+"}{"+month1+"}{"+day2+"}{"+month2+"}" << endl;
  185.         out << "\\Curso{"+group+"}" << endl;
  186.         out << "\\Disciplina{"+course+"}" << endl;
  187.         out << "\\DiasDeAula{"+class_day+"}" << endl;
  188.         out << "\\dia{"+day_tmp+"}" << endl;
  189.         out << "\\PrimeiraSexta{"+firstFriday+"}" << endl;
  190.         out << "\\hora{"+class_time+"}" << endl;
  191.         out << "\\NumeroDeAulas{"+num_classes+"}" << endl;
  192.         out << "\\Creditos{"+num_credits+"}" << endl;
  193.         out << "\\GerarCalendario" << endl;
  194.  
  195.         cal_file.flush();
  196.         cal_file.close();
  197.     }
  198. }
  199.  
  200. void CalForm::on_pushButton_reset_clicked()
  201. {
  202.     ui->lineEdit_1->clear();
  203.     ui->lineEdit_2->clear();
  204.     ui->checkBox_1->setChecked(false);
  205.     ui->checkBox_2->setChecked(false);
  206.     ui->checkBox_3->setChecked(false);
  207.     ui->checkBox_4->setChecked(false);
  208.     ui->checkBox_5->setChecked(false);
  209.     ui->checkBox_6->setChecked(false);
  210.     ui->checkBox_7->setChecked(false);
  211.     ui->dateEdit_1->setDate(QDate::currentDate());
  212.     ui->dateEdit_2->setDate(QDate::currentDate());
  213.     ui->lineEdit_3->clear();
  214.     ui->lineEdit_3->setPlaceholderText("<hh--hh>");
  215.     ui->lineEdit_holidays->setPlaceholderText("<mm-dd,mm-dd,...,mm-dd>");
  216.     ui->spinBox_2->setValue(4);
  217. //    int num_1 = ui->spinBox_2->value()/2 * 15;
  218.     ui->spinBox_1->setValue(30);
  219. //    ui->groupBox_save_cal->hide();
  220.     ui->lineEdit_1->setFocus();
  221. }
  222.  
  223. //void CalForm::on_pushButton_save_cal_OK_clicked()
  224. //{
  225.  
  226. //    bool save = true;
  227.  
  228. //    QString tkc = ".tkc";
  229. //    QString file_to_save = ui->lineEdit_save_cal->text();
  230. //    QString tkc_file = QDir::currentPath()+QDir::separator()+"saved_calendars"+QDir::separator()+file_to_save+tkc;
  231.  
  232. //    if (file_to_save == ""){
  233. //        qDebug() << "empty file name";
  234. //        save = false;
  235. //    } else {
  236. //    bool fileExists = QFileInfo::exists(tkc_file) && QFileInfo(tkc_file).isFile();
  237.  
  238. //    if (fileExists){
  239. //        qDebug() << "file" << file_to_save << "already exists";
  240. //        QMessageBox::StandardButton reply;
  241. //        reply = QMessageBox::question(this,tr("Warning"),tr("File already exists! Overwrite it?"),QMessageBox::Yes|QMessageBox::No);
  242. ////        reply.setButtonText(QMessageBox::Yes, tr("Yes"));
  243. ////        reply.setButtonText(QMessageBox::No, tr("No"));
  244. //        if (reply == QMessageBox::Yes){
  245. //            save = true;
  246. //        } else {
  247. //            save = false;
  248. //        }
  249. //    }
  250. //    }
  251.  
  252. //    if (save) {
  253. //        ui->statusBar->showMessage(tr("Saving calendar..."),1500);
  254.  
  255. //        QMessageBox::information(this,tr("Calendar saved"),tr("The current calendar was saved in\n")+tkc_file);
  256.  
  257. //        qDebug() << "saved in " << tkc_file;
  258.  
  259. //        QFile cal_file(tkc_file);
  260.  
  261. //        if (cal_file.open(QIODevice::WriteOnly)) {
  262. //            QTextStream out(&cal_file);
  263.  
  264. //        out <<
  265. //               "/**************************/\n"<<
  266. //               "/* do not change anything */\n"<<
  267. //               "/* except you know        */\n"<<
  268. //               "/* what you are doing     */\n"<<
  269. //               "/**************************/"
  270. //            << endl;
  271.  
  272. //        out << ui->lineEdit_1->text() << endl;
  273. //        out << ui->lineEdit_2->text() << endl;
  274. //        out << ui->lineEdit_3->text() << endl;
  275. //        out << ui->spinBox_1 ->value() << endl;
  276. //        out << ui->spinBox_2 ->value() << endl;
  277.  
  278. //        if (ui->checkBox_1->isChecked()){
  279. //            out << 1 << endl;
  280. //        } else {
  281. //            out << 0 << endl;
  282. //        }
  283.  
  284. //        if (ui->checkBox_2->isChecked()){
  285. //            out << 1 << endl;
  286. //        } else {
  287. //            out << 0 << endl;
  288. //        }
  289.  
  290. //        if (ui->checkBox_3->isChecked()){
  291. //            out << 1 << endl;
  292. //        } else {
  293. //            out << 0 << endl;
  294. //        }
  295.  
  296. //        if (ui->checkBox_4->isChecked()){
  297. //            out << 1 << endl;
  298. //        } else {
  299. //            out << 0 << endl;
  300. //        }
  301.  
  302. //        if (ui->checkBox_5->isChecked()){
  303. //            out << 1 << endl;
  304. //        } else {
  305. //            out << 0 << endl;
  306. //        }
  307.  
  308. //        if (ui->checkBox_6->isChecked()){
  309. //            out << 1 << endl;
  310. //        } else {
  311. //            out << 0 << endl;
  312. //        }
  313.  
  314. //        if (ui->checkBox_7->isChecked()){
  315. //            out << 1 << endl;
  316. //        } else {
  317. //            out << 0 << endl;
  318. //        }
  319.  
  320. //        out << ui->dateEdit_1->text() << endl;
  321. //        out << ui->dateEdit_2->text() << endl;
  322.  
  323. //        cal_file.flush();
  324. //        cal_file.close();
  325. //    }
  326.  
  327. //        ui->groupBox_save_cal->hide();
  328. //    }
  329. //}
  330.  
  331. void CalForm::on_pushButton_clicked()
  332. {
  333.     QMessageBox::information(this,tr("Holidays"),tr("List of predefined Holidays"));
  334. }
  335.  
  336.  
  337.  
  338. ///////////// mainwindow.cpp
  339.  
  340. void MainWindow::on_pushButton_add_cal_clicked()
  341. {
  342.     CalForm *calform = new CalForm;
  343.  
  344.     int i = ui->tabWidget->count()+1;
  345.     ui->tabWidget->addTab(calform, QString("Cal %0").arg(i));
  346.     ui->tabWidget->setCurrentIndex(ui->tabWidget->count()-1);
  347.     calform->ui->pushButton_reset->click();
  348.  
  349. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement