void
LauncherView::updateSuperKeyMonitoring()
{
    KeyboardModifiersMonitor *modifiersMonitor = KeyboardModifiersMonitor::instance();
    KeyMonitor *keyMonitor = KeyMonitor::instance();

    QVariant value = m_dconf_launcher->property("superKeyEnable");
    if (!value.isValid() || value.toBool() == true) {
        QObject::connect(modifiersMonitor,
                         SIGNAL(keyboardModifiersChanged(Qt::KeyboardModifiers)),
                         this, SLOT(setHotkeysForModifiers(Qt::KeyboardModifiers)));
        /* Ignore Super presses if another key was pressed simultaneously
           (i.e. a shortcut). https://bugs.launchpad.net/unity-2d/+bug/801073 */
        QObject::connect(keyMonitor,
                         SIGNAL(keyPressed()),
                         this, SLOT(ignoreSuperPress()));
        setHotkeysForModifiers(modifiersMonitor->keyboardModifiers());
    } else {
        QObject::disconnect(modifiersMonitor,
                            SIGNAL(keyboardModifiersChanged(Qt::KeyboardModifiers)),
                            this, SLOT(setHotkeysForModifiers(Qt::KeyboardModifiers)));
        QObject::disconnect(keyMonitor,
                            SIGNAL(keyPressed()),
                            this, SLOT(ignoreSuperPress()));
        m_superKeyHoldTimer.stop();
        m_superKeyPressed = false;
        if (m_superKeyHeld) {
            m_superKeyHeld = false;
            Q_EMIT superKeyHeldChanged(false);
        }
    }
}
Esempio n. 2
0
void Global::updateModifiers()
{
    Qt::KeyboardModifiers keyboardModifiers = QGuiApplication::queryKeyboardModifiers();
    if(keyboardModifiers_ != keyboardModifiers)
    {
        keyboardModifiers_ = keyboardModifiers;
        emit keyboardModifiersChanged();
    }
}
Esempio n. 3
0
Global::Global(MainWindow * w) :
    toolMode_(SELECT),
    toolBar_(0),
    toolModeToolBar_(0),
    isScalingCorner_(false),
    isScalingEdge_(false),
    isRotating_(false),
    isDragAndDropping_(false),
    isDraggingPivot_(false),
    xSceneCursorPos_(0),
    ySceneCursorPos_(0),
    currentDisplayMode_(ILLUSTRATION),
    switchToDisplayMode_(OUTLINE),
    otherDisplayMode_(ILLUSTRATION_OUTLINE),
    mainWindow_(w),
    preferences_(),
    preferencesDialog_(0),
    settings_(0),
    documentDir_(QDir::home())
{
    // Color selectors
    currentColor_ = new ColorSelector();
    currentColor_->setToolTip(tr("Current color (C)"));
    currentColor_->setStatusTip(tr("Click to open the color selector"));

    snapThreshold_ = new SpinBox();
    snapThreshold_->setCaption(tr(" snap threshold "));

    sculptRadius_ = new SpinBox();
    sculptRadius_->setCaption(tr(" sculpt radius "));

    // Event filter
    QCoreApplication::instance()->installEventFilter(this);

    // Status bar help
    statusBarHelp_ = new QLabel();
    statusBarHelp_->setText("Find help here.");
    w->statusBar()->addWidget(statusBarHelp_);
    connect(this, SIGNAL(keyboardModifiersChanged()), this, SLOT(updateStatusBarHelp()));

}