Мегаобучалка Главная | О нас | Обратная связь


Листинг functionAdmin.cpp



2016-01-05 395 Обсуждений (0)
Листинг functionAdmin.cpp 0.00 из 5.00 0 оценок




functionAdmin.cpp
#include "functionAdmin.h" #include "ui_editPassword.h" #include "ui_editAccess.h"   FunctionAdmin::FunctionAdmin(QLinkedList<User *> *_users, User *_current, QWidget *parent): FunctionUser(_users, _current, parent) { windowUsers = new QWidget(parent); uiFunctionAdmin.setupUi(windowUsers);   uiFunction.tabWidget->addTab(windowUsers, windowUsers->windowTitle()); fillUserInTable();   QObject::connect(uiFunctionAdmin.newPasswordButton, SIGNAL(clicked()), SLOT(newPassword())); QObject::connect(uiFunctionAdmin.editAccessButton, SIGNAL(clicked()), SLOT(editAccess())); QObject::connect(uiFunctionAdmin.saveButton, SIGNAL(clicked()), SLOT(saveUsers())); QObject::connect(uiFunctionAdmin.delUserButton, SIGNAL(clicked()), SLOT(deleteUser())); QObject::connect(uiFunctionAdmin.editPostersButton, SIGNAL(clicked()), SLOT(editPostersUser())); }   FunctionAdmin::~FunctionAdmin() { delete windowUsers; }   void FunctionAdmin::fillUserInTable() { QLinkedList<User *>::Iterator passage = users->begin(); int row = 0; while(passage != users->end()) { if(row <= uiFunctionAdmin.usersTableWidget->rowCount()) uiFunctionAdmin.usersTableWidget->insertRow(row); addQStringInTable(uiFunctionAdmin.usersTableWidget, (*passage)->getLogin() , row, 0); if((*passage)->getAccess()) addQStringInTable(uiFunctionAdmin.usersTableWidget, "ADMIN", row++, 1); else addQStringInTable(uiFunctionAdmin.usersTableWidget, "USER", row++, 1); ++passage; } }   void FunctionAdmin::newPassword() { int row = uiFunctionAdmin.usersTableWidget->currentRow(); QLinkedList<User *>::Iterator passage = users->begin();   for(row = 0; row < uiFunctionAdmin.usersTableWidget->currentRow(); row++) ++passage;   QDialog *window = new QDialog(this); Ui::editPassword ui; ui.setupUi(window);   QObject::connect(ui.okButton, SIGNAL(clicked()), window, SLOT(accept())); QObject::connect(ui.cancelButton, SIGNAL(clicked()), window, SLOT(reject()));   while(window->exec()) { if(ui.passwordLineEdit->text().isEmpty()) QMessageBox::information(this, tr("clear string"), tr("SORRY, clear string"), QMessageBox::Ok); else { (*passage)->setPassword(ui.passwordLineEdit->text()); break; } } delete window; uiFunctionAdmin.usersTableWidget->selectionModel()->clearSelection(); }   void FunctionAdmin::editAccess() { int row = uiFunctionAdmin.usersTableWidget->currentRow(); QLinkedList<User *>::Iterator passage = users->begin();   for(row = 0; row < uiFunctionAdmin.usersTableWidget->currentRow(); row++) ++passage;   QDialog *window = new QDialog(this); Ui::editAccess ui; ui.setupUi(window);   QObject::connect(ui.okButton, SIGNAL(clicked()), window, SLOT(accept())); QObject::connect(ui.cancelButton, SIGNAL(clicked()), window, SLOT(reject()));   if(window->exec()) if(ui.AccessComboBox->currentIndex()) { (*passage)->setAccess(ADMIN); uiFunctionAdmin.usersTableWidget->item(row, 1)->setText("ADMIN"); } else { (*passage)->setAccess(USER); uiFunctionAdmin.usersTableWidget->item(row, 1)->setText("USER"); } delete window; uiFunctionAdmin.usersTableWidget->selectionModel()->clearSelection(); }   void FunctionAdmin::saveUsers() { QFile *file = new QFile("login.bin"); file->open(QIODevice::WriteOnly); QDataStream in(file);   QLinkedList<User *>::Iterator passage = users->begin(); while(passage != users->end()) { in << (*passage)->getLogin(); in << (*passage)->getPassword(); in << (*passage)->getAccess(); ++passage; } file->close(); delete file; uiFunctionAdmin.usersTableWidget->selectionModel()->clearSelection(); }   void FunctionAdmin::deleteUser() { int row = uiFunctionAdmin.usersTableWidget->currentRow(); QLinkedList<User *>::Iterator passage = users->begin();   for(row = 0; row < uiFunctionAdmin.usersTableWidget->currentRow(); row++) ++passage;   if((*passage) == current) { users->erase(passage); slotSavePosterHiring(); slotSavePosterRent(); saveUsers(); exit(1); } users->erase(passage); uiFunctionAdmin.usersTableWidget->removeRow(row); uiFunctionAdmin.usersTableWidget->selectionModel()->clearSelection(); }   void FunctionAdmin::editPostersUser() { int row = uiFunctionAdmin.usersTableWidget->currentRow(); QLinkedList<User *>::Iterator passage = users->begin();   for(row = 0; row < uiFunctionAdmin.usersTableWidget->currentRow(); row++) ++passage;   QDialog *window = new QDialog(this); FunctionAdmin *user = new FunctionAdmin(users, *passage, window);     user->uiFunction.tabWidget->removeTab(0); user->uiFunction.tabWidget->removeTab(0); user->uiFunction.tabWidget->removeTab(2);   user->uiFunction.delAccountButton->hide();   window->exec(); if(*passage == current) { row = uiTabPostersHiring.tableWidget->rowCount(); while(row > 0) uiTabPostersHiring.tableWidget->removeRow(--row);   row = uiTabPostersRent.tableWidget->rowCount(); while(row > 0) uiTabPostersRent.tableWidget->removeRow(--row);   fillPosterTableHiring(); fillPosterTableRent(); } delete user; delete window; uiFunctionAdmin.usersTableWidget->selectionModel()->clearSelection(); }

Листинг main.cpp

main.cpp
#include <QtGui> #include "mainWindow.h" #include "functionAdmin.h" #include "login.h"   int main(int argc, char **argv) { QApplication app( argc, argv ); MainWindow mainWindow;   FunctionGuest *guestWindow; FunctionUser *userWindow; FunctionAdmin *adminWindow;   Login loginWindow; if(!loginWindow.exec()) return 0;   if(!loginWindow.getCurrentUser()) guestWindow = new FunctionGuest(loginWindow.getUsers(), mainWindow.centralWidget() ); else if(loginWindow.getCurrentUser()->getAccess() == USER) userWindow = new FunctionUser(loginWindow.getUsers(), loginWindow.getCurrentUser(), mainWindow.centralWidget() ); else adminWindow = new FunctionAdmin(loginWindow.getUsers(), loginWindow.getCurrentUser(), mainWindow.centralWidget() );   mainWindow.show(); return app.exec(); }

 



2016-01-05 395 Обсуждений (0)
Листинг functionAdmin.cpp 0.00 из 5.00 0 оценок









Обсуждение в статье: Листинг functionAdmin.cpp

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (395)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)