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.."
- ""
- "
- "+tr("HELP1")+"
"
- "
- "+tr("HELP2")+"
"
- "
- "+tr("HELP3")+"
"
- "
- "+tr("HELP4")+"
"
- "
- "+tr("HELP5")+"
"
- "
"+tr("HELP6")+
- "
");
-
-}
-
-//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