This commit is contained in:
Sagi Dayan 2014-09-12 11:54:09 +03:00
commit fe5a144bd3
8 changed files with 539 additions and 540 deletions

View file

@ -14,10 +14,8 @@ CONFIG += console static
TRANSLATIONS = jce_en.ts \ TRANSLATIONS = jce_en.ts \
jce_he.ts jce_he.ts
FORMS += \ FORMS += \
main/mainscreen.ui \ main/mainscreen.ui
src/jceData/Calendar/calendardialog.ui
OTHER_FILES += OTHER_FILES +=
@ -42,8 +40,7 @@ HEADERS += \
src/jceData/Calendar/calendarCourse.h \ src/jceData/Calendar/calendarCourse.h \
src/jceData/Calendar/calendarSchedule.h \ src/jceData/Calendar/calendarSchedule.h \
src/jceData/CSV/csv_exporter.h \ src/jceData/CSV/csv_exporter.h \
src/appDatabase/simplecrypt.h \ src/appDatabase/simplecrypt.h
src/jceData/Calendar/calendardialog.h
SOURCES += \ SOURCES += \
main/CalendarTab/CalendarManager.cpp \ main/CalendarTab/CalendarManager.cpp \
@ -62,6 +59,6 @@ SOURCES += \
src/jceData/Calendar/calendarCourse.cpp \ src/jceData/Calendar/calendarCourse.cpp \
src/jceData/Calendar/calendarSchedule.cpp \ src/jceData/Calendar/calendarSchedule.cpp \
src/jceData/CSV/csv_exporter.cpp \ src/jceData/CSV/csv_exporter.cpp \
src/appDatabase/simplecrypt.cpp \ src/appDatabase/simplecrypt.cpp
src/jceData/Calendar/calendardialog.cpp

View file

@ -12,7 +12,7 @@ void CalendarManager::setCalendar(std::string html)
} }
void CalendarManager::exportCalendarCSV() //need to add fix to the null pointer bug void CalendarManager::exportCalendarCSV() //need to add fix to the null pointer bug
{ {
if (caliSchedPtr->getCourses()->empty()) if (caliSchedPtr->getCourses() == NULL)
return; return;
QMessageBox msgBox; QMessageBox msgBox;
int buttonClicked = caliDialog->exec(); int buttonClicked = caliDialog->exec();

View file

@ -1,68 +1,68 @@
#ifndef CALENDARCOURSE_H #ifndef CALENDARCOURSE_H
#define CALENDARCOURSE_H #define CALENDARCOURSE_H
#include "../course.h" #include "../course.h"
#include <string> #include <string>
#include <iostream> #include <iostream>
#include <list> #include <list>
#include <QTime> #include <QTime>
#define CALENDAR_COURSE_FIELDS 8 #define CALENDAR_COURSE_FIELDS 8
class calendarCourse : public Course class calendarCourse : public Course
{ {
public: public:
enum CourseScheme enum CourseScheme
{ {
SERIAL, SERIAL,
NAME, NAME,
TYPE, TYPE,
LECTURER, LECTURER,
POINTS, POINTS,
SEM_HOURS, SEM_HOURS,
DAY_AND_HOURS, DAY_AND_HOURS,
ROOM ROOM
}; };
calendarCourse(int serial, std::string name, std::string type, std::string lecturer, calendarCourse(int serial, std::string name, std::string type, std::string lecturer,
double points, double semesterHours, std::string dayAndHour, std::string room); double points, double semesterHours, std::string dayAndHour, std::string room);
~calendarCourse(){} ~calendarCourse(){}
int getDay() const; int getDay() const;
std::string getLecturer() const; std::string getLecturer() const;
std::string getRoom() const; std::string getRoom() const;
double getSemesterHours() const; double getSemesterHours() const;
int getHourBegin() const; int getHourBegin() const;
int getMinutesBegin() const; int getMinutesBegin() const;
int getHourEnd() const; int getHourEnd() const;
int getMinutesEnd() const; int getMinutesEnd() const;
void setDay(const std::string &value); void setDay(const std::string &value);
void setLecturer(const std::string &value); void setLecturer(const std::string &value);
void setRoom(const std::string &value); void setRoom(const std::string &value);
void setSemesterHours(double value); void setSemesterHours(double value);
void setHourBegin(int value); void setHourBegin(int value);
void setMinutesBegin(int value); void setMinutesBegin(int value);
void setHourEnd(int value); void setHourEnd(int value);
void setMinutesEnd(int value); void setMinutesEnd(int value);
std::string courseToString(); std::string courseToString();
private: private:
void setDayAndHour(std::string phrase); void setDayAndHour(std::string phrase);
std::string lecturer; std::string lecturer;
double semesterHours; double semesterHours;
int day; int day;
int hourBegin; int hourBegin;
int minutesBegin; int minutesBegin;
int hourEnd; int hourEnd;
int minutesEnd; int minutesEnd;
std::string room; std::string room;
}; };
#endif // CALENDARCOURSE_H #endif // CALENDARCOURSE_H

View file

@ -1,106 +1,108 @@
#include "calendarPage.h" #include "calendarPage.h"
std::string CalendarPage::htmlToString() std::string CalendarPage::htmlToString()
{ {
return tempHtml; return tempHtml;
} }
void CalendarPage::setPage(std::string html) void CalendarPage::setPage(std::string html)
{ {
courses = new std::list<calendarCourse*>();
tempHtml = getString(html); courses = new std::list<calendarCourse*>();
tempHtml = tokenToLines(tempHtml); tempHtml = getString(html);
calendarListInit(tempHtml); tempHtml = tokenToLines(tempHtml);
} calendarListInit(tempHtml);
std::string CalendarPage::tokenToLines(std::string &textToPhrase) }
{
int ctr = 0; std::string CalendarPage::tokenToLines(std::string &textToPhrase)
std::string temp = ""; {
char *tok; int ctr = 0;
char* textToTok = strdup(textToPhrase.c_str()); std::string temp = "";
tok = strtok(textToTok, "\n"); char *tok;
while(tok != NULL) char* textToTok = strdup(textToPhrase.c_str());
{ tok = strtok(textToTok, "\n");
//amount of data before the actual needed data and no empty lines while(tok != NULL)
if (strcmp(tok," \t ") != 0) {
{ //amount of data before the actual needed data and no empty lines
temp += tok; if (strcmp(tok," \t ") != 0)
temp += "\n"; {
} temp += tok;
ctr++; temp += "\n";
tok = strtok(NULL, "\n"); }
} ctr++;
return temp; tok = strtok(NULL, "\n");
} }
return temp;
void CalendarPage::calendarListInit(std::string &linesTokinzedString) }
{
std::list<std::string> stringHolder; void CalendarPage::calendarListInit(std::string &linesTokinzedString)
std::string temp; {
calendarCourse * cTemp = NULL; std::list<std::string> stringHolder;
char* tok; std::string temp;
char* textToTok = strdup(linesTokinzedString.c_str()); calendarCourse * cTemp = NULL;
tok = strtok(textToTok,"\n"); char* tok;
while (tok != NULL) char* textToTok = strdup(linesTokinzedString.c_str());
{ tok = strtok(textToTok,"\n");
temp = tok; while (tok != NULL)
stringHolder.push_back(temp); {
tok = strtok(NULL, "\n"); temp = tok;
} stringHolder.push_back(temp);
for(std::string temp: stringHolder) tok = strtok(NULL, "\n");
{ }
cTemp = lineToCourse(temp); for(std::string temp: stringHolder)
if (cTemp != NULL) {
courses->push_back(cTemp); cTemp = lineToCourse(temp);
} if (cTemp != NULL)
} courses->push_back(cTemp);
}
calendarCourse *CalendarPage::lineToCourse(std::string line) }
{
calendarCourse *CalendarPage::lineToCourse(std::string line)
calendarCourse *tempC = NULL; {
std::string templinearray[CALENDAR_COURSE_FIELDS];//[serial,name,type,lecturer,points,semesterhours,dayandhours,room]
int serial; calendarCourse *tempC = NULL;
double points,semesterHours; std::string templinearray[CALENDAR_COURSE_FIELDS];//[serial,name,type,lecturer,points,semesterhours,dayandhours,room]
std::string name,type, lecturer,dayAndHour,room; int serial;
std::string tempS = ""; double points,semesterHours;
std::string emptyTab = " "; std::string name,type, lecturer,dayAndHour,room;
int i = 0; std::string tempS = "";
char* tok; std::string emptyTab = " ";
char* cLine = strdup(line.c_str()); int i = 0;
tok = strtok(cLine, "\t"); char* tok;
while(tok != NULL) char* cLine = strdup(line.c_str());
{ tok = strtok(cLine, "\t");
while(tok != NULL)
tempS = tok; {
if (i>=1)
templinearray[i-1] = tempS; tempS = tok;
i++; if (i>=1)
if (i > 8) templinearray[i-1] = tempS;
break; i++;
tok=strtok(NULL, "\t"); if (i > 8)
} break;
if (templinearray[0] == "") //empty phrasing tok=strtok(NULL, "\t");
return NULL; }
serial = stoi(templinearray[calendarCourse::CourseScheme::SERIAL]); if (templinearray[0] == "") //empty phrasing
name = templinearray[calendarCourse::CourseScheme::NAME]; return NULL;
type = templinearray[calendarCourse::CourseScheme::TYPE]; serial = stoi(templinearray[calendarCourse::CourseScheme::SERIAL]);
lecturer = templinearray[calendarCourse::CourseScheme::LECTURER]; name = templinearray[calendarCourse::CourseScheme::NAME];
type = templinearray[calendarCourse::CourseScheme::TYPE];
if (templinearray[calendarCourse::CourseScheme::POINTS].compare(" ") == 0) lecturer = templinearray[calendarCourse::CourseScheme::LECTURER];
points = stod(templinearray[calendarCourse::CourseScheme::POINTS]);
else if (templinearray[calendarCourse::CourseScheme::POINTS].compare(" ") == 0)
points = 0; points = stod(templinearray[calendarCourse::CourseScheme::POINTS]);
if (templinearray[calendarCourse::CourseScheme::SEM_HOURS].compare(" ") == 0) else
semesterHours = stod(templinearray[calendarCourse::CourseScheme::SEM_HOURS]); points = 0;
else if (templinearray[calendarCourse::CourseScheme::SEM_HOURS].compare(" ") == 0)
semesterHours = 0; semesterHours = stod(templinearray[calendarCourse::CourseScheme::SEM_HOURS]);
dayAndHour = templinearray[calendarCourse::CourseScheme::DAY_AND_HOURS]; else
room = templinearray[calendarCourse::CourseScheme::ROOM]; semesterHours = 0;
dayAndHour = templinearray[calendarCourse::CourseScheme::DAY_AND_HOURS];
room = templinearray[calendarCourse::CourseScheme::ROOM];
tempC = new calendarCourse(serial,name,type,lecturer,points,semesterHours,dayAndHour,room);
return tempC; tempC = new calendarCourse(serial,name,type,lecturer,points,semesterHours,dayAndHour,room);
}
return tempC;
}

View file

@ -1,34 +1,34 @@
#ifndef CALENDARPAGE_H #ifndef CALENDARPAGE_H
#define CALENDARPAGE_H #define CALENDARPAGE_H
#include "../page.h" #include "../page.h"
#include "calendarCourse.h" #include "calendarCourse.h"
#include <list> #include <list>
#include <string.h> //strlen and strtok to phrase the html file #include <string.h> //strlen and strtok to phrase the html file
#include <ctype.h> //checks if character is numeric #include <ctype.h> //checks if character is numeric
class CalendarPage : public Page class CalendarPage : public Page
{ {
public: public:
std::string htmlToString(); std::string htmlToString();
std::list<calendarCourse*>* getCourses() { return courses; } std::list<calendarCourse*>* getCourses() { return courses; }
protected: protected:
virtual void setPage(std::string html); virtual void setPage(std::string html);
CalendarPage() { } CalendarPage() { }
private: private:
std::string tokenToLines(std::string& textToPhrase); std::string tokenToLines(std::string& textToPhrase);
void calendarListInit(std::string& linesTokinzedString); void calendarListInit(std::string& linesTokinzedString);
calendarCourse* lineToCourse(std::string line); calendarCourse* lineToCourse(std::string line);
std::string tempHtml; std::string tempHtml;
std::list<calendarCourse*>* courses; std::list<calendarCourse*>* courses;
}; };
#endif // CALENDARPAGE_H #endif // CALENDARPAGE_H

View file

@ -1,79 +1,79 @@
#include "calendardialog.h" #include "calendardialog.h"
#include "ui_calendardialog.h" #include "ui_calendardialog.h"
CalendarDialog::CalendarDialog(QWidget *parent) : CalendarDialog::CalendarDialog(QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::CalendarDialog) ui(new Ui::CalendarDialog)
{ {
ui->setupUi(this); ui->setupUi(this);
changeLabeStatusIcon(true);//be default the dates are ok, i Updated it according to jce official dates changeLabeStatusIcon(true);//be default the dates are ok, i Updated it according to jce official dates
this->isOK = true; this->isOK = true;
} }
CalendarDialog::~CalendarDialog() CalendarDialog::~CalendarDialog()
{ {
delete ui; delete ui;
} }
QDate CalendarDialog::getStartDate() QDate CalendarDialog::getStartDate()
{ {
return ui->calStart->selectedDate(); return ui->calStart->selectedDate();
} }
QDate CalendarDialog::getEndDate() QDate CalendarDialog::getEndDate()
{ {
return ui->calEnd->selectedDate(); return ui->calEnd->selectedDate();
} }
bool CalendarDialog::ok() bool CalendarDialog::ok()
{ {
return this->isOK; return this->isOK;
} }
void CalendarDialog::on_calStart_selectionChanged() void CalendarDialog::on_calStart_selectionChanged()
{ {
if(ui->calStart->selectedDate() >= ui->calEnd->selectedDate()) if(ui->calStart->selectedDate() >= ui->calEnd->selectedDate())
{ {
changeLabeStatusIcon(false); changeLabeStatusIcon(false);
ui->lbl_status->setText(tr("The End of the semester can NOT be equal or before semester begins.")); ui->lbl_status->setText(tr("The End of the semester can NOT be equal or before semester begins."));
this->isOK = false; this->isOK = false;
} }
else else
{ {
changeLabeStatusIcon(true); changeLabeStatusIcon(true);
ui->lbl_status->setText(tr("Looks ok, Press OK")); ui->lbl_status->setText(tr("Looks ok, Press OK"));
this->isOK = true; this->isOK = true;
} }
} }
void CalendarDialog::on_buttonBox_accepted() void CalendarDialog::on_buttonBox_accepted()
{ {
if(ui->calStart->selectedDate() > ui->calEnd->selectedDate()) if(ui->calStart->selectedDate() > ui->calEnd->selectedDate())
qDebug() << "start bigger than end!"; qDebug() << "start bigger than end!";
} }
void CalendarDialog::on_calEnd_selectionChanged() void CalendarDialog::on_calEnd_selectionChanged()
{ {
if(ui->calStart->selectedDate() >= ui->calEnd->selectedDate()) if(ui->calStart->selectedDate() >= ui->calEnd->selectedDate())
{ {
changeLabeStatusIcon(false); changeLabeStatusIcon(false);
ui->lbl_status->setText(tr("The End of the semester can NOT be equal or before semester begins.")); ui->lbl_status->setText(tr("The End of the semester can NOT be equal or before semester begins."));
this->isOK = false; this->isOK = false;
} }
else else
{ {
changeLabeStatusIcon(true); changeLabeStatusIcon(true);
ui->lbl_status->setText(tr("Looks ok, Press OK")); ui->lbl_status->setText(tr("Looks ok, Press OK"));
this->isOK = true; this->isOK = true;
} }
} }
void CalendarDialog::changeLabeStatusIcon(bool goodOrBad) void CalendarDialog::changeLabeStatusIcon(bool goodOrBad)
{ {
if (goodOrBad == true) //good date! if (goodOrBad == true) //good date!
iconPixStatus.load(":/icons/iconV.png"); iconPixStatus.load(":/icons/iconV.png");
else else
iconPixStatus.load(":/icons/iconX.png"); iconPixStatus.load(":/icons/iconX.png");
this->ui->labelIconStatus->setPixmap(iconPixStatus); this->ui->labelIconStatus->setPixmap(iconPixStatus);
} }

View file

@ -1,35 +1,35 @@
#ifndef CALENDARDIALOG_H #ifndef CALENDARDIALOG_H
#define CALENDARDIALOG_H #define CALENDARDIALOG_H
#include <QDialog> #include <QDialog>
#include <QDate> #include <QDate>
#include <QDebug> #include <QDebug>
namespace Ui { namespace Ui {
class CalendarDialog; class CalendarDialog;
} }
class CalendarDialog : public QDialog class CalendarDialog : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit CalendarDialog(QWidget *parent = 0); explicit CalendarDialog(QWidget *parent = 0);
~CalendarDialog(); ~CalendarDialog();
QDate getStartDate(); QDate getStartDate();
QDate getEndDate(); QDate getEndDate();
bool ok(); bool ok();
private slots: private slots:
void on_calStart_selectionChanged(); void on_calStart_selectionChanged();
void on_calEnd_selectionChanged(); void on_calEnd_selectionChanged();
void on_buttonBox_accepted(); void on_buttonBox_accepted();
private: private:
void changeLabeStatusIcon(bool goodOrBad); void changeLabeStatusIcon(bool goodOrBad);
Ui::CalendarDialog *ui; Ui::CalendarDialog *ui;
bool isOK; bool isOK;
QPixmap iconPixStatus; QPixmap iconPixStatus;
}; };
#endif // CALENDARDIALOG_H #endif // CALENDARDIALOG_H

View file

@ -1,210 +1,210 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>CalendarDialog</class> <class>CalendarDialog</class>
<widget class="QDialog" name="CalendarDialog"> <widget class="QDialog" name="CalendarDialog">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>577</width> <width>577</width>
<height>268</height> <height>268</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Dialog</string> <string>Dialog</string>
</property> </property>
<widget class="QWidget" name=""> <widget class="QWidget" name="">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>10</x> <x>10</x>
<y>10</y> <y>10</y>
<width>551</width> <width>551</width>
<height>235</height> <height>235</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item> <item>
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
<property name="text"> <property name="text">
<string>&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;The dates were chosen according to JCE General Academic Calendar for the first semester&lt;/span&gt;&lt;/p&gt;</string> <string>&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;The dates were chosen according to JCE General Academic Calendar for the first semester&lt;/span&gt;&lt;/p&gt;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="QLabel" name="labelSemesterStart"> <widget class="QLabel" name="labelSemesterStart">
<property name="text"> <property name="text">
<string>Semester Starts At:</string> <string>Semester Starts At:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelSemesterEnd"> <widget class="QLabel" name="labelSemesterEnd">
<property name="text"> <property name="text">
<string>Semester Ends At:</string> <string>Semester Ends At:</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QCalendarWidget" name="calStart"> <widget class="QCalendarWidget" name="calStart">
<property name="locale"> <property name="locale">
<locale language="Hebrew" country="Israel"/> <locale language="Hebrew" country="Israel"/>
</property> </property>
<property name="inputMethodHints"> <property name="inputMethodHints">
<set>Qt::ImhNone</set> <set>Qt::ImhNone</set>
</property> </property>
<property name="selectedDate"> <property name="selectedDate">
<date> <date>
<year>2014</year> <year>2014</year>
<month>10</month> <month>10</month>
<day>26</day> <day>26</day>
</date> </date>
</property> </property>
<property name="minimumDate"> <property name="minimumDate">
<date> <date>
<year>2000</year> <year>2000</year>
<month>9</month> <month>9</month>
<day>14</day> <day>14</day>
</date> </date>
</property> </property>
<property name="maximumDate"> <property name="maximumDate">
<date> <date>
<year>2080</year> <year>2080</year>
<month>12</month> <month>12</month>
<day>31</day> <day>31</day>
</date> </date>
</property> </property>
<property name="gridVisible"> <property name="gridVisible">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="verticalHeaderFormat"> <property name="verticalHeaderFormat">
<enum>QCalendarWidget::NoVerticalHeader</enum> <enum>QCalendarWidget::NoVerticalHeader</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCalendarWidget" name="calEnd"> <widget class="QCalendarWidget" name="calEnd">
<property name="selectedDate"> <property name="selectedDate">
<date> <date>
<year>2015</year> <year>2015</year>
<month>2</month> <month>2</month>
<day>1</day> <day>1</day>
</date> </date>
</property> </property>
<property name="minimumDate"> <property name="minimumDate">
<date> <date>
<year>2000</year> <year>2000</year>
<month>9</month> <month>9</month>
<day>14</day> <day>14</day>
</date> </date>
</property> </property>
<property name="maximumDate"> <property name="maximumDate">
<date> <date>
<year>2080</year> <year>2080</year>
<month>12</month> <month>12</month>
<day>31</day> <day>31</day>
</date> </date>
</property> </property>
<property name="gridVisible"> <property name="gridVisible">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="verticalHeaderFormat"> <property name="verticalHeaderFormat">
<enum>QCalendarWidget::NoVerticalHeader</enum> <enum>QCalendarWidget::NoVerticalHeader</enum>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<widget class="QLabel" name="labelIconStatus"> <widget class="QLabel" name="labelIconStatus">
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="lbl_status"> <widget class="QLabel" name="lbl_status">
<property name="text"> <property name="text">
<string>&lt;b&gt;Please chose your dates correctly&lt;/b&gt;</string> <string>&lt;b&gt;Please chose your dates correctly&lt;/b&gt;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QDialogButtonBox" name="buttonBox"> <widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="standardButtons"> <property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
</widget> </widget>
<resources/> <resources/>
<connections> <connections>
<connection> <connection>
<sender>buttonBox</sender> <sender>buttonBox</sender>
<signal>accepted()</signal> <signal>accepted()</signal>
<receiver>CalendarDialog</receiver> <receiver>CalendarDialog</receiver>
<slot>accept()</slot> <slot>accept()</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>248</x> <x>248</x>
<y>254</y> <y>254</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">
<x>157</x> <x>157</x>
<y>274</y> <y>274</y>
</hint> </hint>
</hints> </hints>
</connection> </connection>
<connection> <connection>
<sender>buttonBox</sender> <sender>buttonBox</sender>
<signal>rejected()</signal> <signal>rejected()</signal>
<receiver>CalendarDialog</receiver> <receiver>CalendarDialog</receiver>
<slot>reject()</slot> <slot>reject()</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>316</x> <x>316</x>
<y>260</y> <y>260</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">
<x>286</x> <x>286</x>
<y>274</y> <y>274</y>
</hint> </hint>
</hints> </hints>
</connection> </connection>
</connections> </connections>
</ui> </ui>