Merge pull request #3 from NuarkNoir/dispatcher_panel
Implemented tab switch for diff. user types
This commit is contained in:
commit
c8c266de0b
4 changed files with 29 additions and 6 deletions
|
|
@ -57,7 +57,7 @@ AdminPanel::AdminPanel(QWidget *parent) : QMainWindow(parent), ui(new Ui::AdminP
|
||||||
ui->pb_dp_edit->setEnabled(selected.length() == 1);
|
ui->pb_dp_edit->setEnabled(selected.length() == 1);
|
||||||
});
|
});
|
||||||
|
|
||||||
ui->tw_tabs->setCurrentIndex(0);
|
connect(this, &AdminPanel::user_set, this, &AdminPanel::on_user_set);
|
||||||
}
|
}
|
||||||
|
|
||||||
AdminPanel::~AdminPanel() {
|
AdminPanel::~AdminPanel() {
|
||||||
|
|
@ -71,9 +71,29 @@ AdminPanel::~AdminPanel() {
|
||||||
AdminPanel& AdminPanel::set_user(const user_entity &user) {
|
AdminPanel& AdminPanel::set_user(const user_entity &user) {
|
||||||
this->user = user;
|
this->user = user;
|
||||||
ui->lab_user->setText(tr("Hello, **%1**").arg(user.login()));
|
ui->lab_user->setText(tr("Hello, **%1**").arg(user.login()));
|
||||||
|
|
||||||
|
emit user_set();
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AdminPanel::on_user_set() {
|
||||||
|
UserRole urole = this->user.role();
|
||||||
|
switch (urole) {
|
||||||
|
case UserRole::ADMINISTRATOR:
|
||||||
|
ui->tw_tabs->setCurrentIndex(0);
|
||||||
|
break;
|
||||||
|
case UserRole::DISPATCHER:
|
||||||
|
ui->tw_tabs->setTabVisible(0, false);
|
||||||
|
ui->tw_tabs->setCurrentIndex(1);
|
||||||
|
break;
|
||||||
|
case UserRole::SKIPPER:
|
||||||
|
QMessageBox::critical(this, "Error", "You shouldn't be here!");
|
||||||
|
close();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AdminPanel::on_logout_requested() {
|
void AdminPanel::on_logout_requested() {
|
||||||
this->close();
|
this->close();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,7 @@ namespace Ui {
|
||||||
class AdminPanel;
|
class AdminPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
class AdminPanel : public QMainWindow
|
class AdminPanel : public QMainWindow {
|
||||||
{
|
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
user_entity user;
|
user_entity user;
|
||||||
|
|
@ -36,7 +35,11 @@ public:
|
||||||
|
|
||||||
AdminPanel& set_user(const user_entity &user);
|
AdminPanel& set_user(const user_entity &user);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void user_set();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
void on_user_set();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::AdminPanel *ui;
|
Ui::AdminPanel *ui;
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@
|
||||||
<enum>QTabWidget::Rounded</enum>
|
<enum>QTabWidget::Rounded</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>2</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="documentMode">
|
<property name="documentMode">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
|
|
|
||||||
|
|
@ -57,8 +57,8 @@ void AuthWindow::on_auth_requested() {
|
||||||
((AdminPanel*) w)->set_user(*user);
|
((AdminPanel*) w)->set_user(*user);
|
||||||
}
|
}
|
||||||
else if (user->role() == UserRole::DISPATCHER) {
|
else if (user->role() == UserRole::DISPATCHER) {
|
||||||
// DispatcherPanel(nullptr, user).set_user(user).show();
|
w = new AdminPanel(nullptr);
|
||||||
return;
|
((AdminPanel*) w)->set_user(*user);
|
||||||
}
|
}
|
||||||
else if (user->role() == UserRole::SKIPPER) {
|
else if (user->role() == UserRole::SKIPPER) {
|
||||||
// SkipperPanel(nullptr, user).set_user(user).show();
|
// SkipperPanel(nullptr, user).set_user(user).show();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue