void PopupChatWidget::newMessage() { if (loggedIn() && minimized()) { ++missedMessages_; if (missedMessages_ == 1) { bar_->addStyleClass("alert"); } } }
void MaraServerWindow::changeEvent(QEvent *pEvent) { if(isMinimized() && !_hidden) { _hidden = true; emit minimized(); _wasMaximized = isMaximized(); setWindowFlags(Qt::FramelessWindowHint); } QMainWindow::changeEvent(pEvent); }
void ShellSurface::minimize() { if (m_minimized) { return; } Debug::debug("Minimizing surface {}", this); unmap(); m_minimized = true; emit minimized(); }
TitleBar::TitleBar(QWidget *parent) : QWidget(parent),maxNormal(false) { setAutoFillBackground(true); QPalette p = palette(); QLinearGradient gradient(0, 0, 0, 24); gradient.setColorAt(0, QColor(Qt::darkGray).lighter()); gradient.setColorAt(1, Qt::lightGray); p.setBrush(QPalette::Background, QBrush(Qt::NoBrush)); this->setTitleTransparent(); setPalette(p); this->minimize = new QToolButton(this); this->maximize = new QToolButton(this); this->close = new QToolButton(this); QPixmap pix = this->style()->standardPixmap(QStyle::SP_TitleBarCloseButton); this->close->setIcon(pix); this->maxPix = this->style()->standardPixmap(QStyle::SP_TitleBarMaxButton); pix = this->style()->standardPixmap(QStyle::SP_TitleBarMinButton); this->minimize->setIcon(pix); this->restorePix = this->style()->standardPixmap(QStyle::SP_TitleBarNormalButton); this->maximize->setIcon(restorePix); this->minimize->setMinimumHeight(20); this->close->setMinimumHeight(20); this->maximize->setMinimumHeight(20); this->label = new QLabel(this); this->label->setText("Window Title"); this->icon = new QLabel(this); this->hbox = new QHBoxLayout(this); this->hbox->setContentsMargins(0, 0, 0, 5); this->hbox->addWidget(icon); this->hbox->addWidget(label); this->hbox->addWidget(minimize); this->hbox->addWidget(maximize); this->hbox->addWidget(close); this->hbox->insertStretch(2, 500); this->hbox->setSpacing(0); this->hbox->insertSpacing(1, 5); this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); QObject::connect(this->close, SIGNAL(clicked()), this, SIGNAL(closed())); QObject::connect(this->minimize, SIGNAL(clicked()), this, SIGNAL(minimized())); QObject::connect(this->maximize, SIGNAL(clicked()), this, SIGNAL(maxRestored())); this->setWindowIcon(QApplication::windowIcon()); }
int dUserWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QObject::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: searchWidgetUpdate(); break; case 1: closed(); break; case 2: minimized(); break; case 3: show(); break; case 4: viewBarToggled(*reinterpret_cast< bool*>(_a[1])); break; case 5: viewIconToggled(*reinterpret_cast< bool*>(_a[1])); break; case 6: viewListToggled(*reinterpret_cast< bool*>(_a[1])); break; case 7: viewTableToggled(*reinterpret_cast< bool*>(_a[1])); break; case 8: refreshTriggered(*reinterpret_cast< bool*>(_a[1])); break; case 9: refreshTriggered(); break; case 10: refreshInfoTriggered(*reinterpret_cast< bool*>(_a[1])); break; case 11: refreshInfoTriggered(); break; case 12: userInfoTriggered(*reinterpret_cast< bool*>(_a[1])); break; case 13: userInfoTriggered(); break; case 14: sendBeepTriggered(*reinterpret_cast< bool*>(_a[1])); break; case 15: sendBeepTriggered(); break; case 16: sendMessageTriggered(*reinterpret_cast< bool*>(_a[1])); break; case 17: sendMessageTriggered(); break; case 18: sendMassTriggered(*reinterpret_cast< bool*>(_a[1])); break; case 19: sendMassTriggered(); break; case 20: sendPersonalMassTriggered(*reinterpret_cast< bool*>(_a[1])); break; case 21: sendPersonalMassTriggered(); break; case 22: customContextMenuRequested(*reinterpret_cast< QPoint*>(_a[1])); break; case 23: searchTextChanged(*reinterpret_cast< QString*>(_a[1])); break; case 24: countUserChange(*reinterpret_cast< int*>(_a[1])); break; case 25: splitterMoved(*reinterpret_cast< int*>(_a[1]),*reinterpret_cast< int*>(_a[2])); break; case 26: tableHeaderResize(*reinterpret_cast< int*>(_a[1]),*reinterpret_cast< int*>(_a[2]),*reinterpret_cast< int*>(_a[3])); break; case 27: itemDoubleClicked(*reinterpret_cast< QModelIndex*>(_a[1])); break; } _id -= 28; } return _id; }
int dispatcher::execute( void ) { xcb_flush( _connection ); _exit_code = 0; bool done = false; while ( !done ) { auto event = core::wrap_cptr( xcb_wait_for_event( _connection ) ); if ( !event ) break; switch ( event->response_type & ~0x80 ) { case XCB_EXPOSE: { auto *ev = reinterpret_cast<xcb_expose_event_t*>( event.get() ); if ( ev->count == 0 ) _windows[ev->window]->exposed(); xcb_flush( _connection ); break; } case XCB_CONFIGURE_NOTIFY: { auto *ev = reinterpret_cast<xcb_configure_notify_event_t*>( event.get() ); auto w = _windows[ev->window]; if ( w->check_last_position( ev->x, ev->y ) ) w->moved( ev->x, ev->y ); if ( w->check_last_size( ev->width, ev->height ) ) w->resize_canvas( ev->width, ev->height ); break; } case XCB_DESTROY_NOTIFY: { auto *ev = reinterpret_cast<xcb_destroy_notify_event_t*>( event.get() ); auto w = _windows[ev->window]; w->closed(); break; } case XCB_MAP_NOTIFY: { auto *ev = reinterpret_cast<xcb_map_notify_event_t*>( event.get() ); auto w = _windows[ev->window]; w->shown(); w->restored(); break; } case XCB_UNMAP_NOTIFY: { auto *ev = reinterpret_cast<xcb_unmap_notify_event_t*>( event.get() ); auto w = _windows[ev->window]; w->hidden(); w->minimized(); break; } case XCB_ENTER_NOTIFY: { auto *ev = reinterpret_cast<xcb_enter_notify_event_t*>( event.get() ); auto w = _windows[ev->event]; w->entered(); break; } case XCB_LEAVE_NOTIFY: { auto *ev = reinterpret_cast<xcb_leave_notify_event_t*>( event.get() ); auto w = _windows[ev->event]; w->exited(); break; } case XCB_KEY_PRESS: { auto *ev = reinterpret_cast<xcb_key_press_event_t*>( event.get() ); auto w = _windows[ev->event]; platform::scancode sc = _keyboard->get_scancode( ev->detail ); w->key_pressed( _keyboard, sc ); break; } case XCB_KEY_RELEASE: { auto *ev = reinterpret_cast<xcb_key_press_event_t*>( event.get() ); auto w = _windows[ev->event]; platform::scancode sc = _keyboard->get_scancode( ev->detail ); w->key_released( _keyboard, sc ); break; } case XCB_MAPPING_NOTIFY: { auto *ev = reinterpret_cast<xcb_mapping_notify_event_t*>( event.get() ); if ( ev->request == XCB_MAPPING_MODIFIER || ev->request == XCB_MAPPING_KEYBOARD ) _keyboard->update_mapping(); break; } case XCB_BUTTON_PRESS: { auto *ev = reinterpret_cast<xcb_button_press_event_t*>( event.get() ); auto w = _windows[ev->event]; switch ( ev->detail ) { case 1: case 2: case 3: w->mouse_pressed( _mouse, { double(ev->event_x), double(ev->event_y) }, ev->detail ); break; case 4: // Mouse wheel up case 5: // Mouse wheel down break; } break; } case XCB_BUTTON_RELEASE: { auto *ev = reinterpret_cast<xcb_button_press_event_t*>( event.get() ); auto w = _windows[ev->event]; switch ( ev->detail ) { case 1: case 2: case 3: w->mouse_released( _mouse, { double(ev->event_x), double(ev->event_y) }, ev->detail ); break; case 4: // Mouse wheel up case 5: // Mouse wheel down break; } break; } case XCB_MOTION_NOTIFY: { auto *ev = reinterpret_cast<xcb_motion_notify_event_t*>( event.get() ); auto w = _windows[ev->event]; w->mouse_moved( _mouse, { double(ev->event_x), double(ev->event_y) } ); break; } case XCB_VISIBILITY_NOTIFY: case XCB_REPARENT_NOTIFY: break; case XCB_CLIENT_MESSAGE: { auto *ev = reinterpret_cast<xcb_client_message_event_t*>( event.get() ); if ( ev->data.data32[0] == _atom_delete_window ) { auto w = _windows[ev->window]; w->hide(); _windows.erase( w->id() ); done = _windows.empty(); } break; } default: std::cout << "Unknown event: " << uint32_t( event->response_type & ~0x80 ) << ' ' << uint32_t( event->response_type ) << std::endl; } } return _exit_code; }
const SUCCESS Events::handleEvent(const SDL_Event * const Event) { switch(Event->type) { //newline brackets implemented since this is a lot of nesting case SDL_WINDOWEVENT: ///Some sort of input or output gained or lost { const Uint8 &winID = Event->window.windowID; switch(Event->window.event) { case SDL_WINDOWEVENT_ENTER: ///Mouse message handling gained or lost return mouseEnter(winID); case SDL_WINDOWEVENT_LEAVE: ///General input message handling gained or lost return mouseLeave(winID); case SDL_WINDOWEVENT_MINIMIZED: ///Output to the screen at all gained or lost return minimized(winID); case SDL_WINDOWEVENT_RESTORED: return restored(winID); case SDL_WINDOWEVENT_MAXIMIZED: return maximized(winID); case SDL_WINDOWEVENT_SHOWN: return shown(winID); case SDL_WINDOWEVENT_HIDDEN: return hidden(winID); case SDL_WINDOWEVENT_EXPOSED: return exposed(winID); case SDL_WINDOWEVENT_FOCUS_GAINED: return keyboardFocusGain(winID); case SDL_WINDOWEVENT_FOCUS_LOST: return keyboardFocusLost(winID); case SDL_WINDOWEVENT_SIZE_CHANGED: return changeSize(winID); case SDL_WINDOWEVENT_RESIZED: return resized(winID, Dimensions<int>(Event->window.data1, Event->window.data2)); case SDL_WINDOWEVENT_MOVED: return moved(winID, Point<int>(Event->window.data1, Event->window.data2)); case SDL_WINDOWEVENT_CLOSE: return windowExited(winID); default: ///For some reason there is an unknown window event return FAILED; } break; } case SDL_KEYDOWN: { if(Event->key.repeat) { return keyHeld(Event->key.windowID, Event->key.keysym); } else { return keyPressed(Event->key.windowID, Event->key.keysym); } break; } case SDL_KEYUP: return keyReleased(Event->key.windowID, Event->key.keysym); case SDL_TEXTINPUT: return textInput(Event->text.windowID, Event->text.text); case SDL_TEXTEDITING: return textEdit(Event->edit.windowID, Event->edit.text, Event->edit.start, Event->edit.length); case SDL_MOUSEMOTION: return mouseMove(Event->motion.windowID, Event->motion.which, Delta<Point<int> >(Point<int>(Event->motion.xrel, Event->motion.yrel), Point<int>(Event->motion.x, Event->motion.y)), bitset<N_MOUSE_BUTTONS>(Event->motion.state)); case SDL_MOUSEBUTTONDOWN: return mouseButtonPressed(Event->button.windowID, Event->button.which, Event->button.button, Event->button.clicks, Point<int>(Event->button.x, Event->button.y)); case SDL_MOUSEBUTTONUP: return mouseButtonReleased(Event->button.windowID, Event->button.which, Event->button.button, Event->button.clicks, Point<int>(Event->button.x, Event->button.y)); case SDL_MOUSEWHEEL: return mouseWheel(Event->wheel.windowID, Event->wheel.which, Point<int>(Event->wheel.x, Event->wheel.y)); case SDL_JOYAXISMOTION: return joyAxis(Event->jaxis.which, Event->jaxis.axis, Event->jaxis.value); case SDL_JOYBUTTONDOWN: return joyButtonPressed(Event->jbutton.which, Event->jbutton.button); case SDL_JOYBUTTONUP: return joyButtonReleased(Event->jbutton.which, Event->jbutton.button); case SDL_JOYHATMOTION: return joyHatChange(Event->jhat.which, Event->jhat.hat, Event->jhat.value); case SDL_JOYBALLMOTION: return joyBallMove(Event->jball.which, Event->jball.ball, Point<int>(Event->jball.xrel, Event->jball.yrel)); case SDL_DROPFILE: { const SUCCESS ret = droppedFile(Event->drop.file); SDL_free(Event->drop.file); return ret; } case SDL_SYSWMEVENT: return unhandledSystemEvent(Event->syswm.msg); case SDL_QUIT: return appExited(); case SDL_USEREVENT: default: { return userEvent(Event->user.windowID, Event->user.code, Event->user.data1, Event->user.data2); } } return FAILED; }
void HaikuWindowProxy::Minimize(bool minimize) { BWindow::Minimize(minimize); Q_EMIT minimized(minimize); }