First use/profile editor screen improvements

This commit is contained in:
Mark Watkins 2011-11-28 22:03:43 +10:00
parent aaa766bb54
commit d93b39a7d4
9 changed files with 823 additions and 158 deletions

View File

@ -1865,7 +1865,7 @@ void gGraphView::ResetBounds(bool refresh) //short group)
{
Q_UNUSED(refresh)
qint64 m1=0,m2=0;
gGraph *g;
gGraph *g=NULL;
for (int i=0;i<m_graphs.size();i++) {
m_graphs[i]->ResetBounds();
if (!m_graphs[i]->min_x) continue;
@ -1881,7 +1881,6 @@ void gGraphView::ResetBounds(bool refresh) //short group)
}
}
if (!g) g=m_graphs[0];
if (!g) return;
qint64 xx=g->max_x - g->min_x;
double d=xx/86400000L;

View File

@ -23,5 +23,7 @@
<file>icons/toggle-on-us.svg</file>
<file>docs/release_notes.html</file>
<file>icons/save.png</file>
<file>docs/countries.txt</file>
<file>docs/tz.txt</file>
</qresource>
</RCC>

View File

@ -151,7 +151,11 @@ OTHER_FILES += \
docs/graphs.xml \
docs/channels.xml \
docs/release_notes.html \
docs/startup_tips.txt
docs/startup_tips.txt \
docs/countries.txt \
docs/tz.txt

195
docs/countries.txt Normal file
View File

@ -0,0 +1,195 @@
Afghanistan
Albania
Algeria
Andorra
Angola
Antigua & Deps
Argentina
Armenia
Australia
Austria
Azerbaijan
Bahamas
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
Bhutan
Bolivia
Bosnia Herzegovina
Botswana
Brazil
Brunei
Bulgaria
Burkina
Burundi
Cambodia
Cameroon
Canada
Cape Verde
Central African Rep
Chad
Chile
China
Colombia
Comoros
Congo
Congo {Democratic Rep}
Costa Rica
Croatia
Cuba
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
East Timor
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Fiji
Finland
France
Gabon
Gambia
Georgia
Germany
Ghana
Greece
Grenada
Guatemala
Guinea
Guinea-Bissau
Guyana
Haiti
Honduras
Hungary
Iceland
India
Indonesia
Iran
Iraq
Ireland {Republic}
Israel
Italy
Ivory Coast
Jamaica
Japan
Jordan
Kazakhstan
Kenya
Kiribati
Korea North
Korea South
Kosovo
Kuwait
Kyrgyzstan
Laos
Latvia
Lebanon
Lesotho
Liberia
Libya
Liechtenstein
Lithuania
Luxembourg
Macedonia
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
Marshall Islands
Mauritania
Mauritius
Mexico
Micronesia
Moldova
Monaco
Mongolia
Montenegro
Morocco
Mozambique
Myanmar, {Burma}
Namibia
Nauru
Nepal
Netherlands
New Zealand
Nicaragua
Niger
Nigeria
Norway
Oman
Pakistan
Palau
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Poland
Portugal
Qatar
Romania
Russian Federation
Rwanda
St Kitts & Nevis
St Lucia
Saint Vincent & the Grenadines
Samoa
San Marino
Sao Tome & Principe
Saudi Arabia
Senegal
Serbia
Seychelles
Sierra Leone
Singapore
Slovakia
Slovenia
Solomon Islands
Somalia
South Africa
Spain
Sri Lanka
Sudan
Suriname
Swaziland
Sweden
Switzerland
Syria
Taiwan
Tajikistan
Tanzania
Thailand
Togo
Tonga
Trinidad & Tobago
Tunisia
Turkey
Turkmenistan
Tuvalu
Uganda
Ukraine
United Arab Emirates
United Kingdom
United States
Uruguay
Uzbekistan
Vanuatu
Vatican City
Venezuela
Vietnam
Yemen
Zambia
Zimbabwe

91
docs/tz.txt Normal file
View File

@ -0,0 +1,91 @@
Pacific/Midway=(GMT-11:00) Midway Island, Samoa
America/Adak=(GMT-10:00) Hawaii-Aleutian
Etc/GMT+10=(GMT-10:00) Hawaii
Pacific/Marquesas=(GMT-09:30) Marquesas Islands
Pacific/Gambier=(GMT-09:00) Gambier Islands
America/Anchorage=(GMT-09:00) Alaska
America/Ensenada=(GMT-08:00) Tijuana, Baja California
Etc/GMT+8=(GMT-08:00) Pitcairn Islands
America/Los_Angeles=(GMT-08:00) Pacific Time (US & Canada)
America/Denver=(GMT-07:00) Mountain Time (US & Canada)
America/Chihuahua=(GMT-07:00) Chihuahua, La Paz, Mazatlan
America/Dawson_Creek=(GMT-07:00) Arizona
America/Belize=(GMT-06:00) Saskatchewan, Central America
America/Cancun=(GMT-06:00) Guadalajara, Mexico City, Monterrey
Chile/EasterIsland=(GMT-06:00) Easter Island
America/Chicago=(GMT-06:00) Central Time (US & Canada)
America/New_York=(GMT-05:00) Eastern Time (US & Canada)
America/Havana=(GMT-05:00) Cuba
America/Bogota=(GMT-05:00) Bogota, Lima, Quito, Rio Branco
America/Caracas=(GMT-04:30) Caracas
America/Santiago=(GMT-04:00) Santiago
America/La_Paz=(GMT-04:00) La Paz
Atlantic/Stanley=(GMT-04:00) Faukland Islands
America/Campo_Grande=(GMT-04:00) Brazil
America/Goose_Bay=(GMT-04:00) Atlantic Time (Goose Bay)
America/Glace_Bay=(GMT-04:00) Atlantic Time (Canada)
America/St_Johns=(GMT-03:30) Newfoundland
America/Araguaina=(GMT-03:00) UTC-3,
America/Montevideo=(GMT-03:00) Montevideo
America/Miquelon=(GMT-03:00) Miquelon, St. Pierre
America/Godthab=(GMT-03:00) Greenland
America/Argentina/Buenos_Aires=(GMT-03:00) Buenos Aires
America/Sao_Paulo=(GMT-03:00) Brasilia
America/Noronha=(GMT-02:00) Mid-Atlantic
Atlantic/Cape_Verde=(GMT-01:00) Cape Verde Is.
Atlantic/Azores=(GMT-01:00) Azores
Europe/Belfast=(GMT) Greenwich Mean Time : Belfast
Europe/Dublin=(GMT) Greenwich Mean Time : Dublin
Europe/Lisbon=(GMT) Greenwich Mean Time : Lisbon
Europe/London=(GMT) Greenwich Mean Time : London
Africa/Abidjan=(GMT) Monrovia, Reykjavik
Europe/Amsterdam=(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
Europe/Belgrade=(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague
Europe/Brussels=(GMT+01:00) Brussels, Copenhagen, Madrid, Paris
Africa/Algiers=(GMT+01:00) West Central Africa
Africa/Windhoek=(GMT+01:00) Windhoek
Asia/Beirut=(GMT+02:00) Beirut
Africa/Cairo=(GMT+02:00) Cairo
Asia/Gaza=(GMT+02:00) Gaza
Africa/Blantyre=(GMT+02:00) Harare, Pretoria
Asia/Jerusalem=(GMT+02:00) Jerusalem
Europe/Minsk=(GMT+02:00) Minsk
Asia/Damascus=(GMT+02:00) Syria
Europe/Moscow=(GMT+03:00) Moscow, St. Petersburg, Volgograd
Africa/Addis_Ababa=(GMT+03:00) Nairobi
Asia/Tehran=(GMT+03:30) Tehran
Asia/Dubai=(GMT+04:00) Abu Dhabi, Muscat
Asia/Yerevan=(GMT+04:00) Yerevan
Asia/Kabul=(GMT+04:30) Kabul
Asia/Yekaterinburg=(GMT+05:00) Ekaterinburg
Asia/Tashkent=(GMT+05:00) Tashkent
Asia/Kolkata=(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi
Asia/Katmandu=(GMT+05:45) Kathmandu
Asia/Dhaka=(GMT+06:00) Astana, Dhaka
Asia/Novosibirsk=(GMT+06:00) Novosibirsk
Asia/Rangoon=(GMT+06:30) Yangon (Rangoon)
Asia/Bangkok=(GMT+07:00) Bangkok, Hanoi, Jakarta
Asia/Krasnoyarsk=(GMT+07:00) Krasnoyarsk
Asia/Hong_Kong=(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi
Asia/Irkutsk=(GMT+08:00) Irkutsk, Ulaan Bataar
Australia/Perth=(GMT+08:00) Perth
Australia/Eucla=(GMT+08:45) Eucla
Asia/Tokyo=(GMT+09:00) Osaka, Sapporo, Tokyo
Asia/Seoul=(GMT+09:00) Seoul
Asia/Yakutsk=(GMT+09:00) Yakutsk
Australia/Adelaide=(GMT+09:30) Adelaide
Australia/Darwin=(GMT+09:30) Darwin
Australia/Brisbane=(GMT+10:00) Brisbane
Australia/Hobart=(GMT+10:00) Hobart
Asia/Vladivostok=(GMT+10:00) Vladivostok
Australia/Lord_Howe=(GMT+10:30) Lord Howe Island
Etc/GMT-11=(GMT+11:00) Solomon Is., New Caledonia
Asia/Magadan=(GMT+11:00) Magadan
Pacific/Norfolk=(GMT+11:30) Norfolk Island
Asia/Anadyr=(GMT+12:00) Anadyr, Kamchatka
Pacific/Auckland=(GMT+12:00) Auckland, Wellington
Etc/GMT-12=(GMT+12:00) Fiji, Kamchatka, Marshall Is.
Pacific/Chatham=(GMT+12:45) Chatham Islands
Pacific/Tongatapu=(GMT+13:00) Nuku Alofa
Pacific/Kiritimati=(GMT+14:00) Kiritimati

View File

@ -489,14 +489,13 @@ void MainWindow::CheckForUpdates()
void MainWindow::on_actionCheck_for_Updates_triggered()
{
if (PREF.Exists("Updates_LastChecked")) {
if (PREF["Updates_LastChecked"].toDateTime().secsTo(QDateTime::currentDateTime())<3600) {
if (PREF["Updates_LastChecked"].toDateTime().secsTo(QDateTime::currentDateTime())<7200) {
// Instead of doing this, just use the cached crud
if (prefdialog) prefdialog->RefreshLastChecked();
mainwin->Notify("No New Updates - You already checked in the last hour...");
mainwin->Notify("No New Updates - You already checked recently...");
return;
}
}
return;
netmanager->get(QNetworkRequest(QUrl("http://sleepyhead.sourceforge.net/current_version.txt")));
}
void MainWindow::replyFinished(QNetworkReply * reply)

View File

@ -5,6 +5,8 @@
*/
#include <QMessageBox>
#include <QFile>
#include <QTextStream>
#include <QCryptographicHash>
#include "SleepLib/profiles.h"
@ -31,6 +33,42 @@ NewProfile::NewProfile(QWidget *parent) :
ui->stackedWidget->setCurrentIndex(0);
on_cpapModeCombo_activated(0);
m_passwordHashed=false;
ui->heightEdit2->setVisible(false);
ui->heightEdit->setDecimals(2);
ui->heightEdit->setSuffix("cm");
{ // process countries list
QFile f(":/docs/countries.txt");
f.open(QFile::ReadOnly);
QTextStream cnt(&f);
QString a;
ui->countryCombo->clear();
ui->countryCombo->addItem("Select Country");
do {
a=cnt.readLine();
if (a.isEmpty()) break;
ui->countryCombo->addItem(a);
} while(1);
f.close();
}
{ // timezone list
QFile f(":/docs/tz.txt");
f.open(QFile::ReadOnly);
QTextStream cnt(&f);
QString a;
ui->timezoneCombo->clear();
//ui->countryCombo->addItem("Select TimeZone");
do {
a=cnt.readLine();
if (a.isEmpty()) break;
QStringList l;
l=a.split("=");
ui->timezoneCombo->addItem(l[1],l[0]);
} while(1);
f.close();
}
}
NewProfile::~NewProfile()
@ -86,7 +124,6 @@ void NewProfile::on_nextButton_clicked()
prof["FirstName"]=ui->firstNameEdit->text();
prof["LastName"]=ui->lastNameEdit->text();
prof["DOB"]=ui->dobEdit->date();
prof["Height"]=ui->heightEdit->value();
prof["EmailAddress"]=ui->emailEdit->text();
prof["Phone"]=ui->phoneEdit->text();
prof["Address"]=ui->addressEdit->toPlainText();
@ -116,7 +153,20 @@ void NewProfile::on_nextButton_clicked()
prof["DoctorPhone"]=ui->doctorPhoneEdit->text();
prof["DoctorEmail"]=ui->doctorEmailEdit->text();
prof["DoctorPatientID"]=ui->doctorPatientIDEdit->text();
prof["Language"]=ui->languageCombo->currentText();
prof["TimeZone"]=ui->timezoneCombo->itemData(ui->timezoneCombo->currentIndex()).toString();
prof["Country"]=ui->countryCombo->currentText();
prof["DST"]=ui->DSTcheckbox->isChecked();
prof["Units"]=ui->heightCombo->currentText();
double v=0;
if (ui->heightCombo->currentIndex()==1) {
// convert to metric
v=(ui->heightEdit->value()*30.48);
v+=ui->heightEdit2->value()*2.54;
} else {
v=ui->heightEdit->value();
}
prof["Height"]=v;
PREF["Profile"]=ui->userNameEdit->text();
@ -213,6 +263,38 @@ void NewProfile::edit(const QString name)
ui->doctorEmailEdit->setText(profile->Get("DoctorEmail"));
ui->doctorAddressEdit->setText(profile->Get("DoctorAddress"));
ui->doctorPatientIDEdit->setText(profile->Get("DoctorPatientID"));
ui->DSTcheckbox->setChecked((*profile)["DST"].toBool());
int i=ui->timezoneCombo->findData(profile->Get("TimeZone"));
ui->timezoneCombo->setCurrentIndex(i);
i=ui->countryCombo->findText(profile->Get("Country"));
ui->countryCombo->setCurrentIndex(i);
i=ui->heightCombo->findText(profile->Get("Units"));
if (i<0) i=0;
ui->heightCombo->setCurrentIndex(i);
bool ok;
double v=(*profile)["Height"].toDouble(&ok);
if (!ok) v=0;
if (i==1) { // evil non-metric
int ti=v/2.54;
int feet=ti / 12;
int inches=ti % 12;
ui->heightEdit->setValue(feet);
ui->heightEdit2->setValue(inches);
ui->heightEdit2->setVisible(true);
ui->heightEdit->setDecimals(0);
ui->heightEdit2->setDecimals(0);
ui->heightEdit->setSuffix("ft");
ui->heightEdit2->setSuffix("\"");
} else { // good wholesome metric
ui->heightEdit->setValue(v);
ui->heightEdit2->setVisible(false);
ui->heightEdit->setDecimals(2);
ui->heightEdit->setSuffix("cm");
}
}
void NewProfile::on_passwordEdit1_editingFinished()
@ -224,3 +306,28 @@ void NewProfile::on_passwordEdit2_editingFinished()
{
m_passwordHashed=false;
}
void NewProfile::on_heightCombo_currentIndexChanged(int index)
{
if (index==0) {
//metric
ui->heightEdit2->setVisible(false);
ui->heightEdit->setDecimals(2);
ui->heightEdit->setSuffix("cm");
double v=ui->heightEdit->value()*30.48;
v+=ui->heightEdit2->value()*2.54;
ui->heightEdit->setValue(v);
} else { //evil
ui->heightEdit->setDecimals(0);
ui->heightEdit2->setDecimals(0);
ui->heightEdit->setSuffix("ft");
ui->heightEdit2->setVisible(true);
ui->heightEdit2->setSuffix("\"");
int v=ui->heightEdit->value()/2.54;
int feet=v / 12;
int inches=v % 12;
ui->heightEdit->setValue(feet);
ui->heightEdit2->setValue(inches);
}
}

View File

@ -35,6 +35,9 @@ private slots:
void on_passwordEdit2_editingFinished();
void on_heightCombo_currentIndexChanged(int index);
private:
Ui::NewProfile *ui;
bool m_editMode;

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>605</width>
<width>607</width>
<height>392</height>
</rect>
</property>
@ -24,10 +24,47 @@
<item>
<widget class="QStackedWidget" name="stackedWidget">
<property name="currentIndex">
<number>1</number>
<number>2</number>
</property>
<widget class="QWidget" name="page_5">
<widget class="QWidget" name="welcomePage">
<layout class="QVBoxLayout" name="verticalLayout_8">
<property name="margin">
<number>5</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="label_28">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Language</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="languageCombo">
<item>
<property name="text">
<string>English</string>
</property>
</item>
<item>
<property name="text">
<string>Klingon</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QTextBrowser" name="textBrowser">
<property name="html">
@ -66,31 +103,57 @@ p, li { white-space: pre-wrap; }
</item>
</layout>
</widget>
<widget class="QWidget" name="page">
<layout class="QVBoxLayout" name="verticalLayout_4">
<widget class="QWidget" name="userPage">
<layout class="QVBoxLayout" name="verticalLayout_9">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>4</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Personal &amp;&amp; User Information</string>
<string>User Information</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
<layout class="QFormLayout" name="formLayout_2">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
<layout class="QVBoxLayout" name="verticalLayout_10">
<property name="leftMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>User Name</string>
<property name="topMargin">
<number>4</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>4</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>User Name</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="userNameEdit"/>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="userNameEdit"/>
</item>
<item row="2" column="0" colspan="2">
<item>
<widget class="QGroupBox" name="passwordGroupBox">
<property name="toolTip">
<string>Keep the kids out.. Nothing more.. This isn't meant to be uber security.</string>
@ -107,21 +170,7 @@ p, li { white-space: pre-wrap; }
<property name="checked">
<bool>false</bool>
</property>
<layout class="QFormLayout" name="formLayout_3">
<item row="0" column="1">
<widget class="QLineEdit" name="passwordEdit1">
<property name="echoMode">
<enum>QLineEdit::PasswordEchoOnEdit</enum>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="passwordEdit2">
<property name="echoMode">
<enum>QLineEdit::PasswordEchoOnEdit</enum>
</property>
</widget>
</item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
@ -129,6 +178,13 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="passwordEdit1">
<property name="echoMode">
<enum>QLineEdit::PasswordEchoOnEdit</enum>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
@ -136,37 +192,177 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="passwordEdit2">
<property name="echoMode">
<enum>QLineEdit::PasswordEchoOnEdit</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="4" column="0">
<item>
<widget class="Line" name="line_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Locale Settings</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="horizontalSpacing">
<number>0</number>
</property>
<property name="verticalSpacing">
<number>4</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item row="1" column="0">
<widget class="QLabel" name="label_25">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Country</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<widget class="QComboBox" name="countryCombo"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_27">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>TimeZone</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1" colspan="2">
<widget class="QComboBox" name="timezoneCombo"/>
</item>
<item row="6" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="0" colspan="3">
<widget class="Line" name="line_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="DSTcheckbox">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>DST Zone</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="personalPage">
<layout class="QVBoxLayout" name="verticalLayout_4">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>4</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox_6">
<property name="title">
<string>Personal Information (for reports)</string>
</property>
<layout class="QFormLayout" name="formLayout_6">
<property name="horizontalSpacing">
<number>4</number>
</property>
<property name="verticalSpacing">
<number>4</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>4</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>4</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>First Name</string>
</property>
</widget>
</item>
<item row="4" column="1">
<item row="0" column="1">
<widget class="QLineEdit" name="firstNameEdit"/>
</item>
<item row="5" column="0">
<item row="1" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Last Name</string>
</property>
</widget>
</item>
<item row="5" column="1">
<item row="1" column="1">
<widget class="QLineEdit" name="lastNameEdit"/>
</item>
<item row="6" column="0">
<item row="2" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>D.O.B.</string>
</property>
</widget>
</item>
<item row="6" column="1">
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QDateEdit" name="dobEdit"/>
@ -199,7 +395,7 @@ p, li { white-space: pre-wrap; }
</item>
</layout>
</item>
<item row="7" column="0">
<item row="3" column="0">
<widget class="QLabel" name="label_10">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
@ -215,40 +411,83 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QDoubleSpinBox" name="heightEdit">
<property name="maximum">
<double>350.000000000000000</double>
<item row="3" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<property name="margin">
<number>0</number>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="Line" name="line_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="Line" name="line_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<item>
<widget class="QDoubleSpinBox" name="heightEdit">
<property name="decimals">
<number>2</number>
</property>
<property name="maximum">
<double>350.000000000000000</double>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="heightEdit2">
<property name="decimals">
<number>0</number>
</property>
<property name="singleStep">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="heightCombo">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>metric</string>
</property>
</item>
<item>
<property name="text">
<string>archiac</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2">
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Contact Information</string>
</property>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<property name="horizontalSpacing">
<number>4</number>
</property>
<property name="verticalSpacing">
<number>4</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>4</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>4</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
@ -276,52 +515,42 @@ p, li { white-space: pre-wrap; }
<item row="1" column="1">
<widget class="QLineEdit" name="emailEdit"/>
</item>
<item row="2" column="0">
<item row="3" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Phone</string>
</property>
</widget>
</item>
<item row="2" column="1">
<item row="3" column="1">
<widget class="QLineEdit" name="phoneEdit"/>
</item>
<item row="4" column="1">
<spacer name="verticalSpacer">
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>250</width>
<height>2</height>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="0" colspan="2">
<widget class="QLabel" name="label_15">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:10pt; font-weight:400; font-style:italic;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;(This information is just used in reports.)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_3">
<widget class="QWidget" name="cpapPage">
<layout class="QVBoxLayout" name="verticalLayout_7">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>4</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
@ -331,6 +560,24 @@ p, li { white-space: pre-wrap; }
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<property name="horizontalSpacing">
<number>4</number>
</property>
<property name="verticalSpacing">
<number>4</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>4</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
@ -416,32 +663,43 @@ p, li { white-space: pre-wrap; }
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_4">
<widget class="QWidget" name="doctorPage">
<layout class="QVBoxLayout" name="verticalLayout_6">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>4</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
<string>Doctors Information</string>
<string>Doctors / Clinic Information</string>
</property>
<layout class="QFormLayout" name="formLayout_5">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<property name="horizontalSpacing">
<number>4</number>
</property>
<property name="verticalSpacing">
<number>4</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>4</number>
</property>
<property name="rightMargin">
<number>4</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_17">
<property name="text">
@ -452,61 +710,82 @@ p, li { white-space: pre-wrap; }
<item row="0" column="1">
<widget class="QLineEdit" name="doctorNameEdit"/>
</item>
<item row="1" column="0">
<item row="1" column="0" colspan="2">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_23">
<property name="text">
<string>Practice</string>
</property>
</widget>
</item>
<item row="1" column="1">
<item row="2" column="1">
<widget class="QLineEdit" name="doctorPracticeEdit"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Address</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QTextEdit" name="doctorAddressEdit">
<property name="tabChangesFocus">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Phone</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="doctorPhoneEdit"/>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Email</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="doctorEmailEdit"/>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_24">
<property name="text">
<string>Patient ID</string>
</property>
</widget>
</item>
<item row="7" column="1">
<item row="3" column="1">
<widget class="QLineEdit" name="doctorPatientIDEdit"/>
</item>
<item row="4" column="0" colspan="2">
<widget class="Line" name="line_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Address</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QTextEdit" name="doctorAddressEdit">
<property name="tabChangesFocus">
<bool>true</bool>
</property>
</widget>
</item>
<item row="6" column="0" colspan="2">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Phone</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLineEdit" name="doctorPhoneEdit"/>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Email</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QLineEdit" name="doctorEmailEdit"/>
</item>
<item row="9" column="1">
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -519,20 +798,6 @@ p, li { white-space: pre-wrap; }
</property>
</spacer>
</item>
<item row="6" column="0" colspan="2">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>