LauncherView::LauncherView(QWidget* parent) : Unity2DDeclarativeView(parent), m_superKeyPressed(false), m_superKeyHeld(false) { setTransparentBackground(QX11Info::isCompositingManagerRunning()); m_superKeyHoldTimer.setSingleShot(true); m_superKeyHoldTimer.setInterval(KEY_HOLD_THRESHOLD); connect(&m_superKeyHoldTimer, SIGNAL(timeout()), SLOT(updateSuperKeyHoldState())); connect(this, SIGNAL(superKeyTapped()), SLOT(toggleDash())); m_dconf_launcher = new QConf(LAUNCHER_DCONF_SCHEMA); connect(m_dconf_launcher, SIGNAL(superKeyEnableChanged(bool)), SLOT(updateSuperKeyMonitoring())); updateSuperKeyMonitoring(); /* Alt+F1 gives the keyboard focus to the launcher. */ Hotkey* altF1 = HotkeyMonitor::instance().getHotkeyFor(Qt::Key_F1, Qt::AltModifier); connect(altF1, SIGNAL(pressed()), SLOT(forceActivateWindow())); /* Alt+F2 shows the dash with the commands lens activated. */ Hotkey* altF2 = HotkeyMonitor::instance().getHotkeyFor(Qt::Key_F2, Qt::AltModifier); connect(altF2, SIGNAL(pressed()), SLOT(showCommandsLens())); /* Super+{n} for 0 ≤ n ≤ 9 activates the item with index (n + 9) % 10. */ for (Qt::Key key = Qt::Key_0; key <= Qt::Key_9; key = (Qt::Key) (key + 1)) { Hotkey* hotkey = HotkeyMonitor::instance().getHotkeyFor(key, Qt::MetaModifier); connect(hotkey, SIGNAL(pressed()), SLOT(forwardNumericHotkey())); hotkey = HotkeyMonitor::instance().getHotkeyFor(key, Qt::MetaModifier | Qt::ShiftModifier); connect(hotkey, SIGNAL(pressed()), SLOT(forwardNumericHotkey())); } }
void MainWindow::triggerVisible() { #ifndef Q_WS_MAC #ifdef HAVE_KDE if( !isVisible() ) { setVisible( true ); forceActivateWindow(); } else { if( !isMinimized() ) { if( !isActiveWindow() ) // not minimised and without focus { forceActivateWindow(); } else // Amarok has focus { setVisible( false ); } } else // Amarok is minimised { setWindowState( windowState() & ~Qt::WindowMinimized ); forceActivateWindow(); } } #else if (isVisible()) { setVisible(!isVisible()); } else { setVisible(!isVisible()); setWindowState(windowState() & ~Qt::WindowMinimized); forceActivateWindow(); } #endif #else show(); #endif }