diff --git a/main/CalendarTab/CalendarManager.cpp b/main/CalendarTab/CalendarManager.cpp index cb7c4a2..2fc9933 100644 --- a/main/CalendarTab/CalendarManager.cpp +++ b/main/CalendarTab/CalendarManager.cpp @@ -11,7 +11,7 @@ void CalendarManager::setCalendar(std::string html) } void CalendarManager::exportCalendarCSV(CalendarDialog *calDialog) { - if(CSV_Exporter::exportCalendar(this->caliSchedPtr)) + if(CSV_Exporter::exportCalendar(this->caliSchedPtr, calDialog)) { QMessageBox msgBox; msgBox.setText("
Exported Successfuly!
HaazZaA!!"); diff --git a/main/mainscreen.cpp b/main/mainscreen.cpp index 01193ef..bf15bf2 100644 --- a/main/mainscreen.cpp +++ b/main/mainscreen.cpp @@ -346,7 +346,7 @@ void MainScreen::on_exportToCVSBtn_clicked() if(calDialog.ok()) this->calendar->exportCalendarCSV(&calDialog); else - showMSG("Somthig was not right with the dates you chose... try again"); + showMSG("Somthig was not right with the dates you have chosen... try again"); } } diff --git a/main/mainscreen.cpp.autosave b/main/mainscreen.cpp.autosave deleted file mode 100644 index bf15bf2..0000000 --- a/main/mainscreen.cpp.autosave +++ /dev/null @@ -1,394 +0,0 @@ -#include "mainscreen.h" -#include "ui_mainscreen.h" - - -MainScreen::MainScreen(QWidget *parent) :QMainWindow(parent), ui(new Ui::MainScreen) -{ - ui->setupUi(this); - - //this->setFixedSize(this->size()); //main not resizeable - - - //Login Tab - ui->pswdLineEdit->setEchoMode((QLineEdit::Password)); - - //Status Bar - ui->actionEnglish->setChecked(true); - ui->statusBar->setStyleSheet("QStatusBar::item { border: 0px solid black };"); - ButtomStatusLabel = new QLabel(this); - statusLabel = new QLabel(this); - ui->statusBar->setMaximumSize(this->geometry().width(),StatusIconHeight); - ui->statusBar->addPermanentWidget(ButtomStatusLabel,0); - ui->statusBar->addPermanentWidget(statusLabel,1); - setLabelConnectionStatus(jceLogin::jceStatus::JCE_NOT_CONNECTED); - - //Course, Setting, Calendar Tab - calendarSchedule * calendarSchedulePtr = new calendarSchedule(); - ui->calendarGridLayoutMain->addWidget(calendarSchedulePtr); - ui->CoursesTab->setDisabled(true); - ui->avgLCD->setPalette(QPalette(QPalette::WindowText,Qt::blue)); - - - - //Pointer allocating - - this->userLoginSetting = new user("",""); - this->courseTableMgr = new coursesTableManager(ui->coursesTable,userLoginSetting); - this->loginHandel = new loginHandler(userLoginSetting); - this->calendar = new CalendarManager(calendarSchedulePtr); - this->data = new SaveData(); - - //check login File - //SaveData::init(); --> No need. constructor dose everything. - if (data->isSaved()) - { - ui->usrnmLineEdit->setText(data->getUsername()); - ui->pswdLineEdit->setText(data->getPassword()); - ui->keepLogin->setChecked(true); - } - - //Local Check and ui setting. - if(data->getLocal() == "en") - { - ui->actionHebrew->setChecked(false); - ui->actionOS_Default->setChecked(false); - ui->actionEnglish->setChecked(true); - }else if(data->getLocal() == "he"){ - ui->actionHebrew->setChecked(true); - ui->actionOS_Default->setChecked(false); - ui->actionEnglish->setChecked(false); - }else{ - ui->actionHebrew->setChecked(false); - ui->actionOS_Default->setChecked(true); - ui->actionEnglish->setChecked(false); - } - -} - -MainScreen::~MainScreen() -{ - delete userLoginSetting; - delete loginHandel; - delete ui; - - //Delete save data - delete data; -} -void MainScreen::on_loginButton_clicked() -{ - if (loginHandel->isLoggedInFlag()) - uiSetDisconnectMode(); - - else - uiSetConnectMode(); - -} -void MainScreen::on_getCalendarBtn_clicked() -{ - int status = 0; - if (loginHandel->isLoggedInFlag()) - { - if ((status = loginHandel->makeCalendarRequest(ui->spinBoxYear->value(),ui->spinBoxSemester->value())) == jceLogin::JCE_GRADE_PAGE_PASSED) - { - //Use it for debug. add plain text and change the object name to 'plainTextEdit' so you will get the html request - //ui->plainTextEdit->setPlainText(loginHandel->getCurrentPageContect()); - calendar->resetTable(); - calendar->setCalendar(loginHandel->getCurrentPageContect().toStdString()); - } - - else if (status == jceLogin::JCE_NOT_CONNECTED) - { - QMessageBox::critical(this,tr("Error"),tr("Not Connected")); - } - } -} - -void MainScreen::on_ratesButton_clicked() -{ - std::string pageString; - int status = 0; - if (loginHandel->isLoggedInFlag()) - { - if ((status = loginHandel->makeGradeRequest(ui->spinBoxCoursesFromYear->value(),ui->spinBoxCoursesToYear->value(),ui->spinBoxCoursesFromSemester->value(),ui->spinBoxCoursesToSemester->value())) == jceLogin::JCE_GRADE_PAGE_PASSED) - { - pageString = loginHandel->getCurrentPageContect().toStdString(); - courseTableMgr->setCoursesList(pageString); - courseTableMgr->insertJceCoursesIntoTable(); - } - else if (status == jceLogin::JCE_NOT_CONNECTED) - { - QMessageBox::critical(this,tr("Error"),tr("Not Connected")); - } - } - - - -} -void MainScreen::on_checkBoxCoursesInfluence_toggled(bool checked) -{ - this->userLoginSetting->setInfluenceCourseOnly(checked); - this->courseTableMgr->influnceCourseChanged(checked); -} -void MainScreen::on_spinBoxCoursesFromYear_editingFinished() -{ - if (ui->spinBoxCoursesFromYear->value() > ui->spinBoxCoursesToYear->value()) - { - ui->spinBoxCoursesFromYear->setValue(ui->spinBoxCoursesToYear->value()); - ui->spinBoxCoursesFromYear->setFocus(); - } - -} -void MainScreen::on_spinBoxCoursesToYear_editingFinished() -{ - if (ui->spinBoxCoursesFromYear->value() > ui->spinBoxCoursesToYear->value()) - { - ui->spinBoxCoursesToYear->setValue(ui->spinBoxCoursesFromYear->value()); - ui->spinBoxCoursesToYear->setFocus(); - - } -} -void MainScreen::on_spinBoxCoursesFromSemester_editingFinished() -{ - if (ui->spinBoxCoursesFromYear->value() == ui->spinBoxCoursesToYear->value()) - { - if (ui->spinBoxCoursesFromSemester->value() > ui->spinBoxCoursesToSemester->value()) - { - ui->spinBoxCoursesFromSemester->setValue(ui->spinBoxCoursesToSemester->value()); - ui->spinBoxCoursesFromSemester->setFocus(); - } - } -} -void MainScreen::on_spinBoxCoursesToSemester_editingFinished() -{ - if (ui->spinBoxCoursesFromYear->value() == ui->spinBoxCoursesToYear->value()) - { - if (ui->spinBoxCoursesFromSemester->value() > ui->spinBoxCoursesToSemester->value()) - { - ui->spinBoxCoursesToSemester->setValue(ui->spinBoxCoursesFromSemester->value()); - ui->spinBoxCoursesToSemester->setFocus(); - } - } -} - -void MainScreen::on_coursesTable_itemChanged(QTableWidgetItem *item) -{ - if (this->courseTableMgr->changes(item->text(),item->row(),item->column())) - ui->avgLCD->display(courseTableMgr->getAvg()); - else - QMessageBox::critical(this,"Error","Missmatching data"); -} - -void MainScreen::on_usrnmLineEdit_editingFinished() -{ - ui->usrnmLineEdit->setText(ui->usrnmLineEdit->text().toLower()); -} -void MainScreen::uiSetDisconnectMode() -{ - setLabelConnectionStatus(jceLogin::jceStatus::JCE_NOT_CONNECTED); - ui->usrnmLineEdit->setText(""); - ui->pswdLineEdit->setText(""); - ui->usrnmLineEdit->setEnabled(true); - ui->pswdLineEdit->setEnabled(true); - - loginHandel->makeDisconnectionRequest(); - ui->loginButton->setText("&Login"); - ui->getCalendarBtn->setDisabled(true); - ui->exportToCVSBtn->setDisabled(true); - ui->ratesButton->setDisabled(true); - return; -} - -void MainScreen::uiSetConnectMode() //fix before distrbute -{ - string username; - string password; - if ((ui->usrnmLineEdit->text().isEmpty()) || (ui->pswdLineEdit->text().isEmpty())) - { - //add icon near to username and password to mark it - return; - } - setLabelConnectionStatus(jceLogin::jceStatus::JCE_START_VALIDATING_PROGRESS); - - username = ui->usrnmLineEdit->text().toStdString(); - password = ui->pswdLineEdit->text().toStdString(); - - ui->usrnmLineEdit->setDisabled(true); - ui->pswdLineEdit->setDisabled(true); - - userLoginSetting->setUsername(username); - userLoginSetting->setPassword(password); - - this->loginHandel->setPointers(statusLabel,ui->pswdLineEdit,ui->usrnmLineEdit); - if (loginHandel->makeConnection() == true) - { - setLabelConnectionStatus(jceLogin::jceStatus::JCE_YOU_ARE_IN); - ui->loginButton->setText("&Logout"); - ui->ratesButton->setEnabled(true); - ui->CoursesTab->setEnabled(true); - ui->exportToCVSBtn->setEnabled(true); - ui->getCalendarBtn->setEnabled(true); - - } - else - { - uiSetDisconnectMode(); - } -} -void MainScreen::setLabelConnectionStatus(jceLogin::jceStatus statusDescription) -{ - QPixmap iconPix; - switch (statusDescription) - { - - case jceLogin::jceStatus::JCE_START_VALIDATING_PROGRESS: - iconPix.load(":/icons/blueStatusIcon.png"); - statusLabel->setText(tr("Connecting")); - break; - case jceLogin::jceStatus::JCE_YOU_ARE_IN: - iconPix.load(":/icons/greenStatusIcon.png"); - statusLabel->setText(tr("Connected")); - break; - default: - iconPix.load(":/icons/redStatusIcon.png"); - statusLabel->setText(tr("Disconnected")); - break; - } - ButtomStatusLabel->setPixmap(iconPix); - - this->repaint(); -} - -void MainScreen::showMSG(QString msg) -{ - QMessageBox msgBox; - msgBox.setText(msg); - msgBox.exec(); -} -void MainScreen::on_actionCredits_triggered() -{ - QMessageBox::about(this, "About", tr("CREDITS-ROOL-UP1") + " v1.0

" - + tr("CREDITS-ROOL-UP2")+"
GNU LESSER GENERAL PUBLIC LICENSE V2
" - + tr("CREDITS-ROOL-UP3")+"
" - "jceAverageCalculator Repository" - "

"+tr("CREDITS-ROOL-UP4")+" Jce Connection

" - +tr("DevBy")+":" - ""); -} - -void MainScreen::on_clearTableButton_clicked() -{ - - courseTableMgr->clearTable(); - ui->avgLCD->display(courseTableMgr->getAvg()); -} - -void MainScreen::on_actionExit_triggered() -{ - exit(0); -} - - -void MainScreen::on_keepLogin_clicked() -{ - if (ui->keepLogin->isChecked()) - { - data->setUsername(ui->usrnmLineEdit->text()); - data->setPassword(ui->pswdLineEdit->text()); - } - else - data->reset(); -} - -void MainScreen::on_actionHow_To_triggered() -{ - QMessageBox::information(this,"How To", - "How To.." - ""); - -} - -//void MainScreen::on_pushButton_2_clicked() -//{ -// if(CSV_Exporter::exportCalendar(this->calendar->getSch())) -// { -// QMessageBox msgBox; -// msgBox.setText("
Exported Successfuly!
HaazZaA!!"); -// msgBox.exec(); -// }else -// { -// QMessageBox msgBox; -// msgBox.setIcon(QMessageBox::Critical); -// msgBox.setText("
Something went wrong...
Maybe:
  • You Canceled
  • Unable to save the File - try again


" -// "
In case of a serious problem, please file a bug report.
thank you. OpenJCE teem"); -// msgBox.exec(); -// } -//} - -void MainScreen::on_exportToCVSBtn_clicked() -{ - if (loginHandel->isLoggedInFlag()) - { - CalendarDialog calDialog; - int buttonClicked = calDialog.exec(); - if(buttonClicked == 0) - return; -//calDialog.getStartDate(),calDialog.getEndDate() - if(calDialog.ok()) - this->calendar->exportCalendarCSV(&calDialog); - else - showMSG("Somthig was not right with the dates you have chosen... try again"); - } -} - -void MainScreen::on_actionHebrew_triggered() -{ - if (ui->actionEnglish->isChecked() || ui->actionOS_Default->isChecked()) - { - ui->actionEnglish->setChecked(false); - ui->actionOS_Default->setChecked(false); - qDebug() << "Changed Language to hebrew"; - data->setLocal("he"); - showMSG("ההגדרות שלך יכנסו לתוקף בהפעלה הבאה של התוכנית"); - } - else - ui->actionHebrew->setChecked(true); -} - -void MainScreen::on_actionEnglish_triggered() -{ - if (ui->actionHebrew->isChecked() || ui->actionOS_Default->isChecked()) - { - ui->actionHebrew->setChecked(false); - ui->actionOS_Default->setChecked(false); - qDebug() << "Changed Language to English"; - data->setLocal("en"); - showMSG("Your settings will take effect next time you start the program"); - } - else - ui->actionEnglish->setChecked(true); -} - - -void MainScreen::on_actionOS_Default_triggered() -{ - if (ui->actionHebrew->isChecked() || ui->actionEnglish->isChecked()) - { - ui->actionHebrew->setChecked(false); - ui->actionEnglish->setChecked(false); - qDebug() << "Changed Language to OS Default"; - data->setLocal("default"); - showMSG("Your settings will take effect next time you start the program"); - } - else - ui->actionOS_Default->setChecked(true); -} diff --git a/main/mainscreen.ui b/main/mainscreen.ui index 8200986..837858b 100644 --- a/main/mainscreen.ui +++ b/main/mainscreen.ui @@ -61,7 +61,7 @@ background: qlineargradient(spread:pad, x1:0.496, y1:0, x2:0.508, y2:1, stop:0 r QTabWidget::Rounded - 2 + 0 false diff --git a/src/jceData/CSV/csv_exporter.cpp b/src/jceData/CSV/csv_exporter.cpp index 7b942e6..3844eca 100644 --- a/src/jceData/CSV/csv_exporter.cpp +++ b/src/jceData/CSV/csv_exporter.cpp @@ -5,7 +5,7 @@ CSV_Exporter::CSV_Exporter() } -bool CSV_Exporter::exportCalendar(calendarSchedule *calSched) +bool CSV_Exporter::exportCalendar(calendarSchedule *calSched, CalendarDialog *cal) { qDebug() << "Getting path for csv file from user..."; QString filePath = getFileFath(); @@ -39,22 +39,29 @@ bool CSV_Exporter::exportCalendar(calendarSchedule *calSched) QString name = QString(coursePtr->getName().c_str()); QString room = QString(coursePtr->getRoom().c_str()); - QString line = makeLine(name, day, startH, startM, endH, endM, lecturer, room, type); + QDate currentDate = cal->getStartDate(); + + currentDate = currentDate.addDays(day-1); + + for(;currentDate <= cal->getEndDate(); currentDate = currentDate.addDays(7)) + { + QString line = makeLine(name, ¤tDate, startH, startM, endH, endM, lecturer, room, type); #ifdef Q_OS_LINUX || Q_OS_UNIX - if(line != NULL) - out << line << char(0x0A); + if(line != NULL) + out << line << char(0x0A); #endif #ifdef Q_OS_OSX - if(line != NULL) - out << line << char(0x0A); + if(line != NULL) + out << line << char(0x0A); #endif #ifdef Q_OS_WIN - if(line != NULL) - out << line << char(0x0D) << char(0x0A); + if(line != NULL) + out << line << char(0x0D) << char(0x0A); #endif + } } - +here: out.flush(); @@ -74,10 +81,9 @@ QString CSV_Exporter::getFileFath() return fileName; } -QString CSV_Exporter::makeLine(QString name, int day, int startH, int startM, int endH, int endM, QString lecturer, QString room, QString type) +QString CSV_Exporter::makeLine(QString name, QDate *date, int startH, int startM, int endH, int endM, QString lecturer, QString room, QString type) { //Creating a CSV text line for Google Calendar/iCal/Outlook - // First day for semester 10/26/2014 QString CSV_line = ""; QString subject = "\""; @@ -86,30 +92,9 @@ QString CSV_Exporter::makeLine(QString name, int day, int startH, int startM, in subject.append(type); subject.append("\""); - QString date; - switch (day) { - case 1: - date = "10/26/2014"; - break; - case 2: - date = "10/27/2014"; - break; - case 3: - date = "10/28/2014"; - break; - case 4: - date = "10/29/2014"; - break; - case 5: - date = "10/30/2014"; - break; - case 6: - date = "10/31/2014"; - break; - default: - return NULL; - break; - } + + QString dateStr = date->toString("MM/dd/yyyy"); + QString start; start.append(QString::number(startH)); @@ -135,13 +120,13 @@ QString CSV_Exporter::makeLine(QString name, int day, int startH, int startM, in CSV_line.append(subject); CSV_line.append(","); - CSV_line.append(date); + CSV_line.append(dateStr); CSV_line.append(","); CSV_line.append(start); CSV_line.append(","); - CSV_line.append(date); + CSV_line.append(dateStr); CSV_line.append(","); CSV_line.append(end); diff --git a/src/jceData/CSV/csv_exporter.h b/src/jceData/CSV/csv_exporter.h index 4377921..4cea49b 100644 --- a/src/jceData/CSV/csv_exporter.h +++ b/src/jceData/CSV/csv_exporter.h @@ -8,6 +8,8 @@ #include #include "../Calendar/calendarSchedule.h" +#include "../Calendar/calendardialog.h" + #define CSV_CALENDAR_HEADER "Subject,Start Date,Start Time,End Date,End Time,Description,Location" @@ -15,12 +17,12 @@ class CSV_Exporter { public: CSV_Exporter(); - static bool exportCalendar(calendarSchedule* calSched); + static bool exportCalendar(calendarSchedule* calSched, CalendarDialog *cal); private: static QString getFileFath(); - static QString makeLine(QString name,int day,int startH,int startM,int endH,int endM,QString lecturer,QString room,QString type); + static QString makeLine(QString name,QDate *date,int startH,int startM,int endH,int endM,QString lecturer,QString room,QString type); }; #endif // CSV_EXPORTER_H