ButtonEditDialog::ButtonEditDialog(JoyButton *button, QWidget *parent) : QDialog(parent, Qt::Window), ui(new Ui::ButtonEditDialog) { ui->setupUi(this); #ifdef Q_OS_WIN setMinimumHeight(460); #endif setAttribute(Qt::WA_DeleteOnClose); ignoreRelease = false; this->button = button; ui->virtualKeyMouseTabWidget->hide(); ui->virtualKeyMouseTabWidget->deleteLater(); ui->virtualKeyMouseTabWidget = new VirtualKeyboardMouseWidget(button, this); ui->virtualKeyMouseTabWidget->setFocus(); ui->verticalLayout->insertWidget(1, ui->virtualKeyMouseTabWidget); ui->slotSummaryLabel->setText(button->getSlotsString()); updateWindowTitleButtonName(); ui->toggleCheckBox->setChecked(button->getToggleState()); ui->turboCheckBox->setChecked(button->isUsingTurbo()); if (!button->getActionName().isEmpty()) { ui->actionNameLineEdit->setText(button->getActionName()); } if (!button->getButtonName().isEmpty()) { ui->buttonNameLineEdit->setText(button->getButtonName()); } connect(ui->virtualKeyMouseTabWidget, SIGNAL(selectionCleared()), this, SLOT(refreshSlotSummaryLabel())); connect(ui->virtualKeyMouseTabWidget, SIGNAL(selectionFinished()), this, SLOT(close())); connect(this, SIGNAL(keyGrabbed(JoyButtonSlot*)), this, SLOT(processSlotAssignment(JoyButtonSlot*))); connect(this, SIGNAL(selectionCleared()), this, SLOT(clearButtonSlots())); connect(this, SIGNAL(selectionCleared()), this, SLOT(sendSelectionFinished())); connect(this, SIGNAL(selectionFinished()), this, SLOT(close())); connect(ui->toggleCheckBox, SIGNAL(clicked()), this, SLOT(changeToggleSetting())); connect(ui->turboCheckBox, SIGNAL(clicked()), this, SLOT(changeTurboSetting())); connect(ui->advancedPushButton, SIGNAL(clicked()), this, SLOT(openAdvancedDialog())); connect(this, SIGNAL(advancedDialogOpened()), ui->virtualKeyMouseTabWidget, SLOT(establishVirtualKeyboardAdvancedSignalConnections())); connect(this, SIGNAL(advancedDialogOpened()), ui->virtualKeyMouseTabWidget, SLOT(establishVirtualMouseAdvancedSignalConnections())); connect(ui->virtualKeyMouseTabWidget, SIGNAL(selectionMade(int)), this, SLOT(createTempSlot(int))); connect(ui->actionNameLineEdit, SIGNAL(textEdited(QString)), button, SLOT(setActionName(QString))); connect(ui->buttonNameLineEdit, SIGNAL(textEdited(QString)), button, SLOT(setButtonName(QString))); connect(button, SIGNAL(toggleChanged(bool)), ui->toggleCheckBox, SLOT(setChecked(bool))); connect(button, SIGNAL(turboChanged(bool)), this, SLOT(checkTurboSetting(bool))); connect(button, SIGNAL(slotsChanged()), this, SLOT(refreshSlotSummaryLabel())); connect(button, SIGNAL(buttonNameChanged()), this, SLOT(updateWindowTitleButtonName())); }
void ButtonEditDialog::openAdvancedDialog(){ ui->advancedPushButton->setEnabled(false); AdvanceButtonDialog *dialog = new AdvanceButtonDialog(button, this); dialog->show(); // Disconnect event to allow for placing slot to AdvanceButtonDialog disconnect(this, SIGNAL(keyGrabbed(JoyButtonSlot*)), 0, 0); disconnect(this, SIGNAL(selectionCleared()), 0, 0); disconnect(this, SIGNAL(selectionFinished()), 0, 0); connect(dialog, SIGNAL(finished(int)), ui->virtualKeyMouseTabWidget, SLOT(establishVirtualKeyboardSingleSignalConnections())); connect(dialog, SIGNAL(finished(int)), ui->virtualKeyMouseTabWidget, SLOT(establishVirtualMouseSignalConnections())); connect(dialog, SIGNAL(finished(int)), this, SLOT(closedAdvancedDialog())); connect(dialog, SIGNAL(turboButtonEnabledChange(bool)), this, SLOT(setTurboButtonEnabled(bool))); connect(this, SIGNAL(sendTempSlotToAdvanced(JoyButtonSlot*)), dialog, SLOT(placeNewSlot(JoyButtonSlot*))); connect(this, SIGNAL(keyGrabbed(JoyButtonSlot*)), dialog, SLOT(placeNewSlot(JoyButtonSlot*))); connect(this, SIGNAL(selectionCleared()), dialog, SLOT(clearAllSlots())); connect(ui->virtualKeyMouseTabWidget, SIGNAL(selectionMade(JoyButtonSlot*)), dialog, SLOT(placeNewSlot(JoyButtonSlot*))); connect(ui->virtualKeyMouseTabWidget, SIGNAL(selectionCleared()), dialog, SLOT(clearAllSlots())); connect(this, SIGNAL(finished(int)), dialog, SLOT(close())); emit advancedDialogOpened(); }
void ButtonEditDialog::closedAdvancedDialog() { ui->advancedPushButton->setEnabled(true); // Re-connect previously disconnected event connect(this, SIGNAL(keyGrabbed(JoyButtonSlot*)), this, SLOT(processSlotAssignment(JoyButtonSlot*))); connect(this, SIGNAL(selectionCleared()), this, SLOT(clearButtonSlots())); connect(this, SIGNAL(selectionCleared()), this, SLOT(sendSelectionFinished())); connect(this, SIGNAL(selectionFinished()), this, SLOT(close())); }
IndexedSelectionModel::IndexedSelectionModel(QObject* parent) : QObject(parent), m_hadSelection(false) { connect(this, SIGNAL(selectionCleared()), this, SIGNAL(selectionChanged())); connect(this, SIGNAL(itemToggled(int,bool)), this, SIGNAL(selectionChanged())); }
void OSItemList::selectItem(OSItem* selectItem) { if(!selectItem){ if(m_selectedItem){ // deselect m_selectedItem->setSelected(false); } m_selectedItem = nullptr; emit selectionCleared(); return; } for (int i = 0; i < m_vLayout->count(); ++i){ QLayoutItem * layoutItem = m_vLayout->itemAt(i); QWidget * widget = layoutItem->widget(); OSItem * item = qobject_cast<OSItem*>(widget); if (item){ if (selectItem->equal(item)){ if(m_selectedItem){ if (m_selectedItem->equal(item)){ // already selected return; }else{ // deselect m_selectedItem->setSelected(false); } } m_selectedItem = item; m_selectedItem->setSelected(true); emit itemSelected(m_selectedItem); return; } } } // selected object was not found if(m_selectedItem){ // deselect m_selectedItem->setSelected(false); } m_selectedItem = nullptr; emit selectionCleared(); }
SubTabController::SubTabController(SubTabView* subTabView) : OSQObjectController(), m_subTabView(subTabView) { addQObject(subTabView); bool isConnected = false; isConnected = connect(subTabView, SIGNAL(itemSelected(OSItem*)), this, SLOT(selectItem(OSItem*))); BOOST_ASSERT(isConnected); isConnected = connect(subTabView, SIGNAL(itemRemoveClicked(OSItem*)), this, SLOT(removeItem(OSItem*))); BOOST_ASSERT(isConnected); isConnected = connect(subTabView, SIGNAL(itemReplacementDropped(OSItem*, const OSItemId&)), this, SLOT(replaceItem(OSItem*, const OSItemId&))); BOOST_ASSERT(isConnected); isConnected = connect(subTabView, SIGNAL(selectionCleared()), this, SLOT(clearSelection())); BOOST_ASSERT(isConnected); isConnected = connect(subTabView, SIGNAL(itemDropped(const OSItemId&)), this, SLOT(handleDrop(const OSItemId&))); BOOST_ASSERT(isConnected); isConnected = connect(subTabView, SIGNAL(addClicked()), this, SLOT(doAdd())); BOOST_ASSERT(isConnected); isConnected = connect(subTabView, SIGNAL(copyClicked()), this, SLOT(doCopy())); BOOST_ASSERT(isConnected); isConnected = connect(subTabView, SIGNAL(removeClicked()), this, SLOT(doRemove())); BOOST_ASSERT(isConnected); isConnected = connect(subTabView, SIGNAL(purgeClicked()), this, SLOT(doPurge())); BOOST_ASSERT(isConnected); isConnected = connect(subTabView, SIGNAL(openBclDlgClicked()), this, SIGNAL(openBclDlgClicked())); BOOST_ASSERT(isConnected); isConnected = connect(subTabView, SIGNAL(openLibDlgClicked()), this, SIGNAL(openLibDlgClicked())); BOOST_ASSERT(isConnected); isConnected = connect(subTabView, SIGNAL(dropZoneItemClicked(OSItem*)), this, SLOT(inspectItem(OSItem*))); BOOST_ASSERT(isConnected); }
//--------------------------------------------------------------------------- void CRenderWidget::clearSelection() { for (QList<QGraphicsItem*>::iterator it = mSelectionRects.begin(); it != mSelectionRects.end(); ++it) { mScene.removeItem((*it)); } mSelectionRects.clear(); mSelectedItems.clear(); emit selectionCleared(); }
void FileViewController::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) { switch (selected.length()) { case 0: emit selectionCleared(); break; case 1: emit itemSelected(selected.indexes().at(0)); break; default: emit itemsSelected(selected.indexes()); break; } }
KPrViewModeSlidesSorter::KPrViewModeSlidesSorter(KoPAView *view, KoPACanvasBase *canvas) : KoPAViewMode(view, canvas) , m_slidesSorterView(new KPrSlidesManagerView()) , m_customSlideShowView(new KPrSlidesManagerView()) , m_slidesSorterModel(new KPrSlidesSorterDocumentModel(this, view->parentWidget())) , m_centralWidget(new QWidget()) , m_customSlideShowModel(new KPrCustomSlideShowsModel(static_cast<KPrDocument *>(view->kopaDocument()), view->parentWidget())) , m_iconSize(QSize(200, 200)) , m_editCustomSlideShow(false) { setName(i18n("Slides Sorter")); //Create customSlideShow GUI QWidget *m_customShowsToolBar = new QWidget(); QHBoxLayout *toolBarLayout = new QHBoxLayout(m_customShowsToolBar); toolBarLayout->setMargin(0); QVBoxLayout *centralWidgetLayout = new QVBoxLayout(m_centralWidget); centralWidgetLayout->setMargin(0); centralWidgetLayout->setSpacing(0); QLabel *slideShowsLabel = new QLabel(i18n("Slide Show: ")); m_customSlideShowsList = new QComboBox; m_customSlideShowsList->setEditable(false); m_customSlideShowsList->setInsertPolicy(QComboBox::NoInsert); m_customSlideShowsList->setMinimumContentsLength(30); slideShowsLabel->setBuddy(m_customSlideShowsList); m_buttonAddCustomSlideShow = new QToolButton(); m_buttonAddCustomSlideShow->setIcon(koIcon("list-add")); m_buttonAddCustomSlideShow->setToolTip(i18n("Add a new custom slide show")); m_buttonDelCustomSlideShow = new QToolButton(); m_buttonDelCustomSlideShow->setIcon(koIcon("list-remove")); m_buttonDelCustomSlideShow->setEnabled(false); m_buttonDelCustomSlideShow->setToolTip(i18n("Delete current custom slide show")); m_buttonAddSlideToCurrentShow = new QToolButton(); m_buttonAddSlideToCurrentShow->setIcon(koIcon("arrow-down")); m_buttonAddSlideToCurrentShow->setToolTip(i18n("Add slides to current custom slide show")); m_buttonAddSlideToCurrentShow->setEnabled(false); m_buttonDelSlideFromCurrentShow = new QToolButton(); m_buttonDelSlideFromCurrentShow->setIcon(koIcon("arrow-up")); m_buttonDelSlideFromCurrentShow->setToolTip(i18n("Remove slides from current custom slide show")); m_buttonDelSlideFromCurrentShow->setEnabled(false); QSplitter *viewsSplitter = new QSplitter(Qt::Vertical); //hide Custom Shows View m_customSlideShowView->setMaximumHeight(0); //Layout Widgets toolBarLayout->addWidget(slideShowsLabel); toolBarLayout->addWidget(m_customSlideShowsList); toolBarLayout->addWidget(m_buttonAddCustomSlideShow); toolBarLayout->addWidget(m_buttonDelCustomSlideShow); toolBarLayout->addStretch(); toolBarLayout->addWidget(m_buttonAddSlideToCurrentShow); toolBarLayout->addWidget(m_buttonDelSlideFromCurrentShow); viewsSplitter->addWidget(m_slidesSorterView); viewsSplitter->addWidget(m_customSlideShowView); centralWidgetLayout->addWidget(viewsSplitter); centralWidgetLayout->addWidget(m_customShowsToolBar); //initialize widgets m_centralWidget->hide(); m_slidesSorterView->setIconSize(m_iconSize); m_slidesSorterView->setAutoScroll(true); m_customSlideShowView->setIconSize(m_iconSize); m_customSlideShowView->setAutoScroll(true); //Populate ComboBox customShowChanged(0); updateCustomSlideShowsList(); //Setup customSlideShows view m_customSlideShowView->setModel(m_customSlideShowModel); m_customSlideShowView->setSelectionBehavior(QAbstractItemView::SelectRows); m_customSlideShowView->setSelectionMode(QAbstractItemView::ExtendedSelection); m_customSlideShowView->setDragDropMode(QAbstractItemView::InternalMove); m_customSlideShowView->setSpacing(10); //Setup slides sorter view m_slidesSorterModel->setDocument(m_view->kopaDocument()); m_slidesSorterView->setModel(m_slidesSorterModel); m_slidesSorterView->setSelectionBehavior(QAbstractItemView::SelectRows); m_slidesSorterView->setSelectionMode(QAbstractItemView::ExtendedSelection); m_slidesSorterView->setDragDropMode(QAbstractItemView::InternalMove); m_slidesSorterView->setSpacing(10); //setup signals connect(m_slidesSorterView, SIGNAL(requestContextMenu(QContextMenuEvent*)), this, SLOT(slidesSorterContextMenu(QContextMenuEvent*))); connect(m_customSlideShowView, SIGNAL(requestContextMenu(QContextMenuEvent*)), this, SLOT(customSlideShowsContextMenu(QContextMenuEvent*))); connect(m_slidesSorterView, SIGNAL(slideDblClick()), this, SLOT(activateNormalViewMode())); connect(m_buttonAddCustomSlideShow, SIGNAL(clicked()), this, SLOT(addCustomSlideShow())); connect(m_buttonDelCustomSlideShow, SIGNAL(clicked()), this, SLOT(removeCustomSlideShow())); connect(m_buttonAddSlideToCurrentShow, SIGNAL(clicked()), this, SLOT(addSlideToCustomShow())); connect(m_buttonDelSlideFromCurrentShow, SIGNAL(clicked()), this, SLOT(deleteSlidesFromCustomShow())); connect(m_customSlideShowModel, SIGNAL(customSlideShowsChanged()), this, SLOT(updateCustomSlideShowsList())); connect(m_customSlideShowModel, SIGNAL(selectPages(int,int)), this, SLOT(selectCustomShowPages(int,int))); //setup signals for manage edit actions connect(view->copyController(), SIGNAL(copyRequested()), this, SLOT(editCopy())); connect(view->cutController(), SIGNAL(copyRequested()), this, SLOT(editCut())); connect(view, SIGNAL(selectAllRequested()), m_slidesSorterView, SLOT(selectAll())); connect(view, SIGNAL(deselectAllRequested()), m_slidesSorterView, SLOT(clearSelection())); connect(m_slidesSorterView, SIGNAL(selectionCleared()), this, SLOT(disableEditActions())); connect(m_slidesSorterView, SIGNAL(itemSelected()), this, SLOT(enableEditActions())); connect(m_slidesSorterView, SIGNAL(focusLost()), SLOT(disableEditActions())); connect(m_slidesSorterView, SIGNAL(focusGot()), SLOT(manageAddRemoveSlidesButtons())); connect(m_slidesSorterView, SIGNAL(zoomIn()), m_view->zoomController()->zoomAction(), SLOT(zoomIn())); connect(m_slidesSorterView, SIGNAL(zoomOut()), m_view->zoomController()->zoomAction(), SLOT(zoomOut())); connect(m_customSlideShowView, SIGNAL(focusGot()), SLOT(disableEditActions())); connect(m_customSlideShowView, SIGNAL(focusGot()), SLOT(manageAddRemoveSlidesButtons())); //install selection manager for Slides Sorter View and Custom Shows View m_slidesSorterItemContextBar = new KoViewItemContextBar(m_slidesSorterView); new KoViewItemContextBar(m_customSlideShowView); QToolButton *duplicateButton = m_slidesSorterItemContextBar->addContextButton(i18n("Duplicate Slide"),QString("edit-copy")); QToolButton *deleteButton = m_slidesSorterItemContextBar->addContextButton(i18n("Delete Slide"),QString("edit-delete")); QToolButton *startPresentation = m_slidesSorterItemContextBar->addContextButton(i18n("Start Slideshow"),QString("view-presentation")); connect(view->kopaDocument(), SIGNAL(pageRemoved(KoPAPageBase*)), m_slidesSorterItemContextBar, SLOT(update())); //setup signals for item context bar buttons connect(duplicateButton, SIGNAL(clicked()), this, SLOT(contextBarDuplicateSlide())); connect(deleteButton, SIGNAL(clicked()), this, SLOT(contextBarDeleteSlide())); connect(startPresentation, SIGNAL(clicked()), this, SLOT(contextBarStartSlideshow())); //install delegate for Slides Sorter View KPrSlidesSorterItemDelegate *slidesSorterDelegate = new KPrSlidesSorterItemDelegate(m_slidesSorterView); m_slidesSorterView->setItemDelegate(slidesSorterDelegate); }
void VirtualKeyboardMouseWidget::clearButtonSlots() { button->clearSlotsEventReset(); emit selectionCleared(); }
SubTabView::SubTabView(OSItemSelector* itemSelector, OSInspectorView *inspectorView, QWidget * parent) : QSplitter(parent), m_itemSelector(itemSelector), m_inspectorView(inspectorView) { this->setObjectName("GrayWidgetWithLeftTopBorders"); //QHBoxLayout * mainHLayout = new QHBoxLayout(); //mainHLayout->setContentsMargins(1,1,0,0); //mainHLayout->setSpacing(0); //this->setLayout(mainHLayout); QWidget * leftWidget = new QWidget(); //leftWidget->setFixedWidth(190); //mainHLayout->addWidget(leftWidget); addWidget(leftWidget); QVBoxLayout * outerLeftVLayout = new QVBoxLayout(); outerLeftVLayout->setContentsMargins(0,0,0,0); outerLeftVLayout->setSpacing(0); leftWidget->setLayout(outerLeftVLayout); //mainHLayout->addLayout(outerLeftVLayout); // Item Selector outerLeftVLayout->addWidget(m_itemSelector, 10); bool isConnected = false; isConnected = QObject::connect(m_itemSelector, SIGNAL(itemSelected(OSItem*)), this, SIGNAL(itemSelected(OSItem*))); OS_ASSERT(isConnected); isConnected = QObject::connect(m_itemSelector, SIGNAL(itemRemoveClicked(OSItem*)), this, SIGNAL(itemRemoveClicked(OSItem*))); OS_ASSERT(isConnected); isConnected = QObject::connect(m_itemSelector, SIGNAL(itemReplacementDropped(OSItem*, const OSItemId&)), this, SIGNAL(itemReplacementDropped(OSItem*, const OSItemId&))); OS_ASSERT(isConnected); isConnected = QObject::connect(m_itemSelector, SIGNAL(selectionCleared()), this, SIGNAL(selectionCleared())); OS_ASSERT(isConnected); // Item Selector Buttons m_itemSelectorButtons = new OSItemSelectorButtons(); outerLeftVLayout->addWidget(m_itemSelectorButtons); isConnected = QObject::connect(m_itemSelectorButtons, SIGNAL(itemDropped(const OSItemId&)), this, SIGNAL(itemDropped(const OSItemId&))); OS_ASSERT(isConnected); isConnected = QObject::connect(m_itemSelectorButtons, SIGNAL(addClicked()), this, SIGNAL(addClicked())); OS_ASSERT(isConnected); isConnected = QObject::connect(m_itemSelectorButtons, SIGNAL(copyClicked()), this, SIGNAL(copyClicked())); OS_ASSERT(isConnected); isConnected = QObject::connect(m_itemSelectorButtons, SIGNAL(removeClicked()), this, SIGNAL(removeClicked())); OS_ASSERT(isConnected); isConnected = QObject::connect(m_itemSelectorButtons, SIGNAL(purgeClicked()), this, SIGNAL(purgeClicked())); OS_ASSERT(isConnected); isConnected = QObject::connect(m_itemSelectorButtons, SIGNAL(openBclDlgClicked()), this, SIGNAL(openBclDlgClicked())); OS_ASSERT(isConnected); //isConnected = QObject::connect(m_itemSelectorButtons, // SIGNAL(openLibDlgClicked()), // this, // SIGNAL(openLibDlgClicked())); //OS_ASSERT(isConnected); TODO // vertical separator //QWidget * vLine = new QWidget(); //vLine->setObjectName("VLine"); //vLine->setStyleSheet("QWidget#VLine { background: #445051;}"); //vLine->setFixedWidth(2); //mainHLayout->addWidget(vLine); // Inspector View //mainHLayout->addWidget(m_inspectorView, 10); addWidget(m_inspectorView); setStretchFactor(1,100000); isConnected = QObject::connect(m_inspectorView, SIGNAL(dropZoneItemClicked(OSItem*)), this, SIGNAL(dropZoneItemClicked(OSItem*))); OS_ASSERT(isConnected); }
void ButtonEditDialog::keyReleaseEvent(QKeyEvent *event) { if (ui->actionNameLineEdit->hasFocus() || ui->buttonNameLineEdit->hasFocus()) { QDialog::keyReleaseEvent(event); } else if (ui->virtualKeyMouseTabWidget->isKeyboardTabVisible()) { int controlcode = event->nativeScanCode(); int virtualactual = event->nativeVirtualKey(); #ifdef Q_OS_WIN // Find more specific virtual key (VK_SHIFT -> VK_LSHIFT) // by checking for extended bit in scan code. int finalvirtual = WinInfo::correctVirtualKey(controlcode, virtualactual); int checkalias = AntKeyMapper::returnQtKey(virtualactual, controlcode); #else #if defined(WITH_X11) int finalvirtual = 0; int checkalias = 0; #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) if (QApplication::platformName() == QStringLiteral("xcb")) { #endif // Obtain group 1 X11 keysym. Removes effects from modifiers. finalvirtual = X11KeyCodeToX11KeySym(controlcode); #ifdef WITH_UINPUT // Find Qt Key corresponding to X11 KeySym. checkalias = x11KeyMapper.returnQtKey(finalvirtual); // Find corresponding Linux input key for the Qt key. finalvirtual = AntKeyMapper::returnVirtualKey(checkalias); #else // Check for alias against group 1 keysym. checkalias = AntKeyMapper::returnQtKey(finalvirtual); #endif #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) } else { // Not running on xcb platform. finalvirtual = controlcode; checkalias = AntKeyMapper::returnQtKey(finalvirtual); } #endif #else int finalvirtual = 0; int checkalias = 0; #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) if (QApplication::platformName() == QStringLiteral("xcb")) { #endif finalvirtual = AntKeyMapper::returnVirtualKey(event->key()); checkalias = AntKeyMapper::returnQtKey(finalvirtual); #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) } else { // Not running on xcb platform. finalvirtual = controlcode; checkalias = AntKeyMapper::returnQtKey(finalvirtual); } #endif #endif #endif if (!ignoreRelease) { if ((event->modifiers() & Qt::ControlModifier) && event->key() == Qt::Key_X) { controlcode = 0; ignoreRelease = true; emit selectionCleared(); } else if (controlcode <= 0) { controlcode = 0; } } else { controlcode = 0; ignoreRelease = false; } if (controlcode > 0) { if (checkalias > 0) { JoyButtonSlot *tempslot = new JoyButtonSlot(finalvirtual, checkalias, JoyButtonSlot::JoyKeyboard, this); emit keyGrabbed(tempslot); } else { JoyButtonSlot *tempslot = new JoyButtonSlot(virtualactual, JoyButtonSlot::JoyKeyboard, this); emit keyGrabbed(tempslot); } } } else { QDialog::keyReleaseEvent(event); } }
void ButtonEditDialog::keyReleaseEvent(QKeyEvent *event) { if (ui->actionNameLineEdit->hasFocus() || ui->buttonNameLineEdit->hasFocus()) { QDialog::keyReleaseEvent(event); } else if (ui->virtualKeyMouseTabWidget->isKeyboardTabVisible()) { int controlcode = event->nativeScanCode(); int virtualactual = event->nativeVirtualKey(); int checkalias = AntKeyMapper::returnQtKey(virtualactual); if (checkalias <= 0) { controlcode = 0; } #ifndef Q_OS_WIN Q_UNUSED(virtualactual); #endif #ifdef Q_OS_WIN int finalvirtual = WinInfo::correctVirtualKey(controlcode, virtualactual); #endif if (!ignoreRelease) { if ((event->modifiers() & Qt::ControlModifier) && event->key() == Qt::Key_X) { controlcode = 0; ignoreRelease = true; emit selectionCleared(); } else if (controlcode < 0) { controlcode = 0; } } else { controlcode = 0; ignoreRelease = false; } if (controlcode > 0) { #if defined (Q_OS_UNIX) JoyButtonSlot *tempslot = new JoyButtonSlot(virtualactual, JoyButtonSlot::JoyKeyboard, this); #elif defined (Q_OS_WIN) JoyButtonSlot *tempslot = new JoyButtonSlot(finalvirtual, JoyButtonSlot::JoyKeyboard, this); #endif emit keyGrabbed(tempslot); } } else { QDialog::keyReleaseEvent(event); } }
void IndexedSelectionModel::endClear() { if (m_hadSelection) emit selectionCleared(); }
void dtkComposerSceneView::setScene(dtkComposerScene *scene) { d->scene = scene; connect(d->scene, SIGNAL(selectionCleared()), this, SLOT(clearSelection())); }