void AbstractConfig::mousePressEvent(QGraphicsSceneMouseEvent * event) { QGraphicsProxyWidget::mousePressEvent(event); if (!event->isAccepted() && event->button() == Qt::RightButton) emit requestClose(); event->accept(); }
void PersonView::slotLinkClicked( const QUrl &url ) { qDebug() << "CLICKED" << url; if ( url.scheme() == "polka" ) { QStringList path = url.path().split("/"); QString action = path.first(); qDebug() << "ACTION" << action; if ( action == "editName" ) editName(); else if ( action == "addEmail" ) addEmail(); else if ( action == "editEmail" ) editEmail( path.value( 1 ) ); else if ( action == "removeEmail" ) removeEmail( path.value( 1 ) ); else if ( action == "commentEmail" ) commentEmail( path.value( 1 ) ); else if ( action == "addPhone" ) addPhone(); else if ( action == "editPhone" ) editPhone( path.value( 1 ) ); else if ( action == "removePhone" ) removePhone( path.value( 1 ) ); else if ( action == "commentPhone" ) commentPhone( path.value( 1 ) ); else if ( action == "addLink" ) addLink(); else if ( action == "editLink" ) editLink( path.value( 1 ) ); else if ( action == "removeLink" ) removeLink( path.value( 1 ) ); else if ( action == "commentLink" ) commentLink( path.value( 1 ) ); else if ( action == "addAddress" ) addAddress(); else if ( action == "editAddress" ) editAddress( path.value( 1 ) ); else if ( action == "removeAddress" ) removeAddress( path.value( 1 ) ); else if ( action == "commentAddress" ) commentAddress( path.value( 1 ) ); else if ( action == "addComment" ) addComment(); else if ( action == "editComment" ) editComment( path.value( 1 ) ); else if ( action == "removeComment" ) removeComment( path.value( 1 ) ); else if ( action == "close" ) requestClose(); else if ( action == "magic" ) debugHtml(); else qDebug() << "unknown action" << action; } else { new KRun( QUrl( url ), this ); } }
void SelausForm::handleRequestClose() { emit requestClose(this); }
void Window::triggerAction(int identifier, const QVariantMap ¶meters) { switch (identifier) { case ActionsManager::CloneTabAction: if (canClone()) { m_mainWindow->addWindow(clone(true, m_mainWindow)); } break; case ActionsManager::PinTabAction: setPinned(!isPinned()); break; case ActionsManager::DetachTabAction: if (m_mainWindow->getWindowCount() > 1) { m_mainWindow->moveWindow(this); } break; case ActionsManager::SuspendTabAction: if (!m_contentsWidget || m_contentsWidget->close()) { m_session = getSession(); setContentsWidget(nullptr); } break; case ActionsManager::CloseTabAction: if (!isPinned()) { requestClose(); } break; case ActionsManager::GoAction: case ActionsManager::ActivateAddressFieldAction: case ActionsManager::ActivateSearchFieldAction: { AddressWidget *addressWidget(findAddressWidget()); SearchWidget *searchWidget(nullptr); for (int i = 0; i < m_searchWidgets.count(); ++i) { if (m_searchWidgets.at(i) && m_searchWidgets.at(i)->isVisible()) { searchWidget = m_searchWidgets.at(i); break; } } if (identifier == ActionsManager::ActivateSearchFieldAction && searchWidget) { searchWidget->activate(Qt::ShortcutFocusReason); } else if (addressWidget) { if (identifier == ActionsManager::ActivateAddressFieldAction) { addressWidget->activate(Qt::ShortcutFocusReason); } else if (identifier == ActionsManager::ActivateSearchFieldAction) { addressWidget->setText(QLatin1String("? ")); addressWidget->activate(Qt::OtherFocusReason); } else if (identifier == ActionsManager::GoAction) { addressWidget->handleUserInput(addressWidget->text(), SessionsManager::CurrentTabOpen); return; } } else if (identifier == ActionsManager::ActivateAddressFieldAction || identifier == ActionsManager::ActivateSearchFieldAction) { OpenAddressDialog dialog(this); if (identifier == ActionsManager::ActivateSearchFieldAction) { dialog.setText(QLatin1String("? ")); } connect(&dialog, SIGNAL(requestedLoadUrl(QUrl,SessionsManager::OpenHints)), this, SLOT(handleOpenUrlRequest(QUrl,SessionsManager::OpenHints))); connect(&dialog, SIGNAL(requestedOpenBookmark(BookmarksItem*,SessionsManager::OpenHints)), this, SIGNAL(requestedOpenBookmark(BookmarksItem*,SessionsManager::OpenHints))); connect(&dialog, SIGNAL(requestedSearch(QString,QString,SessionsManager::OpenHints)), this, SLOT(handleSearchRequest(QString,QString,SessionsManager::OpenHints))); dialog.exec(); } } break; case ActionsManager::PrintAction: { QPrinter printer; printer.setCreator(QStringLiteral("Otter Browser %1").arg(Application::getFullVersion())); QPrintDialog printDialog(&printer, this); printDialog.setWindowTitle(tr("Print Page")); if (printDialog.exec() != QDialog::Accepted) { break; } getContentsWidget()->print(&printer); } break; case ActionsManager::PrintPreviewAction: { QPrintPreviewDialog printPreviewDialog(this); printPreviewDialog.printer()->setCreator(QStringLiteral("Otter Browser %1").arg(Application::getFullVersion())); printPreviewDialog.setWindowFlags(printPreviewDialog.windowFlags() | Qt::WindowMaximizeButtonHint | Qt::WindowMinimizeButtonHint); printPreviewDialog.setWindowTitle(tr("Print Preview")); if (QApplication::activeWindow()) { printPreviewDialog.resize(QApplication::activeWindow()->size()); } connect(&printPreviewDialog, SIGNAL(paintRequested(QPrinter*)), getContentsWidget(), SLOT(print(QPrinter*))); printPreviewDialog.exec(); } break; case ActionsManager::BookmarkPageAction: { const QUrl url((parameters.contains(QLatin1String("url")) ? parameters[QLatin1String("url")].toUrl() : getUrl()).adjusted(QUrl::RemovePassword)); if (url.isEmpty()) { break; } const QVector<BookmarksItem*> bookmarks(BookmarksManager::getModel()->getBookmarks(url)); if (bookmarks.isEmpty()) { BookmarkPropertiesDialog dialog(url, (parameters.contains(QLatin1String("title")) ? parameters[QLatin1String("title")].toString() : getTitle()), parameters[QLatin1String("description")].toString(), nullptr, -1, true, this); dialog.exec(); } else { BookmarkPropertiesDialog dialog(bookmarks.at(0), this); dialog.exec(); } } break; case ActionsManager::FullScreenAction: if (m_addressBar) { m_addressBar->setVisible(m_addressBar->shouldBeVisible(m_mainWindow->isFullScreen())); } if (m_contentsWidget) { m_contentsWidget->triggerAction(identifier, parameters); } break; default: getContentsWidget()->triggerAction(identifier, parameters); break; }
AbstractConfig::AbstractConfig(AbstractContent * content, AbstractConfig_PARENT * parent) : AbstractConfig_TYPE(parent) , m_content(content) , m_commonUi(new Ui::AbstractConfig()) #if !defined(MOBILE_UI) , m_closeButton(0) , m_okButton(0) #endif , m_frame(FrameFactory::defaultPanelFrame()) { #if !defined(MOBILE_UI) // close button m_closeButton = new StyledButtonItem(tr(" x "), font(), this);//this, ":/data/button-close.png", ":/data/button-close-hovered.png", ":/data/button-close-pressed.png"); connect(m_closeButton, SIGNAL(clicked()), this, SIGNAL(requestClose())); // WIDGET setup (populate contents and set base palette (only) to transparent) QWidget * widget = new QWidget(); m_commonUi->setupUi(widget); QPalette pal; QColor oldColor = pal.window().color(); pal.setBrush(QPalette::Window, Qt::transparent); widget->setPalette(pal); pal.setBrush(QPalette::Window, oldColor); m_commonUi->tab->setPalette(pal); #else m_commonUi->setupUi(this); #endif populateFrameList(); // select the frame quint32 frameClass = m_content->frameClass(); if (frameClass != Frame::NoFrame) { for (int i = 0; i < m_commonUi->framesList->count(); ++i) { QListWidgetItem * item = m_commonUi->framesList->item(i); if (item->data(Qt::UserRole).toUInt() == frameClass) { item->setSelected(true); break; } } } // read other properties m_commonUi->reflection->setChecked(m_content->mirrored()); m_commonUi->contentLocked->setChecked(m_content->locked()); m_commonUi->fixedPosition->setChecked(m_content->fixedPosition()); m_commonUi->fixedRotation->setChecked(m_content->fixedRotation()); m_commonUi->fixedPerspective->setChecked(m_content->fixedPerspective()); connect(m_commonUi->front, SIGNAL(clicked()), m_content, SLOT(slotStackFront())); connect(m_commonUi->raise, SIGNAL(clicked()), m_content, SLOT(slotStackRaise())); connect(m_commonUi->lower, SIGNAL(clicked()), m_content, SLOT(slotStackLower())); connect(m_commonUi->back, SIGNAL(clicked()), m_content, SLOT(slotStackBack())); connect(m_commonUi->save, SIGNAL(clicked()), m_content, SLOT(slotSaveAs())); connect(m_commonUi->background, SIGNAL(clicked()), m_content, SIGNAL(requestBackgrounding())); connect(m_commonUi->del, SIGNAL(clicked()), m_content, SIGNAL(requestRemoval())); connect(m_commonUi->contentLocked, SIGNAL(stateChanged(int)), m_content, SLOT(slotSetLocked(int))); connect(m_commonUi->fixedPosition, SIGNAL(stateChanged(int)), m_content, SLOT(slotSetFixedPosition(int))); connect(m_commonUi->fixedRotation, SIGNAL(stateChanged(int)), m_content, SLOT(slotSetFixedRotation(int))); connect(m_commonUi->fixedPerspective, SIGNAL(stateChanged(int)), m_content, SLOT(slotSetFixedPerspective(int))); connect(m_commonUi->newFrame, SIGNAL(clicked()), this, SLOT(slotAddFrame())); connect(m_commonUi->removeFrame, SIGNAL(clicked()), this, SLOT(slotRemoveFrame())); connect(m_commonUi->lookApplyAll, SIGNAL(clicked()), this, SLOT(slotLookApplyAll())); connect(m_commonUi->framesList, SIGNAL(itemSelectionChanged()), this, SLOT(slotFrameSelectionChanged())); connect(m_commonUi->reflection, SIGNAL(toggled(bool)), this, SLOT(slotReflectionToggled(bool))); // ITEM setup #if !defined(MOBILE_UI) setFlag(QGraphicsItem::ItemIgnoresTransformations, true); setWidget(widget); static qreal s_propZBase = 99999; setZValue(s_propZBase++); #endif #if !defined(MOBILE_UI) && QT_VERSION >= 0x040600 // fade in animation QPropertyAnimation * ani = new QPropertyAnimation(this, "opacity"); ani->setEasingCurve(QEasingCurve::OutCubic); ani->setDuration(400); ani->setStartValue(0.0); ani->setEndValue(1.0); ani->start(QPropertyAnimation::DeleteWhenStopped); #endif }