5 #include "accountDialog.h"
7 #include "mytabreportdialog.h"
9 //#include "ui_accountDialog.h"
10 #include "ui_tabReportDialog.h"
12 AccountDialog::AccountDialog(QWidget
*parent
)
15 std::cout
<< "AccountDialog::AccountDialog()\n";
17 // Setup user interface
21 pTabReportDialog
= new MyTabReportDialog
;
23 pInputDialog
= new InputDialog
;
24 connect(pInputDialog
, SIGNAL(userAdded(MyUser
)),
25 this, SLOT(addUser(MyUser
)));
27 // Populate rank list with <rank, imagePath> tuples
34 AccountDialog::~AccountDialog()
36 std::cout
<< "AccountDialog::~AccountDialog()\n";
39 delete pTabReportDialog
;
42 void AccountDialog::on_addUserButton_clicked()
44 std::cout
<< "AccountDialog::on_addUserButton_clicked()\n";
46 // Place input dialog in the right of accout dialog.
47 pInputDialog
->move(pos().x() + frameGeometry().width(),
52 void AccountDialog::on_delUserButton_clicked()
54 QListWidgetItem
*currentItem
;
57 std::cout
<< "AccountDialog::on_delUserButton_clicked()\n";
59 currentItem
= userListWidget
->currentItem();
60 // row = userListWidget->row(currentItem);
61 // userListWidget->takeItem(row);
64 // Disable delete and show buttons if there are no items at all.
65 if (userListWidget
->count() == 0) {
66 delUserButton
->setDisabled(true);
67 showUserButton
->setDisabled(true);
71 void AccountDialog::on_showUserButton_clicked()
78 std::cout
<< "AutoDialog::on_showUserButton_clicked()\n";
80 // Get `MyUser' object
81 strkey
= userListWidget
->currentItem()->text();
82 myUser
= m_userHash
.value(strkey
);
84 // Pass parameters to report dialog
85 pTabReportDialog
->setUser(myUser
);
88 if (!pTabReportDialog
->isVisible())
89 pTabReportDialog
->show();
91 emit pTabReportDialog
->redrawContent();
92 pTabReportDialog
->repaint();
96 void AccountDialog::on_exitButton_clicked()
98 // qApp is a global pointer referring to the unique application object.
99 qApp
->closeAllWindows();
102 void AccountDialog::addUser(MyUser myUser
)
104 std::cout
<< "AccountDialog::addUser()\n";
106 // Insert object to hash table
107 m_userHash
[myUser
.getName()] = myUser
;
109 // Add entry in the end of the list widget
110 userListWidget
->addItem(myUser
.getName());
112 // If the delete or show button is disabled,
113 // enable it now, since we have at
115 if (!delUserButton
->isEnabled())
116 delUserButton
->setEnabled(true);
118 if (!showUserButton
->isEnabled())
119 showUserButton
->setEnabled(true);
122 QTextStream
toErr(stderr
);
124 QHash
<QString
, MyUser
>::const_iterator i
= m_userHash
.constBegin();
125 while (i
!= m_userHash
.constEnd()) {
126 toErr
<< "key = " << i
.key() << ": "
127 << "\tname = " << i
.value().getName()
128 << "\tdaysOff = " << i
.value().getDaysOff() << "\n";
134 void AccountDialog::populateRankList(void)
136 m_myRankList
<< MyRank("Στρατηγός", "./insignia/GR-Army-OF9.gif");
137 m_myRankList
<< MyRank("Αντιστράτηγος", "./insignia/GR-Army-OF8.gif");
138 m_myRankList
<< MyRank("Υποστράτηγος", "./insignia/GR-Army-OF7.gif");
139 m_myRankList
<< MyRank("Ταξίαρχος", "./insignia/GR-Army-OF6.gif");
141 m_myRankList
<< MyRank("Συνταγματάρχης", "./insignia/GR-Army-OF5.gif");
142 m_myRankList
<< MyRank("Αντισυνταγματάρχης", "./insignia/GR-Army-OF4.gif");
143 m_myRankList
<< MyRank("Ταγματάρχης", "./insignia/GR-Army-OF3.gif");
145 m_myRankList
<< MyRank("Λοχαγός", "./insignia/GR-Army-OF2.gif");
146 m_myRankList
<< MyRank("Υπολοχαγός", "./insignia/GR-Army-OF1a.gif");
147 m_myRankList
<< MyRank("Ανθυπολοχαγός", "./insignia/GR-Army-OF1b.gif");
148 m_myRankList
<< MyRank("Ανθυπασπιστής", "./insignia/GR-Army-WOa.gif");
150 m_myRankList
<< MyRank("Δόκιμος", "./insignia/GR-Army-WOb.gif");
151 m_myRankList
<< MyRank("Αρχιλοχίας", "./insignia/GR-Army-OR9.gif");
152 m_myRankList
<< MyRank("Επιλοχίας", "./insignia/GR-Army-OR7.gif");
153 m_myRankList
<< MyRank("Λοχίας", "./insignia/GR-Army-OR6.gif");
154 m_myRankList
<< MyRank("Δεκανέας", "./insignia/GR-Army-OR4.gif");
155 m_myRankList
<< MyRank("Υποδεκανέας", "./insignia/GR-Army-OR2a.gif");
157 m_myRankList
<< MyRank("Στρατιώτης", "./insignia/fish.jpeg");
160 void AccountDialog::printRankList(void)
164 for (i
= 0; i
< m_myRankList
.size(); i
++) {
165 qDebug() << "Rank = " << m_myRankList
.at(i
).getRankName() << "\t"
166 << "Image = " << m_myRankList
.at(i
).getImageFileName();