Merge pull request #21 from liranbg/sagi_dev
Added some more documentation
This commit is contained in:
commit
972e44a895
7 changed files with 119 additions and 11 deletions
|
@ -20,6 +20,12 @@ SaveData::SaveData()
|
|||
load();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This will check if the is data saved ie. username and password.
|
||||
* the only way in JCE manager is to store a username and password together. therefore if there is
|
||||
* a user name in the file, so there is a password ass well.
|
||||
* @return true if the is a username in the file. (if not the username will be "")
|
||||
*/
|
||||
bool SaveData::isSaved()
|
||||
{
|
||||
if(DB.value("username") == "")
|
||||
|
@ -27,6 +33,14 @@ bool SaveData::isSaved()
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This void function will erase all data. QMap will be cleard and saved to the file.
|
||||
* data thet will be deleted:
|
||||
* # username
|
||||
* # password
|
||||
* # calendar
|
||||
* # local
|
||||
*/
|
||||
void SaveData::reset()
|
||||
{
|
||||
DB.clear();
|
||||
|
@ -34,52 +48,89 @@ void SaveData::reset()
|
|||
save();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief gest a username and saves it into the QMap.
|
||||
* QMap then is saved to the file.
|
||||
* @param username - users username from the mainwindow ui pointer.
|
||||
*/
|
||||
void SaveData::setUsername(QString username)
|
||||
{
|
||||
DB.insert("username", username);
|
||||
save();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief gets a password, sends it to encyption, and saves the encrypter password to QMap.
|
||||
* saves the QMap into the file.
|
||||
* @param password - raw password (not encrypted)
|
||||
*/
|
||||
void SaveData::setPassword(QString password)
|
||||
{
|
||||
DB.insert("password", encrypt(password));
|
||||
save();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief gest a calendar and saves it into the QMap.
|
||||
* QMap then is saved to the file.
|
||||
* @param cal - last calendar that user seen
|
||||
*/
|
||||
void SaveData::setCal(QString cal)
|
||||
{
|
||||
DB.insert("calendar", cal);
|
||||
save();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief gest a local and saves it into the QMap.
|
||||
* QMap then is saved to the file.
|
||||
* @param local - QString (he, en, default)
|
||||
*/
|
||||
void SaveData::setLocal(QString local)
|
||||
{
|
||||
DB.insert("local", local);
|
||||
save();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief read from file
|
||||
* @return - username
|
||||
*/
|
||||
QString SaveData::getUsername()
|
||||
{
|
||||
return DB.value("username");
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief read from file
|
||||
* @return - unencrypted password
|
||||
*/
|
||||
QString SaveData::getPassword()
|
||||
{
|
||||
return decrypte(DB.value("password"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief read from file
|
||||
* @return local
|
||||
*/
|
||||
QString SaveData::getLocal()
|
||||
{
|
||||
return DB.value("local");
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief read from file
|
||||
* @return calendar
|
||||
*/
|
||||
QString SaveData::getCal()
|
||||
{
|
||||
return DB.value("calendar");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief read from file the QMap object into the DB inside "this" object.
|
||||
*/
|
||||
void SaveData::load()
|
||||
{
|
||||
QFile file(FILE_NAME);
|
||||
|
@ -89,6 +140,9 @@ void SaveData::load()
|
|||
file.close();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Saves the QMap to the file. overriding the content of the file.
|
||||
*/
|
||||
void SaveData::save()
|
||||
{
|
||||
QFile file(FILE_NAME);
|
||||
|
@ -99,6 +153,9 @@ void SaveData::save()
|
|||
file.close();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Creates en empty tamplate for QMap (use only on init! if there is no file.)
|
||||
*/
|
||||
void SaveData::createDB()
|
||||
{
|
||||
DB.insert("username", "");
|
||||
|
@ -107,12 +164,24 @@ void SaveData::createDB()
|
|||
DB.insert("calendar", "");
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief this function will connect this class to the simplecrypt class.
|
||||
* sends the raw password to encryption and returns the encrypted one.
|
||||
* @param pass - raw password.
|
||||
* @return encrypted password.
|
||||
*/
|
||||
QString SaveData::encrypt(QString pass)
|
||||
{
|
||||
SimpleCrypt crypto(Q_UINT64_C(0x0c2ad4a4acb9f027));
|
||||
return crypto.encryptToString(pass);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief this function will connect this class to the simplecrypt class.
|
||||
* sends the encrypted password to decryption and returns the raw one.
|
||||
* @param pass - encrypted password.
|
||||
* @return raw password.
|
||||
*/
|
||||
QString SaveData::decrypte(QString pass)
|
||||
{
|
||||
SimpleCrypt crypto(Q_UINT64_C(0x0c2ad4a4acb9f027));
|
||||
|
|
|
@ -124,7 +124,7 @@ QString CSV_Exporter::getFileFath()
|
|||
* @param name
|
||||
* @param date
|
||||
* @param startH
|
||||
* @param startM
|
||||
* @param startM - Not used at the moment.
|
||||
* @param endH
|
||||
* @param endM
|
||||
* @param lecturer
|
||||
|
@ -203,6 +203,13 @@ QString CSV_Exporter::makeLine(QString name, QDate *date, int startH, int startM
|
|||
return CSV_line;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief The QDate.dayOfWeek() returns an integer as follows (Sunday = 7, monday = 1... Friday = 5)
|
||||
* This method will make that return integer more uderstandble and easy to use with the Calander classes of
|
||||
* JCE Manager. so Sunday = 1, Monday = 2 and so on...
|
||||
*
|
||||
* @param QtDay - A Qt dayOfWeek integer pointer. it will cange his value.
|
||||
*/
|
||||
void CSV_Exporter::changeDayNumberFromQtToNormal(int *QtDay)
|
||||
{
|
||||
switch(*QtDay){
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
/**
|
||||
* This simple static class will generate a csv file of a given semester.
|
||||
*
|
||||
* the class wat written for the JCE Manager and exporting a calendar to Goolgle Calendar.
|
||||
*
|
||||
* this CSV file should also work for iCal and Outlook. but have not been tested.
|
||||
*
|
||||
*/
|
||||
#ifndef CSV_EXPORTER_H
|
||||
#define CSV_EXPORTER_H
|
||||
|
||||
|
|
|
@ -26,30 +26,42 @@ QDate CalendarDialog::getEndDate()
|
|||
return ui->calEnd->selectedDate();
|
||||
}
|
||||
|
||||
/**
|
||||
* @breif This method will return the state of the dates aka User input.
|
||||
* @return true - if dates are valid, invalid false.
|
||||
*/
|
||||
bool CalendarDialog::ok()
|
||||
{
|
||||
return this->isOK;
|
||||
}
|
||||
|
||||
/**
|
||||
* @breif A Slot - triggers when the start calendar widget is selected (Date changed by user)
|
||||
* it will change the status label (ui->lbl_status) according to the users input.
|
||||
*/
|
||||
void CalendarDialog::on_calStart_selectionChanged()
|
||||
{
|
||||
if(ui->calStart->selectedDate() >= ui->calEnd->selectedDate())
|
||||
if(ui->calStart->selectedDate() >= ui->calEnd->selectedDate()) //User input is invalid
|
||||
{
|
||||
changeLabeStatusIcon(false);
|
||||
ui->lbl_status->setText(tr("The end of the semester can NOT be equal or before the semester begin."));
|
||||
this->isOK = false;
|
||||
}
|
||||
else
|
||||
else // input is valid
|
||||
{
|
||||
changeLabeStatusIcon(true);
|
||||
ui->lbl_status->setText(tr("Looks ok, Press OK"));
|
||||
ui->lbl_status->setText(tr("Looks fine, Click \"OK\""));
|
||||
this->isOK = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @breif A Slot triggerd when OK clicked
|
||||
*/
|
||||
void CalendarDialog::on_buttonBox_accepted()
|
||||
{
|
||||
if(ui->calStart->selectedDate() > ui->calEnd->selectedDate())
|
||||
qDebug() << "start is bigger than end!";
|
||||
if(this->isOK)
|
||||
qDebug() << "CalendarDialog: Valid input";
|
||||
}
|
||||
|
||||
void CalendarDialog::on_calEnd_selectionChanged()
|
||||
|
@ -69,6 +81,10 @@ void CalendarDialog::on_calEnd_selectionChanged()
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* @breif changes the status icon according to the... status... smart huh?
|
||||
* @param goodOrBad - self explained
|
||||
*/
|
||||
void CalendarDialog::changeLabeStatusIcon(bool goodOrBad)
|
||||
{
|
||||
if (goodOrBad == true) //good date!
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
/**
|
||||
* JCE Manager (C)
|
||||
*
|
||||
* This QDialog widget will hold the dates of a Semester, Start and End.
|
||||
*
|
||||
* this dialog will help the csv_exporter class to export a CSV file that will contain
|
||||
* all the courses within that period of time.
|
||||
*/
|
||||
|
||||
#ifndef CALENDARDIALOG_H
|
||||
#define CALENDARDIALOG_H
|
||||
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
|
||||
/* This Code Made By Sagi Dayan
|
||||
* SagiDayan@gmail.com
|
||||
*
|
||||
* minor changes by Liran Ben Gida
|
||||
* & Liran Ben Gida
|
||||
* LiranBG@gmail.com
|
||||
*/
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* This Code Made By Sagi Dayan
|
||||
* SagiDayan@gmail.com
|
||||
*
|
||||
* Changes has been made by Liran Ben Gida
|
||||
* Changes have been made by Liran Ben Gida
|
||||
* LiranBG@gmail.com
|
||||
*/
|
||||
#include <QDebug>
|
||||
|
|
Loading…
Reference in a new issue