1 #include "optionswidget.h"\r
2 #include "awayscreen.h"\r
3 #include "thermostatwidget.h"\r
4 #include "schedulescreen.h"\r
5 #include "settingscreen.h"\r
6 #include "mainwindow.h"\r
7 \r
8 OptionsWidget::OptionsWidget(QWidget *parent) :\r
9 QWidget(parent)\r
10 {\r
11 int optionButtonIconSize = 50;\r
12 \r
13 setObjectName("optionsWidget");\r
14 setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);\r
15 setAttribute(Qt::WA_StyledBackground,true);\r
16 \r
17 // create settings button\r
18 settingsButton = new QPushButton();\r
19 settingsButton->setIcon(QIcon(":/Images/glossy-blue-orb-icon-gears.png"));\r
20 settingsButton->setIconSize(QSize(optionButtonIconSize,optionButtonIconSize));\r
21 settingsButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);\r
22 settingsButton->setFocusPolicy(Qt::NoFocus);\r
23 \r
24 // create settings screen\r
25 settingScreen = new SettingScreen;\r
26 // when settings button is clicked, show settings screen\r
27 connect(settingsButton,SIGNAL(clicked()),settingScreen,SLOT(showFullScreen()));\r
28 // pass C/F value from settings screen to options widget and out to main window\r
29 connect(settingScreen, SIGNAL(valueChanged()), this, SIGNAL(valueChanged()));\r
30 // pass new city string value from settings screen to options widget and out to main window\r
31 connect(settingScreen, SIGNAL(cityChanged()), this, SIGNAL(cityChanged()));\r
32 \r
33 // create new calender button\r
34 calendarButton = new QPushButton();\r
35 calendarButton->setIcon(QIcon(":/Images/glossy-blue-orb-icon-calendar.png"));\r
36 calendarButton->setIconSize(QSize(optionButtonIconSize,optionButtonIconSize));\r
37 calendarButton->setFocusPolicy(Qt::NoFocus);\r
38 calendarButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);\r
39 \r
40 // create new schedule screen\r
41 scheduleScreen = new ScheduleScreen;\r
42 connect(calendarButton,SIGNAL(clicked()),scheduleScreen,SLOT(showFullScreen()));\r
43 connect(settingScreen, SIGNAL(valueChanged()), scheduleScreen, SIGNAL(valueChanged()));\r
44 \r
45 // create new away button\r
46 awayButton = new QPushButton();\r
47 awayButton->setIcon(QIcon(":/Images/glossy-blue-orb-icon-airplane.png"));\r
48 awayButton->setIconSize(QSize(optionButtonIconSize,optionButtonIconSize));\r
49 awayButton->setFocusPolicy(Qt::NoFocus);\r
50 awayButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);\r
51 \r
52 // create new away screen\r
53 awayScreen = new AwayScreen;\r
54 connect(awayButton,SIGNAL(clicked()),awayScreen,SLOT(showFullScreen()));\r
55 connect(this, SIGNAL(currentTempChanged()), awayScreen, SLOT(updateCurrentTemp()));\r
56 connect(settingScreen, SIGNAL(valueChanged()), awayScreen, SLOT(updateUnit()));\r
57 \r
58 \r
59 // create layout\r
60 QHBoxLayout *optionsLayout = new QHBoxLayout;\r
61 optionsLayout->addWidget(settingsButton);\r
62 optionsLayout->addWidget(calendarButton);\r
63 optionsLayout->addWidget(awayButton);\r
64 optionsLayout->setSpacing(0);\r
65 \r
66 // show layout\r
67 setLayout(optionsLayout);\r
68 \r
69 }\r