void Container::contextMenu( int currentTab, QPoint pos ) { KMenu menu; emit tabContextMenuRequested(viewForWidget(widget(currentTab)), &menu); menu.addSeparator(); QAction* closeTabAction = menu.addAction( KIcon("document-close"), i18n( "Close File" ) ); QAction* closeOtherTabsAction = menu.addAction( KIcon("document-close"), i18n( "Close Other Files" ) ); QAction* closeAllTabsAction = menu.addAction( KIcon("document-close"), i18n( "Close All Files" ) ); QAction* triggered = menu.exec(pos); if (triggered) { if ( triggered == closeTabAction ) { closeRequest(currentTab); } else if ( triggered == closeOtherTabsAction ) { // activate the remaining tab widgetActivated(currentTab); // first get the widgets to be closed since otherwise the indices will be wrong QList<QWidget*> otherTabs; for ( int i = 0; i < count(); ++i ) { if ( i != currentTab ) { otherTabs << widget(i); } } // finally close other tabs foreach( QWidget* tab, otherTabs ) { closeRequest(tab); } } else if ( triggered == closeAllTabsAction ) {
View::View(QWidget *rootWidget, QObject *parent): QObject(parent) { connect(&closeEventFilter, SIGNAL(closeRequest()), SIGNAL(closeRequest())); rootWidget->installEventFilter(&closeEventFilter); this->rootWidget = rootWidget; }
void CSVWorld::SceneSubView::makeConnections (CSVRender::PagedWorldspaceWidget* widget) { connect (widget, SIGNAL (closeRequest()), this, SLOT (closeRequest())); connect(widget, SIGNAL(dataDropped(const std::vector<CSMWorld::UniversalId>&)), this, SLOT(handleDrop(const std::vector<CSMWorld::UniversalId>&))); connect (widget, SIGNAL (cellSelectionChanged (const CSMWorld::CellSelection&)), this, SLOT (cellSelectionChanged (const CSMWorld::CellSelection&))); }
Participant::Participant(QObject *parent): synthclone::Participant(tr("Hydrogen"), 0, 1, 1, "Devin Anderson", tr("Creates and imports samples from Hydrogen drum " "kits"), parent), addTargetAction(tr("Hydrogen")), importArchiveAction(tr("Hydrogen Archive")), importKitAction(tr("Hydrogen Kit")) { directoryView.setFilesVisible(false); directoryView.setOperation(synthclone::FileSelectionView::OPERATION_SAVE); directoryView.setTitle(tr("Save Hydrogen Kit")); importView.setFilesVisible(true); importView.setOperation(synthclone::FileSelectionView::OPERATION_OPEN); importView.setTitle(tr("Import Layers from Hydrogen Kit")); connect(&addTargetAction, SIGNAL(triggered()), SLOT(handleTargetAddition())); connect(&directoryView, SIGNAL(closeRequest()), SLOT(handleDirectoryViewCloseRequest())); connect(&directoryView, SIGNAL(pathsSelected(const QStringList &)), SLOT(handleDirectoryViewPathSelection(const QStringList &))); connect(&importArchiveAction, SIGNAL(triggered()), SLOT(handleImportArchiveRequest())); connect(&importKitAction, SIGNAL(triggered()), SLOT(handleImportKitRequest())); connect(&importer, SIGNAL(layerImported(synthclone::MIDIData, synthclone::MIDIData, synthclone::SampleTime, synthclone::Sample &)), SLOT(handleLayerImport(synthclone::MIDIData, synthclone::MIDIData, synthclone::SampleTime, synthclone::Sample &))); connect(&importView, SIGNAL(closeRequest()), SLOT(handleImportViewCloseRequest())); connect(&importView, SIGNAL(pathsSelected(const QStringList &)), SLOT(handleImportViewPathSelection(const QStringList &))); connect(&targetView, SIGNAL(closeRequest()), SLOT(handleTargetViewCloseRequest())); connect(&targetView, SIGNAL(pathLookupRequest()), SLOT(handleTargetViewPathLookupRequest())); configuredTarget = 0; context = 0; }
CSVWorld::SceneSubView::SceneSubView (const CSMWorld::UniversalId& id, CSMDoc::Document& document) : SubView (id) { QVBoxLayout *layout = new QVBoxLayout; layout->setContentsMargins (QMargins (0, 0, 0, 0)); layout->addWidget (mBottom = new TableBottomBox (NullCreatorFactory(), document.getData(), document.getUndoStack(), id, this), 0); QHBoxLayout *layout2 = new QHBoxLayout; layout2->setContentsMargins (QMargins (0, 0, 0, 0)); SceneToolbar *toolbar = new SceneToolbar (48, this); if (id.getId()=="sys::default") mScene = new CSVRender::PagedWorldspaceWidget (this); else mScene = new CSVRender::UnpagedWorldspaceWidget (id.getId(), document, this); SceneToolMode *navigationTool = mScene->makeNavigationSelector (toolbar); toolbar->addTool (navigationTool); SceneToolMode *lightingTool = mScene->makeLightingSelector (toolbar); toolbar->addTool (lightingTool); layout2->addWidget (toolbar, 0); layout2->addWidget (mScene, 1); layout->insertLayout (0, layout2, 1); CSVFilter::FilterBox *filterBox = new CSVFilter::FilterBox (document.getData(), this); layout->insertWidget (0, filterBox); QWidget *widget = new QWidget; widget->setLayout (layout); setWidget (widget); mScene->selectDefaultNavigationMode(); connect (mScene, SIGNAL (closeRequest()), this, SLOT (closeRequest())); }
void CSVRender::PreviewWidget::ReferenceableAboutToBeRemoved (const QModelIndex& parent, int start, int end) { if (mReferenceableId.empty()) return; CSMWorld::IdTable& referenceables = dynamic_cast<CSMWorld::IdTable&> ( *mData.getTableModel (CSMWorld::UniversalId::Type_Referenceables)); QModelIndex index = referenceables.getModelIndex (mReferenceableId, 0); if (index.row()>=start && index.row()<=end) { if (mReferenceId.empty()) { // this is a preview for a referenceble emit closeRequest(); } else { // this is a preview for a reference mObject.setNull(); flagAsModified(); } } }
void ImageThread::errorHandler(QUrl url, int err) { switch (err) { case 202: case 404: if (isImage(url)) { _blackList->add(url.toString()); setCompleted(url.toString(), ""); } else { // If there are still images in the list, wait until they finished (maybe they still exist) // else close immediately if (isDownloadFinished()) { stop(); emit errorMessage("404 - Page not found"); emit closeRequest(this, 404); } else { _closeWhenFinished = true; } } break; case 999: emit errorMessage("You are banned"); break; default: QLOG_ERROR() << "ImageOverview :: Unhandled error (" << url.toString() << "," << err << ")"; break; } }
void KTabBar::closeButtonClicked() { emit closeRequest( indexOf( mHoverCloseButtonTab->identifier() ) ); #if QT_VERSION < 0x030200 onLayoutChange(); #endif }
void InBandStream::close() { int state = streamState(); if (state==IDataStreamSocket::Opened || state==IDataStreamSocket::Opening) { emit aboutToClose(); if (FStanzaProcessor) { Stanza closeRequest(STANZA_KIND_IQ); closeRequest.setType(STANZA_TYPE_SET).setTo(FContactJid.full()).setUniqueId(); closeRequest.addElement("close",NS_INBAND_BYTESTREAMS).setAttribute("sid",FStreamId); if (FStanzaProcessor->sendStanzaRequest(this,FStreamJid,closeRequest,CLOSE_TIMEOUT)) { LOG_STRM_INFO(FStreamJid,QString("Close stream request sent, sid=%1").arg(FStreamId)); FCloseRequestId = closeRequest.id(); setStreamState(IDataStreamSocket::Closing); } else { LOG_STRM_WARNING(FStreamJid,QString("Failed to send close stream request, sid=%1").arg(FStreamId)); setStreamState(IDataStreamSocket::Closed); } } else { setStreamState(IDataStreamSocket::Closed); } } }
TrayIcon::TrayIcon(AppCore *core) : QSystemTrayIcon(core) , m_core(core) , m_message(Unknown) { setIcon(QIcon(QLatin1String(":/images/icon16.png"))); setToolTip(QString("%1 %2").arg(PRODUCT_NAME).arg(VERSION_STRING)); m_widget = new QWidget(); RecentItemDelegate *delegate = new RecentItemDelegate(core, this); m_window = new TrayWindow(core, m_widget); m_window->installEventFilter(this); m_window->recentView()->setItemDelegate(delegate); m_window->recentView()->setModel(core->recentModel()); QTimer::singleShot(0, this, SLOT(show())); QTimer::singleShot(1000, this, SLOT(show())); connect(this, SIGNAL(messageClicked()), SLOT(onMessageClicked())); connect(this, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), SLOT(onActivated(QSystemTrayIcon::ActivationReason))); connect(m_window, SIGNAL(grabRect()), m_core, SLOT(grabRect())); connect(m_window, SIGNAL(grabScreen()), m_core, SLOT(grabScreen())); connect(m_window, SIGNAL(openFile()), m_core, SLOT(openFile())); connect(delegate, SIGNAL(closeRequest()), m_window, SLOT(close())); connect(delegate, SIGNAL(linkCopied(QUrl)), SLOT(onLinkCopied(QUrl))); connect(core->autoUpdate(), SIGNAL(done(int)), SLOT(onUpdateDone(int))); }
FilterBar::FilterBar(QWidget* parent) : QWidget(parent) { // Create close button QToolButton *closeButton = new QToolButton(this); closeButton->setAutoRaise(true); closeButton->setIcon(KIcon("dialog-close")); closeButton->setToolTip(i18nc("@info:tooltip", "Hide Filter Bar")); connect(closeButton, SIGNAL(clicked()), this, SIGNAL(closeRequest())); // Create label QLabel* filterLabel = new QLabel(i18nc("@label:textbox", "Filter:"), this); // Create filter editor m_filterInput = new KLineEdit(this); m_filterInput->setLayoutDirection(Qt::LeftToRight); m_filterInput->setClearButtonShown(true); connect(m_filterInput, SIGNAL(textChanged(QString)), this, SIGNAL(filterChanged(QString))); setFocusProxy(m_filterInput); // Apply layout QHBoxLayout* hLayout = new QHBoxLayout(this); hLayout->setMargin(0); hLayout->addWidget(closeButton); hLayout->addWidget(filterLabel); hLayout->addWidget(m_filterInput); filterLabel->setBuddy(m_filterInput); }
void CSVRender::UnpagedWorldspaceWidget::cellRowsAboutToBeRemoved (const QModelIndex& parent, int start, int end) { QModelIndex cellIndex = mCellsModel->getModelIndex (mCellId, 0); if (cellIndex.row()>=start && cellIndex.row()<=end) emit closeRequest(); }
ErrorView::ErrorView(QObject *parent): DialogView(":/synthclone/errorview.ui", parent) { closeButton = synthclone::getChild<QPushButton>(dialog, "closeButton"); connect(closeButton, SIGNAL(clicked()), SIGNAL(closeRequest())); message = synthclone::getChild<QLabel>(dialog, "message"); }
/** * If the user wants to close all the tabs using the context menu, it sends * multiple close requests. * Throw the close requests by emitting the signal @p closeRequest(). */ void KTinyTabBar::tabButtonCloseAllRequest( ) { QList <int> tabToCloseID; for (int i = 0; i < m_tabButtons.size(); ++i) { tabToCloseID << (m_tabButtons.at(i))->buttonID(); } for (int i = 0; i < tabToCloseID.size(); i++) { emit closeRequest(tabToCloseID.at(i)); } }
void FilterBar::keyReleaseEvent(QKeyEvent* event) { QWidget::keyReleaseEvent(event); if (event->key() == Qt::Key_Escape) { if (m_filterInput->text().isEmpty()) { emit closeRequest(); } else { m_filterInput->clear(); } } }
/** * If the user wants to close all tabs except the current one using the context * menu, it sends multiple close requests. * Throw the close requests by emitting the signal @p closeRequest(). */ void KTinyTabBar::tabButtonCloseOtherRequest( KTinyTabButton* tabButton ) { QList <int> tabToCloseID; for (int i = 0; i < m_tabButtons.size(); ++i) { if ((m_tabButtons.at(i))->buttonID() != tabButton->buttonID()) tabToCloseID << (m_tabButtons.at(i))->buttonID(); } for (int i = 0; i < tabToCloseID.size(); i++) { emit closeRequest(tabToCloseID.at(i)); } }
bool CloseEventFilter::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::Close) { event->ignore(); if (closeEnabled) { emit closeRequest(); } return true; } return QObject::eventFilter(obj, event); }
bool TabButton::eventFilter(QObject *obj, QEvent *e){ bool ret = QPushButton::eventFilter(obj, e); if (e->type() == QEvent::MouseButtonRelease){ QMouseEvent *m_e = reinterpret_cast<QMouseEvent*>(e); if ((m_e->button() == Qt::MidButton) || (childAt(m_e->pos()) == static_cast<QWidget*>(label))) emit closeRequest(); } return ret; }
bool CSVDoc::SubView::event (QEvent *event) { if (event->type()==QEvent::ShortcutOverride) { QKeyEvent *keyEvent = static_cast<QKeyEvent *> (event); if (keyEvent->key()==Qt::Key_W && keyEvent->modifiers()==(Qt::ShiftModifier | Qt::ControlModifier)) emit closeRequest(); return true; } return QDockWidget::event (event); }
CSVWorld::PreviewSubView::PreviewSubView (const CSMWorld::UniversalId& id, CSMDoc::Document& document) : SubView (id) { QHBoxLayout *layout = new QHBoxLayout; layout->setContentsMargins (QMargins (0, 0, 0, 0)); if (document.getData().getReferenceables().searchId (id.getId())==-1) { std::string referenceableId = document.getData().getReferences().getRecord (id.getId()).get().mRefID; referenceableIdChanged (referenceableId); mScene = new CSVRender::PreviewWidget (document.getData(), referenceableId, id.getId(), this); } else mScene = new CSVRender::PreviewWidget (document.getData(), id.getId(), this); SceneToolbar *toolbar = new SceneToolbar (48+6, this); SceneToolMode *lightingTool = mScene->makeLightingSelector (toolbar); toolbar->addTool (lightingTool); layout->addWidget (toolbar, 0); layout->addWidget (mScene, 1); QWidget *widget = new QWidget; widget->setLayout (layout); setWidget (widget); connect (mScene, SIGNAL (closeRequest()), this, SLOT (closeRequest())); connect (mScene, SIGNAL (referenceableIdChanged (const std::string&)), this, SLOT (referenceableIdChanged (const std::string&))); }
ProgressView::ProgressView(QObject *parent): DialogView(":/synthclone/progressview.ui", parent) { closeButton = synthclone::getChild<QPushButton>(dialog, "closeButton"); connect(closeButton, SIGNAL(clicked()), SIGNAL(closeRequest())); connect(this, SIGNAL(closeEnabledChanged(bool)), closeButton, SLOT(setEnabled(bool))); messages = synthclone::getChild<QPlainTextEdit>(dialog, "messages"); progressBar = synthclone::getChild<QProgressBar>(dialog, "progressBar"); status = synthclone::getChild<QLabel>(dialog, "status"); }
void CSVRender::PreviewWidget::ReferenceAboutToBeRemoved (const QModelIndex& parent, int start, int end) { if (mReferenceId.empty()) return; CSMWorld::IdTable& references = dynamic_cast<CSMWorld::IdTable&> ( *mData.getTableModel (CSMWorld::UniversalId::Type_References)); QModelIndex index = references.getModelIndex (mReferenceId, 0); if (index.row()>=start && index.row()<=end) emit closeRequest(); }
void DatabaseWidget::updateMasterKey(bool accepted) { if (accepted) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); m_db->setKey(m_changeMasterKeyWidget->newMasterKey()); QApplication::restoreOverrideCursor(); } else if (!m_db->hasKey()) { Q_EMIT closeRequest(); return; } setCurrentWidget(m_mainWidget); }
void DatabaseTabWidget::insertDatabase(Database* db, const DatabaseManagerStruct& dbStruct) { m_dbList.insert(db, dbStruct); addTab(dbStruct.dbWidget, ""); toggleTabbar(); updateTabName(db); int index = databaseIndex(db); setCurrentIndex(index); connectDatabase(db); connect(dbStruct.dbWidget, SIGNAL(closeRequest()), SLOT(closeDatabaseFromSender())); connect(dbStruct.dbWidget, SIGNAL(databaseChanged(Database*)), SLOT(changeDatabase(Database*))); connect(dbStruct.dbWidget, SIGNAL(unlockedDatabase()), SLOT(updateTabNameFromDbWidgetSender())); }
void ModuleView::keyPressEvent ( QKeyEvent * event ) { if ( event->key() == Qt::Key_F1 && d->mHelp->isVisible() && d->mHelp->isEnabled()) { d->mHelp->animateClick(); event->accept(); return; } else if ( event->key() == Qt::Key_Escape ) { event->accept(); emit closeRequest(); return; } else if ( event->key() == Qt::Key_F1 && event->modifiers() == Qt::ShiftModifier ) { QWhatsThis::enterWhatsThisMode(); event->accept(); return; } QWidget::keyPressEvent( event ); }
void EventTCPSocket::loop( HANDLE stopEvent, uint32_t idleTimeout, uint32_t closeTimeout ) { if ( mSocket == INVALID_SOCKET ) EXCEPT( L"Cannot loop, invalid socket" ); WSAEVENT events[2] = { (WSAEVENT)stopEvent, mNetworkEvent }; while ( mState != State_Closed ) { DWORD wait = ( idleTimeout > 0 ? idleTimeout : WSA_INFINITE ); if ( mState == State_Closing ) wait = closeTimeout; DWORD event = WSAWaitForMultipleEvents( 2, events, FALSE, wait, FALSE ); switch ( event ) { case WSA_WAIT_FAILED: EXCEPT_WSA( L"Socket event wait failed" ); break; case WSA_WAIT_TIMEOUT: if ( mState == State_Closing ) { mCloseReason = Close_Unexpected; close(); } else { for ( SocketListener* listener : mListeners ) if ( listener->idleCallback( this ) ) break; } break; case WSA_WAIT_EVENT_0: closeRequest(); break; case WSA_WAIT_EVENT_0 + 1: process(); break; } } }
void CSVRender::UnpagedWorldspaceWidget::cellDataChanged (const QModelIndex& topLeft, const QModelIndex& bottomRight) { int index = mCellsModel->findColumnIndex (CSMWorld::Columns::ColumnId_Modification); QModelIndex cellIndex = mCellsModel->getModelIndex (mCellId, index); if (cellIndex.row()>=topLeft.row() && cellIndex.row()<=bottomRight.row()) { if (mCellsModel->data (cellIndex).toInt()==CSMWorld::RecordBase::State_Deleted) { emit closeRequest(); } else { /// \todo possible optimisation: check columns and update only if relevant columns have /// changed update(); } } }
Participant::Participant(QObject *parent): synthclone::Participant(tr("Sample Loader"), 0, 0, 2, "Devin Anderson", tr("Loads samples from the filesystem"), parent), addSamplesAction(tr("Add Samples")) { context = 0; sampleSelectionView.setOperation (synthclone::FileSelectionView::OPERATION_OPEN); sampleSelectionView.setSelectionFilter (synthclone::FileSelectionView::SELECTIONFILTER_EXISTING_FILES); sampleSelectionView.setTitle(tr("Add Samples")); connect(&addSamplesAction, SIGNAL(triggered()), SLOT(handleAddSamplesRequest())); connect(&sampleSelectionView, SIGNAL(closeRequest()), SLOT(handleCloseRequest())); connect(&sampleSelectionView, SIGNAL(pathsSelected(const QStringList &)), SLOT(handleSampleSelection(const QStringList &))); }
void FilterBar::keyReleaseEvent(QKeyEvent* event) { QWidget::keyReleaseEvent(event); switch (event->key()) { case Qt::Key_Escape: if (m_filterInput->text().isEmpty()) { emit closeRequest(); } else { m_filterInput->clear(); } break; case Qt::Key_Enter: case Qt::Key_Return: emit focusViewRequest(); break; default: break; } }
void DatabaseWidget::openDatabase(bool accepted) { if (accepted) { Database* oldDb = m_db; m_db = static_cast<DatabaseOpenWidget*>(sender())->database(); m_groupView->changeDatabase(m_db); Q_EMIT databaseChanged(m_db); delete oldDb; setCurrentWidget(m_mainWidget); // We won't need those anymore and KeePass1OpenWidget closes // the file in its dtor. delete m_databaseOpenWidget; m_databaseOpenWidget = Q_NULLPTR; delete m_keepass1OpenWidget; m_keepass1OpenWidget = Q_NULLPTR; } else { if (m_databaseOpenWidget->database()) { delete m_databaseOpenWidget->database(); } Q_EMIT closeRequest(); } }