Example #1
0
void PopupChatWidget::newMessage()
{
  if (loggedIn() && minimized()) {
    ++missedMessages_;
    if (missedMessages_ == 1) {
      bar_->addStyleClass("alert");
    }
  }
}
Example #2
0
void MaraServerWindow::changeEvent(QEvent *pEvent)
{
	if(isMinimized() && !_hidden)
	{
		_hidden = true;
		emit minimized();
		_wasMaximized = isMaximized();
		setWindowFlags(Qt::FramelessWindowHint);
	}
	QMainWindow::changeEvent(pEvent);
}
Example #3
0
void ShellSurface::minimize()
{
    if (m_minimized) {
        return;
    }

    Debug::debug("Minimizing surface {}", this);
    unmap();
    m_minimized = true;
    emit minimized();
}
Example #4
0
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());
}
Example #5
0
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;
}
Example #6
0
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;
}
Example #7
0
  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;
  }
Example #8
0
void HaikuWindowProxy::Minimize(bool minimize)
{
    BWindow::Minimize(minimize);

    Q_EMIT minimized(minimize);
}