QVariant DashboardWindowContainer::itemChange(GraphicsItemChange change, const QVariant& value) { if (change == ItemVisibleHasChanged) { bool val = value.toBool(); if (!val) { m_anim.stop(); m_anim.clear(); if (!m_pendingDeleteItems.empty()) { m_deleteAnim.stop(); m_deleteAnim.clear(); DashboardWindow* w; Q_FOREACH(w, m_pendingDeleteItems) { m_items.removeOne(w); Q_EMIT signalWindowsRemoved(w); ++m_itemsDeleted; if (w->removed()) { // Window has already been "removed". Just delete it delete w; continue; } m_deletedItems.insert(w); }
void DashboardWindowContainer::mousePressEvent(QGraphicsSceneMouseEvent* event) { m_anim.stop(); m_anim.clear(); m_trackingMouseDirection = true; m_vertLockedMovement = true; m_seenFlick = false; m_dashboardManualDrag = false; event->accept(); m_draggedWindow.clear(); DashboardWindow* w; Q_FOREACH(w, m_items) { if (m_pendingDeleteItems.contains(w)) continue; QRectF r = w->boundingRect(); r.moveCenter(w->pos()); if (r.contains(event->pos())) { m_draggedWindow = w; // check if this is a grouped notification window if(w->isManualDragWindow()) { if(w->x() == (m_isMenu ? w->boundingRect().width()/2 : 0)) { // check if the window is at its 'resting' position int winX = event->pos().x() + (m_isMenu ? 0 : w->boundingRect().width()/2); int winY = event->pos().y() - w->pos().y() + w->boundingRect().height()/2; if(winX > sDashboardBadgeWidth) { m_dashboardManualDrag = true; // send the mouse down to the web app side Event ev; ev.type = Event::PenDown; ev.setMainFinger(true); ev.x = winX; ev.y = winY; ev.clickCount = 1; ev.modifiers = Event::modifiersFromQt(event->modifiers()); ev.time = Time::curSysTimeMs(); w->inputEvent(&ev); } } } break; } } // Don't drag a pending delete item if (DashboardWindow* w = m_draggedWindow.data()) { if (m_pendingDeleteItems.contains(w)) m_draggedWindow.clear(); } }
void MainWindow::on_pushButton_login_clicked() { QString username; QString password; QSqlQuery qry; int counter; //PROC - Assign input data to QStrings username = ui->usernameInputBox->text(); password = ui->passwordInputBox->text(); counter = 0; if(!database.isOpen()) { qDebug()<< "Failed to open the database!"; } else { if(qry.exec("SELECT username, password, admin FROM users WHERE username = '******' and password = MD5('" + password + "')")) { if(qry.next()) { ui->label_status->setText("Username and password is correct."); if(qry.value(2).toBool() == true) { // Switch to dashboard DashBoardAdminWindow *dashboardWindow; dashboardWindow = new DashBoardAdminWindow(); dashboardWindow->show(); qDebug() << "Logged in as Admin"; } else { // Switch to dashboard DashboardWindow *dashboardWindow; dashboardWindow = new DashboardWindow(); dashboardWindow->show(); qDebug() << "Logged in as User"; } } else { ui->label_status->setText("Username and password is not correct."); } } } }
void DashboardWindow::on_actionOpen_triggered() { DashboardWindow *dashboard = DashboardWindow::makeDashboard(); if (dashboard != nullptr) dashboard->show(); }